boringssl/ssl/test/runner
David Benjamin c67a3ae6ba Drop retransmits in DTLS tests.
BoringSSL currently retransmits non-deterministically on an internal timer
(rather than one supplied externally), so the tests currently fail flakily
depending on timing. Valgrind is a common source for this. We still assume an
in-order and reliable channel, but drop retransmits silently:

- Handshake messages may arrive with old sequence numbers.

- Retransmitted CCS records arrive from the previous epoch.

- We may receive a retransmitted Finished after we believe the handshake has
  completed. (Aside: even in a real implementation, only Finished is possible
  here. Even with out-of-order delivery, retransmitted or reordered messages
  earlier in the handshake come in under a different epoch.)

Note that because DTLS renego and a Finished retransmit are ambiguous at the
record layer[*], this precludes us writing tests for DTLS renego. But DTLS
renego should get removed anyway. As BoringSSL currently implements renego,
this ambiguity is also a source of complexity in the real implementation. (See
the SSL3_MT_FINISHED check in dtls1_read_bytes.)

[*] As a further fun aside, it's also complex if dispatching renego vs Finished
after handshake message reassembly. The spec doesn't directly say the sequence
number is reset across renegos, but it says "The first message each side
transmits in /each/ handshake always has message_seq = 0". This means that such
an implementation needs the handshake message reassembly logic be aware that a
Finished fragment with high sequence number is NOT an out-of-order fragment for
the next handshake.

Change-Id: I35d13560f82bcb5eeda62f4de1571d28c818cc36
Reviewed-on: https://boringssl-review.googlesource.com/2770
Reviewed-by: Adam Langley <agl@google.com>
2015-01-14 21:13:05 +00:00
..
alert.go Inital import. 2014-06-20 13:17:32 -07:00
cert.pem Inital import. 2014-06-20 13:17:32 -07:00
channel_id_key.pem Add basic TLS Channel ID tests. 2014-08-26 17:40:36 +00:00
cipher_suites.go Don't set client_version to the ServerHello version. 2014-12-11 18:49:42 +00:00
common.go Add a basic MTU test. 2015-01-12 22:37:25 +00:00
conn.go Drop retransmits in DTLS tests. 2015-01-14 21:13:05 +00:00
dtls.go Drop retransmits in DTLS tests. 2015-01-14 21:13:05 +00:00
ecdsa_cert.pem Inital import. 2014-06-20 13:17:32 -07:00
ecdsa_key.pem Inital import. 2014-06-20 13:17:32 -07:00
handshake_client.go Left-pad a V2ClientHello's random, not right-pad. 2014-12-02 19:44:12 +00:00
handshake_messages.go Add tests for OCSP stapling and SCT lists. 2014-12-02 19:26:01 +00:00
handshake_server.go ClientHello Padding for Fast Radio Opening in 3G. 2014-12-04 14:30:16 -08:00
key_agreement.go Don't set client_version to the ServerHello version. 2014-12-11 18:49:42 +00:00
key.pem Inital import. 2014-06-20 13:17:32 -07:00
packet_adapter.go Add DTLS replay tests. 2014-11-10 23:58:56 +00:00
prf.go Add tests for signature algorithm negotiation. 2014-11-18 22:30:03 +00:00
recordingconn.go Extended master secret support. 2014-10-24 21:19:44 +00:00
runner.go Support EVP_AEAD in DTLS. 2015-01-14 21:03:40 +00:00
ticket.go Extended master secret support. 2014-10-24 21:19:44 +00:00
tls.go Add DTLS replay tests. 2014-11-10 23:58:56 +00:00