Author: jkaluza Date: Mon Jun 24 10:29:02 2013 New Revision: 1495982 URL: http://svn.apache.org/r1495982 Log: Make sure authn and authz providers are cleaned up in time
The authn and authz providers need to be registered in the configuration pool rather than the server process pool. The latter outlives the load time of the mod_perl shared object, so cleanup hooks could get called after the registered functions were unloaded, causing SIGSEGVs and other undefined behaviour. Fix suggested by Stefan Fritsch. Bug-Debian: http://bugs.debian.org/711213 Modified: perl/modperl/branches/httpd24/src/modules/perl/modperl_cmd.c Modified: perl/modperl/branches/httpd24/src/modules/perl/modperl_cmd.c URL: http://svn.apache.org/viewvc/perl/modperl/branches/httpd24/src/modules/perl/modperl_cmd.c?rev=1495982&r1=1495981&r2=1495982&view=diff ============================================================================== --- perl/modperl/branches/httpd24/src/modules/perl/modperl_cmd.c (original) +++ perl/modperl/branches/httpd24/src/modules/perl/modperl_cmd.c Mon Jun 24 10:29:02 2013 @@ -419,7 +419,7 @@ MP_CMD_SRV_DECLARE(init_handlers) MP_CMD_SRV_DECLARE2(authz_provider) { - apr_pool_t *p = parms->server->process->pool; + apr_pool_t *p = parms->pool; char *name = apr_pstrdup(p, arg1); char *cb = apr_pstrdup(p, arg2); @@ -431,7 +431,7 @@ MP_CMD_SRV_DECLARE2(authz_provider) MP_CMD_SRV_DECLARE2(authn_provider) { - apr_pool_t *p = parms->server->process->pool; + apr_pool_t *p = parms->pool; char *name = apr_pstrdup(p, arg1); char *cb = apr_pstrdup(p, arg2);