My company makes ColdFusion, which has a web server component,
written in C++, that plugs in to various servers on Solaris, HPUX
Windows NT and Linux.
We ship a binary version of our module with our product for both
Apache 1.2.6 and Apache 1.3. When Apache 1.3 was released, we
were e*d to learn of the Dynamic Module (DSO) support,
thinking it was created for just our situation: Vendors who
for one reason or another ship a binary module that could be
plugged in to Apache without compilation by our customers.
Well, that is all well and good as long as the Apache developers
don't change the MODULE_MAGIC_NUMBER (see src/include/ap_mmn.h).
This number has been changed so far in every 'minor' release but one.
(Apache 1.3.3). This has caused Allaire (and me) no end of customer
support and development headache. Before the announcement of Apache
1.3.6 was even in my mailbox, technical support was talking to a
customer trying to use 1.3.6 with our module and having it fail.
This is particularly troubling on Windows NT, as generally those
customers DO NOT compile the server themselves, nor do they know
anything about it.
I know that most modules are shipped in source form and that most
people who install Apache compile it themselves. Since our module
is written in C++ and uses code which we are not willing to release,
we currently ship in binary form.
This is a plea to the Apache developers to STOP changing the
interface. You ARE affecting customers with these changes.
Please think very carefully if you go to touch ap_mmn.h that
you will be causing a great deal of hassle for at least one
company (Allaire) which is trying to fully support this great
Another smaller plea to those who write modules which change
the size or add fields to the request structure (i.e. mod_ssl).
This is BAD. Binary modules will not work if you do this.
Thanks for your attention.
Please CC me via Email on any replies.
Tom Jordahl tomj at allaire.com
Allaire Development http://www.veryComputer.com/