<!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=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<p style="color: #777777;">
<a href="https://gitlab.com/nmav">Nikos Mavrogiannopoulos</a>
commented:
</p>
<div style="">
<p dir="auto">Ok, I slept a little into it and I have an idea :)
The server hello parsing is checking extensions gradually as it progresses. When session resumption is selected in TLS1.2 only the "mandatory" extensions are parsed. See <a href="https://gitlab.com/gnutls/gnutls/blob/master/lib/handshake.c#L1939">this code</a>. So an idea is, that possibly some condition is not met for the new session ticket to be received later (something in <a href="https://gitlab.com/gnutls/gnutls/blob/master/lib/ext/session_ticket.c#L630">this code</a>. I have not checked the details nor verified it, but a fix may be:</p>
<pre class="code highlight js-syntax-highlight plaintext" lang="plaintext" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">diff --git a/lib/ext/session_ticket.c b/lib/ext/session_ticket.c</span>
<span id="LC2" class="line" lang="plaintext">index 98db39ff88..3ad8dec0ce 100644</span>
<span id="LC3" class="line" lang="plaintext">--- a/lib/ext/session_ticket.c</span>
<span id="LC4" class="line" lang="plaintext">+++ b/lib/ext/session_ticket.c</span>
<span id="LC5" class="line" lang="plaintext">@@ -54,7 +54,7 @@ const hello_ext_entry_st ext_mod_session_ticket = {</span>
<span id="LC6" class="line" lang="plaintext"> .gid = GNUTLS_EXTENSION_SESSION_TICKET,</span>
<span id="LC7" class="line" lang="plaintext"> .validity = GNUTLS_EXT_FLAG_TLS | GNUTLS_EXT_FLAG_DTLS | GNUTLS_EXT_FLAG_CLIENT_HELLO |</span>
<span id="LC8" class="line" lang="plaintext"> GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,</span>
<span id="LC9" class="line" lang="plaintext">- .parse_type = GNUTLS_EXT_TLS,</span>
<span id="LC10" class="line" lang="plaintext">+ .parse_type = GNUTLS_EXT_MANDATORY,</span>
<span id="LC11" class="line" lang="plaintext"> .recv_func = session_ticket_recv_params,</span>
<span id="LC12" class="line" lang="plaintext"> .send_func = session_ticket_send_params,</span>
<span id="LC13" class="line" lang="plaintext"> .pack_func = session_ticket_pack,</span></code></pre>
</div>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">
—
<br>
Reply to this email directly or <a href="https://gitlab.com/gnutls/gnutls/issues/841#note_225937699">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/23cc596b3371a8cf9fe0081fd741f489/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/841#note_225937699"}}</script>
</p>
</div>
</body>
</html>