Index: net/third_party/nss/ssl/sslcon.c |
=================================================================== |
--- net/third_party/nss/ssl/sslcon.c (revision 242942) |
+++ net/third_party/nss/ssl/sslcon.c (working copy) |
@@ -20,7 +20,6 @@ |
#include "prinit.h" |
#include "prtime.h" /* for PR_Now() */ |
-#define XXX |
static PRBool policyWasSet; |
/* This ordered list is indexed by (SSL_CK_xx * 3) */ |
@@ -628,8 +627,9 @@ |
(*ss->sec.uncache)(sid); |
rv = (SECStatus)sent; |
} else if (!ss->opt.noCache) { |
- /* Put the sid in session-id cache, (may already be there) */ |
- (*ss->sec.cache)(sid); |
+ if (sid->cached == never_cached) { |
+ (*ss->sec.cache)(sid); |
+ } |
rv = SECSuccess; |
} |
ssl_FreeSID(sid); |
@@ -2171,7 +2171,7 @@ |
sid->peerCert = CERT_DupCertificate(ss->sec.peerCert); |
} |
- if (!ss->opt.noCache) |
+ if (!ss->opt.noCache && sid->cached == never_cached) |
(*ss->sec.cache)(sid); |
} |