Sorry, veto on this one. I actually have a module that uses mod_ssl's implementation to inject an apache ssl filter for an ftp datastream. Please, revert.
Aside from this, the solution is unlikely to be truly portable. A better solution would be a more aggressive use of static fn() declarations (which are portable, by definition.) What I -think- you are looking for is an option to apr_dso_load which would load a library/module, without our default of all public symbols. The apr use of the RTLD_GLOBAL flag is overkill 99% of the time for httpd modules, and this could also be made an option. For those modules which need to be public, adding a third argument of public | private to the LoadModule directive could provide the functionality. Bill At 09:11 AM 11/10/2004, you wrote: >jorton 2004/11/10 07:11:23 > > Modified: modules/ssl config.m4 > Log: > * modules/ssl/config.m4: Use libtool's -export-symbols-regex flag to > hide all global symbols defined by mod_ssl other than the module > structure (where possible). > > Revision Changes Path > 1.24 +5 -0 httpd-2.0/modules/ssl/config.m4 > > Index: config.m4 > =================================================================== > RCS file: /home/cvs/httpd-2.0/modules/ssl/config.m4,v > retrieving revision 1.23 > retrieving revision 1.24 > diff -d -w -u -r1.23 -r1.24 > --- config.m4 6 Mar 2004 16:47:41 -0000 1.23 > +++ config.m4 10 Nov 2004 15:11:23 -0000 1.24 > @@ -116,6 +116,11 @@ > APACHE_CHECK_SSL_TOOLKIT > APR_SETVAR(MOD_SSL_LDADD, [\$(SSL_LIBS)]) > CHECK_DISTCACHE > + if test "x$enable_ssl" = "xshared"; then > + # The only symbol which needs to be exported is the module > + # structure, so ask libtool to hide everything else: > + APR_ADDTO(MOD_SSL_LDADD, [-export-symbols-regex ssl_module]) > + fi > ]) > > # Ensure that other modules can pick up mod_ssl.h > > >