Provided by: gnutls-doc_3.7.8-5ubuntu1_all bug

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- 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/

gnutls                                        3gnutls_handshake_set_post_client_hello_function(3)