SSL_COPY_SESSION_ID(3) | Library Functions Manual | SSL_COPY_SESSION_ID(3)

# NAME

`SSL_copy_session_id` — copy session details between SSL objects

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

int
`SSL_copy_session_id`(SSL *to, const SSL *from);

# DESCRIPTION

`SSL_copy_session_id`() copies the following data from from to to:

- the pointer to the SSL_SESSION object, incrementing its reference count by 1
- the pointer to the SSL_METHOD object; if that changes the method, protocol-specific data is reinitialized
- the pointer to the CERT object, incrementing its reference count by 1
- the session ID context

This function is used internally by SSL_dup(3) and by BIO_ssl_copy_session_id(3).

# RETURN VALUES

`SSL_copy_session_id`() returns 1 on success and 0 on error.

# SEE ALSO

BIO_ssl_copy_session_id(3), ssl(3), SSL_dup(3), SSL_get_session(3), SSL_SESSION_get_id(3), SSL_SESSION_new(3), SSL_set_session(3), SSL_set_session_id_context(3)

# HISTORY

`SSL_copy_session_id`() appeared in SSLeay 0.4 or earlier and has been available since OpenBSD 2.4.

# BUGS

Failures of CRYPTO_add(3) are silently ignored and may leave to in an invalid or inconsistent state.

June 8, 2025 | Debian