manpagez: man pages & more
man gnutls_rehandshake(3)
Home | html | info | man
gnutls_rehandshake(3)               gnutls               gnutls_rehandshake(3)




NAME

       gnutls_rehandshake - API function


SYNOPSIS

       #include <gnutls/gnutls.h>

       gnutls_rehandshake(3) 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 proto-
       col  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  applica-
       tion  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_ses-
       sion_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: http://www.gnutls.org



COPYRIGHT

       Copyright (C) 2001-2018 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

       http://www.gnutls.org/manual/




gnutls                               3.6.5               gnutls_rehandshake(3)

gnutls 3.6.5 - Generated Sun Jan 20 09:00:33 CST 2019
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.