=head1 NAME
-SSL_new, SSL_up_ref - create a new SSL structure for a connection
+SSL_dup, SSL_new, SSL_up_ref - create an SSL structure for a connection
=head1 SYNOPSIS
#include <openssl/ssl.h>
+ SSL *SSL_dup(SSL *s);
SSL *SSL_new(SSL_CTX *ctx);
int SSL_up_ref(SSL *s);
reference counted. Creating an B<SSL> 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<SSL>
-structure are freed. SSL_up_ref() increments the reference count for an
+structure are freed.
+
+SSL_up_ref() increments the reference count for an
existing B<SSL> structure.
+SSL_dup() duplicates an existing B<SSL> structure into a new allocated one. All
+settings are inherited from the original B<SSL> structure. Dynamic data (i.e.
+existing connection details) are not copied, the new B<SSL> is set into an
+initial accept (server) or connect (client) state.
+
=head1 RETURN VALUES
The following return values can occur:
=head1 COPYRIGHT
-Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
+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