=pod =head1 NAME SSL_dup, SSL_new, SSL_up_ref - create an SSL structure for a connection =head1 SYNOPSIS #include SSL *SSL_dup(SSL *s); SSL *SSL_new(SSL_CTX *ctx); int SSL_up_ref(SSL *s); =head1 DESCRIPTION SSL_new() creates a new B structure which is needed to hold the data for a TLS/SSL connection. The new structure inherits the settings of the underlying context B: connection method, options, verification settings, timeout settings. An B structure is reference counted. Creating an B structure for the first time increments the reference count. Freeing it (using SSL_free) decrements it. When the reference count drops to zero, any memory or resources allocated to the B structure are freed. SSL_up_ref() increments the reference count for an existing B structure. SSL_dup() duplicates an existing B structure into a new allocated one. All settings are inherited from the original B structure. Dynamic data (i.e. existing connection details) are not copied, the new B is set into an initial accept (server) or connect (client) state. =head1 RETURN VALUES The following return values can occur: =over 4 =item NULL The creation of a new SSL structure failed. Check the error stack to find out the reason. =item Pointer to an SSL structure The return value points to an allocated SSL structure. SSL_up_ref() returns 1 for success and 0 for failure. =back =head1 SEE ALSO L, L, L, L, L =head1 COPYRIGHT Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at L. =cut