Exhaustive DTLS handshake test

Sean Buckheister s_buckhe at cs.uni-kl.de
Sat Feb 11 18:42:23 CET 2012

> Thank you. What happens if flights are permuted?

Ironically, it works fine.

> I tried to run the
> app and I got:
> <client tls> An unexpected TLS packet was received. (fatal)
> -- ServerHello(012), ServerFinished(01), ClientFinished(012) :-

Wow. On your machine it fails with absolutely no change to the packet

> I'll try to figure out, but would be nice if you could explain the
> output of the test.

The output has three fields:

<Status> <Permutation variety> :- <Drop variety>

Status is either "++" for a successful test, or "--" for a failure.
Permutation variety lists each flight and the order in which packets
will be sent to the peer, so ServerHello(201) will send ServerHelloDone
first, then the other two packets in original order.
Drop variety simply lists packets that are dropped three times, drops
occuring after permutations.

> You mean you receive a fatal GNUTLS_E_TIMEDOUT earlier than expected?

Sort of. They don't occur too earlier (it doesn't feel too early in
wallclock time, anyway), but they do occur where they didn't in the
blocking case.

More information about the Gnutls-devel mailing list