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

Side by Side Diff: net/third_party/nss/ssl/sslt.h

Issue 1511123006: Uprev NSS (in libssl) to NSS 3.21 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated deps Created 5 years 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
« no previous file with comments | « net/third_party/nss/ssl/sslsock.c ('k') | net/third_party/nss/ssl/sslver.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
1 /* 2 /*
2 * This file contains prototypes for the public SSL functions. 3 * This file contains prototypes for the public SSL functions.
3 * 4 *
4 * This Source Code Form is subject to the terms of the Mozilla Public 5 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this 6 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 8
8 #ifndef __sslt_h_ 9 #ifndef __sslt_h_
9 #define __sslt_h_ 10 #define __sslt_h_
10 11
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 ** programs that use the kt_ symbols should convert to the ssl_kt_ symbols 62 ** programs that use the kt_ symbols should convert to the ssl_kt_ symbols
62 ** soon. 63 ** soon.
63 */ 64 */
64 #define kt_null ssl_kea_null 65 #define kt_null ssl_kea_null
65 #define kt_rsa ssl_kea_rsa 66 #define kt_rsa ssl_kea_rsa
66 #define kt_dh ssl_kea_dh 67 #define kt_dh ssl_kea_dh
67 #define kt_fortezza ssl_kea_fortezza /* deprecated, now unused */ 68 #define kt_fortezza ssl_kea_fortezza /* deprecated, now unused */
68 #define kt_ecdh ssl_kea_ecdh 69 #define kt_ecdh ssl_kea_ecdh
69 #define kt_kea_size ssl_kea_size 70 #define kt_kea_size ssl_kea_size
70 71
72
73 /* Values of this enum match the SignatureAlgorithm enum from
74 * https://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 */
71 typedef enum { 75 typedef enum {
72 ssl_sign_null = 0, 76 ssl_sign_null = 0, /* "anonymous" in TLS */
73 ssl_sign_rsa = 1, 77 ssl_sign_rsa = 1,
74 ssl_sign_dsa = 2, 78 ssl_sign_dsa = 2,
75 ssl_sign_ecdsa = 3 79 ssl_sign_ecdsa = 3
76 } SSLSignType; 80 } SSLSignType;
77 81
82 /* Values of this enum match the HashAlgorithm enum from
83 * https://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 */
84 typedef enum {
85 /* ssl_hash_none is used internally to mean the pre-1.2 combination of MD5
86 * and SHA1. The other values are only used in TLS 1.2. */
87 ssl_hash_none = 0,
88 ssl_hash_md5 = 1,
89 ssl_hash_sha1 = 2,
90 ssl_hash_sha224 = 3,
91 ssl_hash_sha256 = 4,
92 ssl_hash_sha384 = 5,
93 ssl_hash_sha512 = 6
94 } SSLHashType;
95
96 typedef struct SSLSignatureAndHashAlgStr {
97 SSLHashType hashAlg;
98 SSLSignType sigAlg;
99 } SSLSignatureAndHashAlg;
100
78 typedef enum { 101 typedef enum {
79 ssl_auth_null = 0, 102 ssl_auth_null = 0,
80 ssl_auth_rsa = 1, 103 ssl_auth_rsa = 1,
81 ssl_auth_dsa = 2, 104 ssl_auth_dsa = 2,
82 ssl_auth_kea = 3, 105 ssl_auth_kea = 3,
83 ssl_auth_ecdsa = 4 106 ssl_auth_ecdsa = 4
84 } SSLAuthType; 107 } SSLAuthType;
85 108
86 typedef enum { 109 typedef enum {
87 ssl_calg_null = 0, 110 ssl_calg_null = 0,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 PRUint32 lastAccessTime; /* seconds since Jan 1, 1970 */ 152 PRUint32 lastAccessTime; /* seconds since Jan 1, 1970 */
130 PRUint32 expirationTime; /* seconds since Jan 1, 1970 */ 153 PRUint32 expirationTime; /* seconds since Jan 1, 1970 */
131 PRUint32 sessionIDLength; /* up to 32 */ 154 PRUint32 sessionIDLength; /* up to 32 */
132 PRUint8 sessionID [32]; 155 PRUint8 sessionID [32];
133 156
134 /* The following fields are added in NSS 3.12.5. */ 157 /* The following fields are added in NSS 3.12.5. */
135 158
136 /* compression method info */ 159 /* compression method info */
137 const char * compressionMethodName; 160 const char * compressionMethodName;
138 SSLCompressionMethod compressionMethod; 161 SSLCompressionMethod compressionMethod;
162
163 /* The following fields are added in NSS 3.21.
164 * This field only has meaning in TLS < 1.3 and will be set to
165 * PR_FALSE in TLS 1.3.
166 */
167 PRBool extendedMasterSecretUsed;
139 } SSLChannelInfo; 168 } SSLChannelInfo;
140 169
170 /* Preliminary channel info */
171 #define ssl_preinfo_version (1U << 0)
172 #define ssl_preinfo_cipher_suite (1U << 1)
173 #define ssl_preinfo_all (ssl_preinfo_version|ssl_preinfo_cipher_suite)
174
175 typedef struct SSLPreliminaryChannelInfoStr {
176 /* This is set to the length of the struct. */
177 PRUint32 length;
178 /* A bitfield over SSLPreliminaryValueSet that describes which
179 * preliminary values are set (see ssl_preinfo_*). */
180 PRUint32 valuesSet;
181 /* Protocol version: test (valuesSet & ssl_preinfo_version) */
182 PRUint16 protocolVersion;
183 /* Cipher suite: test (valuesSet & ssl_preinfo_cipher_suite) */
184 PRUint16 cipherSuite;
185 } SSLPreliminaryChannelInfo;
186
141 typedef struct SSLCipherSuiteInfoStr { 187 typedef struct SSLCipherSuiteInfoStr {
142 PRUint16 length; 188 PRUint16 length;
143 PRUint16 cipherSuite; 189 PRUint16 cipherSuite;
144 190
145 /* Cipher Suite Name */ 191 /* Cipher Suite Name */
146 const char * cipherSuiteName; 192 const char * cipherSuiteName;
147 193
148 /* server authentication info */ 194 /* server authentication info */
149 const char * authAlgorithmName; 195 const char * authAlgorithmName;
150 SSLAuthType authAlgorithm; 196 SSLAuthType authAlgorithm;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 ssl_cert_status_xtn = 5, 243 ssl_cert_status_xtn = 5,
198 #ifndef NSS_DISABLE_ECC 244 #ifndef NSS_DISABLE_ECC
199 ssl_elliptic_curves_xtn = 10, 245 ssl_elliptic_curves_xtn = 10,
200 ssl_ec_point_formats_xtn = 11, 246 ssl_ec_point_formats_xtn = 11,
201 #endif 247 #endif
202 ssl_signature_algorithms_xtn = 13, 248 ssl_signature_algorithms_xtn = 13,
203 ssl_use_srtp_xtn = 14, 249 ssl_use_srtp_xtn = 14,
204 ssl_app_layer_protocol_xtn = 16, 250 ssl_app_layer_protocol_xtn = 16,
205 ssl_signed_certificate_timestamp_xtn = 18, /* RFC 6962 */ 251 ssl_signed_certificate_timestamp_xtn = 18, /* RFC 6962 */
206 ssl_padding_xtn = 21, 252 ssl_padding_xtn = 21,
253 ssl_extended_master_secret_xtn = 23,
207 ssl_session_ticket_xtn = 35, 254 ssl_session_ticket_xtn = 35,
208 ssl_next_proto_nego_xtn = 13172, 255 ssl_next_proto_nego_xtn = 13172,
209 ssl_channel_id_xtn = 30032, 256 ssl_channel_id_xtn = 30032,
210 ssl_renegotiation_info_xtn = 0xff01, 257 ssl_renegotiation_info_xtn = 0xff01,
211 ssl_tls13_draft_version_xtn = 0xff02 /* experimental number */ 258 ssl_tls13_draft_version_xtn = 0xff02 /* experimental number */
212 } SSLExtensionType; 259 } SSLExtensionType;
213 260
214 #define SSL_MAX_EXTENSIONS 13 /* doesn't include ssl_padding_xtn. */ 261 #define SSL_MAX_EXTENSIONS 14 /* doesn't include ssl_padding_xtn. */
262
263 typedef enum {
264 ssl_dhe_group_none = 0,
265 ssl_ff_dhe_2048_group = 1,
266 ssl_ff_dhe_3072_group = 2,
267 ssl_ff_dhe_4096_group = 3,
268 ssl_ff_dhe_6144_group = 4,
269 ssl_ff_dhe_8192_group = 5,
270 ssl_dhe_group_max
271 } SSLDHEGroupType;
215 272
216 #endif /* __sslt_h_ */ 273 #endif /* __sslt_h_ */
OLDNEW
« no previous file with comments | « net/third_party/nss/ssl/sslsock.c ('k') | net/third_party/nss/ssl/sslver.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698