boringssl/ssl
David Benjamin 091c4b9869 Add an option to disable NPN on a per-SSL basis.
Right whether NPN is advertised can only be configured globally on the SSL_CTX.
Rather than adding two pointers to each SSL*, add an options bit to disable it
so we may plumb in a field trial to disable NPN.

Chromium wants to be able to route a bit in to disable NPN, but it uses SSL_CTX
incorrectly and has a global one, so it can't disconnect the callback. (That
really needs to get fixed. Although it's not clear this necessarily wants to be
lifted up to SSL_CTX as far as Chromium's SSLClientSocket is concerned since
NPN doesn't interact with the session cache.)

BUG=526713

Change-Id: I49c86828b963eb341c6ea6a442557b7dfa190ed3
Reviewed-on: https://boringssl-review.googlesource.com/6351
Reviewed-by: Adam Langley <alangley@gmail.com>
2015-10-26 19:56:52 +00:00
..
pqueue Deprecate SSL_library_init. 2015-10-26 18:36:23 +00:00
test Add an option to disable NPN on a per-SSL basis. 2015-10-26 19:56:52 +00:00
CMakeLists.txt Remove SSL_SESSION_print*. 2015-10-13 19:24:14 +00:00
custom_extensions.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
d1_both.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
d1_clnt.c Document the info callback. 2015-10-26 18:12:22 +00:00
d1_lib.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
d1_meth.c Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
d1_pkt.c Document the info callback. 2015-10-26 18:12:22 +00:00
d1_srtp.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
d1_srvr.c Document the info callback. 2015-10-26 18:12:22 +00:00
dtls_record.c Reject empty records of unexpected type. 2015-08-28 22:03:00 +00:00
internal.h Never use the internal session cache for a client. 2015-10-26 19:27:28 +00:00
s3_both.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
s3_clnt.c Never use the internal session cache for a client. 2015-10-26 19:27:28 +00:00
s3_enc.c Change some "int" variables to "size_t" in ssl3_handshake_mac(). 2015-09-24 00:04:59 +00:00
s3_lib.c Convert ssl3_send_channel_id to CBB. 2015-10-20 18:16:46 +00:00
s3_meth.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
s3_pkt.c Document the info callback. 2015-10-26 18:12:22 +00:00
s3_srvr.c Remove all the logic around custom session IDs and retrying on collisions. 2015-10-26 19:00:14 +00:00
ssl_aead_ctx.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
ssl_asn1.c Unexport SSL_SESSION_ASN1_VERSION. 2015-10-20 18:41:08 +00:00
ssl_buffer.c Fix buffer size computation. 2015-09-01 20:18:21 +00:00
ssl_cert.c Document certificate verification functions in SSL. 2015-09-23 23:31:18 +00:00
ssl_cipher.c Deprecate all the string macros. 2015-10-26 18:15:33 +00:00
ssl_file.c More SSL_SESSION serialization functions. 2015-10-26 17:57:50 +00:00
ssl_lib.c Never use the internal session cache for a client. 2015-10-26 19:27:28 +00:00
ssl_rsa.c Adding more options for signing digest fallback. 2015-09-23 21:55:01 +00:00
ssl_session.c Tidy up SSL_CTX_add_session. 2015-10-26 19:22:40 +00:00
ssl_stat.c Document alert handling. 2015-10-20 19:03:24 +00:00
ssl_test.cc Correctly free SSL_SESSIONs in ssl_test. 2015-10-26 19:49:16 +00:00
t1_enc.c Align the SSL stack on #include style. 2015-09-15 23:32:07 +00:00
t1_lib.c Add an option to disable NPN on a per-SSL basis. 2015-10-26 19:56:52 +00:00
tls_record.c Add use counters for SSL_OP_TLS_D5_BUG and SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER. 2015-10-20 18:22:47 +00:00