SSL_get_session(3)          OpenSSL          SSL_get_session(3)





NAME
       SSL_get_session - retrieve TLS/SSL session data

SYNOPSIS
        #include <openssl/ssl.h>

        SSL_SESSION *SSL_get_session(SSL *ssl);
        SSL_SESSION *SSL_get0_session(SSL *ssl);
        SSL_SESSION *SSL_get1_session(SSL *ssl);

DESCRIPTION
       SSL_get_session() returns a pointer to the SSL_SESSION
       actually used in ssl. The reference count of the
       SSL_SESSION is not incremented, so that the pointer can
       become invalid by other operations.

       SSL_get0_session() is the same as SSL_get_session().

       SSL_get1_session() is the same as SSL_get_session(), but
       the reference count of the SSL_SESSION is incremented by
       one.

NOTES
       The ssl session contains all information required to re-
       establish the connection without a new handshake.

       SSL_get0_session() returns a pointer to the actual ses-
       sion. As the reference counter is not incremented, the
       pointer is only valid while the connection is in use. If
       SSL_clear(3) or SSL_free(3) is called, the session may
       be removed completely (if considered bad), and the
       pointer obtained will become invalid. Even if the ses-
       sion is valid, it can be removed at any time due to
       timeout during SSL_CTX_flush_sessions(3).

       If the data is to be kept, SSL_get1_session() will
       increment the reference count, so that the session will
       not be implicitly removed by other operations but stays
       in memory. In order to remove the session SSL_SES-
       SION_free(3) must be explicitly called once to decrement
       the reference count again.

       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).

RETURN VALUES
       The following return values can occur:

       NULL
           There is no session available in ssl.

       Pointer to an SSL
           The return value points to the data of an SSL ses-
           sion.

SEE ALSO
       ssl(3), SSL_free(3), SSL_clear(3), SSL_SESSION_free(3)



0.9.7c                     2001-11-19        SSL_get_session(3)
