OLD | NEW |
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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 PR_FALSE, /* fdx */ | 177 PR_FALSE, /* fdx */ |
178 PR_TRUE, /* v2CompatibleHello */ | 178 PR_TRUE, /* v2CompatibleHello */ |
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 }; | 188 }; |
188 | 189 |
189 sslSessionIDLookupFunc ssl_sid_lookup; | 190 sslSessionIDLookupFunc ssl_sid_lookup; |
190 sslSessionIDCacheFunc ssl_sid_cache; | 191 sslSessionIDCacheFunc ssl_sid_cache; |
191 sslSessionIDUncacheFunc ssl_sid_uncache; | 192 sslSessionIDUncacheFunc ssl_sid_uncache; |
192 | 193 |
193 static PRBool ssl_inited = PR_FALSE; | 194 static PRBool ssl_inited = PR_FALSE; |
194 static PRDescIdentity ssl_layer_id; | 195 static PRDescIdentity ssl_layer_id; |
195 | 196 |
196 PRBool locksEverDisabled; /* implicitly PR_FALSE */ | 197 PRBool locksEverDisabled; /* implicitly PR_FALSE */ |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
726 break; | 727 break; |
727 | 728 |
728 case SSL_ENABLE_RENEGOTIATION: | 729 case SSL_ENABLE_RENEGOTIATION: |
729 ss->opt.enableRenegotiation = on; | 730 ss->opt.enableRenegotiation = on; |
730 break; | 731 break; |
731 | 732 |
732 case SSL_REQUIRE_SAFE_NEGOTIATION: | 733 case SSL_REQUIRE_SAFE_NEGOTIATION: |
733 ss->opt.requireSafeNegotiation = on; | 734 ss->opt.requireSafeNegotiation = on; |
734 break; | 735 break; |
735 | 736 |
| 737 case SSL_ENABLE_FALSE_START: |
| 738 ss->opt.enableFalseStart = on; |
| 739 break; |
| 740 |
736 default: | 741 default: |
737 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 742 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
738 rv = SECFailure; | 743 rv = SECFailure; |
739 } | 744 } |
740 | 745 |
741 /* We can't use the macros for releasing the locks here, | 746 /* We can't use the macros for releasing the locks here, |
742 * because ss->opt.noLocks might have changed just above. | 747 * because ss->opt.noLocks might have changed just above. |
743 * We must release these locks (monitors) here, if we aquired them above, | 748 * We must release these locks (monitors) here, if we aquired them above, |
744 * regardless of the current value of ss->opt.noLocks. | 749 * regardless of the current value of ss->opt.noLocks. |
745 */ | 750 */ |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
789 case SSL_BYPASS_PKCS11: on = ss->opt.bypassPKCS11; break; | 794 case SSL_BYPASS_PKCS11: on = ss->opt.bypassPKCS11; break; |
790 case SSL_NO_LOCKS: on = ss->opt.noLocks; break; | 795 case SSL_NO_LOCKS: on = ss->opt.noLocks; break; |
791 case SSL_ENABLE_SESSION_TICKETS: | 796 case SSL_ENABLE_SESSION_TICKETS: |
792 on = ss->opt.enableSessionTickets; | 797 on = ss->opt.enableSessionTickets; |
793 break; | 798 break; |
794 case SSL_ENABLE_DEFLATE: on = ss->opt.enableDeflate; break; | 799 case SSL_ENABLE_DEFLATE: on = ss->opt.enableDeflate; break; |
795 case SSL_ENABLE_RENEGOTIATION: | 800 case SSL_ENABLE_RENEGOTIATION: |
796 on = ss->opt.enableRenegotiation; break; | 801 on = ss->opt.enableRenegotiation; break; |
797 case SSL_REQUIRE_SAFE_NEGOTIATION: | 802 case SSL_REQUIRE_SAFE_NEGOTIATION: |
798 on = ss->opt.requireSafeNegotiation; break; | 803 on = ss->opt.requireSafeNegotiation; break; |
| 804 case SSL_ENABLE_FALSE_START: on = ss->opt.enableFalseStart; break; |
799 | 805 |
800 default: | 806 default: |
801 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 807 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
802 rv = SECFailure; | 808 rv = SECFailure; |
803 } | 809 } |
804 | 810 |
805 ssl_ReleaseSSL3HandshakeLock(ss); | 811 ssl_ReleaseSSL3HandshakeLock(ss); |
806 ssl_Release1stHandshakeLock(ss); | 812 ssl_Release1stHandshakeLock(ss); |
807 | 813 |
808 *pOn = on; | 814 *pOn = on; |
(...skipping 30 matching lines...) Expand all Loading... |
839 case SSL_NO_LOCKS: on = ssl_defaults.noLocks; break; | 845 case SSL_NO_LOCKS: on = ssl_defaults.noLocks; break; |
840 case SSL_ENABLE_SESSION_TICKETS: | 846 case SSL_ENABLE_SESSION_TICKETS: |
841 on = ssl_defaults.enableSessionTickets; | 847 on = ssl_defaults.enableSessionTickets; |
842 break; | 848 break; |
843 case SSL_ENABLE_DEFLATE: on = ssl_defaults.enableDeflate; break; | 849 case SSL_ENABLE_DEFLATE: on = ssl_defaults.enableDeflate; break; |
844 case SSL_ENABLE_RENEGOTIATION: | 850 case SSL_ENABLE_RENEGOTIATION: |
845 on = ssl_defaults.enableRenegotiation; break; | 851 on = ssl_defaults.enableRenegotiation; break; |
846 case SSL_REQUIRE_SAFE_NEGOTIATION: | 852 case SSL_REQUIRE_SAFE_NEGOTIATION: |
847 on = ssl_defaults.requireSafeNegotiation; | 853 on = ssl_defaults.requireSafeNegotiation; |
848 break; | 854 break; |
| 855 case SSL_ENABLE_FALSE_START: on = ssl_defaults.enableFalseStart; break; |
849 | 856 |
850 default: | 857 default: |
851 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 858 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
852 rv = SECFailure; | 859 rv = SECFailure; |
853 } | 860 } |
854 | 861 |
855 *pOn = on; | 862 *pOn = on; |
856 return rv; | 863 return rv; |
857 } | 864 } |
858 | 865 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
982 break; | 989 break; |
983 | 990 |
984 case SSL_ENABLE_RENEGOTIATION: | 991 case SSL_ENABLE_RENEGOTIATION: |
985 ssl_defaults.enableRenegotiation = on; | 992 ssl_defaults.enableRenegotiation = on; |
986 break; | 993 break; |
987 | 994 |
988 case SSL_REQUIRE_SAFE_NEGOTIATION: | 995 case SSL_REQUIRE_SAFE_NEGOTIATION: |
989 ssl_defaults.requireSafeNegotiation = on; | 996 ssl_defaults.requireSafeNegotiation = on; |
990 break; | 997 break; |
991 | 998 |
| 999 case SSL_ENABLE_FALSE_START: |
| 1000 ssl_defaults.enableFalseStart = on; |
| 1001 break; |
| 1002 |
992 default: | 1003 default: |
993 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 1004 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
994 return SECFailure; | 1005 return SECFailure; |
995 } | 1006 } |
996 return SECSuccess; | 1007 return SECSuccess; |
997 } | 1008 } |
998 | 1009 |
999 /* function tells us if the cipher suite is one that we no longer support. */ | 1010 /* function tells us if the cipher suite is one that we no longer support. */ |
1000 static PRBool | 1011 static PRBool |
1001 ssl_IsRemovedCipherSuite(PRInt32 suite) | 1012 ssl_IsRemovedCipherSuite(PRInt32 suite) |
(...skipping 1454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2456 loser: | 2467 loser: |
2457 ssl_DestroySocketContents(ss); | 2468 ssl_DestroySocketContents(ss); |
2458 ssl_DestroyLocks(ss); | 2469 ssl_DestroyLocks(ss); |
2459 PORT_Free(ss); | 2470 PORT_Free(ss); |
2460 ss = NULL; | 2471 ss = NULL; |
2461 } | 2472 } |
2462 } | 2473 } |
2463 return ss; | 2474 return ss; |
2464 } | 2475 } |
2465 | 2476 |
OLD | NEW |