diff options
| -rw-r--r-- | src/lib/libssl/tls13_internal.h | 6 | ||||
| -rw-r--r-- | src/lib/libssl/tls13_record_layer.c | 16 |
2 files changed, 17 insertions, 5 deletions
diff --git a/src/lib/libssl/tls13_internal.h b/src/lib/libssl/tls13_internal.h index df5f13eb66..5fd1956cfd 100644 --- a/src/lib/libssl/tls13_internal.h +++ b/src/lib/libssl/tls13_internal.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_internal.h,v 1.32 2019/11/17 21:47:01 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_internal.h,v 1.33 2019/11/18 02:44:20 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> |
| 4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> | 4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> |
| @@ -120,8 +120,6 @@ int tls13_record_layer_set_read_traffic_key(struct tls13_record_layer *rl, | |||
| 120 | struct tls13_secret *read_key); | 120 | struct tls13_secret *read_key); |
| 121 | int tls13_record_layer_set_write_traffic_key(struct tls13_record_layer *rl, | 121 | int tls13_record_layer_set_write_traffic_key(struct tls13_record_layer *rl, |
| 122 | struct tls13_secret *write_key); | 122 | struct tls13_secret *write_key); |
| 123 | ssize_t tls13_record_layer_alert(struct tls13_record_layer *rl, | ||
| 124 | uint8_t alert_level, uint8_t alert_desc); | ||
| 125 | ssize_t tls13_record_layer_phh(struct tls13_record_layer *rl, CBS *cbs); | 123 | ssize_t tls13_record_layer_phh(struct tls13_record_layer *rl, CBS *cbs); |
| 126 | 124 | ||
| 127 | ssize_t tls13_read_handshake_data(struct tls13_record_layer *rl, uint8_t *buf, size_t n); | 125 | ssize_t tls13_read_handshake_data(struct tls13_record_layer *rl, uint8_t *buf, size_t n); |
| @@ -131,6 +129,8 @@ ssize_t tls13_read_application_data(struct tls13_record_layer *rl, uint8_t *buf, | |||
| 131 | ssize_t tls13_write_application_data(struct tls13_record_layer *rl, const uint8_t *buf, | 129 | ssize_t tls13_write_application_data(struct tls13_record_layer *rl, const uint8_t *buf, |
| 132 | size_t n); | 130 | size_t n); |
| 133 | 131 | ||
| 132 | ssize_t tls13_send_alert(struct tls13_record_layer *rl, uint8_t alert_desc); | ||
| 133 | |||
| 134 | /* | 134 | /* |
| 135 | * Handshake Messages. | 135 | * Handshake Messages. |
| 136 | */ | 136 | */ |
diff --git a/src/lib/libssl/tls13_record_layer.c b/src/lib/libssl/tls13_record_layer.c index ebefac0a25..188f56e0b4 100644 --- a/src/lib/libssl/tls13_record_layer.c +++ b/src/lib/libssl/tls13_record_layer.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_record_layer.c,v 1.14 2019/11/17 21:47:01 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_record_layer.c,v 1.15 2019/11/18 02:44:20 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -328,7 +328,7 @@ tls13_record_layer_send_pending(struct tls13_record_layer *rl) | |||
| 328 | return TLS13_IO_SUCCESS; | 328 | return TLS13_IO_SUCCESS; |
| 329 | } | 329 | } |
| 330 | 330 | ||
| 331 | ssize_t | 331 | static ssize_t |
| 332 | tls13_record_layer_alert(struct tls13_record_layer *rl, | 332 | tls13_record_layer_alert(struct tls13_record_layer *rl, |
| 333 | uint8_t alert_level, uint8_t alert_desc) | 333 | uint8_t alert_level, uint8_t alert_desc) |
| 334 | { | 334 | { |
| @@ -967,3 +967,15 @@ tls13_write_application_data(struct tls13_record_layer *rl, const uint8_t *buf, | |||
| 967 | 967 | ||
| 968 | return tls13_record_layer_write(rl, SSL3_RT_APPLICATION_DATA, buf, n); | 968 | return tls13_record_layer_write(rl, SSL3_RT_APPLICATION_DATA, buf, n); |
| 969 | } | 969 | } |
| 970 | |||
| 971 | ssize_t | ||
| 972 | tls13_send_alert(struct tls13_record_layer *rl, uint8_t alert_desc) | ||
| 973 | { | ||
| 974 | uint8_t alert_level = SSL3_AL_FATAL; | ||
| 975 | |||
| 976 | if (alert_desc == SSL_AD_CLOSE_NOTIFY || | ||
| 977 | alert_desc == SSL_AD_USER_CANCELLED) | ||
| 978 | alert_level = SSL3_AL_WARNING; | ||
| 979 | |||
| 980 | return tls13_record_layer_alert(rl, alert_level, alert_desc); | ||
| 981 | } | ||
