From daf2069edc609e45c7bcf84a98a3468a754fa332 Mon Sep 17 00:00:00 2001 From: schwarze <> Date: Wed, 7 Dec 2016 17:09:07 +0000 Subject: Write new SSL_dup(3) manual from scratch. This function is listed in ssl(3) and , so it is clearly public. --- src/lib/libssl/man/Makefile | 3 ++- src/lib/libssl/man/SSL_dup.3 | 59 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/lib/libssl/man/SSL_dup.3 diff --git a/src/lib/libssl/man/Makefile b/src/lib/libssl/man/Makefile index ee742bc720..5fe28e4dc6 100644 --- a/src/lib/libssl/man/Makefile +++ b/src/lib/libssl/man/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.47 2016/12/07 15:14:34 schwarze Exp $ +# $OpenBSD: Makefile,v 1.48 2016/12/07 17:09:07 schwarze Exp $ .include @@ -55,6 +55,7 @@ MAN = BIO_f_ssl.3 \ SSL_clear.3 \ SSL_connect.3 \ SSL_do_handshake.3 \ + SSL_dup.3 \ SSL_dup_CA_list.3 \ SSL_free.3 \ SSL_get_SSL_CTX.3 \ diff --git a/src/lib/libssl/man/SSL_dup.3 b/src/lib/libssl/man/SSL_dup.3 new file mode 100644 index 0000000000..47ec2e3976 --- /dev/null +++ b/src/lib/libssl/man/SSL_dup.3 @@ -0,0 +1,59 @@ +.\" $OpenBSD: SSL_dup.3,v 1.1 2016/12/07 17:09:07 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd $Mdocdate: December 7 2016 $ +.Dt SSL_DUP 3 +.Os +.Sh NAME +.Nm SSL_dup +.Nd deep copy of an SSL object +.Sh SYNOPSIS +.In openssl/ssl.h +.Ft SSL * +.Fo SSL_dup +.Fa "SSL *ssl" +.Fc +.Sh DESCRIPTION +.Fn SSL_dup +constructs a new +.Vt SSL +object in the same context as +.Fa ssl +and copies much of the contained data from +.Fa ssl +to the new +.Vt SSL +object, but many fields, for example tlsext data, are not copied. +.Pp +As an exception from deep copying, if a session is already established, +the new object shares +.Fa ssl->cert +with the original object. +.Sh RETURN VALUES +.Fn SSL_dup +returns the new +.Vt SSL +object or +.Dv NULL +on failure. +.Sh SEE ALSO +.Xr SSL_clear 3 , +.Xr SSL_copy_session_id 3 , +.Xr SSL_free 3 , +.Xr SSL_new 3 +.Sh HISTORY +.Fn SSL_dup +is available in all versions of OpenSSL. -- cgit v1.2.3-55-g6feb