00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _TORTLS_STATES_H
00009 #define _TORTLS_STATES_H
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00030 static const struct { int state; const char *name; } state_map[] = {
00031 #define S(state) { state, #state }
00032 #ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A
00033 S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A),
00034 #endif
00035 #ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B
00036 S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B),
00037 #endif
00038 #ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A
00039 S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A),
00040 #endif
00041 #ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B
00042 S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B),
00043 #endif
00044 #ifdef SSL23_ST_CR_SRVR_HELLO_A
00045 S(SSL23_ST_CR_SRVR_HELLO_A),
00046 #endif
00047 #ifdef SSL23_ST_CR_SRVR_HELLO_B
00048 S(SSL23_ST_CR_SRVR_HELLO_B),
00049 #endif
00050 #ifdef SSL23_ST_CW_CLNT_HELLO_A
00051 S(SSL23_ST_CW_CLNT_HELLO_A),
00052 #endif
00053 #ifdef SSL23_ST_CW_CLNT_HELLO_B
00054 S(SSL23_ST_CW_CLNT_HELLO_B),
00055 #endif
00056 #ifdef SSL23_ST_SR_CLNT_HELLO_A
00057 S(SSL23_ST_SR_CLNT_HELLO_A),
00058 #endif
00059 #ifdef SSL23_ST_SR_CLNT_HELLO_B
00060 S(SSL23_ST_SR_CLNT_HELLO_B),
00061 #endif
00062 #ifdef SSL2_ST_CLIENT_START_ENCRYPTION
00063 S(SSL2_ST_CLIENT_START_ENCRYPTION),
00064 #endif
00065 #ifdef SSL2_ST_GET_CLIENT_FINISHED_A
00066 S(SSL2_ST_GET_CLIENT_FINISHED_A),
00067 #endif
00068 #ifdef SSL2_ST_GET_CLIENT_FINISHED_B
00069 S(SSL2_ST_GET_CLIENT_FINISHED_B),
00070 #endif
00071 #ifdef SSL2_ST_GET_CLIENT_HELLO_A
00072 S(SSL2_ST_GET_CLIENT_HELLO_A),
00073 #endif
00074 #ifdef SSL2_ST_GET_CLIENT_HELLO_B
00075 S(SSL2_ST_GET_CLIENT_HELLO_B),
00076 #endif
00077 #ifdef SSL2_ST_GET_CLIENT_HELLO_C
00078 S(SSL2_ST_GET_CLIENT_HELLO_C),
00079 #endif
00080 #ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_A
00081 S(SSL2_ST_GET_CLIENT_MASTER_KEY_A),
00082 #endif
00083 #ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_B
00084 S(SSL2_ST_GET_CLIENT_MASTER_KEY_B),
00085 #endif
00086 #ifdef SSL2_ST_GET_SERVER_FINISHED_A
00087 S(SSL2_ST_GET_SERVER_FINISHED_A),
00088 #endif
00089 #ifdef SSL2_ST_GET_SERVER_FINISHED_B
00090 S(SSL2_ST_GET_SERVER_FINISHED_B),
00091 #endif
00092 #ifdef SSL2_ST_GET_SERVER_HELLO_A
00093 S(SSL2_ST_GET_SERVER_HELLO_A),
00094 #endif
00095 #ifdef SSL2_ST_GET_SERVER_HELLO_B
00096 S(SSL2_ST_GET_SERVER_HELLO_B),
00097 #endif
00098 #ifdef SSL2_ST_GET_SERVER_VERIFY_A
00099 S(SSL2_ST_GET_SERVER_VERIFY_A),
00100 #endif
00101 #ifdef SSL2_ST_GET_SERVER_VERIFY_B
00102 S(SSL2_ST_GET_SERVER_VERIFY_B),
00103 #endif
00104 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_A
00105 S(SSL2_ST_SEND_CLIENT_CERTIFICATE_A),
00106 #endif
00107 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_B
00108 S(SSL2_ST_SEND_CLIENT_CERTIFICATE_B),
00109 #endif
00110 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_C
00111 S(SSL2_ST_SEND_CLIENT_CERTIFICATE_C),
00112 #endif
00113 #ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_D
00114 S(SSL2_ST_SEND_CLIENT_CERTIFICATE_D),
00115 #endif
00116 #ifdef SSL2_ST_SEND_CLIENT_FINISHED_A
00117 S(SSL2_ST_SEND_CLIENT_FINISHED_A),
00118 #endif
00119 #ifdef SSL2_ST_SEND_CLIENT_FINISHED_B
00120 S(SSL2_ST_SEND_CLIENT_FINISHED_B),
00121 #endif
00122 #ifdef SSL2_ST_SEND_CLIENT_HELLO_A
00123 S(SSL2_ST_SEND_CLIENT_HELLO_A),
00124 #endif
00125 #ifdef SSL2_ST_SEND_CLIENT_HELLO_B
00126 S(SSL2_ST_SEND_CLIENT_HELLO_B),
00127 #endif
00128 #ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_A
00129 S(SSL2_ST_SEND_CLIENT_MASTER_KEY_A),
00130 #endif
00131 #ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_B
00132 S(SSL2_ST_SEND_CLIENT_MASTER_KEY_B),
00133 #endif
00134 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_A
00135 S(SSL2_ST_SEND_REQUEST_CERTIFICATE_A),
00136 #endif
00137 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_B
00138 S(SSL2_ST_SEND_REQUEST_CERTIFICATE_B),
00139 #endif
00140 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_C
00141 S(SSL2_ST_SEND_REQUEST_CERTIFICATE_C),
00142 #endif
00143 #ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_D
00144 S(SSL2_ST_SEND_REQUEST_CERTIFICATE_D),
00145 #endif
00146 #ifdef SSL2_ST_SEND_SERVER_FINISHED_A
00147 S(SSL2_ST_SEND_SERVER_FINISHED_A),
00148 #endif
00149 #ifdef SSL2_ST_SEND_SERVER_FINISHED_B
00150 S(SSL2_ST_SEND_SERVER_FINISHED_B),
00151 #endif
00152 #ifdef SSL2_ST_SEND_SERVER_HELLO_A
00153 S(SSL2_ST_SEND_SERVER_HELLO_A),
00154 #endif
00155 #ifdef SSL2_ST_SEND_SERVER_HELLO_B
00156 S(SSL2_ST_SEND_SERVER_HELLO_B),
00157 #endif
00158 #ifdef SSL2_ST_SEND_SERVER_VERIFY_A
00159 S(SSL2_ST_SEND_SERVER_VERIFY_A),
00160 #endif
00161 #ifdef SSL2_ST_SEND_SERVER_VERIFY_B
00162 S(SSL2_ST_SEND_SERVER_VERIFY_B),
00163 #endif
00164 #ifdef SSL2_ST_SEND_SERVER_VERIFY_C
00165 S(SSL2_ST_SEND_SERVER_VERIFY_C),
00166 #endif
00167 #ifdef SSL2_ST_SERVER_START_ENCRYPTION
00168 S(SSL2_ST_SERVER_START_ENCRYPTION),
00169 #endif
00170 #ifdef SSL2_ST_X509_GET_CLIENT_CERTIFICATE
00171 S(SSL2_ST_X509_GET_CLIENT_CERTIFICATE),
00172 #endif
00173 #ifdef SSL2_ST_X509_GET_SERVER_CERTIFICATE
00174 S(SSL2_ST_X509_GET_SERVER_CERTIFICATE),
00175 #endif
00176 #ifdef SSL3_ST_CR_CERT_A
00177 S(SSL3_ST_CR_CERT_A),
00178 #endif
00179 #ifdef SSL3_ST_CR_CERT_B
00180 S(SSL3_ST_CR_CERT_B),
00181 #endif
00182 #ifdef SSL3_ST_CR_CERT_REQ_A
00183 S(SSL3_ST_CR_CERT_REQ_A),
00184 #endif
00185 #ifdef SSL3_ST_CR_CERT_REQ_B
00186 S(SSL3_ST_CR_CERT_REQ_B),
00187 #endif
00188 #ifdef SSL3_ST_CR_CERT_STATUS_A
00189 S(SSL3_ST_CR_CERT_STATUS_A),
00190 #endif
00191 #ifdef SSL3_ST_CR_CERT_STATUS_B
00192 S(SSL3_ST_CR_CERT_STATUS_B),
00193 #endif
00194 #ifdef SSL3_ST_CR_CHANGE_A
00195 S(SSL3_ST_CR_CHANGE_A),
00196 #endif
00197 #ifdef SSL3_ST_CR_CHANGE_B
00198 S(SSL3_ST_CR_CHANGE_B),
00199 #endif
00200 #ifdef SSL3_ST_CR_FINISHED_A
00201 S(SSL3_ST_CR_FINISHED_A),
00202 #endif
00203 #ifdef SSL3_ST_CR_FINISHED_B
00204 S(SSL3_ST_CR_FINISHED_B),
00205 #endif
00206 #ifdef SSL3_ST_CR_KEY_EXCH_A
00207 S(SSL3_ST_CR_KEY_EXCH_A),
00208 #endif
00209 #ifdef SSL3_ST_CR_KEY_EXCH_B
00210 S(SSL3_ST_CR_KEY_EXCH_B),
00211 #endif
00212 #ifdef SSL3_ST_CR_SESSION_TICKET_A
00213 S(SSL3_ST_CR_SESSION_TICKET_A),
00214 #endif
00215 #ifdef SSL3_ST_CR_SESSION_TICKET_B
00216 S(SSL3_ST_CR_SESSION_TICKET_B),
00217 #endif
00218 #ifdef SSL3_ST_CR_SRVR_DONE_A
00219 S(SSL3_ST_CR_SRVR_DONE_A),
00220 #endif
00221 #ifdef SSL3_ST_CR_SRVR_DONE_B
00222 S(SSL3_ST_CR_SRVR_DONE_B),
00223 #endif
00224 #ifdef SSL3_ST_CR_SRVR_HELLO_A
00225 S(SSL3_ST_CR_SRVR_HELLO_A),
00226 #endif
00227 #ifdef SSL3_ST_CR_SRVR_HELLO_B
00228 S(SSL3_ST_CR_SRVR_HELLO_B),
00229 #endif
00230 #ifdef SSL3_ST_CW_CERT_A
00231 S(SSL3_ST_CW_CERT_A),
00232 #endif
00233 #ifdef SSL3_ST_CW_CERT_B
00234 S(SSL3_ST_CW_CERT_B),
00235 #endif
00236 #ifdef SSL3_ST_CW_CERT_C
00237 S(SSL3_ST_CW_CERT_C),
00238 #endif
00239 #ifdef SSL3_ST_CW_CERT_D
00240 S(SSL3_ST_CW_CERT_D),
00241 #endif
00242 #ifdef SSL3_ST_CW_CERT_VRFY_A
00243 S(SSL3_ST_CW_CERT_VRFY_A),
00244 #endif
00245 #ifdef SSL3_ST_CW_CERT_VRFY_B
00246 S(SSL3_ST_CW_CERT_VRFY_B),
00247 #endif
00248 #ifdef SSL3_ST_CW_CHANGE_A
00249 S(SSL3_ST_CW_CHANGE_A),
00250 #endif
00251 #ifdef SSL3_ST_CW_CHANGE_B
00252 S(SSL3_ST_CW_CHANGE_B),
00253 #endif
00254 #ifdef SSL3_ST_CW_CLNT_HELLO_A
00255 S(SSL3_ST_CW_CLNT_HELLO_A),
00256 #endif
00257 #ifdef SSL3_ST_CW_CLNT_HELLO_B
00258 S(SSL3_ST_CW_CLNT_HELLO_B),
00259 #endif
00260 #ifdef SSL3_ST_CW_FINISHED_A
00261 S(SSL3_ST_CW_FINISHED_A),
00262 #endif
00263 #ifdef SSL3_ST_CW_FINISHED_B
00264 S(SSL3_ST_CW_FINISHED_B),
00265 #endif
00266 #ifdef SSL3_ST_CW_FLUSH
00267 S(SSL3_ST_CW_FLUSH),
00268 #endif
00269 #ifdef SSL3_ST_CW_KEY_EXCH_A
00270 S(SSL3_ST_CW_KEY_EXCH_A),
00271 #endif
00272 #ifdef SSL3_ST_CW_KEY_EXCH_B
00273 S(SSL3_ST_CW_KEY_EXCH_B),
00274 #endif
00275 #ifdef SSL3_ST_SR_CERT_A
00276 S(SSL3_ST_SR_CERT_A),
00277 #endif
00278 #ifdef SSL3_ST_SR_CERT_B
00279 S(SSL3_ST_SR_CERT_B),
00280 #endif
00281 #ifdef SSL3_ST_SR_CERT_VRFY_A
00282 S(SSL3_ST_SR_CERT_VRFY_A),
00283 #endif
00284 #ifdef SSL3_ST_SR_CERT_VRFY_B
00285 S(SSL3_ST_SR_CERT_VRFY_B),
00286 #endif
00287 #ifdef SSL3_ST_SR_CHANGE_A
00288 S(SSL3_ST_SR_CHANGE_A),
00289 #endif
00290 #ifdef SSL3_ST_SR_CHANGE_B
00291 S(SSL3_ST_SR_CHANGE_B),
00292 #endif
00293 #ifdef SSL3_ST_SR_CLNT_HELLO_A
00294 S(SSL3_ST_SR_CLNT_HELLO_A),
00295 #endif
00296 #ifdef SSL3_ST_SR_CLNT_HELLO_B
00297 S(SSL3_ST_SR_CLNT_HELLO_B),
00298 #endif
00299 #ifdef SSL3_ST_SR_CLNT_HELLO_C
00300 S(SSL3_ST_SR_CLNT_HELLO_C),
00301 #endif
00302 #ifdef SSL3_ST_SR_FINISHED_A
00303 S(SSL3_ST_SR_FINISHED_A),
00304 #endif
00305 #ifdef SSL3_ST_SR_FINISHED_B
00306 S(SSL3_ST_SR_FINISHED_B),
00307 #endif
00308 #ifdef SSL3_ST_SR_KEY_EXCH_A
00309 S(SSL3_ST_SR_KEY_EXCH_A),
00310 #endif
00311 #ifdef SSL3_ST_SR_KEY_EXCH_B
00312 S(SSL3_ST_SR_KEY_EXCH_B),
00313 #endif
00314 #ifdef SSL3_ST_SW_CERT_A
00315 S(SSL3_ST_SW_CERT_A),
00316 #endif
00317 #ifdef SSL3_ST_SW_CERT_B
00318 S(SSL3_ST_SW_CERT_B),
00319 #endif
00320 #ifdef SSL3_ST_SW_CERT_REQ_A
00321 S(SSL3_ST_SW_CERT_REQ_A),
00322 #endif
00323 #ifdef SSL3_ST_SW_CERT_REQ_B
00324 S(SSL3_ST_SW_CERT_REQ_B),
00325 #endif
00326 #ifdef SSL3_ST_SW_CERT_STATUS_A
00327 S(SSL3_ST_SW_CERT_STATUS_A),
00328 #endif
00329 #ifdef SSL3_ST_SW_CERT_STATUS_B
00330 S(SSL3_ST_SW_CERT_STATUS_B),
00331 #endif
00332 #ifdef SSL3_ST_SW_CHANGE_A
00333 S(SSL3_ST_SW_CHANGE_A),
00334 #endif
00335 #ifdef SSL3_ST_SW_CHANGE_B
00336 S(SSL3_ST_SW_CHANGE_B),
00337 #endif
00338 #ifdef SSL3_ST_SW_FINISHED_A
00339 S(SSL3_ST_SW_FINISHED_A),
00340 #endif
00341 #ifdef SSL3_ST_SW_FINISHED_B
00342 S(SSL3_ST_SW_FINISHED_B),
00343 #endif
00344 #ifdef SSL3_ST_SW_FLUSH
00345 S(SSL3_ST_SW_FLUSH),
00346 #endif
00347 #ifdef SSL3_ST_SW_HELLO_REQ_A
00348 S(SSL3_ST_SW_HELLO_REQ_A),
00349 #endif
00350 #ifdef SSL3_ST_SW_HELLO_REQ_B
00351 S(SSL3_ST_SW_HELLO_REQ_B),
00352 #endif
00353 #ifdef SSL3_ST_SW_HELLO_REQ_C
00354 S(SSL3_ST_SW_HELLO_REQ_C),
00355 #endif
00356 #ifdef SSL3_ST_SW_KEY_EXCH_A
00357 S(SSL3_ST_SW_KEY_EXCH_A),
00358 #endif
00359 #ifdef SSL3_ST_SW_KEY_EXCH_B
00360 S(SSL3_ST_SW_KEY_EXCH_B),
00361 #endif
00362 #ifdef SSL3_ST_SW_SESSION_TICKET_A
00363 S(SSL3_ST_SW_SESSION_TICKET_A),
00364 #endif
00365 #ifdef SSL3_ST_SW_SESSION_TICKET_B
00366 S(SSL3_ST_SW_SESSION_TICKET_B),
00367 #endif
00368 #ifdef SSL3_ST_SW_SRVR_DONE_A
00369 S(SSL3_ST_SW_SRVR_DONE_A),
00370 #endif
00371 #ifdef SSL3_ST_SW_SRVR_DONE_B
00372 S(SSL3_ST_SW_SRVR_DONE_B),
00373 #endif
00374 #ifdef SSL3_ST_SW_SRVR_HELLO_A
00375 S(SSL3_ST_SW_SRVR_HELLO_A),
00376 #endif
00377 #ifdef SSL3_ST_SW_SRVR_HELLO_B
00378 S(SSL3_ST_SW_SRVR_HELLO_B),
00379 #endif
00380 #ifdef SSL_ST_ACCEPT
00381 S(SSL_ST_ACCEPT),
00382 #endif
00383 #ifdef SSL_ST_BEFORE
00384 S(SSL_ST_BEFORE),
00385 #endif
00386 #ifdef SSL_ST_CONNECT
00387 S(SSL_ST_CONNECT),
00388 #endif
00389 #ifdef SSL_ST_INIT
00390 S(SSL_ST_INIT),
00391 #endif
00392 #ifdef SSL_ST_MASK
00393 S(SSL_ST_MASK),
00394 #endif
00395 #ifdef SSL_ST_OK
00396 S(SSL_ST_OK),
00397 #endif
00398 #ifdef SSL_ST_READ_BODY
00399 S(SSL_ST_READ_BODY),
00400 #endif
00401 #ifdef SSL_ST_READ_DONE
00402 S(SSL_ST_READ_DONE),
00403 #endif
00404 #ifdef SSL_ST_READ_HEADER
00405 S(SSL_ST_READ_HEADER),
00406 #endif
00407 #ifdef SSL_ST_RENEGOTIATE
00408 S(SSL_ST_RENEGOTIATE),
00409 #endif
00410 { 0, NULL }
00411 };
00412
00413 #endif
00414