PEM_read_bio_PrivateKey.pod: replace geek speek by something more serious
[openssl.git] / doc / man3 / SSL_new.pod
index a5a3ff98f74d9efd3bc38f1b583db001e4556ad7..222e9d5886d3ccf9ea054f5d092b2d6819311376 100644 (file)
@@ -2,12 +2,13 @@
 
 =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);
 
@@ -20,9 +21,16 @@ options, verification settings, timeout settings. An B<SSL> structure is
 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:
@@ -47,11 +55,11 @@ SSL_up_ref() returns 1 for success and 0 for failure.
 L<SSL_free(3)>, L<SSL_clear(3)>,
 L<SSL_CTX_set_options(3)>,
 L<SSL_get_SSL_CTX(3)>,
-L<ssl(3)>
+L<ssl(7)>
 
 =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