boringssl/ssl
David Benjamin 8b8c006564 Fix DTLS_ANY_VERSION and add tests.
This fixes bugs that kept the tests from working:

- Resolve DTLS version and cookie before the session.

- In DTLS_ANY_VERSION, ServerHello should be read with first_packet = 1. This
  is a regression from f2fedefdca. We'll want to
  do the same for TLS, but first let's change this to a boolean has_version in a
  follow-up.

Things not yet fixed:

- DTLS code is not EVP_AEAD-aware. Those ciphers are disabled for now.

- On the client, DTLS_ANY_VERSION creates SSL_SESSIONs with the wrong
  ssl_version. The tests pass because we no longer enforce the match as of
  e37216f56009fbf48c3a1e733b7a546ca6dfc2af. (In fact, we've gone from the server
  ignoring ssl_version and client enforcing to the client mostly ignoring
  ssl_version and the server enforcing.)

- ssl3_send_client_hello's ssl_version check checks for equality against
  s->version rather than >.

Change-Id: I5a0dde221b2009413df9b9443882b9bf3b29519c
Reviewed-on: https://boringssl-review.googlesource.com/2403
Reviewed-by: Adam Langley <agl@google.com>
2014-12-02 19:27:54 +00:00
..
pqueue Test insertion of duplicates in pqueue_test. 2014-11-06 01:46:57 +00:00
test Fix DTLS_ANY_VERSION and add tests. 2014-12-02 19:27:54 +00:00
CMakeLists.txt Merge the get_ssl_method hooks between TLS and SSLv3. 2014-09-30 22:58:59 +00:00
d1_both.c Remove DTLSv1_listen. 2014-11-10 22:39:24 +00:00
d1_clnt.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
d1_enc.c Remove KSSL_DEBUG. 2014-11-04 19:35:38 +00:00
d1_lib.c Fix DTLS_ANY_VERSION and add tests. 2014-12-02 19:27:54 +00:00
d1_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
d1_pkt.c Fix DTLS_ANY_VERSION and add tests. 2014-12-02 19:27:54 +00:00
d1_srtp.c Add less dangerous versions of SRTP functions. 2014-10-27 21:58:09 +00:00
d1_srvr.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s3_both.c Remove remnant of MS SGC second ClientHello. 2014-11-04 00:25:13 +00:00
s3_cbc.c Add malloc failure tests. 2014-11-19 01:24:46 +00:00
s3_clnt.c Fix DTLS_ANY_VERSION and add tests. 2014-12-02 19:27:54 +00:00
s3_enc.c Fix a couple more malloc test crashes. 2014-11-19 22:17:50 +00:00
s3_lib.c Remove CERT_PKEY::valid_flags. 2014-11-18 22:22:23 +00:00
s3_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s3_pkt.c Remove support for processing fragmented alerts 2014-11-13 22:58:30 +00:00
s3_srvr.c Fix DTLS_ANY_VERSION and add tests. 2014-12-02 19:27:54 +00:00
s23_clnt.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s23_lib.c Remove default_timeout hook. 2014-08-18 17:25:20 +00:00
s23_meth.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
s23_pkt.c Inital import. 2014-06-20 13:17:32 -07:00
s23_srvr.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
ssl_algs.c Remove indirection in loading ciphers. 2014-09-15 21:06:10 +00:00
ssl_asn1.c Remove psk_identity_hint from SSL_SESSION. 2014-11-10 23:59:47 +00:00
ssl_cert.c Account for EVP_PKEY capabilities in selecting hash functions. 2014-11-18 22:22:33 +00:00
ssl_ciph.c Remove client-side support for ServerKeyExchange in the RSA key exchange. 2014-11-10 23:00:09 +00:00
ssl_error.c Remove support for processing fragmented alerts 2014-11-13 22:58:30 +00:00
ssl_lib.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
ssl_locl.h Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
ssl_rsa.c Clean up ssl_set_cert_masks. 2014-11-18 22:21:52 +00:00
ssl_sess.c Remove method swap in SSL_set_session. 2014-12-02 19:26:30 +00:00
ssl_stat.c unifdef a bunch of OPENSSL_NO_* ifdefs. 2014-08-28 00:41:34 +00:00
ssl_test.c Remove psk_identity_hint from SSL_SESSION. 2014-11-10 23:59:47 +00:00
ssl_txt.c Remove some remnants of SSLv2. 2014-11-17 20:27:13 +00:00
t1_enc.c Add malloc failure tests. 2014-11-19 01:24:46 +00:00
t1_lib.c Remove SSL_set_session_secret_cb (EAP-FAST) 2014-11-21 21:51:10 +00:00
t1_reneg.c Port ssl3_get_client_hello to CBS. 2014-07-15 18:30:09 +00:00