| Index: net/third_party/nss/patches/peercertchain.patch
|
| ===================================================================
|
| --- net/third_party/nss/patches/peercertchain.patch (revision 242942)
|
| +++ net/third_party/nss/patches/peercertchain.patch (working copy)
|
| @@ -1,67 +0,0 @@
|
| -diff -pu a/nss/lib/ssl/sslauth.c b/nss/lib/ssl/sslauth.c
|
| ---- a/nss/lib/ssl/sslauth.c 2013-07-31 12:07:10.974699609 -0700
|
| -+++ b/nss/lib/ssl/sslauth.c 2013-07-31 12:32:07.996451064 -0700
|
| -@@ -28,6 +28,41 @@ SSL_PeerCertificate(PRFileDesc *fd)
|
| - }
|
| -
|
| - /* NEED LOCKS IN HERE. */
|
| -+SECStatus
|
| -+SSL_PeerCertificateChain(PRFileDesc *fd, CERTCertificate **certs,
|
| -+ unsigned int *numCerts, unsigned int maxNumCerts)
|
| -+{
|
| -+ sslSocket *ss;
|
| -+ ssl3CertNode* cur;
|
| -+
|
| -+ ss = ssl_FindSocket(fd);
|
| -+ if (!ss) {
|
| -+ SSL_DBG(("%d: SSL[%d]: bad socket in PeerCertificateChain",
|
| -+ SSL_GETPID(), fd));
|
| -+ return SECFailure;
|
| -+ }
|
| -+ if (!ss->opt.useSecurity)
|
| -+ return SECFailure;
|
| -+
|
| -+ if (ss->sec.peerCert == NULL) {
|
| -+ *numCerts = 0;
|
| -+ return SECSuccess;
|
| -+ }
|
| -+
|
| -+ *numCerts = 1; /* for the leaf certificate */
|
| -+ if (maxNumCerts > 0)
|
| -+ certs[0] = CERT_DupCertificate(ss->sec.peerCert);
|
| -+
|
| -+ for (cur = ss->ssl3.peerCertChain; cur; cur = cur->next) {
|
| -+ if (*numCerts < maxNumCerts)
|
| -+ certs[*numCerts] = CERT_DupCertificate(cur->cert);
|
| -+ (*numCerts)++;
|
| -+ }
|
| -+
|
| -+ return SECSuccess;
|
| -+}
|
| -+
|
| -+/* NEED LOCKS IN HERE. */
|
| - CERTCertificate *
|
| - SSL_LocalCertificate(PRFileDesc *fd)
|
| - {
|
| -diff -pu a/nss/lib/ssl/ssl.h b/nss/lib/ssl/ssl.h
|
| ---- a/nss/lib/ssl/ssl.h 2013-07-31 12:07:10.964699464 -0700
|
| -+++ b/nss/lib/ssl/ssl.h 2013-07-31 12:32:07.996451065 -0700
|
| -@@ -426,6 +426,18 @@ SSL_SetStapledOCSPResponses(PRFileDesc *
|
| - SSLKEAType kea);
|
| -
|
| - /*
|
| -+** Return references to the certificates presented by the SSL peer.
|
| -+** |maxNumCerts| must contain the size of the |certs| array. On successful
|
| -+** return, |*numCerts| contains the number of certificates available and
|
| -+** |certs| will contain references to as many certificates as would fit.
|
| -+** Therefore if |*numCerts| contains a value less than or equal to
|
| -+** |maxNumCerts|, then all certificates were returned.
|
| -+*/
|
| -+SSL_IMPORT SECStatus SSL_PeerCertificateChain(
|
| -+ PRFileDesc *fd, CERTCertificate **certs,
|
| -+ unsigned int *numCerts, unsigned int maxNumCerts);
|
| -+
|
| -+/*
|
| - ** Authenticate certificate hook. Called when a certificate comes in
|
| - ** (because of SSL_REQUIRE_CERTIFICATE in SSL_Enable) to authenticate the
|
| - ** certificate.
|
|
|