Apache 1.x modules work by registering a table of function pointers, and
the apache core calls out at various points in processing.  In order to
make SSL work, Ralph added some more callbacks. They are added to the
*end* of the current table.  This extendaed API, EAPI, is enabled by
adding -DEAPI to your C compiler flags.

Old source compiled with -DEAPI works because C guarantees that the
extra pointers at the end will be NULL, and the Apache core won't call
them.  Old objects linked with new objects *could* fail miserably,
because instead of having NULL pointers, the old objects have whatever
data happend to fall after their table, which probably isn't a valid
callback function pointer, but also probably isn't NULL.

So apache starts.  Depending on which old modules are loaded, how the
compiled laid out their data, etc., etc., it might work.  Or Apache
might jmp off into never-never land, segfault, and die.

Hope this helps.  If there's a FAQ maintainer, perhaps this text will be
useful to add.
        /r$
-- 
Zolera Systems, Securing web services (XML, SOAP, Signatures,
Encryption)
http://www.zolera.com
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [EMAIL PROTECTED]
Automated List Manager                            [EMAIL PROTECTED]

Reply via email to