DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

SSL_SESSION_free(3)




SSL_SESSION_free(3)          OpenSSL          SSL_SESSION_free(3)


NAME

     SSL_SESSION_free - free an allocated SSL_SESSION structure


SYNOPSIS

      #include <openssl/ssl.h>

      void SSL_SESSION_free(SSL_SESSION *session);


DESCRIPTION

     SSL_SESSION_free() decrements the reference count of session
     and removes the SSL_SESSION structure pointed to by session
     and frees up the allocated memory, if the reference count
     has reached 0.


NOTES

     SSL_SESSION objects are allocated, when a TLS/SSL handshake
     operation is successfully completed. Depending on the
     settings, see SSL_CTX_set_session_cache_mode(3), the
     SSL_SESSION objects are internally referenced by the SSL_CTX
     and linked into its session cache. SSL objects may be using
     the SSL_SESSION object; as a session may be reused, several
     SSL objects may be using one SSL_SESSION object at the same
     time. It is therefore crucial to keep the reference count
     (usage information) correct and not delete a SSL_SESSION
     object that is still used, as this may lead to program
     failures due to dangling pointers. These failures may also
     appear delayed, e.g.  when an SSL_SESSION object was
     completely freed as the reference count incorrectly became
     0, but it is still referenced in the internal session cache
     and the cache list is processed during a
     SSL_CTX_flush_sessions(3) operation.

     SSL_SESSION_free() must only be called for SSL_SESSION
     objects, for which the reference count was explicitly
     incremented (e.g.  by calling SSL_get1_session(), see
     SSL_get_session(3)) or when the SSL_SESSION object was
     generated outside a TLS handshake operation, e.g. by using
     d2i_SSL_SESSION(3).  It must not be called on other
     SSL_SESSION objects, as this would cause incorrect reference
     counts and therefore program failures.


RETURN VALUES

     SSL_SESSION_free() does not provide diagnostic information.


SEE ALSO

     ssl(3), SSL_get_session(3),
     SSL_CTX_set_session_cache_mode(3),
     SSL_CTX_flush_sessions(3),
      d2i_SSL_SESSION(3)

1.0.2t               Last change: 2019-09-10                    1


Man(1) output converted with man2html