1*10e00d17Sschwarze.\" $OpenBSD: SSL_set_session.3,v 1.4 2018/03/27 17:35:50 schwarze Exp $ 26f246b13Sschwarze.\" OpenSSL 05ea606a May 20 20:52:46 2016 -0400 3f1a3c524Sschwarze.\" 46f246b13Sschwarze.\" This file was written by Lutz Jaenicke <jaenicke@openssl.org>. 56f246b13Sschwarze.\" Copyright (c) 2000, 2001, 2016 The OpenSSL Project. All rights reserved. 6f1a3c524Sschwarze.\" 76f246b13Sschwarze.\" Redistribution and use in source and binary forms, with or without 86f246b13Sschwarze.\" modification, are permitted provided that the following conditions 96f246b13Sschwarze.\" are met: 106f246b13Sschwarze.\" 116f246b13Sschwarze.\" 1. Redistributions of source code must retain the above copyright 126f246b13Sschwarze.\" notice, this list of conditions and the following disclaimer. 136f246b13Sschwarze.\" 146f246b13Sschwarze.\" 2. Redistributions in binary form must reproduce the above copyright 156f246b13Sschwarze.\" notice, this list of conditions and the following disclaimer in 166f246b13Sschwarze.\" the documentation and/or other materials provided with the 176f246b13Sschwarze.\" distribution. 186f246b13Sschwarze.\" 196f246b13Sschwarze.\" 3. All advertising materials mentioning features or use of this 206f246b13Sschwarze.\" software must display the following acknowledgment: 216f246b13Sschwarze.\" "This product includes software developed by the OpenSSL Project 226f246b13Sschwarze.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 236f246b13Sschwarze.\" 246f246b13Sschwarze.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 256f246b13Sschwarze.\" endorse or promote products derived from this software without 266f246b13Sschwarze.\" prior written permission. For written permission, please contact 276f246b13Sschwarze.\" openssl-core@openssl.org. 286f246b13Sschwarze.\" 296f246b13Sschwarze.\" 5. Products derived from this software may not be called "OpenSSL" 306f246b13Sschwarze.\" nor may "OpenSSL" appear in their names without prior written 316f246b13Sschwarze.\" permission of the OpenSSL Project. 326f246b13Sschwarze.\" 336f246b13Sschwarze.\" 6. Redistributions of any form whatsoever must retain the following 346f246b13Sschwarze.\" acknowledgment: 356f246b13Sschwarze.\" "This product includes software developed by the OpenSSL Project 366f246b13Sschwarze.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" 376f246b13Sschwarze.\" 386f246b13Sschwarze.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 396f246b13Sschwarze.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 406f246b13Sschwarze.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 416f246b13Sschwarze.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 426f246b13Sschwarze.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 436f246b13Sschwarze.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 446f246b13Sschwarze.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 456f246b13Sschwarze.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 466f246b13Sschwarze.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 476f246b13Sschwarze.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 486f246b13Sschwarze.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 496f246b13Sschwarze.\" OF THE POSSIBILITY OF SUCH DAMAGE. 506f246b13Sschwarze.\" 51*10e00d17Sschwarze.Dd $Mdocdate: March 27 2018 $ 52f1a3c524Sschwarze.Dt SSL_SET_SESSION 3 53f1a3c524Sschwarze.Os 54f1a3c524Sschwarze.Sh NAME 55f1a3c524Sschwarze.Nm SSL_set_session 56f1a3c524Sschwarze.Nd set a TLS/SSL session to be used during TLS/SSL connect 57f1a3c524Sschwarze.Sh SYNOPSIS 58f1a3c524Sschwarze.In openssl/ssl.h 59f1a3c524Sschwarze.Ft int 60f1a3c524Sschwarze.Fn SSL_set_session "SSL *ssl" "SSL_SESSION *session" 61f1a3c524Sschwarze.Sh DESCRIPTION 62f1a3c524Sschwarze.Fn SSL_set_session 63f1a3c524Sschwarzesets 64f1a3c524Sschwarze.Fa session 65f1a3c524Sschwarzeto be used when the TLS/SSL connection is to be established. 66f1a3c524Sschwarze.Fn SSL_set_session 67f1a3c524Sschwarzeis only useful for TLS/SSL clients. 68f1a3c524SschwarzeWhen the session is set, the reference count of 69f1a3c524Sschwarze.Fa session 70f1a3c524Sschwarzeis incremented 71f1a3c524Sschwarzeby 1. 72f1a3c524SschwarzeIf the session is not reused, the reference count is decremented again during 73f1a3c524Sschwarze.Fn SSL_connect . 74f1a3c524SschwarzeWhether the session was reused can be queried with the 75f1a3c524Sschwarze.Xr SSL_session_reused 3 76f1a3c524Sschwarzecall. 77f1a3c524Sschwarze.Pp 78f1a3c524SschwarzeIf there is already a session set inside 79f1a3c524Sschwarze.Fa ssl 80f1a3c524Sschwarze(because it was set with 81f1a3c524Sschwarze.Fn SSL_set_session 82f1a3c524Sschwarzebefore or because the same 83f1a3c524Sschwarze.Fa ssl 84f1a3c524Sschwarzewas already used for a connection), 85f1a3c524Sschwarze.Xr SSL_SESSION_free 3 86f1a3c524Sschwarzewill be called for that session. 876f246b13Sschwarze.Pp 88f1a3c524Sschwarze.Vt SSL_SESSION 89f1a3c524Sschwarzeobjects keep internal link information about the session cache list when being 90f1a3c524Sschwarzeinserted into one 91f1a3c524Sschwarze.Vt SSL_CTX 92f1a3c524Sschwarzeobject's session cache. 93f1a3c524SschwarzeOne 94f1a3c524Sschwarze.Vt SSL_SESSION 95f1a3c524Sschwarzeobject, regardless of its reference count, must therefore only be used with one 96f1a3c524Sschwarze.Vt SSL_CTX 97f1a3c524Sschwarzeobject (and the 98f1a3c524Sschwarze.Vt SSL 99f1a3c524Sschwarzeobjects created from this 100f1a3c524Sschwarze.Vt SSL_CTX 101f1a3c524Sschwarzeobject). 102f1a3c524Sschwarze.Sh RETURN VALUES 103f1a3c524SschwarzeThe following return values can occur: 104f1a3c524Sschwarze.Bl -tag -width Ds 105f1a3c524Sschwarze.It 0 106f1a3c524SschwarzeThe operation failed; check the error stack to find out the reason. 107f1a3c524Sschwarze.It 1 108f1a3c524SschwarzeThe operation succeeded. 109f1a3c524Sschwarze.El 110f1a3c524Sschwarze.Sh SEE ALSO 111f1a3c524Sschwarze.Xr ssl 3 , 112f1a3c524Sschwarze.Xr SSL_CTX_set_session_cache_mode 3 , 113f1a3c524Sschwarze.Xr SSL_get_session 3 , 114f1a3c524Sschwarze.Xr SSL_SESSION_free 3 , 115f1a3c524Sschwarze.Xr SSL_session_reused 3 1168fba1ec8Sschwarze.Sh HISTORY 1178fba1ec8Sschwarze.Fn SSL_set_session 118*10e00d17Sschwarzefirst appeared in SSLeay 0.5.2 and has been available since 1198fba1ec8Sschwarze.Ox 2.4 . 120