gnutls_session_get_data2(3) — Linux manual page


gnutls_session_get_data2(3)      gnutls      gnutls_session_get_data2(3)

NAME         top

       gnutls_session_get_data2 - API function

SYNOPSIS         top

       #include <gnutls/gnutls.h>

       int gnutls_session_get_data2(gnutls_session_t session,
       gnutls_datum_t * data);

ARGUMENTS         top

       gnutls_session_t session
                   is a gnutls_session_t type.

       gnutls_datum_t * data
                   is a pointer to a datum that will hold the session.

DESCRIPTION         top

       Returns necessary parameters to support resumption. The client
       should call this function and store the returned session data. A
       session can be resumed later by calling gnutls_session_set_data()
       with the returned data. Note that under TLS 1.3, it is
       recommended for clients to use session parameters only once, to
       prevent passive-observers from correlating the different

       The returned  data are allocated and must be released using

       This function will fail if called prior to handshake completion.
       In case of false start TLS, the handshake completes only after
       data have been successfully received from the peer.

       Under TLS1.3 session resumption is possible only after a session
       ticket is received by the client. To ensure that such a ticket
       has been received use gnutls_session_get_flags() and check for
       flag GNUTLS_SFLAGS_SESSION_TICKET; if this flag is not set, this
       function will wait for a new ticket within an estimated
       roundtrip, and if not received will return dummy data which
       cannot lead to resumption.

       To get notified when new tickets are received by the server use
       gnutls_handshake_set_hook_function() to wait for
       GNUTLS_HANDSHAKE_NEW_SESSION_TICKET messages. Each call of
       gnutls_session_get_data2() after a ticket is received, will
       return session resumption data corresponding to the last received

       Note that this function under TLS1.3 requires a callback to be
       set with gnutls_transport_set_pull_timeout_function() for
       successful operation. There was a bug before 3.6.10 which could
       make this function fail if that callback was not set. On later
       versions if not set, the function will return a successful error
       code, but will return dummy data that cannot lead to a

RETURNS         top

       On success, GNUTLS_E_SUCCESS (0) is returned, otherwise an error
       code is returned.

REPORTING BUGS         top

       Report bugs to <>.
       Home page:

COPYRIGHT         top

       Copyright © 2001-2023 Free Software Foundation, Inc., and others.
       Copying and distribution of this file, with or without
       modification, are permitted in any medium without royalty
       provided the copyright notice and this notice are preserved.

SEE ALSO         top

       The full documentation for gnutls is maintained as a Texinfo
       manual.  If the /usr/share/doc/gnutls/ directory does not contain
       the HTML form visit

COLOPHON         top

       This page is part of the GnuTLS (GnuTLS Transport Layer Security
       Library) project.  Information about the project can be found at
       ⟨⟩.  If you have a bug report for this
       manual page, send it to  This page was obtained
       from the tarball gnutls-3.8.2.tar.xz fetched from
       ⟨⟩ on 2023-12-22.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to

gnutls                            3.8.2      gnutls_session_get_data2(3)