Finish first round of session cache documentation.
[openssl.git] / doc / ssl / SSL_clear.pod
1 =pod
2
3 =head1 NAME
4
5 SSL_clear - reset SSL object to allow another connection
6
7 =head1 SYNOPSIS
8
9  #include <openssl/ssl.h>
10
11  int SSL_clear(SSL *ssl);
12
13 =head1 DESCRIPTION
14
15 Reset B<ssl> to allow another connection. All settings (method, ciphers,
16 BIOs) are kept.
17
18 =head1 NOTES
19
20 SSL_clear is used to prepare an SSL object for a new connection. While all
21 settings are kept, a side effect is the handling of the current SSL session.
22 If a session is still B<open>, it is considered bad and will be removed
23 from the session cache, as required by RFC2246. A session is considered open,
24 if L<SSL_shutdown(3)|SSL_shutdown(3)> was not called for the connection
25 or at least L<SSL_set_shutdown(3)|SSL_set_shutdown(3)> was used to
26 set the SSL_SENT_SHUTDOWN state.
27
28 =head1 RETURN VALUES
29
30 The following return values can occur:
31
32 =over 4
33
34 =item 0
35
36 The SSL_clear() operation could not be performed. Check the error stack to
37 find out the reason.
38
39 =item 1
40
41 The SSL_clear() operation was successful.
42
43 =back
44
45 L<SSL_new(3)|SSL_new(3)>, L<SSL_free(3)|SSL_free(3)>,
46 L<SSL_shutdown(3)|SSL_shutdown(3)>, L<SSL_set_shutdown(3)|SSL_set_shutdown(3)>,
47 L<SSL_CTX_set_options(3)|SSL_CTX_set_options(3)>, L<ssl(3)|ssl(3)>
48
49 =cut