Provided by: gnutls-doc_3.8.3-1.1ubuntu3.4_all bug

NAME

       gnutls_rehandshake - API function

SYNOPSIS

       #include <gnutls/gnutls.h>

       int gnutls_rehandshake(gnutls_session_t session);

ARGUMENTS

       gnutls_session_t session
                   is a gnutls_session_t type.

DESCRIPTION

       This function can only be called in server side, and instructs a TLS 1.2 or earlier client to renegotiate
       parameters (perform a handshake), by sending a hello request message.

       If   this   function   succeeds,   the   calling   application  should  call  gnutls_record_recv()  until
       GNUTLS_E_REHANDSHAKE is returned to clear any pending data. If the GNUTLS_E_REHANDSHAKE error code is not
       seen, then the handshake request was not followed by the peer (the TLS  protocol  does  not  require  the
       client to do, and such compliance should be handled by the application protocol).

       Once  the  GNUTLS_E_REHANDSHAKE  error  code  is  seen, the calling application should proceed to calling
       gnutls_handshake() to negotiate the new parameters.

       If the client does not wish to renegotiate parameters he may reply with an alert  message,  and  in  that
       case the return code seen by subsequent gnutls_record_recv() will be GNUTLS_E_WARNING_ALERT_RECEIVED with
       the specific alert being GNUTLS_A_NO_RENEGOTIATION.  A client may also choose to ignore this request.

       Under TLS 1.3 this function is equivalent to gnutls_session_key_update() with the GNUTLS_KU_PEER flag. In
       that  case  subsequent  calls  to gnutls_record_recv() will not return GNUTLS_E_REHANDSHAKE, and calls to
       gnutls_handshake() in server side are a no-op.

       This function always fails with GNUTLS_E_INVALID_REQUEST when called in client side.

RETURNS

       GNUTLS_E_SUCCESS on success, otherwise a negative error code.

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/

gnutls                                                3.8.3                                gnutls_rehandshake(3)