]>
Commit | Line | Data |
---|---|---|
cdd7c3ce LJ |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | SSL_CTX_set_quiet_shutdown, SSL_CTX_get_quiet_shutdown, SSL_set_quiet_shutdown, SSL_get_quiet_shutdown - manipulate shutdown behaviour | |
6 | ||
7 | =head1 SYNOPSIS | |
8 | ||
9 | #include <openssl/ssl.h> | |
10 | ||
11 | void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode); | |
c3e64028 | 12 | int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); |
cdd7c3ce LJ |
13 | |
14 | void SSL_set_quiet_shutdown(SSL *ssl, int mode); | |
c3e64028 | 15 | int SSL_get_quiet_shutdown(const SSL *ssl); |
cdd7c3ce LJ |
16 | |
17 | =head1 DESCRIPTION | |
18 | ||
19 | SSL_CTX_set_quiet_shutdown() sets the "quiet shutdown" flag for B<ctx> to be | |
20 | B<mode>. SSL objects created from B<ctx> inherit the B<mode> valid at the time | |
9b86974e | 21 | L<SSL_new(3)> is called. B<mode> may be 0 or 1. |
cdd7c3ce LJ |
22 | |
23 | SSL_CTX_get_quiet_shutdown() returns the "quiet shutdown" setting of B<ctx>. | |
24 | ||
25 | SSL_set_quiet_shutdown() sets the "quiet shutdown" flag for B<ssl> to be | |
26 | B<mode>. The setting stays valid until B<ssl> is removed with | |
9b86974e RS |
27 | L<SSL_free(3)> or SSL_set_quiet_shutdown() is called again. |
28 | It is not changed when L<SSL_clear(3)> is called. | |
cdd7c3ce LJ |
29 | B<mode> may be 0 or 1. |
30 | ||
31 | SSL_get_quiet_shutdown() returns the "quiet shutdown" setting of B<ssl>. | |
32 | ||
f66f0d3c HL |
33 | These functions are not supported for QUIC SSL objects. |
34 | ||
cdd7c3ce LJ |
35 | =head1 NOTES |
36 | ||
37 | Normally when a SSL connection is finished, the parties must send out | |
8e593f0a | 38 | close_notify alert messages using L<SSL_shutdown(3)> |
cdd7c3ce LJ |
39 | for a clean shutdown. |
40 | ||
9b86974e | 41 | When setting the "quiet shutdown" flag to 1, L<SSL_shutdown(3)> |
cdd7c3ce | 42 | will set the internal flags to SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN. |
9b86974e RS |
43 | (L<SSL_shutdown(3)> then behaves like |
44 | L<SSL_set_shutdown(3)> called with | |
cdd7c3ce | 45 | SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN.) |
8e593f0a | 46 | The session is thus considered to be shutdown, but no close_notify alert |
cdd7c3ce LJ |
47 | is sent to the peer. This behaviour violates the TLS standard. |
48 | ||
49 | The default is normal shutdown behaviour as described by the TLS standard. | |
50 | ||
51 | =head1 RETURN VALUES | |
52 | ||
53 | SSL_CTX_set_quiet_shutdown() and SSL_set_quiet_shutdown() do not return | |
54 | diagnostic information. | |
55 | ||
56 | SSL_CTX_get_quiet_shutdown() and SSL_get_quiet_shutdown return the current | |
57 | setting. | |
58 | ||
59 | =head1 SEE ALSO | |
60 | ||
b97fdb57 | 61 | L<ssl(7)>, L<SSL_shutdown(3)>, |
9b86974e RS |
62 | L<SSL_set_shutdown(3)>, L<SSL_new(3)>, |
63 | L<SSL_clear(3)>, L<SSL_free(3)> | |
cdd7c3ce | 64 | |
e2f92610 RS |
65 | =head1 COPYRIGHT |
66 | ||
c486283c | 67 | Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 | 68 | |
4746f25a | 69 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
70 | this file except in compliance with the License. You can obtain a copy |
71 | in the file LICENSE in the source distribution or at | |
72 | L<https://www.openssl.org/source/license.html>. | |
73 | ||
74 | =cut |