Remove the type variable The SSL structure contained a "type" variable that was set to either SSL_ST_ACCEPT or SSL_ST_CONNECT depending on whether we are the server or the client. This duplicates the capability of the "server" variable and was actually rarely used. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
diff --git a/ssl/s3_both.c b/ssl/s3_both.c index db0197d..6c51474 100644 --- a/ssl/s3_both.c +++ b/ssl/s3_both.c
@@ -176,7 +176,7 @@ /* * Copy the finished so we can use it for renegotiation checks */ - if (s->type == SSL_ST_CONNECT) { + if (!s->server) { OPENSSL_assert(i <= EVP_MAX_MD_SIZE); memcpy(s->s3->previous_client_finished, s->s3->tmp.finish_md, i); s->s3->previous_client_finished_len = i; @@ -319,7 +319,7 @@ /* * Copy the finished so we can use it for renegotiation checks */ - if (s->type == SSL_ST_ACCEPT) { + if (s->server) { OPENSSL_assert(i <= EVP_MAX_MD_SIZE); memcpy(s->s3->previous_client_finished, s->s3->tmp.peer_finish_md, i); s->s3->previous_client_finished_len = i;
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 1caa3c8..3304a1d 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c
@@ -625,7 +625,7 @@ STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s) { - if (s->type == SSL_ST_CONNECT) { /* we are in the client */ + if (!s->server) { /* we are in the client */ if (((s->version >> 8) == SSL3_VERSION_MAJOR) && (s->s3 != NULL)) return (s->s3->tmp.ca_names); else
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 0aef51f..cb303c4 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c
@@ -215,8 +215,6 @@ return 0; } - s->type = 0; - statem_clear(s); s->version = s->method->version; @@ -2469,7 +2467,6 @@ return (NULL); ret->version = s->version; - ret->type = s->type; ret->method = s->method; if (s->session != NULL) {
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index aebd3af..e7d2862 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h
@@ -1050,8 +1050,7 @@ * DTLS1_VERSION) */ int version; - /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ - int type; + /* SSLv3 */ const SSL_METHOD *method; /* @@ -1080,7 +1079,7 @@ * handshake_func is == 0 until then, we use this test instead of an * "init" member. */ - /* are we the server side? - mostly used by SSL_clear */ + /* are we the server side? */ int server; /* * Generate a new session or reuse an old one.
diff --git a/ssl/statem.c b/ssl/statem.c index 34d55cb..ad44c5f 100644 --- a/ssl/statem.c +++ b/ssl/statem.c
@@ -356,11 +356,6 @@ } } - if (server) - s->type = SSL_ST_ACCEPT; - else - s->type = SSL_ST_CONNECT; - if (s->init_buf == NULL) { if ((buf = BUF_MEM_new()) == NULL) { goto end;