File: gnutls_bye

package info (click to toggle)
gnutls28 3.3.8-6
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 51,388 kB
  • sloc: ansic: 191,357; asm: 60,370; sh: 21,457; makefile: 5,257; lisp: 1,531; yacc: 1,254; cpp: 1,155; perl: 199; sed: 16
file content (36 lines) | stat: -rw-r--r-- 1,522 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36




@deftypefun {int} {gnutls_bye} (gnutls_session_t @var{session}, gnutls_close_request_t @var{how})
@var{session}: is a @code{gnutls_session_t}  structure.

@var{how}: is an integer

Terminates the current TLS/SSL connection. The connection should
have been initiated using @code{gnutls_handshake()} .   @code{how} should be one
of @code{GNUTLS_SHUT_RDWR} , @code{GNUTLS_SHUT_WR} .

In case of @code{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. @code{GNUTLS_SHUT_RDWR}  sends an alert containing a close
request and waits for the peer to reply with the same message.

In case of @code{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.
@code{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 @code{GNUTLS_E_AGAIN}  or
@code{GNUTLS_E_INTERRUPTED} ; cf.  @code{gnutls_record_get_direction()} .

@strong{Returns:} @code{GNUTLS_E_SUCCESS}  on success, or an error code, see
function documentation for entire semantics.
@end deftypefun