summaryrefslogtreecommitdiffstats
path: root/ssl/s23_srvr.c
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2000-07-29 18:50:41 +0000
committerBodo Möller <bodo@openssl.org>2000-07-29 18:50:41 +0000
commit37569e64e8012014a4b027d896da6c6cdf372507 (patch)
tree5a9b45aaab90f88ef9770f6d896e81f2fd6e7066 /ssl/s23_srvr.c
parenta657546f9c376f4b7ba4dce14649598fb1a38de5 (diff)
Fix SSL 2.0 rollback checking: The previous implementation of the
test was never triggered due to an off-by-one error. In s23_clnt.c, don't use special rollback-attack detection padding (RSA_SSLV23_PADDING) if SSL 2.0 is the only protocol enabled in the client; similarly, in s23_srvr.c, don't do the rollback check if SSL 2.0 is the only protocol enabled in the server.
Diffstat (limited to 'ssl/s23_srvr.c')
-rw-r--r--ssl/s23_srvr.c3
1 files changed, 2 insertions, 1 deletions
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;