OpenCoverage

ssl_stat.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/ssl/ssl_stat.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: ssl_stat.c,v 1.14 2017/05/07 04:22:24 beck Exp $ */-
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)-
3 * All rights reserved.-
4 *-
5 * This package is an SSL implementation written-
6 * by Eric Young (eay@cryptsoft.com).-
7 * The implementation was written so as to conform with Netscapes SSL.-
8 *-
9 * This library is free for commercial and non-commercial use as long as-
10 * the following conditions are aheared to. The following conditions-
11 * apply to all code found in this distribution, be it the RC4, RSA,-
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation-
13 * included with this distribution is covered by the same copyright terms-
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).-
15 *-
16 * Copyright remains Eric Young's, and as such any Copyright notices in-
17 * the code are not to be removed.-
18 * If this package is used in a product, Eric Young should be given attribution-
19 * as the author of the parts of the library used.-
20 * This can be in the form of a textual message at program startup or-
21 * in documentation (online or textual) provided with the package.-
22 *-
23 * Redistribution and use in source and binary forms, with or without-
24 * modification, are permitted provided that the following conditions-
25 * are met:-
26 * 1. Redistributions of source code must retain the copyright-
27 * notice, this list of conditions and the following disclaimer.-
28 * 2. Redistributions in binary form must reproduce the above copyright-
29 * notice, this list of conditions and the following disclaimer in the-
30 * documentation and/or other materials provided with the distribution.-
31 * 3. All advertising materials mentioning features or use of this software-
32 * must display the following acknowledgement:-
33 * "This product includes cryptographic software written by-
34 * Eric Young (eay@cryptsoft.com)"-
35 * The word 'cryptographic' can be left out if the rouines from the library-
36 * being used are not cryptographic related :-).-
37 * 4. If you include any Windows specific code (or a derivative thereof) from-
38 * the apps directory (application code) you must include an acknowledgement:-
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"-
40 *-
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND-
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE-
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE-
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL-
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS-
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT-
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY-
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF-
51 * SUCH DAMAGE.-
52 *-
53 * The licence and distribution terms for any publically available version or-
54 * derivative of this code cannot be changed. i.e. this code cannot simply be-
55 * copied and put under another distribution licence-
56 * [including the GNU Public Licence.]-
57 */-
58/* ====================================================================-
59 * Copyright 2005 Nokia. All rights reserved.-
60 *-
61 * The portions of the attached software ("Contribution") is developed by-
62 * Nokia Corporation and is licensed pursuant to the OpenSSL open source-
63 * license.-
64 *-
65 * The Contribution, originally written by Mika Kousa and Pasi Eronen of-
66 * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites-
67 * support (see RFC 4279) to OpenSSL.-
68 *-
69 * No patent licenses or other rights except those expressly stated in-
70 * the OpenSSL open source license shall be deemed granted or received-
71 * expressly, by implication, estoppel, or otherwise.-
72 *-
73 * No assurances are provided by Nokia that the Contribution does not-
74 * infringe the patent or other intellectual property rights of any third-
75 * party or that the license provides you with all the necessary rights-
76 * to make use of the Contribution.-
77 *-
78 * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN-
79 * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA-
80 * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY-
81 * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR-
82 * OTHERWISE.-
83 */-
84-
85#include <stdio.h>-
86-
87#include "ssl_locl.h"-
88-
89const char *-
90SSL_state_string_long(const SSL *s)-
91{-
92 const char *str;-
93-
94 switch (S3I(s)->hs.state) {-
95 case SSL_ST_BEFORE:
never executed: case 0x4000:
0
96 str = "before SSL initialization";-
97 break;
never executed: break;
0
98 case SSL_ST_ACCEPT:
never executed: case 0x2000:
0
99 str = "before accept initialization";-
100 break;
never executed: break;
0
101 case SSL_ST_CONNECT:
never executed: case 0x1000:
0
102 str = "before connect initialization";-
103 break;
never executed: break;
0
104 case SSL_ST_OK:
never executed: case 0x03:
0
105 str = "SSL negotiation finished successfully";-
106 break;
never executed: break;
0
107 case SSL_ST_RENEGOTIATE:
never executed: case (0x04|(0x1000|0x2000)):
0
108 str = "SSL renegotiate ciphers";-
109 break;
never executed: break;
0
110 case SSL_ST_BEFORE|SSL_ST_CONNECT:
never executed: case 0x4000|0x1000:
0
111 str = "before/connect initialization";-
112 break;
never executed: break;
0
113 case SSL_ST_OK|SSL_ST_CONNECT:
never executed: case 0x03|0x1000:
0
114 str = "ok/connect SSL initialization";-
115 break;
never executed: break;
0
116 case SSL_ST_BEFORE|SSL_ST_ACCEPT:
never executed: case 0x4000|0x2000:
0
117 str = "before/accept initialization";-
118 break;
never executed: break;
0
119 case SSL_ST_OK|SSL_ST_ACCEPT:
never executed: case 0x03|0x2000:
0
120 str = "ok/accept SSL initialization";-
121 break;
never executed: break;
0
122-
123 /* SSLv3 additions */-
124 case SSL3_ST_CW_CLNT_HELLO_A:
never executed: case (0x110|0x1000):
0
125 str = "SSLv3 write client hello A";-
126 break;
never executed: break;
0
127 case SSL3_ST_CW_CLNT_HELLO_B:
never executed: case (0x111|0x1000):
0
128 str = "SSLv3 write client hello B";-
129 break;
never executed: break;
0
130 case SSL3_ST_CR_SRVR_HELLO_A:
never executed: case (0x120|0x1000):
0
131 str = "SSLv3 read server hello A";-
132 break;
never executed: break;
0
133 case SSL3_ST_CR_SRVR_HELLO_B:
never executed: case (0x121|0x1000):
0
134 str = "SSLv3 read server hello B";-
135 break;
never executed: break;
0
136 case SSL3_ST_CR_CERT_A:
never executed: case (0x130|0x1000):
0
137 str = "SSLv3 read server certificate A";-
138 break;
never executed: break;
0
139 case SSL3_ST_CR_CERT_B:
never executed: case (0x131|0x1000):
0
140 str = "SSLv3 read server certificate B";-
141 break;
never executed: break;
0
142 case SSL3_ST_CR_KEY_EXCH_A:
never executed: case (0x140|0x1000):
0
143 str = "SSLv3 read server key exchange A";-
144 break;
never executed: break;
0
145 case SSL3_ST_CR_KEY_EXCH_B:
never executed: case (0x141|0x1000):
0
146 str = "SSLv3 read server key exchange B";-
147 break;
never executed: break;
0
148 case SSL3_ST_CR_CERT_REQ_A:
never executed: case (0x150|0x1000):
0
149 str = "SSLv3 read server certificate request A";-
150 break;
never executed: break;
0
151 case SSL3_ST_CR_CERT_REQ_B:
never executed: case (0x151|0x1000):
0
152 str = "SSLv3 read server certificate request B";-
153 break;
never executed: break;
0
154 case SSL3_ST_CR_SESSION_TICKET_A:
never executed: case (0x1E0|0x1000):
0
155 str = "SSLv3 read server session ticket A";-
156 break;
never executed: break;
0
157 case SSL3_ST_CR_SESSION_TICKET_B:
never executed: case (0x1E1|0x1000):
0
158 str = "SSLv3 read server session ticket B";-
159 break;
never executed: break;
0
160 case SSL3_ST_CR_SRVR_DONE_A:
never executed: case (0x160|0x1000):
0
161 str = "SSLv3 read server done A";-
162 break;
never executed: break;
0
163 case SSL3_ST_CR_SRVR_DONE_B:
never executed: case (0x161|0x1000):
0
164 str = "SSLv3 read server done B";-
165 break;
never executed: break;
0
166 case SSL3_ST_CW_CERT_A:
never executed: case (0x170|0x1000):
0
167 str = "SSLv3 write client certificate A";-
168 break;
never executed: break;
0
169 case SSL3_ST_CW_CERT_B:
never executed: case (0x171|0x1000):
0
170 str = "SSLv3 write client certificate B";-
171 break;
never executed: break;
0
172 case SSL3_ST_CW_CERT_C:
never executed: case (0x172|0x1000):
0
173 str = "SSLv3 write client certificate C";-
174 break;
never executed: break;
0
175 case SSL3_ST_CW_CERT_D:
never executed: case (0x173|0x1000):
0
176 str = "SSLv3 write client certificate D";-
177 break;
never executed: break;
0
178 case SSL3_ST_CW_KEY_EXCH_A:
never executed: case (0x180|0x1000):
0
179 str = "SSLv3 write client key exchange A";-
180 break;
never executed: break;
0
181 case SSL3_ST_CW_KEY_EXCH_B:
never executed: case (0x181|0x1000):
0
182 str = "SSLv3 write client key exchange B";-
183 break;
never executed: break;
0
184 case SSL3_ST_CW_CERT_VRFY_A:
never executed: case (0x190|0x1000):
0
185 str = "SSLv3 write certificate verify A";-
186 break;
never executed: break;
0
187 case SSL3_ST_CW_CERT_VRFY_B:
never executed: case (0x191|0x1000):
0
188 str = "SSLv3 write certificate verify B";-
189 break;
never executed: break;
0
190-
191 case SSL3_ST_CW_CHANGE_A:
never executed: case (0x1A0|0x1000):
0
192 case SSL3_ST_SW_CHANGE_A:
never executed: case (0x1D0|0x2000):
0
193 str = "SSLv3 write change cipher spec A";-
194 break;
never executed: break;
0
195 case SSL3_ST_CW_CHANGE_B:
never executed: case (0x1A1|0x1000):
0
196 case SSL3_ST_SW_CHANGE_B:
never executed: case (0x1D1|0x2000):
0
197 str = "SSLv3 write change cipher spec B";-
198 break;
never executed: break;
0
199 case SSL3_ST_CW_FINISHED_A:
never executed: case (0x1B0|0x1000):
0
200 case SSL3_ST_SW_FINISHED_A:
never executed: case (0x1E0|0x2000):
0
201 str = "SSLv3 write finished A";-
202 break;
never executed: break;
0
203 case SSL3_ST_CW_FINISHED_B:
never executed: case (0x1B1|0x1000):
0
204 case SSL3_ST_SW_FINISHED_B:
never executed: case (0x1E1|0x2000):
0
205 str = "SSLv3 write finished B";-
206 break;
never executed: break;
0
207 case SSL3_ST_CR_CHANGE_A:
never executed: case (0x1C0|0x1000):
0
208 case SSL3_ST_SR_CHANGE_A:
never executed: case (0x1B0|0x2000):
0
209 str = "SSLv3 read change cipher spec A";-
210 break;
never executed: break;
0
211 case SSL3_ST_CR_CHANGE_B:
never executed: case (0x1C1|0x1000):
0
212 case SSL3_ST_SR_CHANGE_B:
never executed: case (0x1B1|0x2000):
0
213 str = "SSLv3 read change cipher spec B";-
214 break;
never executed: break;
0
215 case SSL3_ST_CR_FINISHED_A:
never executed: case (0x1D0|0x1000):
0
216 case SSL3_ST_SR_FINISHED_A:
never executed: case (0x1C0|0x2000):
0
217 str = "SSLv3 read finished A";-
218 break;
never executed: break;
0
219 case SSL3_ST_CR_FINISHED_B:
never executed: case (0x1D1|0x1000):
0
220 case SSL3_ST_SR_FINISHED_B:
never executed: case (0x1C1|0x2000):
0
221 str = "SSLv3 read finished B";-
222 break;
never executed: break;
0
223-
224 case SSL3_ST_CW_FLUSH:
never executed: case (0x100|0x1000):
0
225 case SSL3_ST_SW_FLUSH:
never executed: case (0x100|0x2000):
0
226 str = "SSLv3 flush data";-
227 break;
never executed: break;
0
228-
229 case SSL3_ST_SR_CLNT_HELLO_A:
never executed: case (0x110|0x2000):
0
230 str = "SSLv3 read client hello A";-
231 break;
never executed: break;
0
232 case SSL3_ST_SR_CLNT_HELLO_B:
never executed: case (0x111|0x2000):
0
233 str = "SSLv3 read client hello B";-
234 break;
never executed: break;
0
235 case SSL3_ST_SR_CLNT_HELLO_C:
never executed: case (0x112|0x2000):
0
236 str = "SSLv3 read client hello C";-
237 break;
never executed: break;
0
238 case SSL3_ST_SW_HELLO_REQ_A:
never executed: case (0x120|0x2000):
0
239 str = "SSLv3 write hello request A";-
240 break;
never executed: break;
0
241 case SSL3_ST_SW_HELLO_REQ_B:
never executed: case (0x121|0x2000):
0
242 str = "SSLv3 write hello request B";-
243 break;
never executed: break;
0
244 case SSL3_ST_SW_HELLO_REQ_C:
never executed: case (0x122|0x2000):
0
245 str = "SSLv3 write hello request C";-
246 break;
never executed: break;
0
247 case SSL3_ST_SW_SRVR_HELLO_A:
never executed: case (0x130|0x2000):
0
248 str = "SSLv3 write server hello A";-
249 break;
never executed: break;
0
250 case SSL3_ST_SW_SRVR_HELLO_B:
never executed: case (0x131|0x2000):
0
251 str = "SSLv3 write server hello B";-
252 break;
never executed: break;
0
253 case SSL3_ST_SW_CERT_A:
never executed: case (0x140|0x2000):
0
254 str = "SSLv3 write certificate A";-
255 break;
never executed: break;
0
256 case SSL3_ST_SW_CERT_B:
never executed: case (0x141|0x2000):
0
257 str = "SSLv3 write certificate B";-
258 break;
never executed: break;
0
259 case SSL3_ST_SW_KEY_EXCH_A:
never executed: case (0x150|0x2000):
0
260 str = "SSLv3 write key exchange A";-
261 break;
never executed: break;
0
262 case SSL3_ST_SW_KEY_EXCH_B:
never executed: case (0x151|0x2000):
0
263 str = "SSLv3 write key exchange B";-
264 break;
never executed: break;
0
265 case SSL3_ST_SW_CERT_REQ_A:
never executed: case (0x160|0x2000):
0
266 str = "SSLv3 write certificate request A";-
267 break;
never executed: break;
0
268 case SSL3_ST_SW_CERT_REQ_B:
never executed: case (0x161|0x2000):
0
269 str = "SSLv3 write certificate request B";-
270 break;
never executed: break;
0
271 case SSL3_ST_SW_SESSION_TICKET_A:
never executed: case (0x1F0|0x2000):
0
272 str = "SSLv3 write session ticket A";-
273 break;
never executed: break;
0
274 case SSL3_ST_SW_SESSION_TICKET_B:
never executed: case (0x1F1|0x2000):
0
275 str = "SSLv3 write session ticket B";-
276 break;
never executed: break;
0
277 case SSL3_ST_SW_SRVR_DONE_A:
never executed: case (0x170|0x2000):
0
278 str = "SSLv3 write server done A";-
279 break;
never executed: break;
0
280 case SSL3_ST_SW_SRVR_DONE_B:
never executed: case (0x171|0x2000):
0
281 str = "SSLv3 write server done B";-
282 break;
never executed: break;
0
283 case SSL3_ST_SR_CERT_A:
never executed: case (0x180|0x2000):
0
284 str = "SSLv3 read client certificate A";-
285 break;
never executed: break;
0
286 case SSL3_ST_SR_CERT_B:
never executed: case (0x181|0x2000):
0
287 str = "SSLv3 read client certificate B";-
288 break;
never executed: break;
0
289 case SSL3_ST_SR_KEY_EXCH_A:
never executed: case (0x190|0x2000):
0
290 str = "SSLv3 read client key exchange A";-
291 break;
never executed: break;
0
292 case SSL3_ST_SR_KEY_EXCH_B:
never executed: case (0x191|0x2000):
0
293 str = "SSLv3 read client key exchange B";-
294 break;
never executed: break;
0
295 case SSL3_ST_SR_CERT_VRFY_A:
never executed: case (0x1A0|0x2000):
0
296 str = "SSLv3 read certificate verify A";-
297 break;
never executed: break;
0
298 case SSL3_ST_SR_CERT_VRFY_B:
never executed: case (0x1A1|0x2000):
0
299 str = "SSLv3 read certificate verify B";-
300 break;
never executed: break;
0
301-
302 /* DTLS */-
303 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A:
never executed: case (0x126|0x1000):
0
304 str = "DTLS1 read hello verify request A";-
305 break;
never executed: break;
0
306 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B:
never executed: case (0x127|0x1000):
0
307 str = "DTLS1 read hello verify request B";-
308 break;
never executed: break;
0
309 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A:
never executed: case (0x113|0x2000):
0
310 str = "DTLS1 write hello verify request A";-
311 break;
never executed: break;
0
312 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B:
never executed: case (0x114|0x2000):
0
313 str = "DTLS1 write hello verify request B";-
314 break;
never executed: break;
0
315-
316 default:
never executed: default:
0
317 str = "unknown state";-
318 break;
never executed: break;
0
319 }-
320 return (str);
never executed: return (str);
0
321}-
322-
323const char *-
324SSL_rstate_string_long(const SSL *s)-
325{-
326 const char *str;-
327-
328 switch (s->internal->rstate) {-
329 case SSL_ST_READ_HEADER:
never executed: case 0xF0:
0
330 str = "read header";-
331 break;
never executed: break;
0
332 case SSL_ST_READ_BODY:
never executed: case 0xF1:
0
333 str = "read body";-
334 break;
never executed: break;
0
335 case SSL_ST_READ_DONE:
never executed: case 0xF2:
0
336 str = "read done";-
337 break;
never executed: break;
0
338 default:
never executed: default:
0
339 str = "unknown";-
340 break;
never executed: break;
0
341 }-
342 return (str);
never executed: return (str);
0
343}-
344-
345const char *-
346SSL_state_string(const SSL *s)-
347{-
348 const char *str;-
349-
350 switch (S3I(s)->hs.state) {-
351 case SSL_ST_BEFORE:
never executed: case 0x4000:
0
352 str = "PINIT ";-
353 break;
never executed: break;
0
354 case SSL_ST_ACCEPT:
never executed: case 0x2000:
0
355 str = "AINIT ";-
356 break;
never executed: break;
0
357 case SSL_ST_CONNECT:
never executed: case 0x1000:
0
358 str = "CINIT ";-
359 break;
never executed: break;
0
360 case SSL_ST_OK:
never executed: case 0x03:
0
361 str = "SSLOK ";-
362 break;
never executed: break;
0
363-
364 /* SSLv3 additions */-
365 case SSL3_ST_SW_FLUSH:
never executed: case (0x100|0x2000):
0
366 case SSL3_ST_CW_FLUSH:
never executed: case (0x100|0x1000):
0
367 str = "3FLUSH";-
368 break;
never executed: break;
0
369 case SSL3_ST_CW_CLNT_HELLO_A:
never executed: case (0x110|0x1000):
0
370 str = "3WCH_A";-
371 break;
never executed: break;
0
372 case SSL3_ST_CW_CLNT_HELLO_B:
never executed: case (0x111|0x1000):
0
373 str = "3WCH_B";-
374 break;
never executed: break;
0
375 case SSL3_ST_CR_SRVR_HELLO_A:
never executed: case (0x120|0x1000):
0
376 str = "3RSH_A";-
377 break;
never executed: break;
0
378 case SSL3_ST_CR_SRVR_HELLO_B:
never executed: case (0x121|0x1000):
0
379 str = "3RSH_B";-
380 break;
never executed: break;
0
381 case SSL3_ST_CR_CERT_A:
never executed: case (0x130|0x1000):
0
382 str = "3RSC_A";-
383 break;
never executed: break;
0
384 case SSL3_ST_CR_CERT_B:
never executed: case (0x131|0x1000):
0
385 str = "3RSC_B";-
386 break;
never executed: break;
0
387 case SSL3_ST_CR_KEY_EXCH_A:
never executed: case (0x140|0x1000):
0
388 str = "3RSKEA";-
389 break;
never executed: break;
0
390 case SSL3_ST_CR_KEY_EXCH_B:
never executed: case (0x141|0x1000):
0
391 str = "3RSKEB";-
392 break;
never executed: break;
0
393 case SSL3_ST_CR_CERT_REQ_A:
never executed: case (0x150|0x1000):
0
394 str = "3RCR_A";-
395 break;
never executed: break;
0
396 case SSL3_ST_CR_CERT_REQ_B:
never executed: case (0x151|0x1000):
0
397 str = "3RCR_B";-
398 break;
never executed: break;
0
399 case SSL3_ST_CR_SRVR_DONE_A:
never executed: case (0x160|0x1000):
0
400 str = "3RSD_A";-
401 break;
never executed: break;
0
402 case SSL3_ST_CR_SRVR_DONE_B:
never executed: case (0x161|0x1000):
0
403 str = "3RSD_B";-
404 break;
never executed: break;
0
405 case SSL3_ST_CW_CERT_A:
never executed: case (0x170|0x1000):
0
406 str = "3WCC_A";-
407 break;
never executed: break;
0
408 case SSL3_ST_CW_CERT_B:
never executed: case (0x171|0x1000):
0
409 str = "3WCC_B";-
410 break;
never executed: break;
0
411 case SSL3_ST_CW_CERT_C:
never executed: case (0x172|0x1000):
0
412 str = "3WCC_C";-
413 break;
never executed: break;
0
414 case SSL3_ST_CW_CERT_D:
never executed: case (0x173|0x1000):
0
415 str = "3WCC_D";-
416 break;
never executed: break;
0
417 case SSL3_ST_CW_KEY_EXCH_A:
never executed: case (0x180|0x1000):
0
418 str = "3WCKEA";-
419 break;
never executed: break;
0
420 case SSL3_ST_CW_KEY_EXCH_B:
never executed: case (0x181|0x1000):
0
421 str = "3WCKEB";-
422 break;
never executed: break;
0
423 case SSL3_ST_CW_CERT_VRFY_A:
never executed: case (0x190|0x1000):
0
424 str = "3WCV_A";-
425 break;
never executed: break;
0
426 case SSL3_ST_CW_CERT_VRFY_B:
never executed: case (0x191|0x1000):
0
427 str = "3WCV_B";-
428 break;
never executed: break;
0
429-
430 case SSL3_ST_SW_CHANGE_A:
never executed: case (0x1D0|0x2000):
0
431 case SSL3_ST_CW_CHANGE_A:
never executed: case (0x1A0|0x1000):
0
432 str = "3WCCSA";-
433 break;
never executed: break;
0
434 case SSL3_ST_SW_CHANGE_B:
never executed: case (0x1D1|0x2000):
0
435 case SSL3_ST_CW_CHANGE_B:
never executed: case (0x1A1|0x1000):
0
436 str = "3WCCSB";-
437 break;
never executed: break;
0
438 case SSL3_ST_SW_FINISHED_A:
never executed: case (0x1E0|0x2000):
0
439 case SSL3_ST_CW_FINISHED_A:
never executed: case (0x1B0|0x1000):
0
440 str = "3WFINA";-
441 break;
never executed: break;
0
442 case SSL3_ST_SW_FINISHED_B:
never executed: case (0x1E1|0x2000):
0
443 case SSL3_ST_CW_FINISHED_B:
never executed: case (0x1B1|0x1000):
0
444 str = "3WFINB";-
445 break;
never executed: break;
0
446 case SSL3_ST_SR_CHANGE_A:
never executed: case (0x1B0|0x2000):
0
447 case SSL3_ST_CR_CHANGE_A:
never executed: case (0x1C0|0x1000):
0
448 str = "3RCCSA";-
449 break;
never executed: break;
0
450 case SSL3_ST_SR_CHANGE_B:
never executed: case (0x1B1|0x2000):
0
451 case SSL3_ST_CR_CHANGE_B:
never executed: case (0x1C1|0x1000):
0
452 str = "3RCCSB";-
453 break;
never executed: break;
0
454 case SSL3_ST_SR_FINISHED_A:
never executed: case (0x1C0|0x2000):
0
455 case SSL3_ST_CR_FINISHED_A:
never executed: case (0x1D0|0x1000):
0
456 str = "3RFINA";-
457 break;
never executed: break;
0
458 case SSL3_ST_SR_FINISHED_B:
never executed: case (0x1C1|0x2000):
0
459 case SSL3_ST_CR_FINISHED_B:
never executed: case (0x1D1|0x1000):
0
460 str = "3RFINB";-
461 break;
never executed: break;
0
462-
463 case SSL3_ST_SW_HELLO_REQ_A:
never executed: case (0x120|0x2000):
0
464 str = "3WHR_A";-
465 break;
never executed: break;
0
466 case SSL3_ST_SW_HELLO_REQ_B:
never executed: case (0x121|0x2000):
0
467 str = "3WHR_B";-
468 break;
never executed: break;
0
469 case SSL3_ST_SW_HELLO_REQ_C:
never executed: case (0x122|0x2000):
0
470 str = "3WHR_C";-
471 break;
never executed: break;
0
472 case SSL3_ST_SR_CLNT_HELLO_A:
never executed: case (0x110|0x2000):
0
473 str = "3RCH_A";-
474 break;
never executed: break;
0
475 case SSL3_ST_SR_CLNT_HELLO_B:
never executed: case (0x111|0x2000):
0
476 str = "3RCH_B";-
477 break;
never executed: break;
0
478 case SSL3_ST_SR_CLNT_HELLO_C:
never executed: case (0x112|0x2000):
0
479 str = "3RCH_C";-
480 break;
never executed: break;
0
481 case SSL3_ST_SW_SRVR_HELLO_A:
never executed: case (0x130|0x2000):
0
482 str = "3WSH_A";-
483 break;
never executed: break;
0
484 case SSL3_ST_SW_SRVR_HELLO_B:
never executed: case (0x131|0x2000):
0
485 str = "3WSH_B";-
486 break;
never executed: break;
0
487 case SSL3_ST_SW_CERT_A:
never executed: case (0x140|0x2000):
0
488 str = "3WSC_A";-
489 break;
never executed: break;
0
490 case SSL3_ST_SW_CERT_B:
never executed: case (0x141|0x2000):
0
491 str = "3WSC_B";-
492 break;
never executed: break;
0
493 case SSL3_ST_SW_KEY_EXCH_A:
never executed: case (0x150|0x2000):
0
494 str = "3WSKEA";-
495 break;
never executed: break;
0
496 case SSL3_ST_SW_KEY_EXCH_B:
never executed: case (0x151|0x2000):
0
497 str = "3WSKEB";-
498 break;
never executed: break;
0
499 case SSL3_ST_SW_CERT_REQ_A:
never executed: case (0x160|0x2000):
0
500 str = "3WCR_A";-
501 break;
never executed: break;
0
502 case SSL3_ST_SW_CERT_REQ_B:
never executed: case (0x161|0x2000):
0
503 str = "3WCR_B";-
504 break;
never executed: break;
0
505 case SSL3_ST_SW_SRVR_DONE_A:
never executed: case (0x170|0x2000):
0
506 str = "3WSD_A";-
507 break;
never executed: break;
0
508 case SSL3_ST_SW_SRVR_DONE_B:
never executed: case (0x171|0x2000):
0
509 str = "3WSD_B";-
510 break;
never executed: break;
0
511 case SSL3_ST_SR_CERT_A:
never executed: case (0x180|0x2000):
0
512 str = "3RCC_A";-
513 break;
never executed: break;
0
514 case SSL3_ST_SR_CERT_B:
never executed: case (0x181|0x2000):
0
515 str = "3RCC_B";-
516 break;
never executed: break;
0
517 case SSL3_ST_SR_KEY_EXCH_A:
never executed: case (0x190|0x2000):
0
518 str = "3RCKEA";-
519 break;
never executed: break;
0
520 case SSL3_ST_SR_KEY_EXCH_B:
never executed: case (0x191|0x2000):
0
521 str = "3RCKEB";-
522 break;
never executed: break;
0
523 case SSL3_ST_SR_CERT_VRFY_A:
never executed: case (0x1A0|0x2000):
0
524 str = "3RCV_A";-
525 break;
never executed: break;
0
526 case SSL3_ST_SR_CERT_VRFY_B:
never executed: case (0x1A1|0x2000):
0
527 str = "3RCV_B";-
528 break;
never executed: break;
0
529-
530 /* DTLS */-
531 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A:
never executed: case (0x126|0x1000):
0
532 str = "DRCHVA";-
533 break;
never executed: break;
0
534 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B:
never executed: case (0x127|0x1000):
0
535 str = "DRCHVB";-
536 break;
never executed: break;
0
537 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A:
never executed: case (0x113|0x2000):
0
538 str = "DWCHVA";-
539 break;
never executed: break;
0
540 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B:
never executed: case (0x114|0x2000):
0
541 str = "DWCHVB";-
542 break;
never executed: break;
0
543-
544 default:
never executed: default:
0
545 str = "UNKWN ";-
546 break;
never executed: break;
0
547 }-
548 return (str);
never executed: return (str);
0
549}-
550-
551const char *-
552SSL_alert_type_string_long(int value)-
553{-
554 value >>= 8;-
555 if (value == SSL3_AL_WARNING)
value == 1Description
TRUEnever evaluated
FALSEnever evaluated
0
556 return ("warning");
never executed: return ("warning");
0
557 else if (value == SSL3_AL_FATAL)
value == 2Description
TRUEnever evaluated
FALSEnever evaluated
0
558 return ("fatal");
never executed: return ("fatal");
0
559 else-
560 return ("unknown");
never executed: return ("unknown");
0
561}-
562-
563const char *-
564SSL_alert_type_string(int value)-
565{-
566 value >>= 8;-
567 if (value == SSL3_AL_WARNING)
value == 1Description
TRUEnever evaluated
FALSEnever evaluated
0
568 return ("W");
never executed: return ("W");
0
569 else if (value == SSL3_AL_FATAL)
value == 2Description
TRUEnever evaluated
FALSEnever evaluated
0
570 return ("F");
never executed: return ("F");
0
571 else-
572 return ("U");
never executed: return ("U");
0
573}-
574-
575const char *-
576SSL_alert_desc_string(int value)-
577{-
578 const char *str;-
579-
580 switch (value & 0xff) {-
581 case SSL3_AD_CLOSE_NOTIFY:
never executed: case 0:
0
582 str = "CN";-
583 break;
never executed: break;
0
584 case SSL3_AD_UNEXPECTED_MESSAGE:
never executed: case 10:
0
585 str = "UM";-
586 break;
never executed: break;
0
587 case SSL3_AD_BAD_RECORD_MAC:
never executed: case 20:
0
588 str = "BM";-
589 break;
never executed: break;
0
590 case SSL3_AD_DECOMPRESSION_FAILURE:
never executed: case 30:
0
591 str = "DF";-
592 break;
never executed: break;
0
593 case SSL3_AD_HANDSHAKE_FAILURE:
never executed: case 40:
0
594 str = "HF";-
595 break;
never executed: break;
0
596 case SSL3_AD_NO_CERTIFICATE:
never executed: case 41:
0
597 str = "NC";-
598 break;
never executed: break;
0
599 case SSL3_AD_BAD_CERTIFICATE:
never executed: case 42:
0
600 str = "BC";-
601 break;
never executed: break;
0
602 case SSL3_AD_UNSUPPORTED_CERTIFICATE:
never executed: case 43:
0
603 str = "UC";-
604 break;
never executed: break;
0
605 case SSL3_AD_CERTIFICATE_REVOKED:
never executed: case 44:
0
606 str = "CR";-
607 break;
never executed: break;
0
608 case SSL3_AD_CERTIFICATE_EXPIRED:
never executed: case 45:
0
609 str = "CE";-
610 break;
never executed: break;
0
611 case SSL3_AD_CERTIFICATE_UNKNOWN:
never executed: case 46:
0
612 str = "CU";-
613 break;
never executed: break;
0
614 case SSL3_AD_ILLEGAL_PARAMETER:
never executed: case 47:
0
615 str = "IP";-
616 break;
never executed: break;
0
617 case TLS1_AD_DECRYPTION_FAILED:
never executed: case 21:
0
618 str = "DC";-
619 break;
never executed: break;
0
620 case TLS1_AD_RECORD_OVERFLOW:
never executed: case 22:
0
621 str = "RO";-
622 break;
never executed: break;
0
623 case TLS1_AD_UNKNOWN_CA:
never executed: case 48:
0
624 str = "CA";-
625 break;
never executed: break;
0
626 case TLS1_AD_ACCESS_DENIED:
never executed: case 49:
0
627 str = "AD";-
628 break;
never executed: break;
0
629 case TLS1_AD_DECODE_ERROR:
never executed: case 50:
0
630 str = "DE";-
631 break;
never executed: break;
0
632 case TLS1_AD_DECRYPT_ERROR:
never executed: case 51:
0
633 str = "CY";-
634 break;
never executed: break;
0
635 case TLS1_AD_EXPORT_RESTRICTION:
never executed: case 60:
0
636 str = "ER";-
637 break;
never executed: break;
0
638 case TLS1_AD_PROTOCOL_VERSION:
never executed: case 70:
0
639 str = "PV";-
640 break;
never executed: break;
0
641 case TLS1_AD_INSUFFICIENT_SECURITY:
never executed: case 71:
0
642 str = "IS";-
643 break;
never executed: break;
0
644 case TLS1_AD_INTERNAL_ERROR:
never executed: case 80:
0
645 str = "IE";-
646 break;
never executed: break;
0
647 case TLS1_AD_USER_CANCELLED:
never executed: case 90:
0
648 str = "US";-
649 break;
never executed: break;
0
650 case TLS1_AD_NO_RENEGOTIATION:
never executed: case 100:
0
651 str = "NR";-
652 break;
never executed: break;
0
653 case TLS1_AD_UNSUPPORTED_EXTENSION:
never executed: case 110:
0
654 str = "UE";-
655 break;
never executed: break;
0
656 case TLS1_AD_CERTIFICATE_UNOBTAINABLE:
never executed: case 111:
0
657 str = "CO";-
658 break;
never executed: break;
0
659 case TLS1_AD_UNRECOGNIZED_NAME:
never executed: case 112:
0
660 str = "UN";-
661 break;
never executed: break;
0
662 case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE:
never executed: case 113:
0
663 str = "BR";-
664 break;
never executed: break;
0
665 case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE:
never executed: case 114:
0
666 str = "BH";-
667 break;
never executed: break;
0
668 case TLS1_AD_UNKNOWN_PSK_IDENTITY:
never executed: case 115:
0
669 str = "UP";-
670 break;
never executed: break;
0
671 default:
never executed: default:
0
672 str = "UK";-
673 break;
never executed: break;
0
674 }-
675 return (str);
never executed: return (str);
0
676}-
677-
678const char *-
679SSL_alert_desc_string_long(int value)-
680{-
681 const char *str;-
682-
683 switch (value & 0xff) {-
684 case SSL3_AD_CLOSE_NOTIFY:
never executed: case 0:
0
685 str = "close notify";-
686 break;
never executed: break;
0
687 case SSL3_AD_UNEXPECTED_MESSAGE:
never executed: case 10:
0
688 str = "unexpected_message";-
689 break;
never executed: break;
0
690 case SSL3_AD_BAD_RECORD_MAC:
never executed: case 20:
0
691 str = "bad record mac";-
692 break;
never executed: break;
0
693 case SSL3_AD_DECOMPRESSION_FAILURE:
never executed: case 30:
0
694 str = "decompression failure";-
695 break;
never executed: break;
0
696 case SSL3_AD_HANDSHAKE_FAILURE:
never executed: case 40:
0
697 str = "handshake failure";-
698 break;
never executed: break;
0
699 case SSL3_AD_NO_CERTIFICATE:
never executed: case 41:
0
700 str = "no certificate";-
701 break;
never executed: break;
0
702 case SSL3_AD_BAD_CERTIFICATE:
never executed: case 42:
0
703 str = "bad certificate";-
704 break;
never executed: break;
0
705 case SSL3_AD_UNSUPPORTED_CERTIFICATE:
never executed: case 43:
0
706 str = "unsupported certificate";-
707 break;
never executed: break;
0
708 case SSL3_AD_CERTIFICATE_REVOKED:
never executed: case 44:
0
709 str = "certificate revoked";-
710 break;
never executed: break;
0
711 case SSL3_AD_CERTIFICATE_EXPIRED:
never executed: case 45:
0
712 str = "certificate expired";-
713 break;
never executed: break;
0
714 case SSL3_AD_CERTIFICATE_UNKNOWN:
never executed: case 46:
0
715 str = "certificate unknown";-
716 break;
never executed: break;
0
717 case SSL3_AD_ILLEGAL_PARAMETER:
never executed: case 47:
0
718 str = "illegal parameter";-
719 break;
never executed: break;
0
720 case TLS1_AD_DECRYPTION_FAILED:
never executed: case 21:
0
721 str = "decryption failed";-
722 break;
never executed: break;
0
723 case TLS1_AD_RECORD_OVERFLOW:
never executed: case 22:
0
724 str = "record overflow";-
725 break;
never executed: break;
0
726 case TLS1_AD_UNKNOWN_CA:
never executed: case 48:
0
727 str = "unknown CA";-
728 break;
never executed: break;
0
729 case TLS1_AD_ACCESS_DENIED:
never executed: case 49:
0
730 str = "access denied";-
731 break;
never executed: break;
0
732 case TLS1_AD_DECODE_ERROR:
never executed: case 50:
0
733 str = "decode error";-
734 break;
never executed: break;
0
735 case TLS1_AD_DECRYPT_ERROR:
never executed: case 51:
0
736 str = "decrypt error";-
737 break;
never executed: break;
0
738 case TLS1_AD_EXPORT_RESTRICTION:
never executed: case 60:
0
739 str = "export restriction";-
740 break;
never executed: break;
0
741 case TLS1_AD_PROTOCOL_VERSION:
never executed: case 70:
0
742 str = "protocol version";-
743 break;
never executed: break;
0
744 case TLS1_AD_INSUFFICIENT_SECURITY:
never executed: case 71:
0
745 str = "insufficient security";-
746 break;
never executed: break;
0
747 case TLS1_AD_INTERNAL_ERROR:
never executed: case 80:
0
748 str = "internal error";-
749 break;
never executed: break;
0
750 case TLS1_AD_USER_CANCELLED:
never executed: case 90:
0
751 str = "user canceled";-
752 break;
never executed: break;
0
753 case TLS1_AD_NO_RENEGOTIATION:
never executed: case 100:
0
754 str = "no renegotiation";-
755 break;
never executed: break;
0
756 case TLS1_AD_UNSUPPORTED_EXTENSION:
never executed: case 110:
0
757 str = "unsupported extension";-
758 break;
never executed: break;
0
759 case TLS1_AD_CERTIFICATE_UNOBTAINABLE:
never executed: case 111:
0
760 str = "certificate unobtainable";-
761 break;
never executed: break;
0
762 case TLS1_AD_UNRECOGNIZED_NAME:
never executed: case 112:
0
763 str = "unrecognized name";-
764 break;
never executed: break;
0
765 case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE:
never executed: case 113:
0
766 str = "bad certificate status response";-
767 break;
never executed: break;
0
768 case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE:
never executed: case 114:
0
769 str = "bad certificate hash value";-
770 break;
never executed: break;
0
771 case TLS1_AD_UNKNOWN_PSK_IDENTITY:
never executed: case 115:
0
772 str = "unknown PSK identity";-
773 break;
never executed: break;
0
774 default:
never executed: default:
0
775 str = "unknown";-
776 break;
never executed: break;
0
777 }-
778 return (str);
never executed: return (str);
0
779}-
780-
781const char *-
782SSL_rstate_string(const SSL *s)-
783{-
784 const char *str;-
785-
786 switch (s->internal->rstate) {-
787 case SSL_ST_READ_HEADER:
never executed: case 0xF0:
0
788 str = "RH";-
789 break;
never executed: break;
0
790 case SSL_ST_READ_BODY:
never executed: case 0xF1:
0
791 str = "RB";-
792 break;
never executed: break;
0
793 case SSL_ST_READ_DONE:
never executed: case 0xF2:
0
794 str = "RD";-
795 break;
never executed: break;
0
796 default:
never executed: default:
0
797 str = "unknown";-
798 break;
never executed: break;
0
799 }-
800 return (str);
never executed: return (str);
0
801}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2