You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by do...@apache.org on 2002/03/29 03:59:27 UTC
cvs commit: httpd-2.0/modules/ssl ssl_engine_init.c ssl_toolkit_compat.h
dougm 02/03/28 18:59:27
Modified: modules/ssl ssl_engine_init.c ssl_toolkit_compat.h
Log:
cleanup the proxy context
Revision Changes Path
1.88 +33 -13 httpd-2.0/modules/ssl/ssl_engine_init.c
Index: ssl_engine_init.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_engine_init.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -r1.87 -r1.88
--- ssl_engine_init.c 29 Mar 2002 02:20:58 -0000 1.87
+++ ssl_engine_init.c 29 Mar 2002 02:59:27 -0000 1.88
@@ -1118,6 +1118,37 @@
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;
@@ -1139,22 +1170,11 @@
* 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);
}
/*
1.21 +1 -0 httpd-2.0/modules/ssl/ssl_toolkit_compat.h
Index: ssl_toolkit_compat.h
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_toolkit_compat.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- ssl_toolkit_compat.h 27 Mar 2002 22:31:33 -0000 1.20
+++ ssl_toolkit_compat.h 29 Mar 2002 02:59:27 -0000 1.21
@@ -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