| 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 * This Source Code Form is subject to the terms of the Mozilla Public | 6 * This Source Code Form is subject to the terms of the Mozilla Public |
| 7 * License, v. 2.0. If a copy of the MPL was not distributed with this | 7 * License, v. 2.0. If a copy of the MPL was not distributed with this |
| 8 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 8 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 9 #include "seccomon.h" | 9 #include "seccomon.h" |
| 10 #include "cert.h" | 10 #include "cert.h" |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 PR_FALSE, /* noStepDown */ | 79 PR_FALSE, /* noStepDown */ |
| 80 PR_FALSE, /* bypassPKCS11 */ | 80 PR_FALSE, /* bypassPKCS11 */ |
| 81 PR_FALSE, /* noLocks */ | 81 PR_FALSE, /* noLocks */ |
| 82 PR_FALSE, /* enableSessionTickets */ | 82 PR_FALSE, /* enableSessionTickets */ |
| 83 PR_FALSE, /* enableDeflate */ | 83 PR_FALSE, /* enableDeflate */ |
| 84 2, /* enableRenegotiation (default: requires extension) */ | 84 2, /* enableRenegotiation (default: requires extension) */ |
| 85 PR_FALSE, /* requireSafeNegotiation */ | 85 PR_FALSE, /* requireSafeNegotiation */ |
| 86 PR_FALSE, /* enableFalseStart */ | 86 PR_FALSE, /* enableFalseStart */ |
| 87 PR_TRUE, /* cbcRandomIV */ | 87 PR_TRUE, /* cbcRandomIV */ |
| 88 PR_FALSE, /* enableOCSPStapling */ | 88 PR_FALSE, /* enableOCSPStapling */ |
| 89 PR_TRUE, /* enableNPN */ |
| 90 PR_FALSE, /* enableALPN */ |
| 89 PR_FALSE, /* enableSignedCertTimestamps */ | 91 PR_FALSE, /* enableSignedCertTimestamps */ |
| 90 PR_FALSE /* enableFallbackSCSV */ | 92 PR_FALSE /* enableFallbackSCSV */ |
| 91 }; | 93 }; |
| 92 | 94 |
| 93 /* | 95 /* |
| 94 * default range of enabled SSL/TLS protocols | 96 * default range of enabled SSL/TLS protocols |
| 95 */ | 97 */ |
| 96 static SSLVersionRange versions_defaults_stream = { | 98 static SSLVersionRange versions_defaults_stream = { |
| 97 SSL_LIBRARY_VERSION_3_0, | 99 SSL_LIBRARY_VERSION_3_0, |
| 98 SSL_LIBRARY_VERSION_TLS_1_0 | 100 SSL_LIBRARY_VERSION_TLS_1_0 |
| (...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 772 break; | 774 break; |
| 773 | 775 |
| 774 case SSL_CBC_RANDOM_IV: | 776 case SSL_CBC_RANDOM_IV: |
| 775 ss->opt.cbcRandomIV = on; | 777 ss->opt.cbcRandomIV = on; |
| 776 break; | 778 break; |
| 777 | 779 |
| 778 case SSL_ENABLE_OCSP_STAPLING: | 780 case SSL_ENABLE_OCSP_STAPLING: |
| 779 ss->opt.enableOCSPStapling = on; | 781 ss->opt.enableOCSPStapling = on; |
| 780 break; | 782 break; |
| 781 | 783 |
| 784 case SSL_ENABLE_NPN: |
| 785 ss->opt.enableNPN = on; |
| 786 break; |
| 787 |
| 788 case SSL_ENABLE_ALPN: |
| 789 ss->opt.enableALPN = on; |
| 790 break; |
| 791 |
| 782 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: | 792 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: |
| 783 ss->opt.enableSignedCertTimestamps = on; | 793 » ss->opt.enableSignedCertTimestamps = on; |
| 784 break; | 794 » break; |
| 785 | 795 |
| 786 case SSL_ENABLE_FALLBACK_SCSV: | 796 case SSL_ENABLE_FALLBACK_SCSV: |
| 787 ss->opt.enableFallbackSCSV = on; | 797 ss->opt.enableFallbackSCSV = on; |
| 788 break; | 798 break; |
| 789 | 799 |
| 790 default: | 800 default: |
| 791 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 801 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
| 792 rv = SECFailure; | 802 rv = SECFailure; |
| 793 } | 803 } |
| 794 | 804 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 850 on = ss->opt.enableSessionTickets; | 860 on = ss->opt.enableSessionTickets; |
| 851 break; | 861 break; |
| 852 case SSL_ENABLE_DEFLATE: on = ss->opt.enableDeflate; break; | 862 case SSL_ENABLE_DEFLATE: on = ss->opt.enableDeflate; break; |
| 853 case SSL_ENABLE_RENEGOTIATION: | 863 case SSL_ENABLE_RENEGOTIATION: |
| 854 on = ss->opt.enableRenegotiation; break; | 864 on = ss->opt.enableRenegotiation; break; |
| 855 case SSL_REQUIRE_SAFE_NEGOTIATION: | 865 case SSL_REQUIRE_SAFE_NEGOTIATION: |
| 856 on = ss->opt.requireSafeNegotiation; break; | 866 on = ss->opt.requireSafeNegotiation; break; |
| 857 case SSL_ENABLE_FALSE_START: on = ss->opt.enableFalseStart; break; | 867 case SSL_ENABLE_FALSE_START: on = ss->opt.enableFalseStart; break; |
| 858 case SSL_CBC_RANDOM_IV: on = ss->opt.cbcRandomIV; break; | 868 case SSL_CBC_RANDOM_IV: on = ss->opt.cbcRandomIV; break; |
| 859 case SSL_ENABLE_OCSP_STAPLING: on = ss->opt.enableOCSPStapling; break; | 869 case SSL_ENABLE_OCSP_STAPLING: on = ss->opt.enableOCSPStapling; break; |
| 870 case SSL_ENABLE_NPN: on = ss->opt.enableNPN; break; |
| 871 case SSL_ENABLE_ALPN: on = ss->opt.enableALPN; break; |
| 860 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: | 872 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: |
| 861 on = ss->opt.enableSignedCertTimestamps; | 873 » on = ss->opt.enableSignedCertTimestamps; |
| 862 break; | 874 » break; |
| 863 case SSL_ENABLE_FALLBACK_SCSV: on = ss->opt.enableFallbackSCSV; break; | 875 case SSL_ENABLE_FALLBACK_SCSV: on = ss->opt.enableFallbackSCSV; break; |
| 864 | 876 |
| 865 default: | 877 default: |
| 866 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 878 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
| 867 rv = SECFailure; | 879 rv = SECFailure; |
| 868 } | 880 } |
| 869 | 881 |
| 870 ssl_ReleaseSSL3HandshakeLock(ss); | 882 ssl_ReleaseSSL3HandshakeLock(ss); |
| 871 ssl_Release1stHandshakeLock(ss); | 883 ssl_Release1stHandshakeLock(ss); |
| 872 | 884 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 915 case SSL_ENABLE_RENEGOTIATION: | 927 case SSL_ENABLE_RENEGOTIATION: |
| 916 on = ssl_defaults.enableRenegotiation; break; | 928 on = ssl_defaults.enableRenegotiation; break; |
| 917 case SSL_REQUIRE_SAFE_NEGOTIATION: | 929 case SSL_REQUIRE_SAFE_NEGOTIATION: |
| 918 on = ssl_defaults.requireSafeNegotiation; | 930 on = ssl_defaults.requireSafeNegotiation; |
| 919 break; | 931 break; |
| 920 case SSL_ENABLE_FALSE_START: on = ssl_defaults.enableFalseStart; break; | 932 case SSL_ENABLE_FALSE_START: on = ssl_defaults.enableFalseStart; break; |
| 921 case SSL_CBC_RANDOM_IV: on = ssl_defaults.cbcRandomIV; break; | 933 case SSL_CBC_RANDOM_IV: on = ssl_defaults.cbcRandomIV; break; |
| 922 case SSL_ENABLE_OCSP_STAPLING: | 934 case SSL_ENABLE_OCSP_STAPLING: |
| 923 on = ssl_defaults.enableOCSPStapling; | 935 on = ssl_defaults.enableOCSPStapling; |
| 924 break; | 936 break; |
| 937 case SSL_ENABLE_NPN: on = ssl_defaults.enableNPN; break; |
| 938 case SSL_ENABLE_ALPN: on = ssl_defaults.enableALPN; break; |
| 925 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: | 939 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: |
| 926 on = ssl_defaults.enableSignedCertTimestamps; | 940 » on = ssl_defaults.enableSignedCertTimestamps; |
| 927 break; | 941 » break; |
| 928 case SSL_ENABLE_FALLBACK_SCSV: | 942 case SSL_ENABLE_FALLBACK_SCSV: |
| 929 on = ssl_defaults.enableFallbackSCSV; | 943 » on = ssl_defaults.enableFallbackSCSV; |
| 930 break; | 944 » break; |
| 931 | 945 |
| 932 default: | 946 default: |
| 933 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 947 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
| 934 rv = SECFailure; | 948 rv = SECFailure; |
| 935 } | 949 } |
| 936 | 950 |
| 937 *pOn = on; | 951 *pOn = on; |
| 938 return rv; | 952 return rv; |
| 939 } | 953 } |
| 940 | 954 |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1088 break; | 1102 break; |
| 1089 | 1103 |
| 1090 case SSL_CBC_RANDOM_IV: | 1104 case SSL_CBC_RANDOM_IV: |
| 1091 ssl_defaults.cbcRandomIV = on; | 1105 ssl_defaults.cbcRandomIV = on; |
| 1092 break; | 1106 break; |
| 1093 | 1107 |
| 1094 case SSL_ENABLE_OCSP_STAPLING: | 1108 case SSL_ENABLE_OCSP_STAPLING: |
| 1095 ssl_defaults.enableOCSPStapling = on; | 1109 ssl_defaults.enableOCSPStapling = on; |
| 1096 break; | 1110 break; |
| 1097 | 1111 |
| 1112 case SSL_ENABLE_NPN: |
| 1113 ssl_defaults.enableNPN = on; |
| 1114 break; |
| 1115 |
| 1116 case SSL_ENABLE_ALPN: |
| 1117 ssl_defaults.enableALPN = on; |
| 1118 break; |
| 1119 |
| 1098 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: | 1120 case SSL_ENABLE_SIGNED_CERT_TIMESTAMPS: |
| 1099 ssl_defaults.enableSignedCertTimestamps = on; | 1121 » ssl_defaults.enableSignedCertTimestamps = on; |
| 1100 break; | 1122 » break; |
| 1101 | 1123 |
| 1102 case SSL_ENABLE_FALLBACK_SCSV: | 1124 case SSL_ENABLE_FALLBACK_SCSV: |
| 1103 ssl_defaults.enableFallbackSCSV = on; | 1125 ssl_defaults.enableFallbackSCSV = on; |
| 1104 break; | 1126 break; |
| 1105 | 1127 |
| 1106 default: | 1128 default: |
| 1107 PORT_SetError(SEC_ERROR_INVALID_ARGS); | 1129 PORT_SetError(SEC_ERROR_INVALID_ARGS); |
| 1108 return SECFailure; | 1130 return SECFailure; |
| 1109 } | 1131 } |
| 1110 return SECSuccess; | 1132 return SECSuccess; |
| (...skipping 1986 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3097 loser: | 3119 loser: |
| 3098 ssl_DestroySocketContents(ss); | 3120 ssl_DestroySocketContents(ss); |
| 3099 ssl_DestroyLocks(ss); | 3121 ssl_DestroyLocks(ss); |
| 3100 PORT_Free(ss); | 3122 PORT_Free(ss); |
| 3101 ss = NULL; | 3123 ss = NULL; |
| 3102 } | 3124 } |
| 3103 } | 3125 } |
| 3104 return ss; | 3126 return ss; |
| 3105 } | 3127 } |
| 3106 | 3128 |
| OLD | NEW |