summaryrefslogtreecommitdiff
path: root/lib/ssl/tls13exthandle.c
diff options
context:
space:
mode:
authorEKR <ekr@rtfm.com>2017-07-26 12:12:21 -0700
committerEKR <ekr@rtfm.com>2017-07-26 12:12:21 -0700
commit1dc19fda666c630f5a80e78b1f85aedd2e7bcd70 (patch)
tree4dbe00cb1f9a3ba1ade2f96a266f34ffb39f5005 /lib/ssl/tls13exthandle.c
parent836c1ff812e641d627abbc54f7a12f697c6a1a3e (diff)
downloadnss-hg-1dc19fda666c630f5a80e78b1f85aedd2e7bcd70.tar.gz
Bug 1385917 - Enable different Content Type for ServerHello. r=mt
Differential Revision: https://nss-review.dev.mozaws.net/D379 Differential Revision: https://nss-review.dev.mozaws.net/D385
Diffstat (limited to 'lib/ssl/tls13exthandle.c')
-rw-r--r--lib/ssl/tls13exthandle.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/ssl/tls13exthandle.c b/lib/ssl/tls13exthandle.c
index c2ce390ff..c7466be81 100644
--- a/lib/ssl/tls13exthandle.c
+++ b/lib/ssl/tls13exthandle.c
@@ -896,6 +896,10 @@ tls13_ClientSendSupportedVersionsXtn(const sslSocket *ss, TLSExtensionData *xtnD
extensions_len = 2 + 2 + 1 +
2 * (ss->vrange.max - ss->vrange.min + 1);
+ if (ss->opt.enableAltHandshaketype && !IS_DTLS(ss)) {
+ extensions_len += 2;
+ }
+
if (maxBytes < (PRUint32)extensions_len) {
PORT_Assert(0);
return 0;
@@ -914,6 +918,15 @@ tls13_ClientSendSupportedVersionsXtn(const sslSocket *ss, TLSExtensionData *xtnD
if (rv != SECSuccess)
return -1;
+ if (ss->opt.enableAltHandshaketype && !IS_DTLS(ss)) {
+ rv = ssl3_ExtAppendHandshakeNumber(
+ ss, tls13_EncodeAltDraftVersion(
+ SSL_LIBRARY_VERSION_TLS_1_3),
+ 2);
+ if (rv != SECSuccess)
+ return -1;
+ }
+
for (version = ss->vrange.max; version >= ss->vrange.min; --version) {
rv = ssl3_ExtAppendHandshakeNumber(
ss, tls13_EncodeDraftVersion(version), 2);