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
>
>
>
|