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