SSL_new.pod 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. =pod
  2. =head1 NAME
  3. SSL_dup, SSL_new, SSL_up_ref - create an SSL structure for a connection
  4. =head1 SYNOPSIS
  5. #include <openssl/ssl.h>
  6. SSL *SSL_dup(SSL *s);
  7. SSL *SSL_new(SSL_CTX *ctx);
  8. int SSL_up_ref(SSL *s);
  9. =head1 DESCRIPTION
  10. SSL_new() creates a new B<SSL> structure which is needed to hold the
  11. data for a TLS/SSL connection. The new structure inherits the settings
  12. of the underlying context B<ctx>: connection method,
  13. options, verification settings, timeout settings. An B<SSL> structure is
  14. reference counted. Creating an B<SSL> structure for the first time increments
  15. the reference count. Freeing it (using SSL_free) decrements it. When the
  16. reference count drops to zero, any memory or resources allocated to the B<SSL>
  17. structure are freed.
  18. SSL_up_ref() increments the reference count for an
  19. existing B<SSL> structure.
  20. SSL_dup() duplicates an existing B<SSL> structure into a new allocated one. All
  21. settings are inherited from the original B<SSL> structure. Dynamic data (i.e.
  22. existing connection details) are not copied, the new B<SSL> is set into an
  23. initial accept (server) or connect (client) state.
  24. =head1 RETURN VALUES
  25. The following return values can occur:
  26. =over 4
  27. =item NULL
  28. The creation of a new SSL structure failed. Check the error stack to
  29. find out the reason.
  30. =item Pointer to an SSL structure
  31. The return value points to an allocated SSL structure.
  32. SSL_up_ref() returns 1 for success and 0 for failure.
  33. =back
  34. =head1 SEE ALSO
  35. L<SSL_free(3)>, L<SSL_clear(3)>,
  36. L<SSL_CTX_set_options(3)>,
  37. L<SSL_get_SSL_CTX(3)>,
  38. L<ssl(7)>
  39. =head1 COPYRIGHT
  40. Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
  41. Licensed under the OpenSSL license (the "License"). You may not use
  42. this file except in compliance with the License. You can obtain a copy
  43. in the file LICENSE in the source distribution or at
  44. L<https://www.openssl.org/source/license.html>.
  45. =cut