summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_stat.c
diff options
context:
space:
mode:
authorjsing <>2014-04-14 13:10:35 +0000
committerjsing <>2014-04-14 13:10:35 +0000
commitb12a89b75a526f5ae9bbd6bfff6053e21295fd2a (patch)
tree7ee2ebf15684ee99e649ef8b3b2dd289398f6325 /src/lib/libssl/ssl_stat.c
parentabb7d374248574dba5fd92eb363fdf180c877abc (diff)
downloadopenbsd-b12a89b75a526f5ae9bbd6bfff6053e21295fd2a.tar.gz
openbsd-b12a89b75a526f5ae9bbd6bfff6053e21295fd2a.tar.bz2
openbsd-b12a89b75a526f5ae9bbd6bfff6053e21295fd2a.zip
First pass at applying KNF to the OpenSSL code, which almost makes it
readable. This pass is whitespace only and can readily be verified using tr and md5.
Diffstat (limited to 'src/lib/libssl/ssl_stat.c')
-rw-r--r--src/lib/libssl/ssl_stat.c893
1 files changed, 576 insertions, 317 deletions
diff --git a/src/lib/libssl/ssl_stat.c b/src/lib/libssl/ssl_stat.c
index 144b81e55f..3d9371cdd7 100644
--- a/src/lib/libssl/ssl_stat.c
+++ b/src/lib/libssl/ssl_stat.c
@@ -85,311 +85,533 @@
85#include <stdio.h> 85#include <stdio.h>
86#include "ssl_locl.h" 86#include "ssl_locl.h"
87 87
88const char *SSL_state_string_long(const SSL *s) 88const char
89 { 89*SSL_state_string_long(const SSL *s)
90{
90 const char *str; 91 const char *str;
91 92
92 switch (s->state) 93 switch (s->state) {
93 { 94 case SSL_ST_BEFORE:
94case SSL_ST_BEFORE: str="before SSL initialization"; break; 95 str="before SSL initialization"; break;
95case SSL_ST_ACCEPT: str="before accept initialization"; break; 96 case SSL_ST_ACCEPT:
96case SSL_ST_CONNECT: str="before connect initialization"; break; 97 str="before accept initialization"; break;
97case SSL_ST_OK: str="SSL negotiation finished successfully"; break; 98 case SSL_ST_CONNECT:
98case SSL_ST_RENEGOTIATE: str="SSL renegotiate ciphers"; break; 99 str="before connect initialization"; break;
99case SSL_ST_BEFORE|SSL_ST_CONNECT: str="before/connect initialization"; break; 100 case SSL_ST_OK:
100case SSL_ST_OK|SSL_ST_CONNECT: str="ok/connect SSL initialization"; break; 101 str="SSL negotiation finished successfully"; break;
101case SSL_ST_BEFORE|SSL_ST_ACCEPT: str="before/accept initialization"; break; 102 case SSL_ST_RENEGOTIATE:
102case SSL_ST_OK|SSL_ST_ACCEPT: str="ok/accept SSL initialization"; break; 103 str="SSL renegotiate ciphers"; break;
104 case SSL_ST_BEFORE|SSL_ST_CONNECT:
105 str="before/connect initialization"; break;
106 case SSL_ST_OK|SSL_ST_CONNECT:
107 str="ok/connect SSL initialization"; break;
108 case SSL_ST_BEFORE|SSL_ST_ACCEPT:
109 str="before/accept initialization"; break;
110 case SSL_ST_OK|SSL_ST_ACCEPT:
111 str="ok/accept SSL initialization"; break;
103#ifndef OPENSSL_NO_SSL2 112#ifndef OPENSSL_NO_SSL2
104case SSL2_ST_CLIENT_START_ENCRYPTION: str="SSLv2 client start encryption"; break; 113 case SSL2_ST_CLIENT_START_ENCRYPTION:
105case SSL2_ST_SERVER_START_ENCRYPTION: str="SSLv2 server start encryption"; break; 114 str="SSLv2 client start encryption"; break;
106case SSL2_ST_SEND_CLIENT_HELLO_A: str="SSLv2 write client hello A"; break; 115 case SSL2_ST_SERVER_START_ENCRYPTION:
107case SSL2_ST_SEND_CLIENT_HELLO_B: str="SSLv2 write client hello B"; break; 116 str="SSLv2 server start encryption"; break;
108case SSL2_ST_GET_SERVER_HELLO_A: str="SSLv2 read server hello A"; break; 117 case SSL2_ST_SEND_CLIENT_HELLO_A:
109case SSL2_ST_GET_SERVER_HELLO_B: str="SSLv2 read server hello B"; break; 118 str="SSLv2 write client hello A"; break;
110case SSL2_ST_SEND_CLIENT_MASTER_KEY_A: str="SSLv2 write client master key A"; break; 119 case SSL2_ST_SEND_CLIENT_HELLO_B:
111case SSL2_ST_SEND_CLIENT_MASTER_KEY_B: str="SSLv2 write client master key B"; break; 120 str="SSLv2 write client hello B"; break;
112case SSL2_ST_SEND_CLIENT_FINISHED_A: str="SSLv2 write client finished A"; break; 121 case SSL2_ST_GET_SERVER_HELLO_A:
113case SSL2_ST_SEND_CLIENT_FINISHED_B: str="SSLv2 write client finished B"; break; 122 str="SSLv2 read server hello A"; break;
114case SSL2_ST_SEND_CLIENT_CERTIFICATE_A: str="SSLv2 write client certificate A"; break; 123 case SSL2_ST_GET_SERVER_HELLO_B:
115case SSL2_ST_SEND_CLIENT_CERTIFICATE_B: str="SSLv2 write client certificate B"; break; 124 str="SSLv2 read server hello B"; break;
116case SSL2_ST_SEND_CLIENT_CERTIFICATE_C: str="SSLv2 write client certificate C"; break; 125 case SSL2_ST_SEND_CLIENT_MASTER_KEY_A:
117case SSL2_ST_SEND_CLIENT_CERTIFICATE_D: str="SSLv2 write client certificate D"; break; 126 str="SSLv2 write client master key A"; break;
118case SSL2_ST_GET_SERVER_VERIFY_A: str="SSLv2 read server verify A"; break; 127 case SSL2_ST_SEND_CLIENT_MASTER_KEY_B:
119case SSL2_ST_GET_SERVER_VERIFY_B: str="SSLv2 read server verify B"; break; 128 str="SSLv2 write client master key B"; break;
120case SSL2_ST_GET_SERVER_FINISHED_A: str="SSLv2 read server finished A"; break; 129 case SSL2_ST_SEND_CLIENT_FINISHED_A:
121case SSL2_ST_GET_SERVER_FINISHED_B: str="SSLv2 read server finished B"; break; 130 str="SSLv2 write client finished A"; break;
122case SSL2_ST_GET_CLIENT_HELLO_A: str="SSLv2 read client hello A"; break; 131 case SSL2_ST_SEND_CLIENT_FINISHED_B:
123case SSL2_ST_GET_CLIENT_HELLO_B: str="SSLv2 read client hello B"; break; 132 str="SSLv2 write client finished B"; break;
124case SSL2_ST_GET_CLIENT_HELLO_C: str="SSLv2 read client hello C"; break; 133 case SSL2_ST_SEND_CLIENT_CERTIFICATE_A:
125case SSL2_ST_SEND_SERVER_HELLO_A: str="SSLv2 write server hello A"; break; 134 str="SSLv2 write client certificate A"; break;
126case SSL2_ST_SEND_SERVER_HELLO_B: str="SSLv2 write server hello B"; break; 135 case SSL2_ST_SEND_CLIENT_CERTIFICATE_B:
127case SSL2_ST_GET_CLIENT_MASTER_KEY_A: str="SSLv2 read client master key A"; break; 136 str="SSLv2 write client certificate B"; break;
128case SSL2_ST_GET_CLIENT_MASTER_KEY_B: str="SSLv2 read client master key B"; break; 137 case SSL2_ST_SEND_CLIENT_CERTIFICATE_C:
129case SSL2_ST_SEND_SERVER_VERIFY_A: str="SSLv2 write server verify A"; break; 138 str="SSLv2 write client certificate C"; break;
130case SSL2_ST_SEND_SERVER_VERIFY_B: str="SSLv2 write server verify B"; break; 139 case SSL2_ST_SEND_CLIENT_CERTIFICATE_D:
131case SSL2_ST_SEND_SERVER_VERIFY_C: str="SSLv2 write server verify C"; break; 140 str="SSLv2 write client certificate D"; break;
132case SSL2_ST_GET_CLIENT_FINISHED_A: str="SSLv2 read client finished A"; break; 141 case SSL2_ST_GET_SERVER_VERIFY_A:
133case SSL2_ST_GET_CLIENT_FINISHED_B: str="SSLv2 read client finished B"; break; 142 str="SSLv2 read server verify A"; break;
134case SSL2_ST_SEND_SERVER_FINISHED_A: str="SSLv2 write server finished A"; break; 143 case SSL2_ST_GET_SERVER_VERIFY_B:
135case SSL2_ST_SEND_SERVER_FINISHED_B: str="SSLv2 write server finished B"; break; 144 str="SSLv2 read server verify B"; break;
136case SSL2_ST_SEND_REQUEST_CERTIFICATE_A: str="SSLv2 write request certificate A"; break; 145 case SSL2_ST_GET_SERVER_FINISHED_A:
137case SSL2_ST_SEND_REQUEST_CERTIFICATE_B: str="SSLv2 write request certificate B"; break; 146 str="SSLv2 read server finished A"; break;
138case SSL2_ST_SEND_REQUEST_CERTIFICATE_C: str="SSLv2 write request certificate C"; break; 147 case SSL2_ST_GET_SERVER_FINISHED_B:
139case SSL2_ST_SEND_REQUEST_CERTIFICATE_D: str="SSLv2 write request certificate D"; break; 148 str="SSLv2 read server finished B"; break;
140case SSL2_ST_X509_GET_SERVER_CERTIFICATE: str="SSLv2 X509 read server certificate"; break; 149 case SSL2_ST_GET_CLIENT_HELLO_A:
141case SSL2_ST_X509_GET_CLIENT_CERTIFICATE: str="SSLv2 X509 read client certificate"; break; 150 str="SSLv2 read client hello A"; break;
151 case SSL2_ST_GET_CLIENT_HELLO_B:
152 str="SSLv2 read client hello B"; break;
153 case SSL2_ST_GET_CLIENT_HELLO_C:
154 str="SSLv2 read client hello C"; break;
155 case SSL2_ST_SEND_SERVER_HELLO_A:
156 str="SSLv2 write server hello A"; break;
157 case SSL2_ST_SEND_SERVER_HELLO_B:
158 str="SSLv2 write server hello B"; break;
159 case SSL2_ST_GET_CLIENT_MASTER_KEY_A:
160 str="SSLv2 read client master key A"; break;
161 case SSL2_ST_GET_CLIENT_MASTER_KEY_B:
162 str="SSLv2 read client master key B"; break;
163 case SSL2_ST_SEND_SERVER_VERIFY_A:
164 str="SSLv2 write server verify A"; break;
165 case SSL2_ST_SEND_SERVER_VERIFY_B:
166 str="SSLv2 write server verify B"; break;
167 case SSL2_ST_SEND_SERVER_VERIFY_C:
168 str="SSLv2 write server verify C"; break;
169 case SSL2_ST_GET_CLIENT_FINISHED_A:
170 str="SSLv2 read client finished A"; break;
171 case SSL2_ST_GET_CLIENT_FINISHED_B:
172 str="SSLv2 read client finished B"; break;
173 case SSL2_ST_SEND_SERVER_FINISHED_A:
174 str="SSLv2 write server finished A"; break;
175 case SSL2_ST_SEND_SERVER_FINISHED_B:
176 str="SSLv2 write server finished B"; break;
177 case SSL2_ST_SEND_REQUEST_CERTIFICATE_A:
178 str="SSLv2 write request certificate A"; break;
179 case SSL2_ST_SEND_REQUEST_CERTIFICATE_B:
180 str="SSLv2 write request certificate B"; break;
181 case SSL2_ST_SEND_REQUEST_CERTIFICATE_C:
182 str="SSLv2 write request certificate C"; break;
183 case SSL2_ST_SEND_REQUEST_CERTIFICATE_D:
184 str="SSLv2 write request certificate D"; break;
185 case SSL2_ST_X509_GET_SERVER_CERTIFICATE:
186 str="SSLv2 X509 read server certificate"; break;
187 case SSL2_ST_X509_GET_CLIENT_CERTIFICATE:
188 str="SSLv2 X509 read client certificate"; break;
142#endif 189#endif
143 190
144#ifndef OPENSSL_NO_SSL3 191#ifndef OPENSSL_NO_SSL3
145/* SSLv3 additions */ 192/* SSLv3 additions */
146case SSL3_ST_CW_CLNT_HELLO_A: str="SSLv3 write client hello A"; break; 193 case SSL3_ST_CW_CLNT_HELLO_A:
147case SSL3_ST_CW_CLNT_HELLO_B: str="SSLv3 write client hello B"; break; 194 str="SSLv3 write client hello A"; break;
148case SSL3_ST_CR_SRVR_HELLO_A: str="SSLv3 read server hello A"; break; 195 case SSL3_ST_CW_CLNT_HELLO_B:
149case SSL3_ST_CR_SRVR_HELLO_B: str="SSLv3 read server hello B"; break; 196 str="SSLv3 write client hello B"; break;
150case SSL3_ST_CR_CERT_A: str="SSLv3 read server certificate A"; break; 197 case SSL3_ST_CR_SRVR_HELLO_A:
151case SSL3_ST_CR_CERT_B: str="SSLv3 read server certificate B"; break; 198 str="SSLv3 read server hello A"; break;
152case SSL3_ST_CR_KEY_EXCH_A: str="SSLv3 read server key exchange A"; break; 199 case SSL3_ST_CR_SRVR_HELLO_B:
153case SSL3_ST_CR_KEY_EXCH_B: str="SSLv3 read server key exchange B"; break; 200 str="SSLv3 read server hello B"; break;
154case SSL3_ST_CR_CERT_REQ_A: str="SSLv3 read server certificate request A"; break; 201 case SSL3_ST_CR_CERT_A:
155case SSL3_ST_CR_CERT_REQ_B: str="SSLv3 read server certificate request B"; break; 202 str="SSLv3 read server certificate A"; break;
156case SSL3_ST_CR_SESSION_TICKET_A: str="SSLv3 read server session ticket A";break; 203 case SSL3_ST_CR_CERT_B:
157case SSL3_ST_CR_SESSION_TICKET_B: str="SSLv3 read server session ticket B";break; 204 str="SSLv3 read server certificate B"; break;
158case SSL3_ST_CR_SRVR_DONE_A: str="SSLv3 read server done A"; break; 205 case SSL3_ST_CR_KEY_EXCH_A:
159case SSL3_ST_CR_SRVR_DONE_B: str="SSLv3 read server done B"; break; 206 str="SSLv3 read server key exchange A"; break;
160case SSL3_ST_CW_CERT_A: str="SSLv3 write client certificate A"; break; 207 case SSL3_ST_CR_KEY_EXCH_B:
161case SSL3_ST_CW_CERT_B: str="SSLv3 write client certificate B"; break; 208 str="SSLv3 read server key exchange B"; break;
162case SSL3_ST_CW_CERT_C: str="SSLv3 write client certificate C"; break; 209 case SSL3_ST_CR_CERT_REQ_A:
163case SSL3_ST_CW_CERT_D: str="SSLv3 write client certificate D"; break; 210 str="SSLv3 read server certificate request A"; break;
164case SSL3_ST_CW_KEY_EXCH_A: str="SSLv3 write client key exchange A"; break; 211 case SSL3_ST_CR_CERT_REQ_B:
165case SSL3_ST_CW_KEY_EXCH_B: str="SSLv3 write client key exchange B"; break; 212 str="SSLv3 read server certificate request B"; break;
166case SSL3_ST_CW_CERT_VRFY_A: str="SSLv3 write certificate verify A"; break; 213 case SSL3_ST_CR_SESSION_TICKET_A:
167case SSL3_ST_CW_CERT_VRFY_B: str="SSLv3 write certificate verify B"; break; 214 str="SSLv3 read server session ticket A";break;
215 case SSL3_ST_CR_SESSION_TICKET_B:
216 str="SSLv3 read server session ticket B";break;
217 case SSL3_ST_CR_SRVR_DONE_A:
218 str="SSLv3 read server done A"; break;
219 case SSL3_ST_CR_SRVR_DONE_B:
220 str="SSLv3 read server done B"; break;
221 case SSL3_ST_CW_CERT_A:
222 str="SSLv3 write client certificate A"; break;
223 case SSL3_ST_CW_CERT_B:
224 str="SSLv3 write client certificate B"; break;
225 case SSL3_ST_CW_CERT_C:
226 str="SSLv3 write client certificate C"; break;
227 case SSL3_ST_CW_CERT_D:
228 str="SSLv3 write client certificate D"; break;
229 case SSL3_ST_CW_KEY_EXCH_A:
230 str="SSLv3 write client key exchange A"; break;
231 case SSL3_ST_CW_KEY_EXCH_B:
232 str="SSLv3 write client key exchange B"; break;
233 case SSL3_ST_CW_CERT_VRFY_A:
234 str="SSLv3 write certificate verify A"; break;
235 case SSL3_ST_CW_CERT_VRFY_B:
236 str="SSLv3 write certificate verify B"; break;
168 237
169case SSL3_ST_CW_CHANGE_A: 238 case SSL3_ST_CW_CHANGE_A:
170case SSL3_ST_SW_CHANGE_A: str="SSLv3 write change cipher spec A"; break; 239 case SSL3_ST_SW_CHANGE_A:
171case SSL3_ST_CW_CHANGE_B: 240 str="SSLv3 write change cipher spec A"; break;
172case SSL3_ST_SW_CHANGE_B: str="SSLv3 write change cipher spec B"; break; 241 case SSL3_ST_CW_CHANGE_B:
173case SSL3_ST_CW_FINISHED_A: 242 case SSL3_ST_SW_CHANGE_B:
174case SSL3_ST_SW_FINISHED_A: str="SSLv3 write finished A"; break; 243 str="SSLv3 write change cipher spec B"; break;
175case SSL3_ST_CW_FINISHED_B: 244 case SSL3_ST_CW_FINISHED_A:
176case SSL3_ST_SW_FINISHED_B: str="SSLv3 write finished B"; break; 245 case SSL3_ST_SW_FINISHED_A:
177case SSL3_ST_CR_CHANGE_A: 246 str="SSLv3 write finished A"; break;
178case SSL3_ST_SR_CHANGE_A: str="SSLv3 read change cipher spec A"; break; 247 case SSL3_ST_CW_FINISHED_B:
179case SSL3_ST_CR_CHANGE_B: 248 case SSL3_ST_SW_FINISHED_B:
180case SSL3_ST_SR_CHANGE_B: str="SSLv3 read change cipher spec B"; break; 249 str="SSLv3 write finished B"; break;
181case SSL3_ST_CR_FINISHED_A: 250 case SSL3_ST_CR_CHANGE_A:
182case SSL3_ST_SR_FINISHED_A: str="SSLv3 read finished A"; break; 251 case SSL3_ST_SR_CHANGE_A:
183case SSL3_ST_CR_FINISHED_B: 252 str="SSLv3 read change cipher spec A"; break;
184case SSL3_ST_SR_FINISHED_B: str="SSLv3 read finished B"; break; 253 case SSL3_ST_CR_CHANGE_B:
254 case SSL3_ST_SR_CHANGE_B:
255 str="SSLv3 read change cipher spec B"; break;
256 case SSL3_ST_CR_FINISHED_A:
257 case SSL3_ST_SR_FINISHED_A:
258 str="SSLv3 read finished A"; break;
259 case SSL3_ST_CR_FINISHED_B:
260 case SSL3_ST_SR_FINISHED_B:
261 str="SSLv3 read finished B"; break;
185 262
186case SSL3_ST_CW_FLUSH: 263 case SSL3_ST_CW_FLUSH:
187case SSL3_ST_SW_FLUSH: str="SSLv3 flush data"; break; 264 case SSL3_ST_SW_FLUSH:
265 str="SSLv3 flush data"; break;
188 266
189case SSL3_ST_SR_CLNT_HELLO_A: str="SSLv3 read client hello A"; break; 267 case SSL3_ST_SR_CLNT_HELLO_A:
190case SSL3_ST_SR_CLNT_HELLO_B: str="SSLv3 read client hello B"; break; 268 str="SSLv3 read client hello A"; break;
191case SSL3_ST_SR_CLNT_HELLO_C: str="SSLv3 read client hello C"; break; 269 case SSL3_ST_SR_CLNT_HELLO_B:
192case SSL3_ST_SW_HELLO_REQ_A: str="SSLv3 write hello request A"; break; 270 str="SSLv3 read client hello B"; break;
193case SSL3_ST_SW_HELLO_REQ_B: str="SSLv3 write hello request B"; break; 271 case SSL3_ST_SR_CLNT_HELLO_C:
194case SSL3_ST_SW_HELLO_REQ_C: str="SSLv3 write hello request C"; break; 272 str="SSLv3 read client hello C"; break;
195case SSL3_ST_SW_SRVR_HELLO_A: str="SSLv3 write server hello A"; break; 273 case SSL3_ST_SW_HELLO_REQ_A:
196case SSL3_ST_SW_SRVR_HELLO_B: str="SSLv3 write server hello B"; break; 274 str="SSLv3 write hello request A"; break;
197case SSL3_ST_SW_CERT_A: str="SSLv3 write certificate A"; break; 275 case SSL3_ST_SW_HELLO_REQ_B:
198case SSL3_ST_SW_CERT_B: str="SSLv3 write certificate B"; break; 276 str="SSLv3 write hello request B"; break;
199case SSL3_ST_SW_KEY_EXCH_A: str="SSLv3 write key exchange A"; break; 277 case SSL3_ST_SW_HELLO_REQ_C:
200case SSL3_ST_SW_KEY_EXCH_B: str="SSLv3 write key exchange B"; break; 278 str="SSLv3 write hello request C"; break;
201case SSL3_ST_SW_CERT_REQ_A: str="SSLv3 write certificate request A"; break; 279 case SSL3_ST_SW_SRVR_HELLO_A:
202case SSL3_ST_SW_CERT_REQ_B: str="SSLv3 write certificate request B"; break; 280 str="SSLv3 write server hello A"; break;
203case SSL3_ST_SW_SESSION_TICKET_A: str="SSLv3 write session ticket A"; break; 281 case SSL3_ST_SW_SRVR_HELLO_B:
204case SSL3_ST_SW_SESSION_TICKET_B: str="SSLv3 write session ticket B"; break; 282 str="SSLv3 write server hello B"; break;
205case SSL3_ST_SW_SRVR_DONE_A: str="SSLv3 write server done A"; break; 283 case SSL3_ST_SW_CERT_A:
206case SSL3_ST_SW_SRVR_DONE_B: str="SSLv3 write server done B"; break; 284 str="SSLv3 write certificate A"; break;
207case SSL3_ST_SR_CERT_A: str="SSLv3 read client certificate A"; break; 285 case SSL3_ST_SW_CERT_B:
208case SSL3_ST_SR_CERT_B: str="SSLv3 read client certificate B"; break; 286 str="SSLv3 write certificate B"; break;
209case SSL3_ST_SR_KEY_EXCH_A: str="SSLv3 read client key exchange A"; break; 287 case SSL3_ST_SW_KEY_EXCH_A:
210case SSL3_ST_SR_KEY_EXCH_B: str="SSLv3 read client key exchange B"; break; 288 str="SSLv3 write key exchange A"; break;
211case SSL3_ST_SR_CERT_VRFY_A: str="SSLv3 read certificate verify A"; break; 289 case SSL3_ST_SW_KEY_EXCH_B:
212case SSL3_ST_SR_CERT_VRFY_B: str="SSLv3 read certificate verify B"; break; 290 str="SSLv3 write key exchange B"; break;
291 case SSL3_ST_SW_CERT_REQ_A:
292 str="SSLv3 write certificate request A"; break;
293 case SSL3_ST_SW_CERT_REQ_B:
294 str="SSLv3 write certificate request B"; break;
295 case SSL3_ST_SW_SESSION_TICKET_A:
296 str="SSLv3 write session ticket A"; break;
297 case SSL3_ST_SW_SESSION_TICKET_B:
298 str="SSLv3 write session ticket B"; break;
299 case SSL3_ST_SW_SRVR_DONE_A:
300 str="SSLv3 write server done A"; break;
301 case SSL3_ST_SW_SRVR_DONE_B:
302 str="SSLv3 write server done B"; break;
303 case SSL3_ST_SR_CERT_A:
304 str="SSLv3 read client certificate A"; break;
305 case SSL3_ST_SR_CERT_B:
306 str="SSLv3 read client certificate B"; break;
307 case SSL3_ST_SR_KEY_EXCH_A:
308 str="SSLv3 read client key exchange A"; break;
309 case SSL3_ST_SR_KEY_EXCH_B:
310 str="SSLv3 read client key exchange B"; break;
311 case SSL3_ST_SR_CERT_VRFY_A:
312 str="SSLv3 read certificate verify A"; break;
313 case SSL3_ST_SR_CERT_VRFY_B:
314 str="SSLv3 read certificate verify B"; break;
213#endif 315#endif
214 316
215#if !defined(OPENSSL_NO_SSL2) && !defined(OPENSSL_NO_SSL3) 317#if !defined(OPENSSL_NO_SSL2) && !defined(OPENSSL_NO_SSL3)
216/* SSLv2/v3 compatibility states */ 318/* SSLv2/v3 compatibility states */
217/* client */ 319/* client */
218case SSL23_ST_CW_CLNT_HELLO_A: str="SSLv2/v3 write client hello A"; break; 320 case SSL23_ST_CW_CLNT_HELLO_A:
219case SSL23_ST_CW_CLNT_HELLO_B: str="SSLv2/v3 write client hello B"; break; 321 str="SSLv2/v3 write client hello A"; break;
220case SSL23_ST_CR_SRVR_HELLO_A: str="SSLv2/v3 read server hello A"; break; 322 case SSL23_ST_CW_CLNT_HELLO_B:
221case SSL23_ST_CR_SRVR_HELLO_B: str="SSLv2/v3 read server hello B"; break; 323 str="SSLv2/v3 write client hello B"; break;
324 case SSL23_ST_CR_SRVR_HELLO_A:
325 str="SSLv2/v3 read server hello A"; break;
326 case SSL23_ST_CR_SRVR_HELLO_B:
327 str="SSLv2/v3 read server hello B"; break;
222/* server */ 328/* server */
223case SSL23_ST_SR_CLNT_HELLO_A: str="SSLv2/v3 read client hello A"; break; 329 case SSL23_ST_SR_CLNT_HELLO_A:
224case SSL23_ST_SR_CLNT_HELLO_B: str="SSLv2/v3 read client hello B"; break; 330 str="SSLv2/v3 read client hello A"; break;
331 case SSL23_ST_SR_CLNT_HELLO_B:
332 str="SSLv2/v3 read client hello B"; break;
225#endif 333#endif
226 334
227/* DTLS */ 335/* DTLS */
228case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A: str="DTLS1 read hello verify request A"; break; 336 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A:
229case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B: str="DTLS1 read hello verify request B"; break; 337 str="DTLS1 read hello verify request A"; break;
230case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A: str="DTLS1 write hello verify request A"; break; 338 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B:
231case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B: str="DTLS1 write hello verify request B"; break; 339 str="DTLS1 read hello verify request B"; break;
340 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A:
341 str="DTLS1 write hello verify request A"; break;
342 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B:
343 str="DTLS1 write hello verify request B"; break;
232 344
233default: str="unknown state"; break; 345 default:
234 } 346 str="unknown state"; break;
235 return(str);
236 } 347 }
348 return (str);
349}
237 350
238const char *SSL_rstate_string_long(const SSL *s) 351const char
239 { 352*SSL_rstate_string_long(const SSL *s)
353{
240 const char *str; 354 const char *str;
241 355
242 switch (s->rstate) 356 switch (s->rstate) {
243 { 357 case SSL_ST_READ_HEADER:
244 case SSL_ST_READ_HEADER: str="read header"; break; 358 str="read header"; break;
245 case SSL_ST_READ_BODY: str="read body"; break; 359 case SSL_ST_READ_BODY:
246 case SSL_ST_READ_DONE: str="read done"; break; 360 str="read body"; break;
247 default: str="unknown"; break; 361 case SSL_ST_READ_DONE:
248 } 362 str="read done"; break;
249 return(str); 363 default:
364 str="unknown"; break;
250 } 365 }
366 return (str);
367}
251 368
252const char *SSL_state_string(const SSL *s) 369const char
253 { 370*SSL_state_string(const SSL *s)
371{
254 const char *str; 372 const char *str;
255 373
256 switch (s->state) 374 switch (s->state) {
257 { 375 case SSL_ST_BEFORE:
258case SSL_ST_BEFORE: str="PINIT "; break; 376 str="PINIT "; break;
259case SSL_ST_ACCEPT: str="AINIT "; break; 377 case SSL_ST_ACCEPT:
260case SSL_ST_CONNECT: str="CINIT "; break; 378 str="AINIT "; break;
261case SSL_ST_OK: str="SSLOK "; break; 379 case SSL_ST_CONNECT:
380 str="CINIT "; break;
381 case SSL_ST_OK:
382 str="SSLOK "; break;
262#ifndef OPENSSL_NO_SSL2 383#ifndef OPENSSL_NO_SSL2
263case SSL2_ST_CLIENT_START_ENCRYPTION: str="2CSENC"; break; 384 case SSL2_ST_CLIENT_START_ENCRYPTION:
264case SSL2_ST_SERVER_START_ENCRYPTION: str="2SSENC"; break; 385 str="2CSENC"; break;
265case SSL2_ST_SEND_CLIENT_HELLO_A: str="2SCH_A"; break; 386 case SSL2_ST_SERVER_START_ENCRYPTION:
266case SSL2_ST_SEND_CLIENT_HELLO_B: str="2SCH_B"; break; 387 str="2SSENC"; break;
267case SSL2_ST_GET_SERVER_HELLO_A: str="2GSH_A"; break; 388 case SSL2_ST_SEND_CLIENT_HELLO_A:
268case SSL2_ST_GET_SERVER_HELLO_B: str="2GSH_B"; break; 389 str="2SCH_A"; break;
269case SSL2_ST_SEND_CLIENT_MASTER_KEY_A: str="2SCMKA"; break; 390 case SSL2_ST_SEND_CLIENT_HELLO_B:
270case SSL2_ST_SEND_CLIENT_MASTER_KEY_B: str="2SCMKB"; break; 391 str="2SCH_B"; break;
271case SSL2_ST_SEND_CLIENT_FINISHED_A: str="2SCF_A"; break; 392 case SSL2_ST_GET_SERVER_HELLO_A:
272case SSL2_ST_SEND_CLIENT_FINISHED_B: str="2SCF_B"; break; 393 str="2GSH_A"; break;
273case SSL2_ST_SEND_CLIENT_CERTIFICATE_A: str="2SCC_A"; break; 394 case SSL2_ST_GET_SERVER_HELLO_B:
274case SSL2_ST_SEND_CLIENT_CERTIFICATE_B: str="2SCC_B"; break; 395 str="2GSH_B"; break;
275case SSL2_ST_SEND_CLIENT_CERTIFICATE_C: str="2SCC_C"; break; 396 case SSL2_ST_SEND_CLIENT_MASTER_KEY_A:
276case SSL2_ST_SEND_CLIENT_CERTIFICATE_D: str="2SCC_D"; break; 397 str="2SCMKA"; break;
277case SSL2_ST_GET_SERVER_VERIFY_A: str="2GSV_A"; break; 398 case SSL2_ST_SEND_CLIENT_MASTER_KEY_B:
278case SSL2_ST_GET_SERVER_VERIFY_B: str="2GSV_B"; break; 399 str="2SCMKB"; break;
279case SSL2_ST_GET_SERVER_FINISHED_A: str="2GSF_A"; break; 400 case SSL2_ST_SEND_CLIENT_FINISHED_A:
280case SSL2_ST_GET_SERVER_FINISHED_B: str="2GSF_B"; break; 401 str="2SCF_A"; break;
281case SSL2_ST_GET_CLIENT_HELLO_A: str="2GCH_A"; break; 402 case SSL2_ST_SEND_CLIENT_FINISHED_B:
282case SSL2_ST_GET_CLIENT_HELLO_B: str="2GCH_B"; break; 403 str="2SCF_B"; break;
283case SSL2_ST_GET_CLIENT_HELLO_C: str="2GCH_C"; break; 404 case SSL2_ST_SEND_CLIENT_CERTIFICATE_A:
284case SSL2_ST_SEND_SERVER_HELLO_A: str="2SSH_A"; break; 405 str="2SCC_A"; break;
285case SSL2_ST_SEND_SERVER_HELLO_B: str="2SSH_B"; break; 406 case SSL2_ST_SEND_CLIENT_CERTIFICATE_B:
286case SSL2_ST_GET_CLIENT_MASTER_KEY_A: str="2GCMKA"; break; 407 str="2SCC_B"; break;
287case SSL2_ST_GET_CLIENT_MASTER_KEY_B: str="2GCMKA"; break; 408 case SSL2_ST_SEND_CLIENT_CERTIFICATE_C:
288case SSL2_ST_SEND_SERVER_VERIFY_A: str="2SSV_A"; break; 409 str="2SCC_C"; break;
289case SSL2_ST_SEND_SERVER_VERIFY_B: str="2SSV_B"; break; 410 case SSL2_ST_SEND_CLIENT_CERTIFICATE_D:
290case SSL2_ST_SEND_SERVER_VERIFY_C: str="2SSV_C"; break; 411 str="2SCC_D"; break;
291case SSL2_ST_GET_CLIENT_FINISHED_A: str="2GCF_A"; break; 412 case SSL2_ST_GET_SERVER_VERIFY_A:
292case SSL2_ST_GET_CLIENT_FINISHED_B: str="2GCF_B"; break; 413 str="2GSV_A"; break;
293case SSL2_ST_SEND_SERVER_FINISHED_A: str="2SSF_A"; break; 414 case SSL2_ST_GET_SERVER_VERIFY_B:
294case SSL2_ST_SEND_SERVER_FINISHED_B: str="2SSF_B"; break; 415 str="2GSV_B"; break;
295case SSL2_ST_SEND_REQUEST_CERTIFICATE_A: str="2SRC_A"; break; 416 case SSL2_ST_GET_SERVER_FINISHED_A:
296case SSL2_ST_SEND_REQUEST_CERTIFICATE_B: str="2SRC_B"; break; 417 str="2GSF_A"; break;
297case SSL2_ST_SEND_REQUEST_CERTIFICATE_C: str="2SRC_C"; break; 418 case SSL2_ST_GET_SERVER_FINISHED_B:
298case SSL2_ST_SEND_REQUEST_CERTIFICATE_D: str="2SRC_D"; break; 419 str="2GSF_B"; break;
299case SSL2_ST_X509_GET_SERVER_CERTIFICATE: str="2X9GSC"; break; 420 case SSL2_ST_GET_CLIENT_HELLO_A:
300case SSL2_ST_X509_GET_CLIENT_CERTIFICATE: str="2X9GCC"; break; 421 str="2GCH_A"; break;
422 case SSL2_ST_GET_CLIENT_HELLO_B:
423 str="2GCH_B"; break;
424 case SSL2_ST_GET_CLIENT_HELLO_C:
425 str="2GCH_C"; break;
426 case SSL2_ST_SEND_SERVER_HELLO_A:
427 str="2SSH_A"; break;
428 case SSL2_ST_SEND_SERVER_HELLO_B:
429 str="2SSH_B"; break;
430 case SSL2_ST_GET_CLIENT_MASTER_KEY_A:
431 str="2GCMKA"; break;
432 case SSL2_ST_GET_CLIENT_MASTER_KEY_B:
433 str="2GCMKA"; break;
434 case SSL2_ST_SEND_SERVER_VERIFY_A:
435 str="2SSV_A"; break;
436 case SSL2_ST_SEND_SERVER_VERIFY_B:
437 str="2SSV_B"; break;
438 case SSL2_ST_SEND_SERVER_VERIFY_C:
439 str="2SSV_C"; break;
440 case SSL2_ST_GET_CLIENT_FINISHED_A:
441 str="2GCF_A"; break;
442 case SSL2_ST_GET_CLIENT_FINISHED_B:
443 str="2GCF_B"; break;
444 case SSL2_ST_SEND_SERVER_FINISHED_A:
445 str="2SSF_A"; break;
446 case SSL2_ST_SEND_SERVER_FINISHED_B:
447 str="2SSF_B"; break;
448 case SSL2_ST_SEND_REQUEST_CERTIFICATE_A:
449 str="2SRC_A"; break;
450 case SSL2_ST_SEND_REQUEST_CERTIFICATE_B:
451 str="2SRC_B"; break;
452 case SSL2_ST_SEND_REQUEST_CERTIFICATE_C:
453 str="2SRC_C"; break;
454 case SSL2_ST_SEND_REQUEST_CERTIFICATE_D:
455 str="2SRC_D"; break;
456 case SSL2_ST_X509_GET_SERVER_CERTIFICATE:
457 str="2X9GSC"; break;
458 case SSL2_ST_X509_GET_CLIENT_CERTIFICATE:
459 str="2X9GCC"; break;
301#endif 460#endif
302 461
303#ifndef OPENSSL_NO_SSL3 462#ifndef OPENSSL_NO_SSL3
304/* SSLv3 additions */ 463/* SSLv3 additions */
305case SSL3_ST_SW_FLUSH: 464 case SSL3_ST_SW_FLUSH:
306case SSL3_ST_CW_FLUSH: str="3FLUSH"; break; 465 case SSL3_ST_CW_FLUSH:
307case SSL3_ST_CW_CLNT_HELLO_A: str="3WCH_A"; break; 466 str="3FLUSH"; break;
308case SSL3_ST_CW_CLNT_HELLO_B: str="3WCH_B"; break; 467 case SSL3_ST_CW_CLNT_HELLO_A:
309case SSL3_ST_CR_SRVR_HELLO_A: str="3RSH_A"; break; 468 str="3WCH_A"; break;
310case SSL3_ST_CR_SRVR_HELLO_B: str="3RSH_B"; break; 469 case SSL3_ST_CW_CLNT_HELLO_B:
311case SSL3_ST_CR_CERT_A: str="3RSC_A"; break; 470 str="3WCH_B"; break;
312case SSL3_ST_CR_CERT_B: str="3RSC_B"; break; 471 case SSL3_ST_CR_SRVR_HELLO_A:
313case SSL3_ST_CR_KEY_EXCH_A: str="3RSKEA"; break; 472 str="3RSH_A"; break;
314case SSL3_ST_CR_KEY_EXCH_B: str="3RSKEB"; break; 473 case SSL3_ST_CR_SRVR_HELLO_B:
315case SSL3_ST_CR_CERT_REQ_A: str="3RCR_A"; break; 474 str="3RSH_B"; break;
316case SSL3_ST_CR_CERT_REQ_B: str="3RCR_B"; break; 475 case SSL3_ST_CR_CERT_A:
317case SSL3_ST_CR_SRVR_DONE_A: str="3RSD_A"; break; 476 str="3RSC_A"; break;
318case SSL3_ST_CR_SRVR_DONE_B: str="3RSD_B"; break; 477 case SSL3_ST_CR_CERT_B:
319case SSL3_ST_CW_CERT_A: str="3WCC_A"; break; 478 str="3RSC_B"; break;
320case SSL3_ST_CW_CERT_B: str="3WCC_B"; break; 479 case SSL3_ST_CR_KEY_EXCH_A:
321case SSL3_ST_CW_CERT_C: str="3WCC_C"; break; 480 str="3RSKEA"; break;
322case SSL3_ST_CW_CERT_D: str="3WCC_D"; break; 481 case SSL3_ST_CR_KEY_EXCH_B:
323case SSL3_ST_CW_KEY_EXCH_A: str="3WCKEA"; break; 482 str="3RSKEB"; break;
324case SSL3_ST_CW_KEY_EXCH_B: str="3WCKEB"; break; 483 case SSL3_ST_CR_CERT_REQ_A:
325case SSL3_ST_CW_CERT_VRFY_A: str="3WCV_A"; break; 484 str="3RCR_A"; break;
326case SSL3_ST_CW_CERT_VRFY_B: str="3WCV_B"; break; 485 case SSL3_ST_CR_CERT_REQ_B:
486 str="3RCR_B"; break;
487 case SSL3_ST_CR_SRVR_DONE_A:
488 str="3RSD_A"; break;
489 case SSL3_ST_CR_SRVR_DONE_B:
490 str="3RSD_B"; break;
491 case SSL3_ST_CW_CERT_A:
492 str="3WCC_A"; break;
493 case SSL3_ST_CW_CERT_B:
494 str="3WCC_B"; break;
495 case SSL3_ST_CW_CERT_C:
496 str="3WCC_C"; break;
497 case SSL3_ST_CW_CERT_D:
498 str="3WCC_D"; break;
499 case SSL3_ST_CW_KEY_EXCH_A:
500 str="3WCKEA"; break;
501 case SSL3_ST_CW_KEY_EXCH_B:
502 str="3WCKEB"; break;
503 case SSL3_ST_CW_CERT_VRFY_A:
504 str="3WCV_A"; break;
505 case SSL3_ST_CW_CERT_VRFY_B:
506 str="3WCV_B"; break;
327 507
328case SSL3_ST_SW_CHANGE_A: 508 case SSL3_ST_SW_CHANGE_A:
329case SSL3_ST_CW_CHANGE_A: str="3WCCSA"; break; 509 case SSL3_ST_CW_CHANGE_A:
330case SSL3_ST_SW_CHANGE_B: 510 str="3WCCSA"; break;
331case SSL3_ST_CW_CHANGE_B: str="3WCCSB"; break; 511 case SSL3_ST_SW_CHANGE_B:
332case SSL3_ST_SW_FINISHED_A: 512 case SSL3_ST_CW_CHANGE_B:
333case SSL3_ST_CW_FINISHED_A: str="3WFINA"; break; 513 str="3WCCSB"; break;
334case SSL3_ST_SW_FINISHED_B: 514 case SSL3_ST_SW_FINISHED_A:
335case SSL3_ST_CW_FINISHED_B: str="3WFINB"; break; 515 case SSL3_ST_CW_FINISHED_A:
336case SSL3_ST_SR_CHANGE_A: 516 str="3WFINA"; break;
337case SSL3_ST_CR_CHANGE_A: str="3RCCSA"; break; 517 case SSL3_ST_SW_FINISHED_B:
338case SSL3_ST_SR_CHANGE_B: 518 case SSL3_ST_CW_FINISHED_B:
339case SSL3_ST_CR_CHANGE_B: str="3RCCSB"; break; 519 str="3WFINB"; break;
340case SSL3_ST_SR_FINISHED_A: 520 case SSL3_ST_SR_CHANGE_A:
341case SSL3_ST_CR_FINISHED_A: str="3RFINA"; break; 521 case SSL3_ST_CR_CHANGE_A:
342case SSL3_ST_SR_FINISHED_B: 522 str="3RCCSA"; break;
343case SSL3_ST_CR_FINISHED_B: str="3RFINB"; break; 523 case SSL3_ST_SR_CHANGE_B:
524 case SSL3_ST_CR_CHANGE_B:
525 str="3RCCSB"; break;
526 case SSL3_ST_SR_FINISHED_A:
527 case SSL3_ST_CR_FINISHED_A:
528 str="3RFINA"; break;
529 case SSL3_ST_SR_FINISHED_B:
530 case SSL3_ST_CR_FINISHED_B:
531 str="3RFINB"; break;
344 532
345case SSL3_ST_SW_HELLO_REQ_A: str="3WHR_A"; break; 533 case SSL3_ST_SW_HELLO_REQ_A:
346case SSL3_ST_SW_HELLO_REQ_B: str="3WHR_B"; break; 534 str="3WHR_A"; break;
347case SSL3_ST_SW_HELLO_REQ_C: str="3WHR_C"; break; 535 case SSL3_ST_SW_HELLO_REQ_B:
348case SSL3_ST_SR_CLNT_HELLO_A: str="3RCH_A"; break; 536 str="3WHR_B"; break;
349case SSL3_ST_SR_CLNT_HELLO_B: str="3RCH_B"; break; 537 case SSL3_ST_SW_HELLO_REQ_C:
350case SSL3_ST_SR_CLNT_HELLO_C: str="3RCH_C"; break; 538 str="3WHR_C"; break;
351case SSL3_ST_SW_SRVR_HELLO_A: str="3WSH_A"; break; 539 case SSL3_ST_SR_CLNT_HELLO_A:
352case SSL3_ST_SW_SRVR_HELLO_B: str="3WSH_B"; break; 540 str="3RCH_A"; break;
353case SSL3_ST_SW_CERT_A: str="3WSC_A"; break; 541 case SSL3_ST_SR_CLNT_HELLO_B:
354case SSL3_ST_SW_CERT_B: str="3WSC_B"; break; 542 str="3RCH_B"; break;
355case SSL3_ST_SW_KEY_EXCH_A: str="3WSKEA"; break; 543 case SSL3_ST_SR_CLNT_HELLO_C:
356case SSL3_ST_SW_KEY_EXCH_B: str="3WSKEB"; break; 544 str="3RCH_C"; break;
357case SSL3_ST_SW_CERT_REQ_A: str="3WCR_A"; break; 545 case SSL3_ST_SW_SRVR_HELLO_A:
358case SSL3_ST_SW_CERT_REQ_B: str="3WCR_B"; break; 546 str="3WSH_A"; break;
359case SSL3_ST_SW_SRVR_DONE_A: str="3WSD_A"; break; 547 case SSL3_ST_SW_SRVR_HELLO_B:
360case SSL3_ST_SW_SRVR_DONE_B: str="3WSD_B"; break; 548 str="3WSH_B"; break;
361case SSL3_ST_SR_CERT_A: str="3RCC_A"; break; 549 case SSL3_ST_SW_CERT_A:
362case SSL3_ST_SR_CERT_B: str="3RCC_B"; break; 550 str="3WSC_A"; break;
363case SSL3_ST_SR_KEY_EXCH_A: str="3RCKEA"; break; 551 case SSL3_ST_SW_CERT_B:
364case SSL3_ST_SR_KEY_EXCH_B: str="3RCKEB"; break; 552 str="3WSC_B"; break;
365case SSL3_ST_SR_CERT_VRFY_A: str="3RCV_A"; break; 553 case SSL3_ST_SW_KEY_EXCH_A:
366case SSL3_ST_SR_CERT_VRFY_B: str="3RCV_B"; break; 554 str="3WSKEA"; break;
555 case SSL3_ST_SW_KEY_EXCH_B:
556 str="3WSKEB"; break;
557 case SSL3_ST_SW_CERT_REQ_A:
558 str="3WCR_A"; break;
559 case SSL3_ST_SW_CERT_REQ_B:
560 str="3WCR_B"; break;
561 case SSL3_ST_SW_SRVR_DONE_A:
562 str="3WSD_A"; break;
563 case SSL3_ST_SW_SRVR_DONE_B:
564 str="3WSD_B"; break;
565 case SSL3_ST_SR_CERT_A:
566 str="3RCC_A"; break;
567 case SSL3_ST_SR_CERT_B:
568 str="3RCC_B"; break;
569 case SSL3_ST_SR_KEY_EXCH_A:
570 str="3RCKEA"; break;
571 case SSL3_ST_SR_KEY_EXCH_B:
572 str="3RCKEB"; break;
573 case SSL3_ST_SR_CERT_VRFY_A:
574 str="3RCV_A"; break;
575 case SSL3_ST_SR_CERT_VRFY_B:
576 str="3RCV_B"; break;
367#endif 577#endif
368 578
369#if !defined(OPENSSL_NO_SSL2) && !defined(OPENSSL_NO_SSL3) 579#if !defined(OPENSSL_NO_SSL2) && !defined(OPENSSL_NO_SSL3)
370/* SSLv2/v3 compatibility states */ 580/* SSLv2/v3 compatibility states */
371/* client */ 581/* client */
372case SSL23_ST_CW_CLNT_HELLO_A: str="23WCHA"; break; 582 case SSL23_ST_CW_CLNT_HELLO_A:
373case SSL23_ST_CW_CLNT_HELLO_B: str="23WCHB"; break; 583 str="23WCHA"; break;
374case SSL23_ST_CR_SRVR_HELLO_A: str="23RSHA"; break; 584 case SSL23_ST_CW_CLNT_HELLO_B:
375case SSL23_ST_CR_SRVR_HELLO_B: str="23RSHA"; break; 585 str="23WCHB"; break;
586 case SSL23_ST_CR_SRVR_HELLO_A:
587 str="23RSHA"; break;
588 case SSL23_ST_CR_SRVR_HELLO_B:
589 str="23RSHA"; break;
376/* server */ 590/* server */
377case SSL23_ST_SR_CLNT_HELLO_A: str="23RCHA"; break; 591 case SSL23_ST_SR_CLNT_HELLO_A:
378case SSL23_ST_SR_CLNT_HELLO_B: str="23RCHB"; break; 592 str="23RCHA"; break;
593 case SSL23_ST_SR_CLNT_HELLO_B:
594 str="23RCHB"; break;
379#endif 595#endif
380/* DTLS */ 596/* DTLS */
381case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A: str="DRCHVA"; break; 597 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A:
382case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B: str="DRCHVB"; break; 598 str="DRCHVA"; break;
383case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A: str="DWCHVA"; break; 599 case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B:
384case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B: str="DWCHVB"; break; 600 str="DRCHVB"; break;
601 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A:
602 str="DWCHVA"; break;
603 case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B:
604 str="DWCHVB"; break;
385 605
386default: str="UNKWN "; break; 606 default:
387 } 607 str="UNKWN "; break;
388 return(str);
389 } 608 }
609 return (str);
610}
390 611
391const char *SSL_alert_type_string_long(int value) 612const char
392 { 613*SSL_alert_type_string_long(int value)
614{
393 value>>=8; 615 value>>=8;
394 if (value == SSL3_AL_WARNING) 616 if (value == SSL3_AL_WARNING)
395 return("warning"); 617 return("warning");
@@ -397,10 +619,11 @@ const char *SSL_alert_type_string_long(int value)
397 return("fatal"); 619 return("fatal");
398 else 620 else
399 return("unknown"); 621 return("unknown");
400 } 622}
401 623
402const char *SSL_alert_type_string(int value) 624const char
403 { 625*SSL_alert_type_string(int value)
626{
404 value>>=8; 627 value>>=8;
405 if (value == SSL3_AL_WARNING) 628 if (value == SSL3_AL_WARNING)
406 return("W"); 629 return("W");
@@ -408,55 +631,86 @@ const char *SSL_alert_type_string(int value)
408 return("F"); 631 return("F");
409 else 632 else
410 return("U"); 633 return("U");
411 } 634}
412 635
413const char *SSL_alert_desc_string(int value) 636const char
414 { 637*SSL_alert_desc_string(int value)
638{
415 const char *str; 639 const char *str;
416 640
417 switch (value & 0xff) 641 switch (value & 0xff) {
418 { 642 case SSL3_AD_CLOSE_NOTIFY:
419 case SSL3_AD_CLOSE_NOTIFY: str="CN"; break; 643 str="CN"; break;
420 case SSL3_AD_UNEXPECTED_MESSAGE: str="UM"; break; 644 case SSL3_AD_UNEXPECTED_MESSAGE:
421 case SSL3_AD_BAD_RECORD_MAC: str="BM"; break; 645 str="UM"; break;
422 case SSL3_AD_DECOMPRESSION_FAILURE: str="DF"; break; 646 case SSL3_AD_BAD_RECORD_MAC:
423 case SSL3_AD_HANDSHAKE_FAILURE: str="HF"; break; 647 str="BM"; break;
424 case SSL3_AD_NO_CERTIFICATE: str="NC"; break; 648 case SSL3_AD_DECOMPRESSION_FAILURE:
425 case SSL3_AD_BAD_CERTIFICATE: str="BC"; break; 649 str="DF"; break;
426 case SSL3_AD_UNSUPPORTED_CERTIFICATE: str="UC"; break; 650 case SSL3_AD_HANDSHAKE_FAILURE:
427 case SSL3_AD_CERTIFICATE_REVOKED: str="CR"; break; 651 str="HF"; break;
428 case SSL3_AD_CERTIFICATE_EXPIRED: str="CE"; break; 652 case SSL3_AD_NO_CERTIFICATE:
429 case SSL3_AD_CERTIFICATE_UNKNOWN: str="CU"; break; 653 str="NC"; break;
430 case SSL3_AD_ILLEGAL_PARAMETER: str="IP"; break; 654 case SSL3_AD_BAD_CERTIFICATE:
431 case TLS1_AD_DECRYPTION_FAILED: str="DC"; break; 655 str="BC"; break;
432 case TLS1_AD_RECORD_OVERFLOW: str="RO"; break; 656 case SSL3_AD_UNSUPPORTED_CERTIFICATE:
433 case TLS1_AD_UNKNOWN_CA: str="CA"; break; 657 str="UC"; break;
434 case TLS1_AD_ACCESS_DENIED: str="AD"; break; 658 case SSL3_AD_CERTIFICATE_REVOKED:
435 case TLS1_AD_DECODE_ERROR: str="DE"; break; 659 str="CR"; break;
436 case TLS1_AD_DECRYPT_ERROR: str="CY"; break; 660 case SSL3_AD_CERTIFICATE_EXPIRED:
437 case TLS1_AD_EXPORT_RESTRICTION: str="ER"; break; 661 str="CE"; break;
438 case TLS1_AD_PROTOCOL_VERSION: str="PV"; break; 662 case SSL3_AD_CERTIFICATE_UNKNOWN:
439 case TLS1_AD_INSUFFICIENT_SECURITY: str="IS"; break; 663 str="CU"; break;
440 case TLS1_AD_INTERNAL_ERROR: str="IE"; break; 664 case SSL3_AD_ILLEGAL_PARAMETER:
441 case TLS1_AD_USER_CANCELLED: str="US"; break; 665 str="IP"; break;
442 case TLS1_AD_NO_RENEGOTIATION: str="NR"; break; 666 case TLS1_AD_DECRYPTION_FAILED:
443 case TLS1_AD_UNSUPPORTED_EXTENSION: str="UE"; break; 667 str="DC"; break;
444 case TLS1_AD_CERTIFICATE_UNOBTAINABLE: str="CO"; break; 668 case TLS1_AD_RECORD_OVERFLOW:
445 case TLS1_AD_UNRECOGNIZED_NAME: str="UN"; break; 669 str="RO"; break;
446 case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: str="BR"; break; 670 case TLS1_AD_UNKNOWN_CA:
447 case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: str="BH"; break; 671 str="CA"; break;
448 case TLS1_AD_UNKNOWN_PSK_IDENTITY: str="UP"; break; 672 case TLS1_AD_ACCESS_DENIED:
449 default: str="UK"; break; 673 str="AD"; break;
450 } 674 case TLS1_AD_DECODE_ERROR:
451 return(str); 675 str="DE"; break;
676 case TLS1_AD_DECRYPT_ERROR:
677 str="CY"; break;
678 case TLS1_AD_EXPORT_RESTRICTION:
679 str="ER"; break;
680 case TLS1_AD_PROTOCOL_VERSION:
681 str="PV"; break;
682 case TLS1_AD_INSUFFICIENT_SECURITY:
683 str="IS"; break;
684 case TLS1_AD_INTERNAL_ERROR:
685 str="IE"; break;
686 case TLS1_AD_USER_CANCELLED:
687 str="US"; break;
688 case TLS1_AD_NO_RENEGOTIATION:
689 str="NR"; break;
690 case TLS1_AD_UNSUPPORTED_EXTENSION:
691 str="UE"; break;
692 case TLS1_AD_CERTIFICATE_UNOBTAINABLE:
693 str="CO"; break;
694 case TLS1_AD_UNRECOGNIZED_NAME:
695 str="UN"; break;
696 case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE:
697 str="BR"; break;
698 case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE:
699 str="BH"; break;
700 case TLS1_AD_UNKNOWN_PSK_IDENTITY:
701 str="UP"; break;
702 default:
703 str="UK"; break;
452 } 704 }
705 return (str);
706}
453 707
454const char *SSL_alert_desc_string_long(int value) 708const char
455 { 709*SSL_alert_desc_string_long(int value)
710{
456 const char *str; 711 const char *str;
457 712
458 switch (value & 0xff) 713 switch (value & 0xff) {
459 {
460 case SSL3_AD_CLOSE_NOTIFY: 714 case SSL3_AD_CLOSE_NOTIFY:
461 str="close notify"; 715 str="close notify";
462 break; 716 break;
@@ -547,21 +801,26 @@ const char *SSL_alert_desc_string_long(int value)
547 case TLS1_AD_UNKNOWN_PSK_IDENTITY: 801 case TLS1_AD_UNKNOWN_PSK_IDENTITY:
548 str="unknown PSK identity"; 802 str="unknown PSK identity";
549 break; 803 break;
550 default: str="unknown"; break; 804 default:
551 } 805 str="unknown"; break;
552 return(str);
553 } 806 }
807 return (str);
808}
554 809
555const char *SSL_rstate_string(const SSL *s) 810const char
556 { 811*SSL_rstate_string(const SSL *s)
812{
557 const char *str; 813 const char *str;
558 814
559 switch (s->rstate) 815 switch (s->rstate) {
560 { 816 case SSL_ST_READ_HEADER:
561 case SSL_ST_READ_HEADER:str="RH"; break; 817 str="RH"; break;
562 case SSL_ST_READ_BODY: str="RB"; break; 818 case SSL_ST_READ_BODY:
563 case SSL_ST_READ_DONE: str="RD"; break; 819 str="RB"; break;
564 default: str="unknown"; break; 820 case SSL_ST_READ_DONE:
565 } 821 str="RD"; break;
566 return(str); 822 default:
823 str="unknown"; break;
567 } 824 }
825 return (str);
826}