From 1c7ae3dd9e04d6af40d162f10c607f90da48a6fc Mon Sep 17 00:00:00 2001
From: Jon Spillett <jon.spillett@oracle.com>
Date: Wed, 29 Mar 2017 19:17:55 +1000
Subject: [PATCH] Add SSL_dup description

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3085)
---
 doc/man3/SSL_new.pod | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/doc/man3/SSL_new.pod b/doc/man3/SSL_new.pod
index 60e977e2f0..222e9d5886 100644
--- a/doc/man3/SSL_new.pod
+++ b/doc/man3/SSL_new.pod
@@ -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:
@@ -51,7 +59,7 @@ 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
-- 
GitLab