diff options
| author | jsing <> | 2018-01-27 15:30:05 +0000 |
|---|---|---|
| committer | jsing <> | 2018-01-27 15:30:05 +0000 |
| commit | 493e742f784a4d7d846e7a28b384c113d30ed942 (patch) | |
| tree | 3d53d5ec7c827462ec31ee3156e980e4c951418a /src/lib/libssl/ssl_locl.h | |
| parent | d591e698ee2bf88b94fcbab7fc07c798cf0b3ba8 (diff) | |
| download | openbsd-493e742f784a4d7d846e7a28b384c113d30ed942.tar.gz openbsd-493e742f784a4d7d846e7a28b384c113d30ed942.tar.bz2 openbsd-493e742f784a4d7d846e7a28b384c113d30ed942.zip | |
Complete the TLS extension handling rewrite for the server-side.
This removes ssl_parse_clienthello_tlsext() and allows the CBS to be
passed all the way through from ssl3_get_client_hello(). The renegotation
check gets pulled up into ssl3_get_client_hello() which is where other
such checks exist.
The TLS extension parsing now also ensures that we do not get duplicates
of any known extensions (the old pre-rewrite code only did this for some
extensions).
ok inoguchi@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/ssl_locl.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index f6e922e99c..d2a99afaa4 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_locl.h,v 1.201 2017/10/12 16:06:32 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.202 2018/01/27 15:30:05 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 | * |
| @@ -164,6 +164,9 @@ | |||
| 164 | 164 | ||
| 165 | __BEGIN_HIDDEN_DECLS | 165 | __BEGIN_HIDDEN_DECLS |
| 166 | 166 | ||
| 167 | #define CTASSERT(x) extern char _ctassert[(x) ? 1 : -1 ] \ | ||
| 168 | __attribute__((__unused__)) | ||
| 169 | |||
| 167 | #define l2n(l,c) (*((c)++)=(unsigned char)(((l)>>24)&0xff), \ | 170 | #define l2n(l,c) (*((c)++)=(unsigned char)(((l)>>24)&0xff), \ |
| 168 | *((c)++)=(unsigned char)(((l)>>16)&0xff), \ | 171 | *((c)++)=(unsigned char)(((l)>>16)&0xff), \ |
| 169 | *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ | 172 | *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ |
| @@ -1275,8 +1278,6 @@ uint16_t tls1_ec_nid2curve_id(const int nid); | |||
| 1275 | int tls1_check_curve(SSL *s, const uint16_t curve_id); | 1278 | int tls1_check_curve(SSL *s, const uint16_t curve_id); |
| 1276 | int tls1_get_shared_curve(SSL *s); | 1279 | int tls1_get_shared_curve(SSL *s); |
| 1277 | 1280 | ||
| 1278 | int ssl_parse_clienthello_tlsext(SSL *s, unsigned char **data, | ||
| 1279 | unsigned char *d, int n, int *al); | ||
| 1280 | int ssl_parse_serverhello_tlsext(SSL *s, unsigned char **data, | 1281 | int ssl_parse_serverhello_tlsext(SSL *s, unsigned char **data, |
| 1281 | size_t n, int *al); | 1282 | size_t n, int *al); |
| 1282 | int ssl_check_clienthello_tlsext_early(SSL *s); | 1283 | int ssl_check_clienthello_tlsext_early(SSL *s); |
