diff options
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
| -rw-r--r-- | src/lib/libssl/ssl_srvr.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index 2097ccdebf..a473d5af05 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_srvr.c,v 1.117 2021/06/29 19:43:15 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.118 2021/08/30 19:25:43 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 | * |
| @@ -174,20 +174,14 @@ | |||
| 174 | int | 174 | int |
| 175 | ssl3_accept(SSL *s) | 175 | ssl3_accept(SSL *s) |
| 176 | { | 176 | { |
| 177 | void (*cb)(const SSL *ssl, int type, int val) = NULL; | ||
| 178 | unsigned long alg_k; | 177 | unsigned long alg_k; |
| 179 | int ret = -1; | ||
| 180 | int new_state, state, skip = 0; | 178 | int new_state, state, skip = 0; |
| 181 | int listen = 0; | 179 | int listen = 0; |
| 180 | int ret = -1; | ||
| 182 | 181 | ||
| 183 | ERR_clear_error(); | 182 | ERR_clear_error(); |
| 184 | errno = 0; | 183 | errno = 0; |
| 185 | 184 | ||
| 186 | if (s->internal->info_callback != NULL) | ||
| 187 | cb = s->internal->info_callback; | ||
| 188 | else if (s->ctx->internal->info_callback != NULL) | ||
| 189 | cb = s->ctx->internal->info_callback; | ||
| 190 | |||
| 191 | if (SSL_is_dtls(s)) | 185 | if (SSL_is_dtls(s)) |
| 192 | listen = D1I(s)->listen; | 186 | listen = D1I(s)->listen; |
| 193 | 187 | ||
| @@ -212,8 +206,8 @@ ssl3_accept(SSL *s) | |||
| 212 | case SSL_ST_BEFORE|SSL_ST_ACCEPT: | 206 | case SSL_ST_BEFORE|SSL_ST_ACCEPT: |
| 213 | case SSL_ST_OK|SSL_ST_ACCEPT: | 207 | case SSL_ST_OK|SSL_ST_ACCEPT: |
| 214 | s->server = 1; | 208 | s->server = 1; |
| 215 | if (cb != NULL) | 209 | |
| 216 | cb(s, SSL_CB_HANDSHAKE_START, 1); | 210 | ssl_info_callback(s, SSL_CB_HANDSHAKE_START, 1); |
| 217 | 211 | ||
| 218 | if (!ssl_legacy_stack_version(s, s->version)) { | 212 | if (!ssl_legacy_stack_version(s, s->version)) { |
| 219 | SSLerror(s, ERR_R_INTERNAL_ERROR); | 213 | SSLerror(s, ERR_R_INTERNAL_ERROR); |
| @@ -705,8 +699,7 @@ ssl3_accept(SSL *s) | |||
| 705 | /* s->server=1; */ | 699 | /* s->server=1; */ |
| 706 | s->internal->handshake_func = ssl3_accept; | 700 | s->internal->handshake_func = ssl3_accept; |
| 707 | 701 | ||
| 708 | if (cb != NULL) | 702 | ssl_info_callback(s, SSL_CB_HANDSHAKE_DONE, 1); |
| 709 | cb(s, SSL_CB_HANDSHAKE_DONE, 1); | ||
| 710 | } | 703 | } |
| 711 | 704 | ||
| 712 | ret = 1; | 705 | ret = 1; |
| @@ -735,10 +728,10 @@ ssl3_accept(SSL *s) | |||
| 735 | } | 728 | } |
| 736 | 729 | ||
| 737 | 730 | ||
| 738 | if ((cb != NULL) && (S3I(s)->hs.state != state)) { | 731 | if (S3I(s)->hs.state != state) { |
| 739 | new_state = S3I(s)->hs.state; | 732 | new_state = S3I(s)->hs.state; |
| 740 | S3I(s)->hs.state = state; | 733 | S3I(s)->hs.state = state; |
| 741 | cb(s, SSL_CB_ACCEPT_LOOP, 1); | 734 | ssl_info_callback(s, SSL_CB_ACCEPT_LOOP, 1); |
| 742 | S3I(s)->hs.state = new_state; | 735 | S3I(s)->hs.state = new_state; |
| 743 | } | 736 | } |
| 744 | } | 737 | } |
| @@ -747,8 +740,7 @@ ssl3_accept(SSL *s) | |||
| 747 | end: | 740 | end: |
| 748 | /* BIO_flush(s->wbio); */ | 741 | /* BIO_flush(s->wbio); */ |
| 749 | s->internal->in_handshake--; | 742 | s->internal->in_handshake--; |
| 750 | if (cb != NULL) | 743 | ssl_info_callback(s, SSL_CB_ACCEPT_EXIT, ret); |
| 751 | cb(s, SSL_CB_ACCEPT_EXIT, ret); | ||
| 752 | 744 | ||
| 753 | return (ret); | 745 | return (ret); |
| 754 | } | 746 | } |
