a18a31e49d
The SSL and SSL_CTX structures are reference counted. However since libssl was made opaque there is no way for users of the library to manipulate the reference counts. This adds functions to enable that. Reviewed-by: Stephen Henson <steve@openssl.org>
50 lines
1.2 KiB
Text
50 lines
1.2 KiB
Text
=pod
|
|
|
|
=head1 NAME
|
|
|
|
SSL_new, SSL_up_ref - create a new SSL structure for a connection
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/ssl.h>
|
|
|
|
SSL *SSL_new(SSL_CTX *ctx);
|
|
void SSL_up_ref(SSL *s);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
SSL_new() creates a new B<SSL> structure which is needed to hold the
|
|
data for a TLS/SSL connection. The new structure inherits the settings
|
|
of the underlying context B<ctx>: connection method,
|
|
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
|
|
existing B<SSL> structure.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
The following return values can occur:
|
|
|
|
=over 4
|
|
|
|
=item NULL
|
|
|
|
The creation of a new SSL structure failed. Check the error stack to
|
|
find out the reason.
|
|
|
|
=item Pointer to an SSL structure
|
|
|
|
The return value points to an allocated SSL structure.
|
|
|
|
=back
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<SSL_free(3)>, L<SSL_clear(3)>,
|
|
L<SSL_CTX_set_options(3)>,
|
|
L<SSL_get_SSL_CTX(3)>,
|
|
L<ssl(3)>
|
|
|
|
=cut
|