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:
Doug MacEachern
2001-07-18 18:18:20 +00:00
parent ef32166a5e
commit dbfb786c1f
3 changed files with 16 additions and 0 deletions

View File

@ -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;
}

View File

@ -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)
{

View File

@ -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,