
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); 12: int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); 13: 14: void SSL_set_quiet_shutdown(SSL *ssl, int mode); 15: int SSL_get_quiet_shutdown(const SSL *ssl); 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 21: L<SSL_new(3)|SSL_new(3)> is called. B<mode> may be 0 or 1. 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 27: L<SSL_free(3)|SSL_free(3)> or SSL_set_quiet_shutdown() is called again. 28: It is not changed when L<SSL_clear(3)|SSL_clear(3)> is called. 29: B<mode> may be 0 or 1. 30: 31: SSL_get_quiet_shutdown() returns the "quiet shutdown" setting of B<ssl>. 32: 33: =head1 NOTES 34: 35: Normally when a SSL connection is finished, the parties must send out 36: "close notify" alert messages using L<SSL_shutdown(3)|SSL_shutdown(3)> 37: for a clean shutdown. 38: 39: When setting the "quiet shutdown" flag to 1, L<SSL_shutdown(3)|SSL_shutdown(3)> 40: will set the internal flags to SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN. 41: (L<SSL_shutdown(3)|SSL_shutdown(3)> then behaves like 42: L<SSL_set_shutdown(3)|SSL_set_shutdown(3)> called with 43: SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN.) 44: The session is thus considered to be shutdown, but no "close notify" alert 45: is sent to the peer. This behaviour violates the TLS standard. 46: 47: The default is normal shutdown behaviour as described by the TLS standard. 48: 49: =head1 RETURN VALUES 50: 51: SSL_CTX_set_quiet_shutdown() and SSL_set_quiet_shutdown() do not return 52: diagnostic information. 53: 54: SSL_CTX_get_quiet_shutdown() and SSL_get_quiet_shutdown return the current 55: setting. 56: 57: =head1 SEE ALSO 58: 59: L<ssl(3)|ssl(3)>, L<SSL_shutdown(3)|SSL_shutdown(3)>, 60: L<SSL_set_shutdown(3)|SSL_set_shutdown(3)>, L<SSL_new(3)|SSL_new(3)>, 61: L<SSL_clear(3)|SSL_clear(3)>, L<SSL_free(3)|SSL_free(3)> 62: 63: =cut