summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s23_srvr.c
diff options
context:
space:
mode:
authordoug <>2015-08-27 06:21:15 +0000
committerdoug <>2015-08-27 06:21:15 +0000
commit86bf43c0754f7de02e216a110bff784aace5fea7 (patch)
treeedcaf86fcb7a4c7c49e4f2bbefde1665cfd57458 /src/lib/libssl/s23_srvr.c
parent9b2397328086b49e1f5d15b4248c6aa164c42a4d (diff)
downloadopenbsd-86bf43c0754f7de02e216a110bff784aace5fea7.tar.gz
openbsd-86bf43c0754f7de02e216a110bff784aace5fea7.tar.bz2
openbsd-86bf43c0754f7de02e216a110bff784aace5fea7.zip
Remove SSLv3 support from LibreSSL.
This is the first wave of SSLv3 removal which removes the main SSLv3 functions. Future commits will remove the rest of the SSLv3 support. Discussed the plan at c2k15. Input from jsing@, beck@, miod@, bcook@, sthen@, naddy@, and deraadt@. ok jsing@, beck@
Diffstat (limited to 'src/lib/libssl/s23_srvr.c')
-rw-r--r--src/lib/libssl/s23_srvr.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/src/lib/libssl/s23_srvr.c b/src/lib/libssl/s23_srvr.c
index b524124681..7b2107680e 100644
--- a/src/lib/libssl/s23_srvr.c
+++ b/src/lib/libssl/s23_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s23_srvr.c,v 1.41 2015/07/19 07:30:06 doug Exp $ */ 1/* $OpenBSD: s23_srvr.c,v 1.42 2015/08/27 06:21:15 doug Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -194,8 +194,6 @@ SSLv23_server_method(void)
194static const SSL_METHOD * 194static const SSL_METHOD *
195ssl23_get_server_method(int ver) 195ssl23_get_server_method(int ver)
196{ 196{
197 if (ver == SSL3_VERSION)
198 return (SSLv3_server_method());
199 if (ver == TLS1_VERSION) 197 if (ver == TLS1_VERSION)
200 return (TLSv1_server_method()); 198 return (TLSv1_server_method());
201 if (ver == TLS1_1_VERSION) 199 if (ver == TLS1_1_VERSION)
@@ -357,16 +355,12 @@ ssl23_get_client_hello(SSL *s)
357 /* type=2; */ /* done later to survive restarts */ 355 /* type=2; */ /* done later to survive restarts */
358 s->state = SSL23_ST_SR_CLNT_HELLO_B; 356 s->state = SSL23_ST_SR_CLNT_HELLO_B;
359 } else if (!(s->options & SSL_OP_NO_SSLv3)) { 357 } else if (!(s->options & SSL_OP_NO_SSLv3)) {
360 s->version = SSL3_VERSION; 358 type = 1;
361 /* type=2; */
362 s->state = SSL23_ST_SR_CLNT_HELLO_B;
363 } else if (!(s->options & SSL_OP_NO_SSLv2)) { 359 } else if (!(s->options & SSL_OP_NO_SSLv2)) {
364 type = 1; 360 type = 1;
365 } 361 }
366 } else if (!(s->options & SSL_OP_NO_SSLv3)) { 362 } else if (!(s->options & SSL_OP_NO_SSLv3)) {
367 s->version = SSL3_VERSION; 363 type = 1;
368 /* type=2; */
369 s->state = SSL23_ST_SR_CLNT_HELLO_B;
370 } else if (!(s->options & SSL_OP_NO_SSLv2)) 364 } else if (!(s->options & SSL_OP_NO_SSLv2))
371 type = 1; 365 type = 1;
372 366
@@ -415,16 +409,9 @@ ssl23_get_client_hello(SSL *s)
415 } else if (!(s->options & SSL_OP_NO_TLSv1)) { 409 } else if (!(s->options & SSL_OP_NO_TLSv1)) {
416 s->version = TLS1_VERSION; 410 s->version = TLS1_VERSION;
417 type = 3; 411 type = 3;
418 } else if (!(s->options & SSL_OP_NO_SSLv3)) {
419 s->version = SSL3_VERSION;
420 type = 3;
421 } 412 }
422 } else { 413 } else {
423 /* client requests SSL 3.0 */ 414 if (!(s->options & SSL_OP_NO_TLSv1)) {
424 if (!(s->options & SSL_OP_NO_SSLv3)) {
425 s->version = SSL3_VERSION;
426 type = 3;
427 } else if (!(s->options & SSL_OP_NO_TLSv1)) {
428 /* we won't be able to use TLS of course, 415 /* we won't be able to use TLS of course,
429 * but this will send an appropriate alert */ 416 * but this will send an appropriate alert */
430 s->version = TLS1_VERSION; 417 s->version = TLS1_VERSION;
@@ -587,10 +574,8 @@ ssl23_get_client_hello(SSL *s)
587 s->method = TLSv1_2_server_method(); 574 s->method = TLSv1_2_server_method();
588 else if (s->version == TLS1_1_VERSION) 575 else if (s->version == TLS1_1_VERSION)
589 s->method = TLSv1_1_server_method(); 576 s->method = TLSv1_1_server_method();
590 else if (s->version == TLS1_VERSION)
591 s->method = TLSv1_server_method();
592 else 577 else
593 s->method = SSLv3_server_method(); 578 s->method = TLSv1_server_method();
594 s->handshake_func = s->method->ssl_accept; 579 s->handshake_func = s->method->ssl_accept;
595 } 580 }
596 581