diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/tls13_record.c | 24 | ||||
| -rw-r--r-- | src/lib/libssl/tls13_record.h | 7 |
2 files changed, 21 insertions, 10 deletions
diff --git a/src/lib/libssl/tls13_record.c b/src/lib/libssl/tls13_record.c index 1a4e22ee47..e0631dff76 100644 --- a/src/lib/libssl/tls13_record.c +++ b/src/lib/libssl/tls13_record.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_record.c,v 1.2 2019/01/20 09:12:05 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_record.c,v 1.3 2019/01/21 00:24:19 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 | * |
| @@ -23,6 +23,7 @@ | |||
| 23 | #include "tls13_record.h" | 23 | #include "tls13_record.h" |
| 24 | 24 | ||
| 25 | struct tls13_record { | 25 | struct tls13_record { |
| 26 | uint16_t version; | ||
| 26 | uint8_t content_type; | 27 | uint8_t content_type; |
| 27 | size_t rec_len; | 28 | size_t rec_len; |
| 28 | uint8_t *data; | 29 | uint8_t *data; |
| @@ -62,6 +63,18 @@ tls13_record_free(struct tls13_record *rec) | |||
| 62 | freezero(rec, sizeof(struct tls13_record)); | 63 | freezero(rec, sizeof(struct tls13_record)); |
| 63 | } | 64 | } |
| 64 | 65 | ||
| 66 | uint16_t | ||
| 67 | tls13_record_version(struct tls13_record *rec) | ||
| 68 | { | ||
| 69 | return rec->version; | ||
| 70 | } | ||
| 71 | |||
| 72 | uint8_t | ||
| 73 | tls13_record_content_type(struct tls13_record *rec) | ||
| 74 | { | ||
| 75 | return rec->content_type; | ||
| 76 | } | ||
| 77 | |||
| 65 | int | 78 | int |
| 66 | tls13_record_header(struct tls13_record *rec, CBS *cbs) | 79 | tls13_record_header(struct tls13_record *rec, CBS *cbs) |
| 67 | { | 80 | { |
| @@ -73,12 +86,6 @@ tls13_record_header(struct tls13_record *rec, CBS *cbs) | |||
| 73 | return 1; | 86 | return 1; |
| 74 | } | 87 | } |
| 75 | 88 | ||
| 76 | uint8_t | ||
| 77 | tls13_record_content_type(struct tls13_record *rec) | ||
| 78 | { | ||
| 79 | return rec->content_type; | ||
| 80 | } | ||
| 81 | |||
| 82 | int | 89 | int |
| 83 | tls13_record_content(struct tls13_record *rec, CBS *cbs) | 90 | tls13_record_content(struct tls13_record *rec, CBS *cbs) |
| 84 | { | 91 | { |
| @@ -120,8 +127,8 @@ tls13_record_recv(struct tls13_record *rec, tls13_read_cb wire_read, | |||
| 120 | { | 127 | { |
| 121 | uint16_t rec_len, rec_version; | 128 | uint16_t rec_len, rec_version; |
| 122 | uint8_t content_type; | 129 | uint8_t content_type; |
| 130 | ssize_t ret; | ||
| 123 | CBS cbs; | 131 | CBS cbs; |
| 124 | int ret; | ||
| 125 | 132 | ||
| 126 | if (rec->data != NULL) | 133 | if (rec->data != NULL) |
| 127 | return TLS13_IO_FAILURE; | 134 | return TLS13_IO_FAILURE; |
| @@ -145,6 +152,7 @@ tls13_record_recv(struct tls13_record *rec, tls13_read_cb wire_read, | |||
| 145 | return TLS13_IO_FAILURE; | 152 | return TLS13_IO_FAILURE; |
| 146 | 153 | ||
| 147 | rec->content_type = content_type; | 154 | rec->content_type = content_type; |
| 155 | rec->version = rec_version; | ||
| 148 | rec->rec_len = rec_len; | 156 | rec->rec_len = rec_len; |
| 149 | } | 157 | } |
| 150 | 158 | ||
diff --git a/src/lib/libssl/tls13_record.h b/src/lib/libssl/tls13_record.h index 72350d5d49..400153ba77 100644 --- a/src/lib/libssl/tls13_record.h +++ b/src/lib/libssl/tls13_record.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_record.h,v 1.2 2019/01/20 09:12:05 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_record.h,v 1.3 2019/01/21 00:24:19 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2019 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -46,10 +46,13 @@ __BEGIN_HIDDEN_DECLS | |||
| 46 | */ | 46 | */ |
| 47 | #define TLS13_RECORD_SEQ_NUM_LEN 8 | 47 | #define TLS13_RECORD_SEQ_NUM_LEN 8 |
| 48 | 48 | ||
| 49 | struct tls13_record; | ||
| 50 | |||
| 49 | struct tls13_record *tls13_record_new(void); | 51 | struct tls13_record *tls13_record_new(void); |
| 50 | void tls13_record_free(struct tls13_record *_rec); | 52 | void tls13_record_free(struct tls13_record *_rec); |
| 51 | int tls13_record_header(struct tls13_record *_rec, CBS *_cbs); | 53 | uint16_t tls13_record_version(struct tls13_record *_rec); |
| 52 | uint8_t tls13_record_content_type(struct tls13_record *_rec); | 54 | uint8_t tls13_record_content_type(struct tls13_record *_rec); |
| 55 | int tls13_record_header(struct tls13_record *_rec, CBS *_cbs); | ||
| 53 | int tls13_record_content(struct tls13_record *_rec, CBS *_cbs); | 56 | int tls13_record_content(struct tls13_record *_rec, CBS *_cbs); |
| 54 | void tls13_record_data(struct tls13_record *_rec, CBS *_cbs); | 57 | void tls13_record_data(struct tls13_record *_rec, CBS *_cbs); |
| 55 | int tls13_record_set_data(struct tls13_record *_rec, uint8_t *_data, | 58 | int tls13_record_set_data(struct tls13_record *_rec, uint8_t *_data, |
