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

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

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « net/third_party/nss/ssl/sslsock.c ('k') | net/third_party/nss/ssl/ssltrace.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * This file contains prototypes for the public SSL functions.
3 *
4 * 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 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
8 #ifndef __sslt_h_
9 #define __sslt_h_
10
11 #include "prtypes.h"
12
13 /* SECItemArray is added in NSS 3.15. Define the type if compiling
14 ** against an older version of NSS.
15 */
16 #include "nssutil.h"
17 #if NSSUTIL_VMAJOR == 3 && NSSUTIL_VMINOR < 15
18 typedef struct SECItemArrayStr SECItemArray;
19
20 struct SECItemArrayStr {
21 SECItem *items;
22 unsigned int len;
23 };
24 #endif /* NSSUTIL_VMAJOR == 3 && NSSUTIL_VMINOR < 15 */
25
26 typedef struct SSL3StatisticsStr {
27 /* statistics from ssl3_SendClientHello (sch) */
28 long sch_sid_cache_hits;
29 long sch_sid_cache_misses;
30 long sch_sid_cache_not_ok;
31
32 /* statistics from ssl3_HandleServerHello (hsh) */
33 long hsh_sid_cache_hits;
34 long hsh_sid_cache_misses;
35 long hsh_sid_cache_not_ok;
36
37 /* statistics from ssl3_HandleClientHello (hch) */
38 long hch_sid_cache_hits;
39 long hch_sid_cache_misses;
40 long hch_sid_cache_not_ok;
41
42 /* statistics related to stateless resume */
43 long sch_sid_stateless_resumes;
44 long hsh_sid_stateless_resumes;
45 long hch_sid_stateless_resumes;
46 long hch_sid_ticket_parse_failures;
47 } SSL3Statistics;
48
49 /* Key Exchange algorithm values */
50 typedef enum {
51 ssl_kea_null = 0,
52 ssl_kea_rsa = 1,
53 ssl_kea_dh = 2,
54 ssl_kea_fortezza = 3, /* deprecated, now unused */
55 ssl_kea_ecdh = 4,
56 ssl_kea_size /* number of ssl_kea_ algorithms */
57 } SSLKEAType;
58
59 /* The following defines are for backwards compatibility.
60 ** They will be removed in a forthcoming release to reduce namespace pollution.
61 ** programs that use the kt_ symbols should convert to the ssl_kt_ symbols
62 ** soon.
63 */
64 #define kt_null ssl_kea_null
65 #define kt_rsa ssl_kea_rsa
66 #define kt_dh ssl_kea_dh
67 #define kt_fortezza ssl_kea_fortezza /* deprecated, now unused */
68 #define kt_ecdh ssl_kea_ecdh
69 #define kt_kea_size ssl_kea_size
70
71 typedef enum {
72 ssl_sign_null = 0,
73 ssl_sign_rsa = 1,
74 ssl_sign_dsa = 2,
75 ssl_sign_ecdsa = 3
76 } SSLSignType;
77
78 typedef enum {
79 ssl_auth_null = 0,
80 ssl_auth_rsa = 1,
81 ssl_auth_dsa = 2,
82 ssl_auth_kea = 3,
83 ssl_auth_ecdsa = 4
84 } SSLAuthType;
85
86 typedef enum {
87 ssl_calg_null = 0,
88 ssl_calg_rc4 = 1,
89 ssl_calg_rc2 = 2,
90 ssl_calg_des = 3,
91 ssl_calg_3des = 4,
92 ssl_calg_idea = 5,
93 ssl_calg_fortezza = 6, /* deprecated, now unused */
94 ssl_calg_aes = 7,
95 ssl_calg_camellia = 8,
96 ssl_calg_seed = 9,
97 ssl_calg_aes_gcm = 10,
98 ssl_calg_chacha20 = 11
99 } SSLCipherAlgorithm;
100
101 typedef enum {
102 ssl_mac_null = 0,
103 ssl_mac_md5 = 1,
104 ssl_mac_sha = 2,
105 ssl_hmac_md5 = 3, /* TLS HMAC version of mac_md5 */
106 ssl_hmac_sha = 4, /* TLS HMAC version of mac_sha */
107 ssl_hmac_sha256 = 5,
108 ssl_mac_aead = 6
109 } SSLMACAlgorithm;
110
111 typedef enum {
112 ssl_compression_null = 0,
113 ssl_compression_deflate = 1 /* RFC 3749 */
114 } SSLCompressionMethod;
115
116 typedef struct SSLChannelInfoStr {
117 PRUint32 length;
118 PRUint16 protocolVersion;
119 PRUint16 cipherSuite;
120
121 /* server authentication info */
122 PRUint32 authKeyBits;
123
124 /* key exchange algorithm info */
125 PRUint32 keaKeyBits;
126
127 /* session info */
128 PRUint32 creationTime; /* seconds since Jan 1, 1970 */
129 PRUint32 lastAccessTime; /* seconds since Jan 1, 1970 */
130 PRUint32 expirationTime; /* seconds since Jan 1, 1970 */
131 PRUint32 sessionIDLength; /* up to 32 */
132 PRUint8 sessionID [32];
133
134 /* The following fields are added in NSS 3.12.5. */
135
136 /* compression method info */
137 const char * compressionMethodName;
138 SSLCompressionMethod compressionMethod;
139 } SSLChannelInfo;
140
141 typedef struct SSLCipherSuiteInfoStr {
142 PRUint16 length;
143 PRUint16 cipherSuite;
144
145 /* Cipher Suite Name */
146 const char * cipherSuiteName;
147
148 /* server authentication info */
149 const char * authAlgorithmName;
150 SSLAuthType authAlgorithm;
151
152 /* key exchange algorithm info */
153 const char * keaTypeName;
154 SSLKEAType keaType;
155
156 /* symmetric encryption info */
157 const char * symCipherName;
158 SSLCipherAlgorithm symCipher;
159 PRUint16 symKeyBits;
160 PRUint16 symKeySpace;
161 PRUint16 effectiveKeyBits;
162
163 /* MAC info */
164 /* AEAD ciphers don't have a MAC. For an AEAD cipher, macAlgorithmName
165 * is "AEAD", macAlgorithm is ssl_mac_aead, and macBits is the length in
166 * bits of the authentication tag. */
167 const char * macAlgorithmName;
168 SSLMACAlgorithm macAlgorithm;
169 PRUint16 macBits;
170
171 PRUintn isFIPS : 1;
172 PRUintn isExportable : 1;
173 PRUintn nonStandard : 1;
174 PRUintn reservedBits :29;
175
176 } SSLCipherSuiteInfo;
177
178 typedef enum {
179 ssl_variant_stream = 0,
180 ssl_variant_datagram = 1
181 } SSLProtocolVariant;
182
183 typedef struct SSLVersionRangeStr {
184 PRUint16 min;
185 PRUint16 max;
186 } SSLVersionRange;
187
188 typedef enum {
189 SSL_sni_host_name = 0,
190 SSL_sni_type_total
191 } SSLSniNameType;
192
193 /* Supported extensions. */
194 /* Update SSL_MAX_EXTENSIONS whenever a new extension type is added. */
195 typedef enum {
196 ssl_server_name_xtn = 0,
197 ssl_cert_status_xtn = 5,
198 #ifdef NSS_ENABLE_ECC
199 ssl_elliptic_curves_xtn = 10,
200 ssl_ec_point_formats_xtn = 11,
201 #endif
202 ssl_signature_algorithms_xtn = 13,
203 ssl_use_srtp_xtn = 14,
204 ssl_app_layer_protocol_xtn = 16,
205 ssl_signed_certificate_timestamp_xtn = 18, /* RFC 6962 */
206 ssl_padding_xtn = 21,
207 ssl_session_ticket_xtn = 35,
208 ssl_next_proto_nego_xtn = 13172,
209 ssl_channel_id_xtn = 30032,
210 ssl_renegotiation_info_xtn = 0xff01 /* experimental number */
211 } SSLExtensionType;
212
213 #define SSL_MAX_EXTENSIONS 12 /* doesn't include ssl_padding_xtn. */
214
215 #endif /* __sslt_h_ */
OLDNEW
« no previous file with comments | « net/third_party/nss/ssl/sslsock.c ('k') | net/third_party/nss/ssl/ssltrace.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698