Index: net/third_party/nss/patches/alpn.patch |
=================================================================== |
--- net/third_party/nss/patches/alpn.patch (revision 242942) |
+++ net/third_party/nss/patches/alpn.patch (working copy) |
@@ -1,7 +1,7 @@ |
diff -pu a/nss/lib/ssl/ssl3con.c b/nss/lib/ssl/ssl3con.c |
---- a/nss/lib/ssl/ssl3con.c 2013-07-31 14:17:20.669282120 -0700 |
-+++ b/nss/lib/ssl/ssl3con.c 2013-07-31 14:28:56.549496061 -0700 |
-@@ -9912,8 +9912,10 @@ ssl3_SendNextProto(sslSocket *ss) |
+--- a/nss/lib/ssl/ssl3con.c 2014-01-03 19:41:44.744240754 -0800 |
++++ b/nss/lib/ssl/ssl3con.c 2014-01-03 19:41:52.234363230 -0800 |
+@@ -10458,8 +10458,10 @@ ssl3_SendNextProto(sslSocket *ss) |
int padding_len; |
static const unsigned char padding[32] = {0}; |
@@ -14,9 +14,9 @@ |
PORT_Assert( ss->opt.noLocks || ssl_HaveXmitBufLock(ss)); |
PORT_Assert( ss->opt.noLocks || ssl_HaveSSL3HandshakeLock(ss)); |
diff -pu a/nss/lib/ssl/ssl3ext.c b/nss/lib/ssl/ssl3ext.c |
---- a/nss/lib/ssl/ssl3ext.c 2013-07-31 14:10:00.342814862 -0700 |
-+++ b/nss/lib/ssl/ssl3ext.c 2013-07-31 14:28:56.549496061 -0700 |
-@@ -53,8 +53,12 @@ static SECStatus ssl3_HandleRenegotiationInfoXtn(sslSocket *ss, |
+--- a/nss/lib/ssl/ssl3ext.c 2014-01-03 19:39:28.442012014 -0800 |
++++ b/nss/lib/ssl/ssl3ext.c 2014-01-03 19:41:52.234363230 -0800 |
+@@ -52,8 +52,12 @@ static SECStatus ssl3_HandleRenegotiatio |
PRUint16 ex_type, SECItem *data); |
static SECStatus ssl3_ClientHandleNextProtoNegoXtn(sslSocket *ss, |
PRUint16 ex_type, SECItem *data); |
@@ -29,7 +29,7 @@ |
static PRInt32 ssl3_ClientSendNextProtoNegoXtn(sslSocket *ss, PRBool append, |
PRUint32 maxBytes); |
static PRInt32 ssl3_SendUseSRTPXtn(sslSocket *ss, PRBool append, |
-@@ -252,6 +256,7 @@ static const ssl3HelloExtensionHandler serverHelloHandlersTLS[] = { |
+@@ -251,6 +255,7 @@ static const ssl3HelloExtensionHandler s |
{ ssl_session_ticket_xtn, &ssl3_ClientHandleSessionTicketXtn }, |
{ ssl_renegotiation_info_xtn, &ssl3_HandleRenegotiationInfoXtn }, |
{ ssl_next_proto_nego_xtn, &ssl3_ClientHandleNextProtoNegoXtn }, |
@@ -37,7 +37,7 @@ |
{ ssl_use_srtp_xtn, &ssl3_HandleUseSRTPXtn }, |
{ ssl_channel_id_xtn, &ssl3_ClientHandleChannelIDXtn }, |
{ ssl_cert_status_xtn, &ssl3_ClientHandleStatusRequestXtn }, |
-@@ -271,18 +276,19 @@ static const ssl3HelloExtensionHandler serverHelloHandlersSSL3[] = { |
+@@ -270,18 +275,19 @@ static const ssl3HelloExtensionHandler s |
*/ |
static const |
ssl3HelloExtensionSender clientHelloSendersTLS[SSL_MAX_EXTENSIONS] = { |
@@ -67,7 +67,7 @@ |
/* any extra entries will appear as { 0, NULL } */ |
}; |
-@@ -606,6 +612,11 @@ ssl3_ClientHandleNextProtoNegoXtn(sslSocket *ss, PRUint16 ex_type, |
+@@ -614,6 +620,11 @@ ssl3_ClientHandleNextProtoNegoXtn(sslSoc |
PORT_Assert(!ss->firstHsDone); |
@@ -79,7 +79,7 @@ |
rv = ssl3_ValidateNextProtoNego(data->data, data->len); |
if (rv != SECSuccess) |
return rv; |
-@@ -639,6 +650,44 @@ ssl3_ClientHandleNextProtoNegoXtn(sslSocket *ss, PRUint16 ex_type, |
+@@ -647,6 +658,44 @@ ssl3_ClientHandleNextProtoNegoXtn(sslSoc |
return SECITEM_CopyItem(NULL, &ss->ssl3.nextProto, &result); |
} |
@@ -124,7 +124,7 @@ |
static PRInt32 |
ssl3_ClientSendNextProtoNegoXtn(sslSocket * ss, PRBool append, |
PRUint32 maxBytes) |
-@@ -672,6 +721,70 @@ loser: |
+@@ -680,6 +729,70 @@ loser: |
return -1; |
} |
@@ -196,9 +196,9 @@ |
ssl3_ClientHandleChannelIDXtn(sslSocket *ss, PRUint16 ex_type, |
SECItem *data) |
diff -pu a/nss/lib/ssl/ssl.h b/nss/lib/ssl/ssl.h |
---- a/nss/lib/ssl/ssl.h 2013-07-31 14:10:35.113325316 -0700 |
-+++ b/nss/lib/ssl/ssl.h 2013-07-31 14:28:56.589496647 -0700 |
-@@ -203,6 +203,16 @@ SSL_IMPORT SECStatus SSL_SetNextProtoCal |
+--- a/nss/lib/ssl/ssl.h 2014-01-03 19:40:03.522585625 -0800 |
++++ b/nss/lib/ssl/ssl.h 2014-01-03 19:41:52.234363230 -0800 |
+@@ -206,6 +206,16 @@ SSL_IMPORT SECStatus SSL_SetNextProtoCal |
* protocol in server-preference order. If no matching protocol is found it |
* selects the first supported protocol. |
* |
@@ -215,7 +215,7 @@ |
* The supported protocols are specified in |data| in wire-format (8-bit |
* length-prefixed). For example: "\010http/1.1\006spdy/2". */ |
SSL_IMPORT SECStatus SSL_SetNextProtoNego(PRFileDesc *fd, |
-@@ -212,7 +217,8 @@ SSL_IMPORT SECStatus SSL_SetNextProtoNeg |
+@@ -215,7 +225,8 @@ SSL_IMPORT SECStatus SSL_SetNextProtoNeg |
typedef enum SSLNextProtoState { |
SSL_NEXT_PROTO_NO_SUPPORT = 0, /* No peer support */ |
SSL_NEXT_PROTO_NEGOTIATED = 1, /* Mutual agreement */ |
@@ -226,16 +226,16 @@ |
/* SSL_GetNextProto can be used in the HandshakeCallback or any time after |
diff -pu a/nss/lib/ssl/sslt.h b/nss/lib/ssl/sslt.h |
---- a/nss/lib/ssl/sslt.h 2013-07-31 14:13:43.806096237 -0700 |
-+++ b/nss/lib/ssl/sslt.h 2013-07-31 14:28:56.609496941 -0700 |
-@@ -195,12 +195,13 @@ typedef enum { |
+--- a/nss/lib/ssl/sslt.h 2014-01-03 19:41:26.443941511 -0800 |
++++ b/nss/lib/ssl/sslt.h 2014-01-03 19:41:52.234363230 -0800 |
+@@ -200,12 +200,13 @@ typedef enum { |
#endif |
ssl_signature_algorithms_xtn = 13, |
ssl_use_srtp_xtn = 14, |
+ ssl_app_layer_protocol_xtn = 16, |
ssl_session_ticket_xtn = 35, |
ssl_next_proto_nego_xtn = 13172, |
- ssl_channel_id_xtn = 30031, |
+ ssl_channel_id_xtn = 30032, |
ssl_renegotiation_info_xtn = 0xff01 /* experimental number */ |
} SSLExtensionType; |