gnutls_bye — API function
#include <gnutls/gnutls.h>
int
gnutls_bye( |
gnutls_session_t session, |
gnutls_close_request_t how) ; |
is a gnutls_session_t structure.
is an integer
Terminates the current TLS/SSL connection. The connection
should have been initiated using gnutls_handshake
(). how
should be one of
GNUTLS_SHUT_RDWR
, GNUTLS_SHUT_WR
.
In case of GNUTLS_SHUT_RDWR
the TLS session gets terminated and further receives and
sends will be disallowed. If the return value is zero you may
continue using the underlying transport layer. GNUTLS_SHUT_RDWR
sends an alert containing
a close request and waits for the peer to reply with the same
message.
In case of GNUTLS_SHUT_WR
the TLS session gets terminated and further sends will be
disallowed. In order to reuse the connection you should wait
for an EOF from the peer. GNUTLS_SHUT_WR
sends an alert containing a
close request.
Note that not all implementations will properly terminate a TLS connection. Some of them, usually for performance reasons, will terminate only the underlying transport layer, and thus not distinguishing between a malicious party prematurely terminating the connection and normal termination.
This function may also return GNUTLS_E_AGAIN or GNUTLS_E_INTERRUPTED; cf. gnutls_record_get_direction
().
GNUTLS_E_SUCCESS on success, or an error code, see function documentation for entire semantics.
Report bugs to <bug-gnutls@gnu.org>. GnuTLS home page: http://www.gnu.org/software/gnutls/ General help using GNU software: http://www.gnu.org/gethelp/
The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command
info gnutls
should give you access to the complete manual.
COPYRIGHT |
---|
Copyright © 2008 Free Software Foundation. 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. |