mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Fix memory leak of SSL_CTX structures in TLS core.
SSL_CTX structures were allocated but never freed. This was a bigger issue for clients than servers since new SSL_CTX structures could be allocated for each connection. Servers, on the other hand, typically set up a single SSL_CTX for their lifetime. This is solved in two ways: 1. In __ssl_setup(), if a tcptls_cfg has an ssl_ctx on it, it is freed so that a new one can take its place. 2. A companion to ast_ssl_setup() called ast_ssl_teardown() has been added so that servers can properly free their SSL_CTXs. (issue ASTERISK-19278) ........ Merged revisions 367002 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367003 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -196,8 +196,25 @@ void ast_tcptls_server_start(struct ast_tcptls_session_args *desc);
|
||||
* \version 1.6.1 changed desc parameter to be of ast_tcptls_session_args type
|
||||
*/
|
||||
void ast_tcptls_server_stop(struct ast_tcptls_session_args *desc);
|
||||
|
||||
/*!
|
||||
* \brief Set up an SSL server
|
||||
*
|
||||
* \param cfg Configuration for the SSL server
|
||||
* \retval 1 Success
|
||||
* \retval 0 Failure
|
||||
*/
|
||||
int ast_ssl_setup(struct ast_tls_config *cfg);
|
||||
|
||||
/*!
|
||||
* \brief free resources used by an SSL server
|
||||
*
|
||||
* \note This only needs to be called if ast_ssl_setup() was
|
||||
* directly called first.
|
||||
* \param cfg Configuration for the SSL server
|
||||
*/
|
||||
void ast_ssl_teardown(struct ast_tls_config *cfg);
|
||||
|
||||
/*!
|
||||
* \brief Used to parse conf files containing tls/ssl options.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user