diff options
Diffstat (limited to 'src/lib/libssl/ssl_pkt.c')
-rw-r--r-- | src/lib/libssl/ssl_pkt.c | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/src/lib/libssl/ssl_pkt.c b/src/lib/libssl/ssl_pkt.c index 9aa71f7d4f..049a7df3c3 100644 --- a/src/lib/libssl/ssl_pkt.c +++ b/src/lib/libssl/ssl_pkt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_pkt.c,v 1.49 2021/08/28 15:20:58 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_pkt.c,v 1.50 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 | * |
@@ -714,8 +714,7 @@ ssl3_write_pending(SSL *s, int type, const unsigned char *buf, unsigned int len) | |||
714 | int | 714 | int |
715 | ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) | 715 | ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) |
716 | { | 716 | { |
717 | void (*cb)(const SSL *ssl, int type2, int val) = NULL; | 717 | int al, i, ret, rrcount = 0; |
718 | int al, i, j, ret, rrcount = 0; | ||
719 | unsigned int n; | 718 | unsigned int n; |
720 | SSL3_RECORD_INTERNAL *rr; | 719 | SSL3_RECORD_INTERNAL *rr; |
721 | 720 | ||
@@ -914,10 +913,8 @@ ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) | |||
914 | goto fatal_err; | 913 | goto fatal_err; |
915 | } | 914 | } |
916 | 915 | ||
917 | if (s->internal->msg_callback) | 916 | ssl_msg_callback(s, 0, SSL3_RT_HANDSHAKE, |
918 | s->internal->msg_callback(0, s->version, SSL3_RT_HANDSHAKE, | 917 | S3I(s)->handshake_fragment, 4); |
919 | S3I(s)->handshake_fragment, 4, s, | ||
920 | s->internal->msg_callback_arg); | ||
921 | 918 | ||
922 | if (SSL_is_init_finished(s) && | 919 | if (SSL_is_init_finished(s) && |
923 | !(s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS) && | 920 | !(s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS) && |
@@ -978,19 +975,11 @@ ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) | |||
978 | 975 | ||
979 | S3I(s)->alert_fragment_len = 0; | 976 | S3I(s)->alert_fragment_len = 0; |
980 | 977 | ||
981 | if (s->internal->msg_callback) | 978 | ssl_msg_callback(s, 0, SSL3_RT_ALERT, |
982 | s->internal->msg_callback(0, s->version, SSL3_RT_ALERT, | 979 | S3I(s)->alert_fragment, 2); |
983 | S3I(s)->alert_fragment, 2, s, s->internal->msg_callback_arg); | ||
984 | 980 | ||
985 | if (s->internal->info_callback != NULL) | 981 | ssl_info_callback(s, SSL_CB_READ_ALERT, |
986 | cb = s->internal->info_callback; | 982 | (alert_level << 8) | alert_descr); |
987 | else if (s->ctx->internal->info_callback != NULL) | ||
988 | cb = s->ctx->internal->info_callback; | ||
989 | |||
990 | if (cb != NULL) { | ||
991 | j = (alert_level << 8) | alert_descr; | ||
992 | cb(s, SSL_CB_READ_ALERT, j); | ||
993 | } | ||
994 | 983 | ||
995 | if (alert_level == SSL3_AL_WARNING) { | 984 | if (alert_level == SSL3_AL_WARNING) { |
996 | S3I(s)->warn_alert = alert_descr; | 985 | S3I(s)->warn_alert = alert_descr; |
@@ -1064,11 +1053,7 @@ ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) | |||
1064 | 1053 | ||
1065 | rr->length = 0; | 1054 | rr->length = 0; |
1066 | 1055 | ||
1067 | if (s->internal->msg_callback) { | 1056 | ssl_msg_callback(s, 0, SSL3_RT_CHANGE_CIPHER_SPEC, rr->data, 1); |
1068 | s->internal->msg_callback(0, s->version, | ||
1069 | SSL3_RT_CHANGE_CIPHER_SPEC, rr->data, 1, s, | ||
1070 | s->internal->msg_callback_arg); | ||
1071 | } | ||
1072 | 1057 | ||
1073 | S3I(s)->change_cipher_spec = 1; | 1058 | S3I(s)->change_cipher_spec = 1; |
1074 | if (!ssl3_do_change_cipher_spec(s)) | 1059 | if (!ssl3_do_change_cipher_spec(s)) |
@@ -1224,7 +1209,6 @@ ssl3_send_alert(SSL *s, int level, int desc) | |||
1224 | int | 1209 | int |
1225 | ssl3_dispatch_alert(SSL *s) | 1210 | ssl3_dispatch_alert(SSL *s) |
1226 | { | 1211 | { |
1227 | void (*cb)(const SSL *ssl, int type, int val); | ||
1228 | int ret; | 1212 | int ret; |
1229 | 1213 | ||
1230 | S3I(s)->alert_dispatch = 0; | 1214 | S3I(s)->alert_dispatch = 0; |
@@ -1241,15 +1225,10 @@ ssl3_dispatch_alert(SSL *s) | |||
1241 | if (S3I(s)->send_alert[0] == SSL3_AL_FATAL) | 1225 | if (S3I(s)->send_alert[0] == SSL3_AL_FATAL) |
1242 | (void)BIO_flush(s->wbio); | 1226 | (void)BIO_flush(s->wbio); |
1243 | 1227 | ||
1244 | if (s->internal->msg_callback) | 1228 | ssl_msg_callback(s, 1, SSL3_RT_ALERT, S3I(s)->send_alert, 2); |
1245 | s->internal->msg_callback(1, s->version, SSL3_RT_ALERT, | ||
1246 | S3I(s)->send_alert, 2, s, s->internal->msg_callback_arg); | ||
1247 | 1229 | ||
1248 | if ((cb = s->internal->info_callback) == NULL) | 1230 | ssl_info_callback(s, SSL_CB_WRITE_ALERT, |
1249 | cb = s->ctx->internal->info_callback; | 1231 | (S3I(s)->send_alert[0] << 8) | S3I(s)->send_alert[1]); |
1250 | if (cb != NULL) | ||
1251 | cb(s, SSL_CB_WRITE_ALERT, (S3I(s)->send_alert[0] << 8) | | ||
1252 | S3I(s)->send_alert[1]); | ||
1253 | 1232 | ||
1254 | return ret; | 1233 | return ret; |
1255 | } | 1234 | } |