diff options
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/s23_clnt.c | 3 | ||||
-rw-r--r-- | ssl/s23_srvr.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/ssl/s23_clnt.c b/ssl/s23_clnt.c index aaedf6a9bb..99a4358255 100644 --- a/ssl/s23_clnt.c +++ b/ssl/s23_clnt.c @@ -366,7 +366,8 @@ static int ssl23_get_server_hello(SSL *s) } s->state=SSL2_ST_GET_SERVER_HELLO_A; - s->s2->ssl2_rollback=1; + if (!(s->client_version == SSL2_VERSION)) + s->s2->ssl2_rollback=1; /* setup the 5 bytes we have read so we get them from * the sslv2 buffer */ diff --git a/ssl/s23_srvr.c b/ssl/s23_srvr.c index 930769be0d..cbf2f5d836 100644 --- a/ssl/s23_srvr.c +++ b/ssl/s23_srvr.c @@ -495,7 +495,8 @@ int ssl23_get_client_hello(SSL *s) s->state=SSL2_ST_GET_CLIENT_HELLO_A; if ((s->options & SSL_OP_MSIE_SSLV2_RSA_PADDING) || - use_sslv2_strong) + use_sslv2_strong || + (s->options & SSL_OP_NO_TLSv1 && s->options & SSL_OP_NO_SSLv3)) s->s2->ssl2_rollback=0; else s->s2->ssl2_rollback=1; |