mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Change to use SSL_state_string_long() instead of homebrew ssl_state_to_string() function.
This commit is contained in:
@@ -51,7 +51,6 @@ noinst_HEADERS = \
|
||||
torint.h \
|
||||
torlog.h \
|
||||
tortls.h \
|
||||
tortls_states.h \
|
||||
util.h
|
||||
|
||||
common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)
|
||||
|
||||
+9
-27
@@ -237,22 +237,6 @@ static int tls_library_is_initialized = 0;
|
||||
#define _TOR_TLS_SYSCALL (_MIN_TOR_TLS_ERROR_VAL - 2)
|
||||
#define _TOR_TLS_ZERORETURN (_MIN_TOR_TLS_ERROR_VAL - 1)
|
||||
|
||||
#include "tortls_states.h"
|
||||
|
||||
/** Return the symbolic name of an OpenSSL state. */
|
||||
static const char *
|
||||
ssl_state_to_string(int ssl_state)
|
||||
{
|
||||
static char buf[40];
|
||||
int i;
|
||||
for (i = 0; state_map[i].name; ++i) {
|
||||
if (state_map[i].state == ssl_state)
|
||||
return state_map[i].name;
|
||||
}
|
||||
tor_snprintf(buf, sizeof(buf), "Unknown state %d", ssl_state);
|
||||
return buf;
|
||||
}
|
||||
|
||||
/** Write a description of the current state of <b>tls</b> into the
|
||||
* <b>sz</b>-byte buffer at <b>buf</b>. */
|
||||
void
|
||||
@@ -266,7 +250,7 @@ tor_tls_get_state_description(tor_tls_t *tls, char *buf, size_t sz)
|
||||
return;
|
||||
}
|
||||
|
||||
ssl_state = ssl_state_to_string(tls->ssl->state);
|
||||
ssl_state = SSL_state_string_long(tls->ssl);
|
||||
switch (tls->state) {
|
||||
#define CASE(st) case TOR_TLS_ST_##st: tortls_state = " in "#st ; break
|
||||
CASE(HANDSHAKE);
|
||||
@@ -293,10 +277,8 @@ tor_tls_log_one_error(tor_tls_t *tls, unsigned long err,
|
||||
{
|
||||
const char *state = NULL, *addr;
|
||||
const char *msg, *lib, *func;
|
||||
int st;
|
||||
|
||||
st = (tls && tls->ssl) ? tls->ssl->state : -1;
|
||||
state = (st>=0)?ssl_state_to_string(st):"---";
|
||||
state = (tls && tls->ssl)?SSL_state_string_long(tls->ssl):"---";
|
||||
|
||||
addr = tls ? tls->address : NULL;
|
||||
|
||||
@@ -433,14 +415,14 @@ tor_tls_get_error(tor_tls_t *tls, int r, int extra,
|
||||
return _TOR_TLS_SYSCALL;
|
||||
if (r == 0) {
|
||||
log(severity, LD_NET, "TLS error: unexpected close while %s (%s)",
|
||||
doing, ssl_state_to_string(tls->ssl->state));
|
||||
doing, SSL_state_string_long(tls->ssl));
|
||||
tor_error = TOR_TLS_ERROR_IO;
|
||||
} else {
|
||||
int e = tor_socket_errno(tls->socket);
|
||||
log(severity, LD_NET,
|
||||
"TLS error: <syscall error while %s> (errno=%d: %s; state=%s)",
|
||||
doing, e, tor_socket_strerror(e),
|
||||
ssl_state_to_string(tls->ssl->state));
|
||||
SSL_state_string_long(tls->ssl));
|
||||
tor_error = tor_errno_to_tls_error(e);
|
||||
}
|
||||
tls_log_errors(tls, severity, domain, doing);
|
||||
@@ -449,7 +431,7 @@ tor_tls_get_error(tor_tls_t *tls, int r, int extra,
|
||||
if (extra&CATCH_ZERO)
|
||||
return _TOR_TLS_ZERORETURN;
|
||||
log(severity, LD_NET, "TLS connection closed while %s in state %s",
|
||||
doing, ssl_state_to_string(tls->ssl->state));
|
||||
doing, SSL_state_string_long(tls->ssl));
|
||||
tls_log_errors(tls, severity, domain, doing);
|
||||
return TOR_TLS_CLOSE;
|
||||
default:
|
||||
@@ -1350,7 +1332,7 @@ static void
|
||||
tor_tls_debug_state_callback(const SSL *ssl, int type, int val)
|
||||
{
|
||||
log_debug(LD_HANDSHAKE, "SSL %p is now in state %s [type=%d,val=%d].",
|
||||
ssl, ssl_state_to_string(ssl->state), type, val);
|
||||
ssl, SSL_state_string_long(ssl), type, val);
|
||||
}
|
||||
|
||||
/** Invoked when we're accepting a connection on <b>ssl</b>, and the connection
|
||||
@@ -1755,16 +1737,16 @@ tor_tls_handshake(tor_tls_t *tls)
|
||||
oldstate = tls->ssl->state;
|
||||
if (tls->isServer) {
|
||||
log_debug(LD_HANDSHAKE, "About to call SSL_accept on %p (%s)", tls,
|
||||
ssl_state_to_string(tls->ssl->state));
|
||||
SSL_state_string_long(tls->ssl));
|
||||
r = SSL_accept(tls->ssl);
|
||||
} else {
|
||||
log_debug(LD_HANDSHAKE, "About to call SSL_connect on %p (%s)", tls,
|
||||
ssl_state_to_string(tls->ssl->state));
|
||||
SSL_state_string_long(tls->ssl));
|
||||
r = SSL_connect(tls->ssl);
|
||||
}
|
||||
if (oldstate != tls->ssl->state)
|
||||
log_debug(LD_HANDSHAKE, "After call, %p was in state %s",
|
||||
tls, ssl_state_to_string(tls->ssl->state));
|
||||
tls, SSL_state_string_long(tls->ssl));
|
||||
/* We need to call this here and not earlier, since OpenSSL has a penchant
|
||||
* for clearing its flags when you say accept or connect. */
|
||||
tor_tls_unblock_renegotiation(tls);
|
||||
|
||||
@@ -1,414 +0,0 @@
|
||||
/* Copyright (c) 2003, Roger Dingledine
|
||||
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
|
||||
* Copyright (c) 2007-2011, The Tor Project, Inc. */
|
||||
/* See LICENSE for licensing information */
|
||||
|
||||
/* Helper file: included only in tortls.c */
|
||||
|
||||
#ifndef _TORTLS_STATES_H
|
||||
#define _TORTLS_STATES_H
|
||||
|
||||
/* The main body of this file was mechanically generated with this
|
||||
perl script:
|
||||
|
||||
my %keys = ();
|
||||
for $fn (@ARGV) {
|
||||
open(F, $fn);
|
||||
while (<F>) {
|
||||
next unless /^#define ((?:SSL|DTLS)\w*_ST_\w*)/;
|
||||
$keys{$1} = 1;
|
||||
}
|
||||
close(F);
|
||||
}
|
||||
for $k (sort keys %keys) {
|
||||
print "#ifdef $k\n S($k),\n#endif\n"
|
||||
}
|
||||
*/
|
||||
|
||||
/** Mapping from allowed value of SSL.state to the name of C macro for that
|
||||
* state. Used for debugging an openssl connection. */
|
||||
static const struct { int state; const char *name; } state_map[] = {
|
||||
#define S(state) { state, #state }
|
||||
#ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A
|
||||
S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A),
|
||||
#endif
|
||||
#ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B
|
||||
S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B),
|
||||
#endif
|
||||
#ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A
|
||||
S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A),
|
||||
#endif
|
||||
#ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B
|
||||
S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B),
|
||||
#endif
|
||||
#ifdef SSL23_ST_CR_SRVR_HELLO_A
|
||||
S(SSL23_ST_CR_SRVR_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL23_ST_CR_SRVR_HELLO_B
|
||||
S(SSL23_ST_CR_SRVR_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL23_ST_CW_CLNT_HELLO_A
|
||||
S(SSL23_ST_CW_CLNT_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL23_ST_CW_CLNT_HELLO_B
|
||||
S(SSL23_ST_CW_CLNT_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL23_ST_SR_CLNT_HELLO_A
|
||||
S(SSL23_ST_SR_CLNT_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL23_ST_SR_CLNT_HELLO_B
|
||||
S(SSL23_ST_SR_CLNT_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_CLIENT_START_ENCRYPTION
|
||||
S(SSL2_ST_CLIENT_START_ENCRYPTION),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_FINISHED_A
|
||||
S(SSL2_ST_GET_CLIENT_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_FINISHED_B
|
||||
S(SSL2_ST_GET_CLIENT_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_HELLO_A
|
||||
S(SSL2_ST_GET_CLIENT_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_HELLO_B
|
||||
S(SSL2_ST_GET_CLIENT_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_HELLO_C
|
||||
S(SSL2_ST_GET_CLIENT_HELLO_C),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_A
|
||||
S(SSL2_ST_GET_CLIENT_MASTER_KEY_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_B
|
||||
S(SSL2_ST_GET_CLIENT_MASTER_KEY_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_SERVER_FINISHED_A
|
||||
S(SSL2_ST_GET_SERVER_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_SERVER_FINISHED_B
|
||||
S(SSL2_ST_GET_SERVER_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_SERVER_HELLO_A
|
||||
S(SSL2_ST_GET_SERVER_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_SERVER_HELLO_B
|
||||
S(SSL2_ST_GET_SERVER_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_SERVER_VERIFY_A
|
||||
S(SSL2_ST_GET_SERVER_VERIFY_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_GET_SERVER_VERIFY_B
|
||||
S(SSL2_ST_GET_SERVER_VERIFY_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_A
|
||||
S(SSL2_ST_SEND_CLIENT_CERTIFICATE_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_B
|
||||
S(SSL2_ST_SEND_CLIENT_CERTIFICATE_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_C
|
||||
S(SSL2_ST_SEND_CLIENT_CERTIFICATE_C),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_D
|
||||
S(SSL2_ST_SEND_CLIENT_CERTIFICATE_D),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_FINISHED_A
|
||||
S(SSL2_ST_SEND_CLIENT_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_FINISHED_B
|
||||
S(SSL2_ST_SEND_CLIENT_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_HELLO_A
|
||||
S(SSL2_ST_SEND_CLIENT_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_HELLO_B
|
||||
S(SSL2_ST_SEND_CLIENT_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_A
|
||||
S(SSL2_ST_SEND_CLIENT_MASTER_KEY_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_B
|
||||
S(SSL2_ST_SEND_CLIENT_MASTER_KEY_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_A
|
||||
S(SSL2_ST_SEND_REQUEST_CERTIFICATE_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_B
|
||||
S(SSL2_ST_SEND_REQUEST_CERTIFICATE_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_C
|
||||
S(SSL2_ST_SEND_REQUEST_CERTIFICATE_C),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_D
|
||||
S(SSL2_ST_SEND_REQUEST_CERTIFICATE_D),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_FINISHED_A
|
||||
S(SSL2_ST_SEND_SERVER_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_FINISHED_B
|
||||
S(SSL2_ST_SEND_SERVER_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_HELLO_A
|
||||
S(SSL2_ST_SEND_SERVER_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_HELLO_B
|
||||
S(SSL2_ST_SEND_SERVER_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_VERIFY_A
|
||||
S(SSL2_ST_SEND_SERVER_VERIFY_A),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_VERIFY_B
|
||||
S(SSL2_ST_SEND_SERVER_VERIFY_B),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SEND_SERVER_VERIFY_C
|
||||
S(SSL2_ST_SEND_SERVER_VERIFY_C),
|
||||
#endif
|
||||
#ifdef SSL2_ST_SERVER_START_ENCRYPTION
|
||||
S(SSL2_ST_SERVER_START_ENCRYPTION),
|
||||
#endif
|
||||
#ifdef SSL2_ST_X509_GET_CLIENT_CERTIFICATE
|
||||
S(SSL2_ST_X509_GET_CLIENT_CERTIFICATE),
|
||||
#endif
|
||||
#ifdef SSL2_ST_X509_GET_SERVER_CERTIFICATE
|
||||
S(SSL2_ST_X509_GET_SERVER_CERTIFICATE),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CERT_A
|
||||
S(SSL3_ST_CR_CERT_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CERT_B
|
||||
S(SSL3_ST_CR_CERT_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CERT_REQ_A
|
||||
S(SSL3_ST_CR_CERT_REQ_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CERT_REQ_B
|
||||
S(SSL3_ST_CR_CERT_REQ_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CERT_STATUS_A
|
||||
S(SSL3_ST_CR_CERT_STATUS_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CERT_STATUS_B
|
||||
S(SSL3_ST_CR_CERT_STATUS_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CHANGE_A
|
||||
S(SSL3_ST_CR_CHANGE_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_CHANGE_B
|
||||
S(SSL3_ST_CR_CHANGE_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_FINISHED_A
|
||||
S(SSL3_ST_CR_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_FINISHED_B
|
||||
S(SSL3_ST_CR_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_KEY_EXCH_A
|
||||
S(SSL3_ST_CR_KEY_EXCH_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_KEY_EXCH_B
|
||||
S(SSL3_ST_CR_KEY_EXCH_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_SESSION_TICKET_A
|
||||
S(SSL3_ST_CR_SESSION_TICKET_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_SESSION_TICKET_B
|
||||
S(SSL3_ST_CR_SESSION_TICKET_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_SRVR_DONE_A
|
||||
S(SSL3_ST_CR_SRVR_DONE_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_SRVR_DONE_B
|
||||
S(SSL3_ST_CR_SRVR_DONE_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_SRVR_HELLO_A
|
||||
S(SSL3_ST_CR_SRVR_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CR_SRVR_HELLO_B
|
||||
S(SSL3_ST_CR_SRVR_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CERT_A
|
||||
S(SSL3_ST_CW_CERT_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CERT_B
|
||||
S(SSL3_ST_CW_CERT_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CERT_C
|
||||
S(SSL3_ST_CW_CERT_C),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CERT_D
|
||||
S(SSL3_ST_CW_CERT_D),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CERT_VRFY_A
|
||||
S(SSL3_ST_CW_CERT_VRFY_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CERT_VRFY_B
|
||||
S(SSL3_ST_CW_CERT_VRFY_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CHANGE_A
|
||||
S(SSL3_ST_CW_CHANGE_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CHANGE_B
|
||||
S(SSL3_ST_CW_CHANGE_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CLNT_HELLO_A
|
||||
S(SSL3_ST_CW_CLNT_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_CLNT_HELLO_B
|
||||
S(SSL3_ST_CW_CLNT_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_FINISHED_A
|
||||
S(SSL3_ST_CW_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_FINISHED_B
|
||||
S(SSL3_ST_CW_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_FLUSH
|
||||
S(SSL3_ST_CW_FLUSH),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_KEY_EXCH_A
|
||||
S(SSL3_ST_CW_KEY_EXCH_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_CW_KEY_EXCH_B
|
||||
S(SSL3_ST_CW_KEY_EXCH_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CERT_A
|
||||
S(SSL3_ST_SR_CERT_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CERT_B
|
||||
S(SSL3_ST_SR_CERT_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CERT_VRFY_A
|
||||
S(SSL3_ST_SR_CERT_VRFY_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CERT_VRFY_B
|
||||
S(SSL3_ST_SR_CERT_VRFY_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CHANGE_A
|
||||
S(SSL3_ST_SR_CHANGE_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CHANGE_B
|
||||
S(SSL3_ST_SR_CHANGE_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CLNT_HELLO_A
|
||||
S(SSL3_ST_SR_CLNT_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CLNT_HELLO_B
|
||||
S(SSL3_ST_SR_CLNT_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_CLNT_HELLO_C
|
||||
S(SSL3_ST_SR_CLNT_HELLO_C),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_FINISHED_A
|
||||
S(SSL3_ST_SR_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_FINISHED_B
|
||||
S(SSL3_ST_SR_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_KEY_EXCH_A
|
||||
S(SSL3_ST_SR_KEY_EXCH_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SR_KEY_EXCH_B
|
||||
S(SSL3_ST_SR_KEY_EXCH_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CERT_A
|
||||
S(SSL3_ST_SW_CERT_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CERT_B
|
||||
S(SSL3_ST_SW_CERT_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CERT_REQ_A
|
||||
S(SSL3_ST_SW_CERT_REQ_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CERT_REQ_B
|
||||
S(SSL3_ST_SW_CERT_REQ_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CERT_STATUS_A
|
||||
S(SSL3_ST_SW_CERT_STATUS_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CERT_STATUS_B
|
||||
S(SSL3_ST_SW_CERT_STATUS_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CHANGE_A
|
||||
S(SSL3_ST_SW_CHANGE_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_CHANGE_B
|
||||
S(SSL3_ST_SW_CHANGE_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_FINISHED_A
|
||||
S(SSL3_ST_SW_FINISHED_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_FINISHED_B
|
||||
S(SSL3_ST_SW_FINISHED_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_FLUSH
|
||||
S(SSL3_ST_SW_FLUSH),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_HELLO_REQ_A
|
||||
S(SSL3_ST_SW_HELLO_REQ_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_HELLO_REQ_B
|
||||
S(SSL3_ST_SW_HELLO_REQ_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_HELLO_REQ_C
|
||||
S(SSL3_ST_SW_HELLO_REQ_C),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_KEY_EXCH_A
|
||||
S(SSL3_ST_SW_KEY_EXCH_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_KEY_EXCH_B
|
||||
S(SSL3_ST_SW_KEY_EXCH_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_SESSION_TICKET_A
|
||||
S(SSL3_ST_SW_SESSION_TICKET_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_SESSION_TICKET_B
|
||||
S(SSL3_ST_SW_SESSION_TICKET_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_SRVR_DONE_A
|
||||
S(SSL3_ST_SW_SRVR_DONE_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_SRVR_DONE_B
|
||||
S(SSL3_ST_SW_SRVR_DONE_B),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_SRVR_HELLO_A
|
||||
S(SSL3_ST_SW_SRVR_HELLO_A),
|
||||
#endif
|
||||
#ifdef SSL3_ST_SW_SRVR_HELLO_B
|
||||
S(SSL3_ST_SW_SRVR_HELLO_B),
|
||||
#endif
|
||||
#ifdef SSL_ST_ACCEPT
|
||||
S(SSL_ST_ACCEPT),
|
||||
#endif
|
||||
#ifdef SSL_ST_BEFORE
|
||||
S(SSL_ST_BEFORE),
|
||||
#endif
|
||||
#ifdef SSL_ST_CONNECT
|
||||
S(SSL_ST_CONNECT),
|
||||
#endif
|
||||
#ifdef SSL_ST_INIT
|
||||
S(SSL_ST_INIT),
|
||||
#endif
|
||||
#ifdef SSL_ST_MASK
|
||||
S(SSL_ST_MASK),
|
||||
#endif
|
||||
#ifdef SSL_ST_OK
|
||||
S(SSL_ST_OK),
|
||||
#endif
|
||||
#ifdef SSL_ST_READ_BODY
|
||||
S(SSL_ST_READ_BODY),
|
||||
#endif
|
||||
#ifdef SSL_ST_READ_DONE
|
||||
S(SSL_ST_READ_DONE),
|
||||
#endif
|
||||
#ifdef SSL_ST_READ_HEADER
|
||||
S(SSL_ST_READ_HEADER),
|
||||
#endif
|
||||
#ifdef SSL_ST_RENEGOTIATE
|
||||
S(SSL_ST_RENEGOTIATE),
|
||||
#endif
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user