gnutls_bye3
Api function
Usage
#include <gnutls/gnutls.h>
int gnutls_bye(gnutls_session_t session, gnutls_close_request_t how);
Arguments
gnutls_session_t session
|
is a |
|---|---|
gnutls_close_request_t how
|
is an integer |
Overview
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().
Returns
GNUTLS_E_SUCCESS on success, or an error code, see function documentation for entire semantics.
Releases
10 releases since Debian 4.0 (Etch); the text changed 9 times.