diff options
Diffstat (limited to 'lib/libssl')
-rw-r--r-- | lib/libssl/tls13_internal.h | 4 | ||||
-rw-r--r-- | lib/libssl/tls13_record_layer.c | 16 |
2 files changed, 11 insertions, 9 deletions
diff --git a/lib/libssl/tls13_internal.h b/lib/libssl/tls13_internal.h index 71abb6c4434..43b65d6162c 100644 --- a/lib/libssl/tls13_internal.h +++ b/lib/libssl/tls13_internal.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tls13_internal.h,v 1.19 2019/02/14 17:55:32 jsing Exp $ */ +/* $OpenBSD: tls13_internal.h,v 1.20 2019/02/21 17:09:51 jsing Exp $ */ /* * Copyright (c) 2018 Bob Beck <beck@openbsd.org> * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> @@ -36,7 +36,7 @@ __BEGIN_HIDDEN_DECLS #define TLS13_IO_WANT_POLLIN -2 #define TLS13_IO_WANT_POLLOUT -3 -typedef int (*tls13_alert_cb)(uint8_t _alert_level, uint8_t _alert_desc, +typedef void (*tls13_alert_cb)(uint8_t _alert_level, uint8_t _alert_desc, void *_cb_arg); typedef int (*tls13_post_handshake_cb)(void *_cb_arg); typedef ssize_t (*tls13_read_cb)(void *_buf, size_t _buflen, void *_cb_arg); diff --git a/lib/libssl/tls13_record_layer.c b/lib/libssl/tls13_record_layer.c index d1b53244c56..8f6eb94df4d 100644 --- a/lib/libssl/tls13_record_layer.c +++ b/lib/libssl/tls13_record_layer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tls13_record_layer.c,v 1.3 2019/02/21 17:02:02 jsing Exp $ */ +/* $OpenBSD: tls13_record_layer.c,v 1.4 2019/02/21 17:09:51 jsing Exp $ */ /* * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> * @@ -188,21 +188,23 @@ tls13_record_layer_process_alert(struct tls13_record_layer *rl) * read channel closure (close_notify) or termination (all others). */ if (rl->rbuf == NULL) - return -1; + return TLS13_IO_FAILURE; if (rl->rbuf_content_type != SSL3_RT_ALERT) - return -1; + return TLS13_IO_FAILURE; if (!CBS_get_u8(&rl->rbuf_cbs, &alert_level)) - return -1; /* XXX - decode error alert. */ + return TLS13_IO_FAILURE; /* XXX - decode error alert. */ if (!CBS_get_u8(&rl->rbuf_cbs, &alert_desc)) - return -1; /* XXX - decode error alert. */ + return TLS13_IO_FAILURE; /* XXX - decode error alert. */ if (CBS_len(&rl->rbuf_cbs) != 0) - return -1; + return TLS13_IO_FAILURE; tls13_record_layer_rbuf_free(rl); - return rl->alert_cb(alert_level, alert_desc, rl->cb_arg); + rl->alert_cb(alert_level, alert_desc, rl->cb_arg); + + return TLS13_IO_SUCCESS; } int |