Reliable way to check if there is %NO_TICKETS in the current configured priority

Oto Šťáva <[email protected]> Wed, 17 Jan 2024 14:47:59 +0100
Newsgroups gmane.network.gnutls.general
Message-ID <[email protected]>
Hi all,

I have an application that allows the user to set their own priority 
string for GnuTLS, including the %NO_TICKETS keyword, which disables TLS 
resumption. That same application also supports QUIC via the ngtcp2 
library. There is an edge-case where if I set %NO_TICKETS and attempt to 
use 0-RTT functions of the ngtcp2 library, the QUIC connection gets into 
an invalid state and eventually crashes with an assertion error. Is 
there some API through which I can reliably check whether tickets are 
enabled for a session so as to avoid calling the 0-RTT-related functions 
in such a case? I tried via (gnutls_session_get_flags(...) & 
GNUTLS_SFLAGS_SESSION_TICKET), but that returns true even when 
%NO_TICKETS is present in the priority string. Would I have to parse the 
priority string manually?

Regards
Oto