summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libssl/tls13_internal.h4
-rw-r--r--src/lib/libssl/tls13_record_layer.c16
2 files changed, 11 insertions, 9 deletions
diff --git a/src/lib/libssl/tls13_internal.h b/src/lib/libssl/tls13_internal.h
index 71abb6c443..43b65d6162 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.19 2019/02/14 17:55:32 jsing Exp $ */ 1/* $OpenBSD: tls13_internal.h,v 1.20 2019/02/21 17:09:51 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>
@@ -36,7 +36,7 @@ __BEGIN_HIDDEN_DECLS
36#define TLS13_IO_WANT_POLLIN -2 36#define TLS13_IO_WANT_POLLIN -2
37#define TLS13_IO_WANT_POLLOUT -3 37#define TLS13_IO_WANT_POLLOUT -3
38 38
39typedef int (*tls13_alert_cb)(uint8_t _alert_level, uint8_t _alert_desc, 39typedef void (*tls13_alert_cb)(uint8_t _alert_level, uint8_t _alert_desc,
40 void *_cb_arg); 40 void *_cb_arg);
41typedef int (*tls13_post_handshake_cb)(void *_cb_arg); 41typedef int (*tls13_post_handshake_cb)(void *_cb_arg);
42typedef ssize_t (*tls13_read_cb)(void *_buf, size_t _buflen, void *_cb_arg); 42typedef ssize_t (*tls13_read_cb)(void *_buf, size_t _buflen, void *_cb_arg);
diff --git a/src/lib/libssl/tls13_record_layer.c b/src/lib/libssl/tls13_record_layer.c
index d1b53244c5..8f6eb94df4 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.3 2019/02/21 17:02:02 jsing Exp $ */ 1/* $OpenBSD: tls13_record_layer.c,v 1.4 2019/02/21 17:09:51 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 *
@@ -188,21 +188,23 @@ tls13_record_layer_process_alert(struct tls13_record_layer *rl)
188 * read channel closure (close_notify) or termination (all others). 188 * read channel closure (close_notify) or termination (all others).
189 */ 189 */
190 if (rl->rbuf == NULL) 190 if (rl->rbuf == NULL)
191 return -1; 191 return TLS13_IO_FAILURE;
192 if (rl->rbuf_content_type != SSL3_RT_ALERT) 192 if (rl->rbuf_content_type != SSL3_RT_ALERT)
193 return -1; 193 return TLS13_IO_FAILURE;
194 194
195 if (!CBS_get_u8(&rl->rbuf_cbs, &alert_level)) 195 if (!CBS_get_u8(&rl->rbuf_cbs, &alert_level))
196 return -1; /* XXX - decode error alert. */ 196 return TLS13_IO_FAILURE; /* XXX - decode error alert. */
197 if (!CBS_get_u8(&rl->rbuf_cbs, &alert_desc)) 197 if (!CBS_get_u8(&rl->rbuf_cbs, &alert_desc))
198 return -1; /* XXX - decode error alert. */ 198 return TLS13_IO_FAILURE; /* XXX - decode error alert. */
199 199
200 if (CBS_len(&rl->rbuf_cbs) != 0) 200 if (CBS_len(&rl->rbuf_cbs) != 0)
201 return -1; 201 return TLS13_IO_FAILURE;
202 202
203 tls13_record_layer_rbuf_free(rl); 203 tls13_record_layer_rbuf_free(rl);
204 204
205 return rl->alert_cb(alert_level, alert_desc, rl->cb_arg); 205 rl->alert_cb(alert_level, alert_desc, rl->cb_arg);
206
207 return TLS13_IO_SUCCESS;
206} 208}
207 209
208int 210int