<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>


<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<div></div>
<p dir="auto">I am not sure if this is a bug or something intended. Analyzing models of the GnuTLS DTLS server implementation by <a href="http://www.cs.ru.nl/~joeri/StateMachineInference.html" rel="nofollow noreferrer noopener" target="_blank">state learning</a>, I noticed that the DTLS server will initially respond with HELLO_VERIFY_REQUEST to not only to CLIENT_HELLO messages, but also to most other messages. Attached is a Wireshark capture of GnuTLS v. 3.5.19 doing this for a FINISHED message, and actually completing the handshake, plus the model obtained (viewable via xdot, BTW I couldn't find much else wrong in it). This is reproducible also on the latest GnuTLS version.</p>
<p dir="auto">The command for running the server is:
<code>gnutls-serv --udp --disable-client-cert --pskpasswd some_path_to_keys --port 20000 --priority NORMAL:+PSK:+SRP</code></p>
<p dir="auto">I was wondering if this was intended behavior. It seems weird, as the DTLS specification is quite clear about the flow of a handshake (CLIENT_HELLO/HELLO_VERIFY_REQUEST CLIENT_HELLO/SERVER_HELLO...). Weirder still, HELLO_VERIFY_REQUEST is sent also in response to ALERT messages.</p>
<p dir="auto"><a href="https://gitlab.com/gnutls/gnutls/uploads/3316243dd059d5796db178cb3bdfcb31/gnutls_onehello_handshake.pcapng">gnutls_onehello_handshake.pcapng</a>
<a href="https://gitlab.com/gnutls/gnutls/uploads/527dae5bd07038c5f81110bb86c8cc98/gnutls.dot">gnutls.dot</a></p>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777777;">

<br>
Reply to this email directly or <a href="https://gitlab.com/gnutls/gnutls/issues/632">view it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
<a href="https://gitlab.com/sent_notifications/39dc79c05c963c5e6eb2ff4c32f9db64/unsubscribe">unsubscribe</a>
from this thread or
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Issue","url":"https://gitlab.com/gnutls/gnutls/issues/632"}}</script>
</p>
</div>
</body>
</html>