mirror of
https://github.com/apache/httpd.git
synced 2025-08-16 17:04:42 +00:00
add cleanup of SSLStateMachine to tls filter
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89597 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@ -117,6 +117,12 @@ static const char *tls_cert_file(cmd_parms *cmd, void *dummy, const char *arg)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static apr_status_t tls_filter_cleanup(void *data)
|
||||
{
|
||||
SSLStateMachine_destroy((SSLStateMachine *)data);
|
||||
return APR_SUCCESS;
|
||||
}
|
||||
|
||||
static int tls_filter_inserter(conn_rec *c)
|
||||
{
|
||||
TLSServerConfig *pConfig =
|
||||
@ -136,6 +142,9 @@ static int tls_filter_inserter(conn_rec *c)
|
||||
pCtx->pbbInput=apr_brigade_create(c->pool);
|
||||
pCtx->pbbPendingInput=apr_brigade_create(c->pool);
|
||||
|
||||
apr_pool_cleanup_register(c->pool, (void*)pCtx->pStateMachine,
|
||||
tls_filter_cleanup, apr_pool_cleanup_null);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@ -162,6 +162,12 @@ SSLStateMachine *SSLStateMachine_new(const char *szCertificateFile,
|
||||
return pMachine;
|
||||
}
|
||||
|
||||
void SSLStateMachine_destroy(SSLStateMachine *pMachine)
|
||||
{
|
||||
SSL_free(pMachine->pSSL);
|
||||
free(pMachine);
|
||||
}
|
||||
|
||||
void SSLStateMachine_read_inject(SSLStateMachine *pMachine,
|
||||
const unsigned char *aucBuf,int nBuf)
|
||||
{
|
||||
|
@ -3,6 +3,7 @@ typedef struct SSLStateMachine SSLStateMachine;
|
||||
void SSLStateMachine_init(void);
|
||||
SSLStateMachine *SSLStateMachine_new(const char *szCertificateFile,
|
||||
const char *szKeyFile);
|
||||
void SSLStateMachine_destroy(SSLStateMachine *pMachine);
|
||||
void SSLStateMachine_read_inject(SSLStateMachine *pMachine,
|
||||
const unsigned char *aucBuf,int nBuf);
|
||||
int SSLStateMachine_read_extract(SSLStateMachine *pMachine,
|
||||
|
Reference in New Issue
Block a user