| OLD | NEW |
| 1 diff -pu a/nss/lib/ssl/ssl3con.c b/nss/lib/ssl/ssl3con.c | 1 diff -pu a/nss/lib/ssl/ssl3con.c b/nss/lib/ssl/ssl3con.c |
| 2 --- a/nss/lib/ssl/ssl3con.c» 2013-07-31 12:44:31.987362835 -0700 | 2 --- a/nss/lib/ssl/ssl3con.c» 2014-01-03 19:32:06.914793097 -0800 |
| 3 +++ b/nss/lib/ssl/ssl3con.c» 2013-07-31 12:44:50.987642452 -0700 | 3 +++ b/nss/lib/ssl/ssl3con.c» 2014-01-03 19:35:08.237757576 -0800 |
| 4 @@ -6756,6 +6756,85 @@ done: | 4 @@ -7176,6 +7176,85 @@ done: |
| 5 return rv; | 5 return rv; |
| 6 } | 6 } |
| 7 | 7 |
| 8 +/* | 8 +/* |
| 9 + * attempt to restart the handshake after asynchronously handling | 9 + * attempt to restart the handshake after asynchronously handling |
| 10 + * a request for the client's certificate. | 10 + * a request for the client's certificate. |
| 11 + * | 11 + * |
| 12 + * inputs: | 12 + * inputs: |
| 13 + * cert Client cert chosen by application. | 13 + * cert Client cert chosen by application. |
| 14 + * Note: ssl takes this reference, and does not bump the | 14 + * Note: ssl takes this reference, and does not bump the |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 + } | 77 + } |
| 78 + if (certChain) { | 78 + if (certChain) { |
| 79 + CERT_DestroyCertificateList(certChain); | 79 + CERT_DestroyCertificateList(certChain); |
| 80 + } | 80 + } |
| 81 + PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); | 81 + PORT_SetError(SEC_ERROR_LIBRARY_FAILURE); |
| 82 + rv = SECFailure; | 82 + rv = SECFailure; |
| 83 + } | 83 + } |
| 84 + return rv; | 84 + return rv; |
| 85 +} | 85 +} |
| 86 + | 86 + |
| 87 PRBool | 87 static SECStatus |
| 88 ssl3_CanFalseStart(sslSocket *ss) { | 88 ssl3_CheckFalseStart(sslSocket *ss) |
| 89 PRBool rv; | 89 { |
| 90 diff -pu a/nss/lib/ssl/ssl.h b/nss/lib/ssl/ssl.h | 90 diff -pu a/nss/lib/ssl/ssl.h b/nss/lib/ssl/ssl.h |
| 91 --- a/nss/lib/ssl/ssl.h»2013-07-31 12:44:31.987362835 -0700 | 91 --- a/nss/lib/ssl/ssl.h»2014-01-03 19:32:06.914793097 -0800 |
| 92 +++ b/nss/lib/ssl/ssl.h»2013-07-31 12:44:50.987642452 -0700 | 92 +++ b/nss/lib/ssl/ssl.h»2014-01-03 19:32:19.164993372 -0800 |
| 93 @@ -366,6 +366,11 @@ SSL_IMPORT SECStatus SSL_ForceHandshake( | 93 @@ -369,6 +369,11 @@ SSL_IMPORT SECStatus SSL_ForceHandshake( |
| 94 SSL_IMPORT SECStatus SSL_ForceHandshakeWithTimeout(PRFileDesc *fd, | 94 SSL_IMPORT SECStatus SSL_ForceHandshakeWithTimeout(PRFileDesc *fd, |
| 95 PRIntervalTime timeout); | 95 PRIntervalTime timeout); |
| 96 | 96 |
| 97 +SSL_IMPORT SECStatus SSL_RestartHandshakeAfterCertReq(PRFileDesc *fd, | 97 +SSL_IMPORT SECStatus SSL_RestartHandshakeAfterCertReq(PRFileDesc *fd, |
| 98 + CERTCertificate *cert, | 98 + CERTCertificate *cert, |
| 99 + SECKEYPrivateKey *key, | 99 + SECKEYPrivateKey *key, |
| 100 + CERTCertificateList *certChain); | 100 + CERTCertificateList *certChain); |
| 101 + | 101 + |
| 102 /* | 102 /* |
| 103 ** Query security status of socket. *on is set to one if security is | 103 ** Query security status of socket. *on is set to one if security is |
| 104 ** enabled. *keySize will contain the stream key size used. *issuer will | 104 ** enabled. *keySize will contain the stream key size used. *issuer will |
| 105 diff -pu a/nss/lib/ssl/sslimpl.h b/nss/lib/ssl/sslimpl.h | 105 diff -pu a/nss/lib/ssl/sslimpl.h b/nss/lib/ssl/sslimpl.h |
| 106 --- a/nss/lib/ssl/sslimpl.h» 2013-07-31 12:44:31.997362988 -0700 | 106 --- a/nss/lib/ssl/sslimpl.h» 2014-01-03 19:32:06.914793097 -0800 |
| 107 +++ b/nss/lib/ssl/sslimpl.h» 2013-07-31 12:44:50.987642452 -0700 | 107 +++ b/nss/lib/ssl/sslimpl.h» 2014-01-03 19:32:19.164993372 -0800 |
| 108 @@ -1513,16 +1513,17 @@ extern SECStatus ssl3_MasterKeyDeriveBy | 108 @@ -1579,16 +1579,17 @@ extern SECStatus ssl3_MasterKeyDeriveBy |
| 109 /* These functions are called from secnav, even though they're "private". */ | 109 /* These functions are called from secnav, even though they're "private". */ |
| 110 | 110 |
| 111 extern int ssl2_SendErrorMessage(struct sslSocketStr *ss, int error); | 111 extern int ssl2_SendErrorMessage(struct sslSocketStr *ss, int error); |
| 112 -extern int SSL_RestartHandshakeAfterCertReq(struct sslSocketStr *ss, | 112 -extern int SSL_RestartHandshakeAfterCertReq(struct sslSocketStr *ss, |
| 113 - CERTCertificate *cert, | 113 - CERTCertificate *cert, |
| 114 - SECKEYPrivateKey *key, | 114 - SECKEYPrivateKey *key, |
| 115 - CERTCertificateList *certChain); | 115 - CERTCertificateList *certChain); |
| 116 extern sslSocket *ssl_FindSocket(PRFileDesc *fd); | 116 extern sslSocket *ssl_FindSocket(PRFileDesc *fd); |
| 117 extern void ssl_FreeSocket(struct sslSocketStr *ssl); | 117 extern void ssl_FreeSocket(struct sslSocketStr *ssl); |
| 118 extern SECStatus SSL3_SendAlert(sslSocket *ss, SSL3AlertLevel level, | 118 extern SECStatus SSL3_SendAlert(sslSocket *ss, SSL3AlertLevel level, |
| 119 SSL3AlertDescription desc); | 119 SSL3AlertDescription desc); |
| 120 extern SECStatus ssl3_DecodeError(sslSocket *ss); | 120 extern SECStatus ssl3_DecodeError(sslSocket *ss); |
| 121 | 121 |
| 122 +extern SECStatus ssl3_RestartHandshakeAfterCertReq(sslSocket * ss, | 122 +extern SECStatus ssl3_RestartHandshakeAfterCertReq(sslSocket * ss, |
| 123 + CERTCertificate * cert, | 123 + CERTCertificate * cert, |
| 124 + SECKEYPrivateKey * key, | 124 + SECKEYPrivateKey * key, |
| 125 + CERTCertificateList *certChain); | 125 + CERTCertificateList *certChain); |
| 126 + | 126 + |
| 127 extern SECStatus ssl3_AuthCertificateComplete(sslSocket *ss, PRErrorCode error)
; | 127 extern SECStatus ssl3_AuthCertificateComplete(sslSocket *ss, PRErrorCode error)
; |
| 128 | 128 |
| 129 /* | 129 /* |
| 130 diff -pu a/nss/lib/ssl/sslsecur.c b/nss/lib/ssl/sslsecur.c | 130 diff -pu a/nss/lib/ssl/sslsecur.c b/nss/lib/ssl/sslsecur.c |
| 131 --- a/nss/lib/ssl/sslsecur.c» 2013-07-31 12:28:39.283413269 -0700 | 131 --- a/nss/lib/ssl/sslsecur.c» 2014-01-03 19:28:03.560814773 -0800 |
| 132 +++ b/nss/lib/ssl/sslsecur.c» 2013-07-31 12:44:50.987642452 -0700 | 132 +++ b/nss/lib/ssl/sslsecur.c» 2014-01-03 19:32:19.174993536 -0800 |
| 133 @@ -1436,17 +1436,70 @@ SSL_CertDBHandleSet(PRFileDesc *fd, CERT | 133 @@ -1518,17 +1518,70 @@ SSL_CertDBHandleSet(PRFileDesc *fd, CERT |
| 134 return SECSuccess; | 134 return SECSuccess; |
| 135 } | 135 } |
| 136 | 136 |
| 137 -/* DO NOT USE. This function was exported in ssl.def with the wrong signature; | 137 -/* DO NOT USE. This function was exported in ssl.def with the wrong signature; |
| 138 - * this implementation exists to maintain link-time compatibility. | 138 - * this implementation exists to maintain link-time compatibility. |
| 139 +/* | 139 +/* |
| 140 + * attempt to restart the handshake after asynchronously handling | 140 + * attempt to restart the handshake after asynchronously handling |
| 141 + * a request for the client's certificate. | 141 + * a request for the client's certificate. |
| 142 + * | 142 + * |
| 143 + * inputs: | 143 + * inputs: |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 + } | 200 + } |
| 201 + PORT_SetError(SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2); | 201 + PORT_SetError(SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2); |
| 202 + ret = SECFailure; | 202 + ret = SECFailure; |
| 203 + } | 203 + } |
| 204 + | 204 + |
| 205 + ssl_Release1stHandshakeLock(ss); /************************************/ | 205 + ssl_Release1stHandshakeLock(ss); /************************************/ |
| 206 + return ret; | 206 + return ret; |
| 207 } | 207 } |
| 208 | 208 |
| 209 /* DO NOT USE. This function was exported in ssl.def with the wrong signature; | 209 /* DO NOT USE. This function was exported in ssl.def with the wrong signature; |
| OLD | NEW |