Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: net/third_party/nss/ssl/sslsock.c

Issue 7058049: Added client-side support for the TLS cached info extension. This feature is disabled by default ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Added Null pointer check Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * vtables (and methods that call through them) for the 4 types of 2 * vtables (and methods that call through them) for the 4 types of
3 * SSLSockets supported. Only one type is still supported. 3 * SSLSockets supported. Only one type is still supported.
4 * Various other functions. 4 * Various other functions.
5 * 5 *
6 * ***** BEGIN LICENSE BLOCK ***** 6 * ***** BEGIN LICENSE BLOCK *****
7 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 7 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
8 * 8 *
9 * The contents of this file are subject to the Mozilla Public License Version 9 * The contents of this file are subject to the Mozilla Public License Version
10 * 1.1 (the "License"); you may not use this file except in compliance with 10 * 1.1 (the "License"); you may not use this file except in compliance with
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 PR_TRUE, /* detectRollBack */ 179 PR_TRUE, /* detectRollBack */
180 PR_FALSE, /* noStepDown */ 180 PR_FALSE, /* noStepDown */
181 PR_FALSE, /* bypassPKCS11 */ 181 PR_FALSE, /* bypassPKCS11 */
182 PR_FALSE, /* noLocks */ 182 PR_FALSE, /* noLocks */
183 PR_FALSE, /* enableSessionTickets */ 183 PR_FALSE, /* enableSessionTickets */
184 PR_FALSE, /* enableDeflate */ 184 PR_FALSE, /* enableDeflate */
185 2, /* enableRenegotiation (default: requires extension) */ 185 2, /* enableRenegotiation (default: requires extension) */
186 PR_FALSE, /* requireSafeNegotiation */ 186 PR_FALSE, /* requireSafeNegotiation */
187 PR_FALSE, /* enableFalseStart */ 187 PR_FALSE, /* enableFalseStart */
188 PR_FALSE, /* enableOCSPStapling */ 188 PR_FALSE, /* enableOCSPStapling */
189 PR_FALSE, /* enableCachedInfo */
189 }; 190 };
190 191
191 sslSessionIDLookupFunc ssl_sid_lookup; 192 sslSessionIDLookupFunc ssl_sid_lookup;
192 sslSessionIDCacheFunc ssl_sid_cache; 193 sslSessionIDCacheFunc ssl_sid_cache;
193 sslSessionIDUncacheFunc ssl_sid_uncache; 194 sslSessionIDUncacheFunc ssl_sid_uncache;
194 195
195 static PRBool ssl_inited = PR_FALSE; 196 static PRBool ssl_inited = PR_FALSE;
196 static PRDescIdentity ssl_layer_id; 197 static PRDescIdentity ssl_layer_id;
197 198
198 PRBool locksEverDisabled; /* implicitly PR_FALSE */ 199 PRBool locksEverDisabled; /* implicitly PR_FALSE */
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 break; 745 break;
745 746
746 case SSL_ENABLE_SNAP_START: 747 case SSL_ENABLE_SNAP_START:
747 ss->opt.enableSnapStart = on; 748 ss->opt.enableSnapStart = on;
748 break; 749 break;
749 750
750 case SSL_ENABLE_OCSP_STAPLING: 751 case SSL_ENABLE_OCSP_STAPLING:
751 ss->opt.enableOCSPStapling = on; 752 ss->opt.enableOCSPStapling = on;
752 break; 753 break;
753 754
755 case SSL_ENABLE_CACHED_INFO:
756 ss->opt.enableCachedInfo = on;
757 break;
758
754 default: 759 default:
755 PORT_SetError(SEC_ERROR_INVALID_ARGS); 760 PORT_SetError(SEC_ERROR_INVALID_ARGS);
756 rv = SECFailure; 761 rv = SECFailure;
757 } 762 }
758 763
759 /* We can't use the macros for releasing the locks here, 764 /* We can't use the macros for releasing the locks here,
760 * because ss->opt.noLocks might have changed just above. 765 * because ss->opt.noLocks might have changed just above.
761 * We must release these locks (monitors) here, if we aquired them above, 766 * We must release these locks (monitors) here, if we aquired them above,
762 * regardless of the current value of ss->opt.noLocks. 767 * regardless of the current value of ss->opt.noLocks.
763 */ 768 */
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 on = ss->opt.enableSessionTickets; 815 on = ss->opt.enableSessionTickets;
811 break; 816 break;
812 case SSL_ENABLE_DEFLATE: on = ss->opt.enableDeflate; break; 817 case SSL_ENABLE_DEFLATE: on = ss->opt.enableDeflate; break;
813 case SSL_ENABLE_RENEGOTIATION: 818 case SSL_ENABLE_RENEGOTIATION:
814 on = ss->opt.enableRenegotiation; break; 819 on = ss->opt.enableRenegotiation; break;
815 case SSL_REQUIRE_SAFE_NEGOTIATION: 820 case SSL_REQUIRE_SAFE_NEGOTIATION:
816 on = ss->opt.requireSafeNegotiation; break; 821 on = ss->opt.requireSafeNegotiation; break;
817 case SSL_ENABLE_FALSE_START: on = ss->opt.enableFalseStart; break; 822 case SSL_ENABLE_FALSE_START: on = ss->opt.enableFalseStart; break;
818 case SSL_ENABLE_SNAP_START: on = ss->opt.enableSnapStart; break; 823 case SSL_ENABLE_SNAP_START: on = ss->opt.enableSnapStart; break;
819 case SSL_ENABLE_OCSP_STAPLING: on = ss->opt.enableOCSPStapling; break; 824 case SSL_ENABLE_OCSP_STAPLING: on = ss->opt.enableOCSPStapling; break;
825 case SSL_ENABLE_CACHED_INFO: on = ss->opt.enableCachedInfo; break;
820 826
821 default: 827 default:
822 PORT_SetError(SEC_ERROR_INVALID_ARGS); 828 PORT_SetError(SEC_ERROR_INVALID_ARGS);
823 rv = SECFailure; 829 rv = SECFailure;
824 } 830 }
825 831
826 ssl_ReleaseSSL3HandshakeLock(ss); 832 ssl_ReleaseSSL3HandshakeLock(ss);
827 ssl_Release1stHandshakeLock(ss); 833 ssl_Release1stHandshakeLock(ss);
828 834
829 *pOn = on; 835 *pOn = on;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
865 case SSL_ENABLE_RENEGOTIATION: 871 case SSL_ENABLE_RENEGOTIATION:
866 on = ssl_defaults.enableRenegotiation; break; 872 on = ssl_defaults.enableRenegotiation; break;
867 case SSL_REQUIRE_SAFE_NEGOTIATION: 873 case SSL_REQUIRE_SAFE_NEGOTIATION:
868 on = ssl_defaults.requireSafeNegotiation; 874 on = ssl_defaults.requireSafeNegotiation;
869 break; 875 break;
870 case SSL_ENABLE_FALSE_START: on = ssl_defaults.enableFalseStart; break; 876 case SSL_ENABLE_FALSE_START: on = ssl_defaults.enableFalseStart; break;
871 case SSL_ENABLE_SNAP_START: on = ssl_defaults.enableSnapStart; break; 877 case SSL_ENABLE_SNAP_START: on = ssl_defaults.enableSnapStart; break;
872 case SSL_ENABLE_OCSP_STAPLING: 878 case SSL_ENABLE_OCSP_STAPLING:
873 on = ssl_defaults.enableOCSPStapling; 879 on = ssl_defaults.enableOCSPStapling;
874 break; 880 break;
881 case SSL_ENABLE_CACHED_INFO: on = ssl_defaults.enableCachedInfo; break;
875 882
876 default: 883 default:
877 PORT_SetError(SEC_ERROR_INVALID_ARGS); 884 PORT_SetError(SEC_ERROR_INVALID_ARGS);
878 rv = SECFailure; 885 rv = SECFailure;
879 } 886 }
880 887
881 *pOn = on; 888 *pOn = on;
882 return rv; 889 return rv;
883 } 890 }
884 891
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 break; 1027 break;
1021 1028
1022 case SSL_ENABLE_SNAP_START: 1029 case SSL_ENABLE_SNAP_START:
1023 ssl_defaults.enableSnapStart = on; 1030 ssl_defaults.enableSnapStart = on;
1024 break; 1031 break;
1025 1032
1026 case SSL_ENABLE_OCSP_STAPLING: 1033 case SSL_ENABLE_OCSP_STAPLING:
1027 ssl_defaults.enableOCSPStapling = on; 1034 ssl_defaults.enableOCSPStapling = on;
1028 break; 1035 break;
1029 1036
1037 case SSL_ENABLE_CACHED_INFO:
1038 ssl_defaults.enableCachedInfo = on;
1039 break;
1040
1030 default: 1041 default:
1031 PORT_SetError(SEC_ERROR_INVALID_ARGS); 1042 PORT_SetError(SEC_ERROR_INVALID_ARGS);
1032 return SECFailure; 1043 return SECFailure;
1033 } 1044 }
1034 return SECSuccess; 1045 return SECSuccess;
1035 } 1046 }
1036 1047
1037 /* function tells us if the cipher suite is one that we no longer support. */ 1048 /* function tells us if the cipher suite is one that we no longer support. */
1038 static PRBool 1049 static PRBool
1039 ssl_IsRemovedCipherSuite(PRInt32 suite) 1050 ssl_IsRemovedCipherSuite(PRInt32 suite)
(...skipping 1494 matching lines...) Expand 10 before | Expand all | Expand 10 after
2534 loser: 2545 loser:
2535 ssl_DestroySocketContents(ss); 2546 ssl_DestroySocketContents(ss);
2536 ssl_DestroyLocks(ss); 2547 ssl_DestroyLocks(ss);
2537 PORT_Free(ss); 2548 PORT_Free(ss);
2538 ss = NULL; 2549 ss = NULL;
2539 } 2550 }
2540 } 2551 }
2541 return ss; 2552 return ss;
2542 } 2553 }
2543 2554
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698