On Thu, Jun 02, 2005 at 02:05:05PM +0100, Joe Orton wrote:
> On Sun, May 29, 2005 at 09:39:40PM -0000, Paul Querna wrote:
> > Author: pquerna
> > Date: Sun May 29 14:39:39 2005
> > New Revision: 178990
> > 
> > URL: http://svn.apache.org/viewcvs?rev=178990&view=rev
> > Log:
> > - Use a hash for the configuration command lookup implementation.  Now
> > modules can properly directives without dependence on the LoadModule
> > order.
> 
> It seems this has broken the test suite somehow, it's failing to start
> up with mod_ssl issuing the error:
> 
> [Thu Jun 02 14:01:14 2005] [error] Init: Multiple RSA server certificates not 
> allowed
> 
> if I revert this revision it works again.  Any ideas?

The problem is that the directive->module mapping is never getting
removed when the DSO is unloaded, so during normal startup each
directive will appear in the hash table twice for DSOs; then once more
for each restart.  Hence mod_ssl is confused.

This is pretty dangerous since the module might *not* be reloaded again
during a restart but the reference remains.  And since everything is
allocated out of the global pool it's leaking memory across restarts
too.

plus much style badness for a third criticism, while I'm here ;)

    apr_pool_t* tpool;
    ap_mod_list* mln;

joe

Reply via email to