Loading ssl_engine_init.c +33 −13 Changes for ssl_engine_init.c: 33 added lines, 13 removed lines. Original line number Diff line number Diff line Loading @@ -1118,6 +1118,37 @@ void ssl_init_Child(apr_pool_t *p, server_rec *s) item = NULL; \ } static void ssl_init_ctx_cleanup(modssl_ctx_t *mctx) { MODSSL_CFG_ITEM_FREE(X509_STORE_free, mctx->crl); MODSSL_CFG_ITEM_FREE(SSL_CTX_free, mctx->ssl_ctx); } static void ssl_init_ctx_cleanup_proxy(modssl_ctx_t *mctx) { ssl_init_ctx_cleanup(mctx); if (mctx->pkp->certs) { sk_X509_INFO_pop_free(mctx->pkp->certs, X509_INFO_free); } } static void ssl_init_ctx_cleanup_server(modssl_ctx_t *mctx) { int i; ssl_init_ctx_cleanup(mctx); for (i=0; i < SSL_AIDX_MAX; i++) { MODSSL_CFG_ITEM_FREE(X509_free, mctx->pks->certs[i]); MODSSL_CFG_ITEM_FREE(EVP_PKEY_free, mctx->pks->keys[i]); } } apr_status_t ssl_init_ModuleKill(void *data) { SSLSrvConfigRec *sc; Loading @@ -1139,22 +1170,11 @@ apr_status_t ssl_init_ModuleKill(void *data) * in the per-server configurations */ for (s = base_server; s; s = s->next) { int i; sc = mySrvConfig(s); for (i=0; i < SSL_AIDX_MAX; i++) { MODSSL_CFG_ITEM_FREE(X509_free, sc->server->pks->certs[i]); MODSSL_CFG_ITEM_FREE(EVP_PKEY_free, sc->server->pks->keys[i]); } MODSSL_CFG_ITEM_FREE(X509_STORE_free, sc->server->crl); ssl_init_ctx_cleanup_proxy(sc->proxy); MODSSL_CFG_ITEM_FREE(SSL_CTX_free, sc->server->ssl_ctx); ssl_init_ctx_cleanup_server(sc->server); } /* Loading ssl_toolkit_compat.h +1 −0 Changes for ssl_toolkit_compat.h: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -162,6 +162,7 @@ #define sk_X509_num sk_num #define sk_X509_value (X509 *)sk_value #define sk_X509_INFO_value (X509_INFO *)sk_value #define sk_X509_INFO_pop_free sk_pop_free #define sk_X509_INFO_num sk_num #define sk_X509_INFO_new_null sk_new_null #define sk_X509_NAME_num sk_num Loading Loading
ssl_engine_init.c +33 −13 Changes for ssl_engine_init.c: 33 added lines, 13 removed lines. Original line number Diff line number Diff line Loading @@ -1118,6 +1118,37 @@ void ssl_init_Child(apr_pool_t *p, server_rec *s) item = NULL; \ } static void ssl_init_ctx_cleanup(modssl_ctx_t *mctx) { MODSSL_CFG_ITEM_FREE(X509_STORE_free, mctx->crl); MODSSL_CFG_ITEM_FREE(SSL_CTX_free, mctx->ssl_ctx); } static void ssl_init_ctx_cleanup_proxy(modssl_ctx_t *mctx) { ssl_init_ctx_cleanup(mctx); if (mctx->pkp->certs) { sk_X509_INFO_pop_free(mctx->pkp->certs, X509_INFO_free); } } static void ssl_init_ctx_cleanup_server(modssl_ctx_t *mctx) { int i; ssl_init_ctx_cleanup(mctx); for (i=0; i < SSL_AIDX_MAX; i++) { MODSSL_CFG_ITEM_FREE(X509_free, mctx->pks->certs[i]); MODSSL_CFG_ITEM_FREE(EVP_PKEY_free, mctx->pks->keys[i]); } } apr_status_t ssl_init_ModuleKill(void *data) { SSLSrvConfigRec *sc; Loading @@ -1139,22 +1170,11 @@ apr_status_t ssl_init_ModuleKill(void *data) * in the per-server configurations */ for (s = base_server; s; s = s->next) { int i; sc = mySrvConfig(s); for (i=0; i < SSL_AIDX_MAX; i++) { MODSSL_CFG_ITEM_FREE(X509_free, sc->server->pks->certs[i]); MODSSL_CFG_ITEM_FREE(EVP_PKEY_free, sc->server->pks->keys[i]); } MODSSL_CFG_ITEM_FREE(X509_STORE_free, sc->server->crl); ssl_init_ctx_cleanup_proxy(sc->proxy); MODSSL_CFG_ITEM_FREE(SSL_CTX_free, sc->server->ssl_ctx); ssl_init_ctx_cleanup_server(sc->server); } /* Loading
ssl_toolkit_compat.h +1 −0 Changes for ssl_toolkit_compat.h: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -162,6 +162,7 @@ #define sk_X509_num sk_num #define sk_X509_value (X509 *)sk_value #define sk_X509_INFO_value (X509_INFO *)sk_value #define sk_X509_INFO_pop_free sk_pop_free #define sk_X509_INFO_num sk_num #define sk_X509_INFO_new_null sk_new_null #define sk_X509_NAME_num sk_num Loading