boringssl/ssl
David Benjamin 35a7a4492d Check duplicate extensions before processing.
ClientHello and ServerHello are not allowed to include duplicate extensions.
Add a new helper function to check this and call as appropriate. Remove ad-hoc
per-extension duplicate checks which are no unnecessary.

Add runner.go tests to verify such message correctly rejected.

Change-Id: I7babd5b642dfec941459512869e2dd6de26a831c
Reviewed-on: https://boringssl-review.googlesource.com/1100
Reviewed-by: Adam Langley <agl@google.com>
2014-07-08 22:17:59 +00:00
..
pqueue Inital import. 2014-06-20 13:17:32 -07:00
test Check duplicate extensions before processing. 2014-07-08 22:17:59 +00:00
CMakeLists.txt Remove heartbeat extension. 2014-06-26 20:48:19 +00:00
d1_both.c Remove heartbeat extension. 2014-06-26 20:48:19 +00:00
d1_clnt.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
d1_enc.c Remove crypto/comp and SSL_COMP support code. 2014-06-24 17:22:06 +00:00
d1_lib.c DTLS: fix memory leak when allocation fails. 2014-06-26 17:46:27 -07:00
d1_meth.c Inital import. 2014-06-20 13:17:32 -07:00
d1_pkt.c Remove heartbeat extension. 2014-06-26 20:48:19 +00:00
d1_srtp.c Port ClientHello extensions parsing to crypto/bytestring. 2014-07-07 19:48:22 +00:00
d1_srvr.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
dtls1.h Remove more remnants of compression. 2014-06-24 18:43:57 -04:00
s3_both.c ChannelID support. 2014-06-20 13:17:33 -07:00
s3_cbc.c Remove OPENSSL_FIPS blocks. 2014-07-07 20:31:50 +00:00
s3_clnt.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
s3_enc.c Remove CHARSET_EBCDIC 2014-07-07 19:30:35 +00:00
s3_lib.c Remove is_probably_safari logic. 2014-07-07 20:32:29 +00:00
s3_meth.c Inital import. 2014-06-20 13:17:32 -07:00
s3_pkt.c Remove heartbeat extension. 2014-06-26 20:48:19 +00:00
s3_srvr.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
s23_clnt.c Remove OPENSSL_FIPS blocks. 2014-07-07 20:31:50 +00:00
s23_lib.c Inital import. 2014-06-20 13:17:32 -07:00
s23_meth.c Inital import. 2014-06-20 13:17:32 -07:00
s23_pkt.c Inital import. 2014-06-20 13:17:32 -07:00
s23_srvr.c Remove OPENSSL_FIPS blocks. 2014-07-07 20:31:50 +00:00
srtp.h Inital import. 2014-06-20 13:17:32 -07:00
ssl2.h Inital import. 2014-06-20 13:17:32 -07:00
ssl3.h Remove is_probably_safari logic. 2014-07-07 20:32:29 +00:00
ssl23.h Inital import. 2014-06-20 13:17:32 -07:00
ssl_algs.c Inital import. 2014-06-20 13:17:32 -07:00
ssl_asn1.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
ssl_cert.c Remove SSL_copy_session_id. 2014-07-07 22:43:56 +00:00
ssl_ciph.c Remove OPENSSL_FIPS blocks. 2014-07-07 20:31:50 +00:00
ssl_error.c Check duplicate extensions before processing. 2014-07-08 22:17:59 +00:00
ssl_lib.c Remove SSL_copy_session_id. 2014-07-07 22:43:56 +00:00
ssl_locl.h Remove SSL_copy_session_id. 2014-07-07 22:43:56 +00:00
ssl_rsa.c Remove OPENSSL_NO_RSA 2014-07-07 20:20:53 +00:00
ssl_sess.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
ssl_stat.c Add support for asynchronous session lookup. 2014-06-20 13:17:32 -07:00
ssl_txt.c Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00
ssl.h Check duplicate extensions before processing. 2014-07-08 22:17:59 +00:00
t1_clnt.c Inital import. 2014-06-20 13:17:32 -07:00
t1_enc.c Remove OPENSSL_FIPS blocks. 2014-07-07 20:31:50 +00:00
t1_lib.c Check duplicate extensions before processing. 2014-07-08 22:17:59 +00:00
t1_meth.c Inital import. 2014-06-20 13:17:32 -07:00
t1_reneg.c Port ClientHello extensions parsing to crypto/bytestring. 2014-07-07 19:48:22 +00:00
t1_srvr.c Inital import. 2014-06-20 13:17:32 -07:00
tls1.h Remove OPENSSL_NO_TLSEXT compilation option. 2014-07-07 20:31:37 +00:00