
#use wml::openssl-macros area=docs page=SSL_set_session

<title>Documents, SSL_set_session(3)</title>

<h1>SSL_set_session(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#NOTES">NOTES</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
SSL_set_session - set a TLS/SSL session to be used during TLS/SSL connect

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/ssl.h&gt;
</PRE>
<PRE> int SSL_set_session(SSL *ssl, SSL_SESSION *session);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>SSL_set_session()</CODE> sets <STRONG>session</STRONG> to be used when the TLS/SSL connection is to be established.
<CODE>SSL_set_session()</CODE> is only useful for TLS/SSL clients. When the
session is set, the reference count of <STRONG>session</STRONG> is incremented by 1. If the session is not reused, the reference count is
decremented again during <CODE>SSL_connect().</CODE> Whether the session
was reused can be queried with the <A HREF="../ssl/SSL_session_reused.html#">SSL_session_reused(3)</A> call.

</P>
<P>
If there is already a session set inside <STRONG>ssl</STRONG> (because it was set with <CODE>SSL_set_session()</CODE> before or because
the same <STRONG>ssl</STRONG> was already used for a connection), <CODE>SSL_SESSION_free()</CODE> will be
called for that session.

</P>
<P>
<HR>
<H1><A NAME="NOTES">NOTES</A></H1>
<P>
SSL_SESSION objects keep internal link information about the session cache
list, when being inserted into one SSL_CTX object's session cache. One
SSL_SESSION object, regardless of its reference count, must therefore only
be used with one SSL_CTX object (and the SSL objects created from this
SSL_CTX object).

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
The following return values can occur:

</P>
<DL>
<DT><STRONG><A NAME="item_0">0</A></STRONG><DD>
<P>
The operation failed; check the error stack to find out the reason.

</P>
<DT><STRONG><A NAME="item_1">1</A></STRONG><DD>
<P>
The operation succeeded.

</P>
</DL>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../ssl/ssl.html#">ssl(3)</A>, <A HREF="../ssl/SSL_SESSION_free.html#">SSL_SESSION_free(3)</A>,
<A HREF="../ssl/SSL_get_session.html#">SSL_get_session(3)</A>,
<A HREF="../ssl/SSL_session_reused.html#">SSL_session_reused(3)</A>,
<A HREF="../ssl/SSL_CTX_set_session_cache_mode.html#">SSL_CTX_set_session_cache_mode(3)</A>



</P>
:}


