gnutls_handshake_set_post_client_hello_function(3) — Linux manual page
gnutls_hands...ello_function(3) gnutls gnutls_hands...ello_function(3)
NAME
gnutls_handshake_set_post_client_hello_function - API function
SYNOPSIS
#include <gnutls/gnutls.h>
void
gnutls_handshake_set_post_client_hello_function(gnutls_session_t
session, gnutls_handshake_simple_hook_func func);
ARGUMENTS
gnutls_session_t session
is a gnutls_session_t type.
gnutls_handshake_simple_hook_func func
is the function to be called
DESCRIPTION
This function will set a callback to be called after the client
hello has been received (callback valid in server side only).
This allows the server to adjust settings based on received
extensions.
Those settings could be ciphersuites, requesting certificate, or
anything else except for version negotiation (this is done before
the hello message is parsed).
This callback must return 0 on success or a gnutls error code to
terminate the handshake.
Since GnuTLS 3.3.5 the callback is allowed to return
GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED to put the handshake on
hold. In that case gnutls_handshake() will return
GNUTLS_E_INTERRUPTED and can be resumed when needed.
WARNING
You should not use this function to terminate the handshake based
on client input unless you know what you are doing. Before the
handshake is finished there is no way to know if there is a
man-in-the-middle attack being performed.
REPORTING BUGS
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
COPYRIGHT
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
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
https://www.gnutls.org/manual/
COLOPHON
This page is part of the GnuTLS (GnuTLS Transport Layer Security
Library) project. Information about the project can be found at
⟨http://www.gnutls.org/⟩. If you have a bug report for this
manual page, send it to bugs@gnutls.org. This page was obtained
from the tarball gnutls-3.8.5.tar.xz fetched from
⟨http://www.gnutls.org/download.html⟩ on 2024-06-14. 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 man-pages@man7.org