Blame doc/man3/SSL_CTX_set_quiet_shutdown.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
SSL_CTX_set_quiet_shutdown, SSL_CTX_get_quiet_shutdown, SSL_set_quiet_shutdown, SSL_get_quiet_shutdown - manipulate shutdown behaviour
Packit c4476c
Packit c4476c
=head1 SYNOPSIS
Packit c4476c
Packit c4476c
 #include <openssl/ssl.h>
Packit c4476c
Packit c4476c
 void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);
Packit c4476c
 int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);
Packit c4476c
Packit c4476c
 void SSL_set_quiet_shutdown(SSL *ssl, int mode);
Packit c4476c
 int SSL_get_quiet_shutdown(const SSL *ssl);
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
SSL_CTX_set_quiet_shutdown() sets the "quiet shutdown" flag for B<ctx> to be
Packit c4476c
B<mode>. SSL objects created from B<ctx> inherit the B<mode> valid at the time
Packit c4476c
L<SSL_new(3)> is called. B<mode> may be 0 or 1.
Packit c4476c
Packit c4476c
SSL_CTX_get_quiet_shutdown() returns the "quiet shutdown" setting of B<ctx>.
Packit c4476c
Packit c4476c
SSL_set_quiet_shutdown() sets the "quiet shutdown" flag for B<ssl> to be
Packit c4476c
B<mode>. The setting stays valid until B<ssl> is removed with
Packit c4476c
L<SSL_free(3)> or SSL_set_quiet_shutdown() is called again.
Packit c4476c
It is not changed when L<SSL_clear(3)> is called.
Packit c4476c
B<mode> may be 0 or 1.
Packit c4476c
Packit c4476c
SSL_get_quiet_shutdown() returns the "quiet shutdown" setting of B<ssl>.
Packit c4476c
Packit c4476c
=head1 NOTES
Packit c4476c
Packit c4476c
Normally when a SSL connection is finished, the parties must send out
Packit c4476c
close_notify alert messages using L<SSL_shutdown(3)>
Packit c4476c
for a clean shutdown.
Packit c4476c
Packit c4476c
When setting the "quiet shutdown" flag to 1, L<SSL_shutdown(3)>
Packit c4476c
will set the internal flags to SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN.
Packit c4476c
(L<SSL_shutdown(3)> then behaves like
Packit c4476c
L<SSL_set_shutdown(3)> called with
Packit c4476c
SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN.)
Packit c4476c
The session is thus considered to be shutdown, but no close_notify alert
Packit c4476c
is sent to the peer. This behaviour violates the TLS standard.
Packit c4476c
Packit c4476c
The default is normal shutdown behaviour as described by the TLS standard.
Packit c4476c
Packit c4476c
=head1 RETURN VALUES
Packit c4476c
Packit c4476c
SSL_CTX_set_quiet_shutdown() and SSL_set_quiet_shutdown() do not return
Packit c4476c
diagnostic information.
Packit c4476c
Packit c4476c
SSL_CTX_get_quiet_shutdown() and SSL_get_quiet_shutdown return the current
Packit c4476c
setting.
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<ssl(7)>, L<SSL_shutdown(3)>,
Packit c4476c
L<SSL_set_shutdown(3)>, L<SSL_new(3)>,
Packit c4476c
L<SSL_clear(3)>, L<SSL_free(3)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut