1.\" $OpenBSD: SSL_CTX_set_quiet_shutdown.3,v 1.2 2016/12/01 16:46:59 schwarze Exp $ 2.\" OpenSSL b97fdb57 Nov 11 09:33:09 2016 +0100 3.\" 4.\" This file was written by Lutz Jaenicke <jaenicke@openssl.org>. 5.\" Copyright (c) 2001, 2005 The OpenSSL Project. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 11.\" 1. Redistributions of source code must retain the above copyright 12.\" notice, this list of conditions and the following disclaimer. 13.\" 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in 16.\" the documentation and/or other materials provided with the 17.\" distribution. 18.\" 19.\" 3. All advertising materials mentioning features or use of this 20.\" software must display the following acknowledgment: 21.\" "This product includes software developed by the OpenSSL Project 22.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 23.\" 24.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 25.\" endorse or promote products derived from this software without 26.\" prior written permission. For written permission, please contact 27.\" openssl-core@openssl.org. 28.\" 29.\" 5. Products derived from this software may not be called "OpenSSL" 30.\" nor may "OpenSSL" appear in their names without prior written 31.\" permission of the OpenSSL Project. 32.\" 33.\" 6. Redistributions of any form whatsoever must retain the following 34.\" acknowledgment: 35.\" "This product includes software developed by the OpenSSL Project 36.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" 37.\" 38.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 39.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 40.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 41.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 42.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 43.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 44.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 45.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 46.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 47.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 50.\" 51.Dd $Mdocdate: December 1 2016 $ 52.Dt SSL_CTX_SET_QUIET_SHUTDOWN 3 53.Os 54.Sh NAME 55.Nm SSL_CTX_set_quiet_shutdown , 56.Nm SSL_CTX_get_quiet_shutdown , 57.Nm SSL_set_quiet_shutdown , 58.Nm SSL_get_quiet_shutdown 59.Nd manipulate shutdown behaviour 60.Sh SYNOPSIS 61.In openssl/ssl.h 62.Ft void 63.Fn SSL_CTX_set_quiet_shutdown "SSL_CTX *ctx" "int mode" 64.Ft int 65.Fn SSL_CTX_get_quiet_shutdown "const SSL_CTX *ctx" 66.Ft void 67.Fn SSL_set_quiet_shutdown "SSL *ssl" "int mode" 68.Ft int 69.Fn SSL_get_quiet_shutdown "const SSL *ssl" 70.Sh DESCRIPTION 71.Fn SSL_CTX_set_quiet_shutdown 72sets the 73.Dq quiet shutdown 74flag for 75.Fa ctx 76to be 77.Fa mode . 78.Vt SSL 79objects created from 80.Fa ctx 81inherit the 82.Fa mode 83valid at the time 84.Xr SSL_new 3 85is called. 86.Fa mode 87may be 0 or 1. 88.Pp 89.Fn SSL_CTX_get_quiet_shutdown 90returns the 91.Dq quiet shutdown 92setting of 93.Fa ctx . 94.Pp 95.Fn SSL_set_quiet_shutdown 96sets the 97.Dq quiet shutdown 98flag for 99.Fa ssl 100to be 101.Fa mode . 102The setting stays valid until 103.Fa ssl 104is removed with 105.Xr SSL_free 3 106or 107.Fn SSL_set_quiet_shutdown 108is called again. 109It is not changed when 110.Xr SSL_clear 3 111is called. 112.Fa mode 113may be 0 or 1. 114.Pp 115.Fn SSL_get_quiet_shutdown 116returns the 117.Dq quiet shutdown 118setting of 119.Fa ssl . 120.Sh NOTES 121Normally when a SSL connection is finished, the parties must send out 122.Dq close notify 123alert messages using 124.Xr SSL_shutdown 3 125for a clean shutdown. 126.Pp 127When setting the 128.Dq quiet shutdown 129flag to 1, 130.Xr SSL_shutdown 3 131will set the internal flags to 132.Dv SSL_SENT_SHUTDOWN Ns | Ns Dv SSL_RECEIVED_SHUTDOWN 133.Po 134.Xr SSL_shutdown 3 135then behaves like 136.Xr SSL_set_shutdown 3 137called with 138.Dv SSL_SENT_SHUTDOWN Ns | Ns Dv SSL_RECEIVED_SHUTDOWN 139.Pc . 140The session is thus considered to be shut down, but no 141.Dq close notify 142alert is sent to the peer. 143This behaviour violates the TLS standard. 144.Pp 145The default is normal shutdown behaviour as described by the TLS standard. 146.Sh RETURN VALUES 147.Fn SSL_CTX_set_quiet_shutdown 148and 149.Fn SSL_set_quiet_shutdown 150do not return diagnostic information. 151.Pp 152.Fn SSL_CTX_get_quiet_shutdown 153and 154.Fn SSL_get_quiet_shutdown 155return the current setting. 156.Sh SEE ALSO 157.Xr ssl 3 , 158.Xr SSL_clear 3 , 159.Xr SSL_free 3 , 160.Xr SSL_new 3 , 161.Xr SSL_set_shutdown 3 , 162.Xr SSL_shutdown 3 163