diff options
| author | jsing <> | 2019-11-17 19:07:07 +0000 |
|---|---|---|
| committer | jsing <> | 2019-11-17 19:07:07 +0000 |
| commit | b82b9556f59145d1b4037cf7d0051d28af55ed64 (patch) | |
| tree | 07a26b028fa8d925d1c9211f2dfb1cc3b83205c6 /src | |
| parent | 16f55ebd975b98bbfc6ac07993ea6a811b6d08fc (diff) | |
| download | openbsd-b82b9556f59145d1b4037cf7d0051d28af55ed64.tar.gz openbsd-b82b9556f59145d1b4037cf7d0051d28af55ed64.tar.bz2 openbsd-b82b9556f59145d1b4037cf7d0051d28af55ed64.zip | |
Bring back the ssl_shutdown internal method pointer.
For now ssl3_shutdown() is called in all cases, however TLSv1.3 will soon
get its own version.
ok beck@
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/ssl_lib.c | 4 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_locl.h | 3 | ||||
| -rw-r--r-- | src/lib/libssl/ssl_methods.c | 18 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 32c1aef017..374342c311 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_lib.c,v 1.206 2019/11/04 19:17:28 otto Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.207 2019/11/17 19:07:07 jsing 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 | * |
| @@ -1012,7 +1012,7 @@ SSL_shutdown(SSL *s) | |||
| 1012 | } | 1012 | } |
| 1013 | 1013 | ||
| 1014 | if (s != NULL && !SSL_in_init(s)) | 1014 | if (s != NULL && !SSL_in_init(s)) |
| 1015 | return (ssl3_shutdown(s)); | 1015 | return (s->method->internal->ssl_shutdown(s)); |
| 1016 | 1016 | ||
| 1017 | return (1); | 1017 | return (1); |
| 1018 | } | 1018 | } |
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index c3c762a5fa..f9c75f8a7f 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_locl.h,v 1.247 2019/04/22 15:12:20 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.248 2019/11/17 19:07:07 jsing 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 | * |
| @@ -376,6 +376,7 @@ typedef struct ssl_method_internal_st { | |||
| 376 | 376 | ||
| 377 | int (*ssl_accept)(SSL *s); | 377 | int (*ssl_accept)(SSL *s); |
| 378 | int (*ssl_connect)(SSL *s); | 378 | int (*ssl_connect)(SSL *s); |
| 379 | int (*ssl_shutdown)(SSL *s); | ||
| 379 | 380 | ||
| 380 | int (*ssl_renegotiate)(SSL *s); | 381 | int (*ssl_renegotiate)(SSL *s); |
| 381 | int (*ssl_renegotiate_check)(SSL *s); | 382 | int (*ssl_renegotiate_check)(SSL *s); |
diff --git a/src/lib/libssl/ssl_methods.c b/src/lib/libssl/ssl_methods.c index df99d98c8a..5a62a7adc4 100644 --- a/src/lib/libssl/ssl_methods.c +++ b/src/lib/libssl/ssl_methods.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_methods.c,v 1.4 2019/03/17 17:28:08 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_methods.c,v 1.5 2019/11/17 19:07:07 jsing 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 | * |
| @@ -68,6 +68,7 @@ static const SSL_METHOD_INTERNAL DTLSv1_client_method_internal_data = { | |||
| 68 | .ssl_free = dtls1_free, | 68 | .ssl_free = dtls1_free, |
| 69 | .ssl_accept = ssl_undefined_function, | 69 | .ssl_accept = ssl_undefined_function, |
| 70 | .ssl_connect = ssl3_connect, | 70 | .ssl_connect = ssl3_connect, |
| 71 | .ssl_shutdown = ssl3_shutdown, | ||
| 71 | .get_ssl_method = dtls1_get_client_method, | 72 | .get_ssl_method = dtls1_get_client_method, |
| 72 | .get_timeout = dtls1_default_timeout, | 73 | .get_timeout = dtls1_default_timeout, |
| 73 | .ssl_version = ssl_undefined_void_function, | 74 | .ssl_version = ssl_undefined_void_function, |
| @@ -119,6 +120,7 @@ static const SSL_METHOD_INTERNAL DTLSv1_method_internal_data = { | |||
| 119 | .ssl_free = dtls1_free, | 120 | .ssl_free = dtls1_free, |
| 120 | .ssl_accept = ssl3_accept, | 121 | .ssl_accept = ssl3_accept, |
| 121 | .ssl_connect = ssl3_connect, | 122 | .ssl_connect = ssl3_connect, |
| 123 | .ssl_shutdown = ssl3_shutdown, | ||
| 122 | .get_ssl_method = dtls1_get_method, | 124 | .get_ssl_method = dtls1_get_method, |
| 123 | .get_timeout = dtls1_default_timeout, | 125 | .get_timeout = dtls1_default_timeout, |
| 124 | .ssl_version = ssl_undefined_void_function, | 126 | .ssl_version = ssl_undefined_void_function, |
| @@ -168,6 +170,7 @@ static const SSL_METHOD_INTERNAL DTLSv1_server_method_internal_data = { | |||
| 168 | .ssl_free = dtls1_free, | 170 | .ssl_free = dtls1_free, |
| 169 | .ssl_accept = ssl3_accept, | 171 | .ssl_accept = ssl3_accept, |
| 170 | .ssl_connect = ssl_undefined_function, | 172 | .ssl_connect = ssl_undefined_function, |
| 173 | .ssl_shutdown = ssl3_shutdown, | ||
| 171 | .get_ssl_method = dtls1_get_server_method, | 174 | .get_ssl_method = dtls1_get_server_method, |
| 172 | .get_timeout = dtls1_default_timeout, | 175 | .get_timeout = dtls1_default_timeout, |
| 173 | .ssl_version = ssl_undefined_void_function, | 176 | .ssl_version = ssl_undefined_void_function, |
| @@ -218,6 +221,7 @@ static const SSL_METHOD_INTERNAL TLS_client_method_internal_data = { | |||
| 218 | .ssl_free = tls1_free, | 221 | .ssl_free = tls1_free, |
| 219 | .ssl_accept = ssl_undefined_function, | 222 | .ssl_accept = ssl_undefined_function, |
| 220 | .ssl_connect = tls13_legacy_connect, | 223 | .ssl_connect = tls13_legacy_connect, |
| 224 | .ssl_shutdown = ssl3_shutdown, | ||
| 221 | .get_ssl_method = tls1_get_client_method, | 225 | .get_ssl_method = tls1_get_client_method, |
| 222 | .get_timeout = tls1_default_timeout, | 226 | .get_timeout = tls1_default_timeout, |
| 223 | .ssl_version = ssl_undefined_void_function, | 227 | .ssl_version = ssl_undefined_void_function, |
| @@ -248,6 +252,7 @@ static const SSL_METHOD_INTERNAL TLS_legacy_client_method_internal_data = { | |||
| 248 | .ssl_free = tls1_free, | 252 | .ssl_free = tls1_free, |
| 249 | .ssl_accept = ssl_undefined_function, | 253 | .ssl_accept = ssl_undefined_function, |
| 250 | .ssl_connect = ssl3_connect, | 254 | .ssl_connect = ssl3_connect, |
| 255 | .ssl_shutdown = ssl3_shutdown, | ||
| 251 | .get_ssl_method = tls1_get_client_method, | 256 | .get_ssl_method = tls1_get_client_method, |
| 252 | .get_timeout = tls1_default_timeout, | 257 | .get_timeout = tls1_default_timeout, |
| 253 | .ssl_version = ssl_undefined_void_function, | 258 | .ssl_version = ssl_undefined_void_function, |
| @@ -277,6 +282,7 @@ static const SSL_METHOD_INTERNAL TLSv1_client_method_internal_data = { | |||
| 277 | .ssl_free = tls1_free, | 282 | .ssl_free = tls1_free, |
| 278 | .ssl_accept = ssl_undefined_function, | 283 | .ssl_accept = ssl_undefined_function, |
| 279 | .ssl_connect = ssl3_connect, | 284 | .ssl_connect = ssl3_connect, |
| 285 | .ssl_shutdown = ssl3_shutdown, | ||
| 280 | .get_ssl_method = tls1_get_client_method, | 286 | .get_ssl_method = tls1_get_client_method, |
| 281 | .get_timeout = tls1_default_timeout, | 287 | .get_timeout = tls1_default_timeout, |
| 282 | .ssl_version = ssl_undefined_void_function, | 288 | .ssl_version = ssl_undefined_void_function, |
| @@ -306,6 +312,7 @@ static const SSL_METHOD_INTERNAL TLSv1_1_client_method_internal_data = { | |||
| 306 | .ssl_free = tls1_free, | 312 | .ssl_free = tls1_free, |
| 307 | .ssl_accept = ssl_undefined_function, | 313 | .ssl_accept = ssl_undefined_function, |
| 308 | .ssl_connect = ssl3_connect, | 314 | .ssl_connect = ssl3_connect, |
| 315 | .ssl_shutdown = ssl3_shutdown, | ||
| 309 | .get_ssl_method = tls1_get_client_method, | 316 | .get_ssl_method = tls1_get_client_method, |
| 310 | .get_timeout = tls1_default_timeout, | 317 | .get_timeout = tls1_default_timeout, |
| 311 | .ssl_version = ssl_undefined_void_function, | 318 | .ssl_version = ssl_undefined_void_function, |
| @@ -335,6 +342,7 @@ static const SSL_METHOD_INTERNAL TLSv1_2_client_method_internal_data = { | |||
| 335 | .ssl_free = tls1_free, | 342 | .ssl_free = tls1_free, |
| 336 | .ssl_accept = ssl_undefined_function, | 343 | .ssl_accept = ssl_undefined_function, |
| 337 | .ssl_connect = ssl3_connect, | 344 | .ssl_connect = ssl3_connect, |
| 345 | .ssl_shutdown = ssl3_shutdown, | ||
| 338 | .get_ssl_method = tls1_get_client_method, | 346 | .get_ssl_method = tls1_get_client_method, |
| 339 | .get_timeout = tls1_default_timeout, | 347 | .get_timeout = tls1_default_timeout, |
| 340 | .ssl_version = ssl_undefined_void_function, | 348 | .ssl_version = ssl_undefined_void_function, |
| @@ -418,6 +426,7 @@ static const SSL_METHOD_INTERNAL TLS_method_internal_data = { | |||
| 418 | .ssl_free = tls1_free, | 426 | .ssl_free = tls1_free, |
| 419 | .ssl_accept = ssl3_accept, | 427 | .ssl_accept = ssl3_accept, |
| 420 | .ssl_connect = ssl3_connect, | 428 | .ssl_connect = ssl3_connect, |
| 429 | .ssl_shutdown = ssl3_shutdown, | ||
| 421 | .get_ssl_method = tls1_get_method, | 430 | .get_ssl_method = tls1_get_method, |
| 422 | .get_timeout = tls1_default_timeout, | 431 | .get_timeout = tls1_default_timeout, |
| 423 | .ssl_version = ssl_undefined_void_function, | 432 | .ssl_version = ssl_undefined_void_function, |
| @@ -447,6 +456,7 @@ static const SSL_METHOD_INTERNAL TLSv1_method_internal_data = { | |||
| 447 | .ssl_free = tls1_free, | 456 | .ssl_free = tls1_free, |
| 448 | .ssl_accept = ssl3_accept, | 457 | .ssl_accept = ssl3_accept, |
| 449 | .ssl_connect = ssl3_connect, | 458 | .ssl_connect = ssl3_connect, |
| 459 | .ssl_shutdown = ssl3_shutdown, | ||
| 450 | .get_ssl_method = tls1_get_method, | 460 | .get_ssl_method = tls1_get_method, |
| 451 | .get_timeout = tls1_default_timeout, | 461 | .get_timeout = tls1_default_timeout, |
| 452 | .ssl_version = ssl_undefined_void_function, | 462 | .ssl_version = ssl_undefined_void_function, |
| @@ -476,6 +486,7 @@ static const SSL_METHOD_INTERNAL TLSv1_1_method_internal_data = { | |||
| 476 | .ssl_free = tls1_free, | 486 | .ssl_free = tls1_free, |
| 477 | .ssl_accept = ssl3_accept, | 487 | .ssl_accept = ssl3_accept, |
| 478 | .ssl_connect = ssl3_connect, | 488 | .ssl_connect = ssl3_connect, |
| 489 | .ssl_shutdown = ssl3_shutdown, | ||
| 479 | .get_ssl_method = tls1_get_method, | 490 | .get_ssl_method = tls1_get_method, |
| 480 | .get_timeout = tls1_default_timeout, | 491 | .get_timeout = tls1_default_timeout, |
| 481 | .ssl_version = ssl_undefined_void_function, | 492 | .ssl_version = ssl_undefined_void_function, |
| @@ -505,6 +516,7 @@ static const SSL_METHOD_INTERNAL TLSv1_2_method_internal_data = { | |||
| 505 | .ssl_free = tls1_free, | 516 | .ssl_free = tls1_free, |
| 506 | .ssl_accept = ssl3_accept, | 517 | .ssl_accept = ssl3_accept, |
| 507 | .ssl_connect = ssl3_connect, | 518 | .ssl_connect = ssl3_connect, |
| 519 | .ssl_shutdown = ssl3_shutdown, | ||
| 508 | .get_ssl_method = tls1_get_method, | 520 | .get_ssl_method = tls1_get_method, |
| 509 | .get_timeout = tls1_default_timeout, | 521 | .get_timeout = tls1_default_timeout, |
| 510 | .ssl_version = ssl_undefined_void_function, | 522 | .ssl_version = ssl_undefined_void_function, |
| @@ -576,6 +588,7 @@ static const SSL_METHOD_INTERNAL TLS_server_method_internal_data = { | |||
| 576 | .ssl_free = tls1_free, | 588 | .ssl_free = tls1_free, |
| 577 | .ssl_accept = ssl3_accept, | 589 | .ssl_accept = ssl3_accept, |
| 578 | .ssl_connect = ssl_undefined_function, | 590 | .ssl_connect = ssl_undefined_function, |
| 591 | .ssl_shutdown = ssl3_shutdown, | ||
| 579 | .get_ssl_method = tls1_get_server_method, | 592 | .get_ssl_method = tls1_get_server_method, |
| 580 | .get_timeout = tls1_default_timeout, | 593 | .get_timeout = tls1_default_timeout, |
| 581 | .ssl_version = ssl_undefined_void_function, | 594 | .ssl_version = ssl_undefined_void_function, |
| @@ -605,6 +618,7 @@ static const SSL_METHOD_INTERNAL TLSv1_server_method_internal_data = { | |||
| 605 | .ssl_free = tls1_free, | 618 | .ssl_free = tls1_free, |
| 606 | .ssl_accept = ssl3_accept, | 619 | .ssl_accept = ssl3_accept, |
| 607 | .ssl_connect = ssl_undefined_function, | 620 | .ssl_connect = ssl_undefined_function, |
| 621 | .ssl_shutdown = ssl3_shutdown, | ||
| 608 | .get_ssl_method = tls1_get_server_method, | 622 | .get_ssl_method = tls1_get_server_method, |
| 609 | .get_timeout = tls1_default_timeout, | 623 | .get_timeout = tls1_default_timeout, |
| 610 | .ssl_version = ssl_undefined_void_function, | 624 | .ssl_version = ssl_undefined_void_function, |
| @@ -634,6 +648,7 @@ static const SSL_METHOD_INTERNAL TLSv1_1_server_method_internal_data = { | |||
| 634 | .ssl_free = tls1_free, | 648 | .ssl_free = tls1_free, |
| 635 | .ssl_accept = ssl3_accept, | 649 | .ssl_accept = ssl3_accept, |
| 636 | .ssl_connect = ssl_undefined_function, | 650 | .ssl_connect = ssl_undefined_function, |
| 651 | .ssl_shutdown = ssl3_shutdown, | ||
| 637 | .get_ssl_method = tls1_get_server_method, | 652 | .get_ssl_method = tls1_get_server_method, |
| 638 | .get_timeout = tls1_default_timeout, | 653 | .get_timeout = tls1_default_timeout, |
| 639 | .ssl_version = ssl_undefined_void_function, | 654 | .ssl_version = ssl_undefined_void_function, |
| @@ -663,6 +678,7 @@ static const SSL_METHOD_INTERNAL TLSv1_2_server_method_internal_data = { | |||
| 663 | .ssl_free = tls1_free, | 678 | .ssl_free = tls1_free, |
| 664 | .ssl_accept = ssl3_accept, | 679 | .ssl_accept = ssl3_accept, |
| 665 | .ssl_connect = ssl_undefined_function, | 680 | .ssl_connect = ssl_undefined_function, |
| 681 | .ssl_shutdown = ssl3_shutdown, | ||
| 666 | .get_ssl_method = tls1_get_server_method, | 682 | .get_ssl_method = tls1_get_server_method, |
| 667 | .get_timeout = tls1_default_timeout, | 683 | .get_timeout = tls1_default_timeout, |
| 668 | .ssl_version = ssl_undefined_void_function, | 684 | .ssl_version = ssl_undefined_void_function, |
