]>
Commit | Line | Data |
---|---|---|
cc99526d RL |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
1c7ae3dd | 5 | SSL_dup, SSL_new, SSL_up_ref - create an SSL structure for a connection |
cc99526d RL |
6 | |
7 | =head1 SYNOPSIS | |
8 | ||
9 | #include <openssl/ssl.h> | |
10 | ||
1c7ae3dd | 11 | SSL *SSL_dup(SSL *s); |
cc99526d | 12 | SSL *SSL_new(SSL_CTX *ctx); |
c5ebfcab | 13 | int SSL_up_ref(SSL *s); |
cc99526d RL |
14 | |
15 | =head1 DESCRIPTION | |
16 | ||
1e4e5492 UM |
17 | SSL_new() creates a new B<SSL> structure which is needed to hold the |
18 | data for a TLS/SSL connection. The new structure inherits the settings | |
45f55f6a | 19 | of the underlying context B<ctx>: connection method, |
a18a31e4 MC |
20 | options, verification settings, timeout settings. An B<SSL> structure is |
21 | reference counted. Creating an B<SSL> structure for the first time increments | |
22 | the reference count. Freeing it (using SSL_free) decrements it. When the | |
23 | reference count drops to zero, any memory or resources allocated to the B<SSL> | |
1c7ae3dd JS |
24 | structure are freed. |
25 | ||
26 | SSL_up_ref() increments the reference count for an | |
a18a31e4 | 27 | existing B<SSL> structure. |
cc99526d | 28 | |
9fdcc21f DO |
29 | SSL_dup() duplicates an existing B<SSL> structure into a new allocated one |
30 | or just increments the reference count if the connection is active. All | |
1c7ae3dd JS |
31 | settings are inherited from the original B<SSL> structure. Dynamic data (i.e. |
32 | existing connection details) are not copied, the new B<SSL> is set into an | |
33 | initial accept (server) or connect (client) state. | |
34 | ||
cc99526d RL |
35 | =head1 RETURN VALUES |
36 | ||
37 | The following return values can occur: | |
38 | ||
39 | =over 4 | |
40 | ||
41 | =item NULL | |
42 | ||
1e4e5492 UM |
43 | The creation of a new SSL structure failed. Check the error stack to |
44 | find out the reason. | |
cc99526d | 45 | |
1e4e5492 | 46 | =item Pointer to an SSL structure |
cc99526d RL |
47 | |
48 | The return value points to an allocated SSL structure. | |
49 | ||
c5ebfcab F |
50 | SSL_up_ref() returns 1 for success and 0 for failure. |
51 | ||
cc99526d RL |
52 | =back |
53 | ||
54 | =head1 SEE ALSO | |
55 | ||
9b86974e RS |
56 | L<SSL_free(3)>, L<SSL_clear(3)>, |
57 | L<SSL_CTX_set_options(3)>, | |
58 | L<SSL_get_SSL_CTX(3)>, | |
b97fdb57 | 59 | L<ssl(7)> |
cc99526d | 60 | |
e2f92610 RS |
61 | =head1 COPYRIGHT |
62 | ||
1c7ae3dd | 63 | Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 | 64 | |
4746f25a | 65 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
66 | this file except in compliance with the License. You can obtain a copy |
67 | in the file LICENSE in the source distribution or at | |
68 | L<https://www.openssl.org/source/license.html>. | |
69 | ||
70 | =cut |