You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jake Farrell (JIRA)" <ji...@apache.org> on 2014/04/13 20:43:15 UTC

[jira] [Updated] (THRIFT-2433) Allow manual control of OpenSSL initialization/cleanup

     [ https://issues.apache.org/jira/browse/THRIFT-2433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jake Farrell updated THRIFT-2433:
---------------------------------

       Patch Info: Patch Available
    Fix Version/s: 0.9.2

> Allow manual control of OpenSSL initialization/cleanup
> ------------------------------------------------------
>
>                 Key: THRIFT-2433
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2433
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>    Affects Versions: 0.9.1
>            Reporter: Alan Dunn
>             Fix For: 0.9.2
>
>         Attachments: 0001-Expose-OpenSSL-initialization-functions.patch, 0002-Add-ability-to-take-control-of-OpenSSL-initializatio.patch, 0003-Add-unit-test-for-OpenSSL-manual-initialization.patch
>
>
> Thrift's C++ TSSLSocketFactory controls OpenSSL library initialization/cleanup.  It initializes OpenSSL itself and de-initializes OpenSSL after the last TSSLSocketFactory is destroyed.  However, programs may need to initialize OpenSSL themselves (e.g. they have other dependencies that want to use OpenSSL) and may depend on OpenSSL functionality after the last TSSLSocketFactory is destroyed.
> I propose a mechanism to set TSSLSocketFactory to allow manual OpenSSL initialization/cleanup, and to expose the initializeOpenSSL/cleanupOpenSSL functions to the user.  As a result, a user can choose when OpenSSL is initialized and cleaned up, and can even use the prior Thrift code for performing this initialization/cleanup if it is sufficient for their needs.  However, by default, OpenSSL initialization/cleanup will be automatic, so only people who care about taking control of OpenSSL initialization/cleanup will need to do anything.



--
This message was sent by Atlassian JIRA
(v6.2#6252)