summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_tlsext.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libssl/ssl_tlsext.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/libssl/ssl_tlsext.c b/src/lib/libssl/ssl_tlsext.c
index 2214a61ed3..35c764f646 100644
--- a/src/lib/libssl/ssl_tlsext.c
+++ b/src/lib/libssl/ssl_tlsext.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_tlsext.c,v 1.34 2019/01/23 18:39:28 beck Exp $ */ 1/* $OpenBSD: ssl_tlsext.c,v 1.35 2019/01/24 01:50:41 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2016, 2017, 2019 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2016, 2017, 2019 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org> 4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org>
@@ -1675,11 +1675,12 @@ tlsext_parse(SSL *s, CBS *cbs, int *alert, int is_server, uint16_t msg_type)
1675 struct tls_extension_funcs *ext; 1675 struct tls_extension_funcs *ext;
1676 struct tls_extension *tlsext; 1676 struct tls_extension *tlsext;
1677 CBS extensions, extension_data; 1677 CBS extensions, extension_data;
1678 uint32_t extensions_seen = 0;
1679 uint16_t type; 1678 uint16_t type;
1680 size_t idx; 1679 size_t idx;
1681 uint16_t version; 1680 uint16_t version;
1682 1681
1682 S3I(s)->hs.extensions_seen = 0;
1683
1683 if (is_server) 1684 if (is_server)
1684 version = s->version; 1685 version = s->version;
1685 else 1686 else
@@ -1718,9 +1719,9 @@ tlsext_parse(SSL *s, CBS *cbs, int *alert, int is_server, uint16_t msg_type)
1718 } 1719 }
1719 1720
1720 /* Check for duplicate known extensions. */ 1721 /* Check for duplicate known extensions. */
1721 if ((extensions_seen & (1 << idx)) != 0) 1722 if ((S3I(s)->hs.extensions_seen & (1 << idx)) != 0)
1722 return 0; 1723 return 0;
1723 extensions_seen |= (1 << idx); 1724 S3I(s)->hs.extensions_seen |= (1 << idx);
1724 1725
1725 ext = tlsext_funcs(tlsext, is_server); 1726 ext = tlsext_funcs(tlsext, is_server);
1726 if (!ext->parse(s, &extension_data, alert)) 1727 if (!ext->parse(s, &extension_data, alert))