Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
gnutls_rehandshake(3)		     gnutls		   gnutls_rehandshake(3)

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  ap-
     plication protocol).

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

     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 spe-
     cific 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 (C) 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/local/share/doc/gnutls/ directory does not contain the  HTML  form
     visit

     https://www.gnutls.org/manual/

gnutls				     3.8.13		   gnutls_rehandshake(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gnutls_rehandshake&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help