Roy T. Fielding [Thu, 10 May 2001 01:47:47 +0000 (01:47 +0000)]
Eventually we will want to only find openssl once regardless of how
many modules depend on it, so make the check an autoconf macro.
Note that this still isn't being checked "the autoconf way", but it
is better than what we have now.
I'm not sure about the -R stuff, but I am told that Solaris won't
build without it. This is something that should be tested using
AC_TRY_LINK rather than assuming openssl isn't already on the ld path.
Roy T. Fielding [Tue, 8 May 2001 04:42:26 +0000 (04:42 +0000)]
When no specific location of openssl is given, we need to check the
places where people install upgraded software first, since otherwise
we will get the older versions installed by the OS distribution. That's
very bad for us because we are requiring a version of openssl that is
more recent than most of the Linux distros.
When finding the openssl helper program, check both the PATH and the default
install dirs, since openssl isn't normally included on a user's path.
Use APR_ADDTO to add to the make macros in order to avoid duplicates.
Port ssl_util_table.[ch] to Apache 2.0 by just removing all platform
depended code (table_read, table_write). This is possible because this
table library is local to mod_ssl and inside mod_ssl this library is
used for manipulating hash tables inside shared memory segments only. So
we can just get rid of the unportable parts at all.
Change mostly all old module structure hooks and EAPI hooks to
ap_hook_xxx equivalents. More work has to be done here to clean all this
up and reduce to a minimum...
Axe writev(2) support from the SSL I/O layer because in Apache 2.0 we no
longer handle the bottom line of I/O ourself. Additionally this again
simplifies mod_ssl's I/O part for later transition to mod_tls's approach
with buckets.
Axe most WIN32 stuff from Apache 1.3. In Apache 2.0 we either use APR
later for this or we don't do it at all. But we certainly no longer want
to see any platform specific things inside a module.
Axe out SSL_CONSERVATIVE stuff which for Apache 1.3 did I/O data
pre-sucking on POST requests and I/O re-injection in case of SSL
renegotiations. This all either cannot be solved any longer or at least
has to be implemented totally different through I/O layering/filtering.
Axe out SSL_USE_SDBM stuff, i.e., get rid of the local SDBM copy and use
APR's DBM API instead. The remaining question just is whether APR's DBM
allows "larger" things like SSL sessions to be stored...
Axe out the complete SSL_COMPAT stuff. Because Apache 2.0 is already
incompatible at many places to Apache 1.3 we also don't want this stuff
anymore. Apache 2.0's mod_ssl will be mostly compatibile with Apache
1.3's mod_ssl, of course. But we really no longer want to be compatible
to Sioux and other obsolete SSL things...
Start writing down incompatibilities to mod_ssl 2.x from Apache 1.3.
Our general goal is to axe down mod_ssl to a minimum, because what we
don't have anymore we don't have to port and as simpler mod_ssl becomes.
Nevertheless we will try to minimize incompatibilities if possible.
Axe out EAPI-based SSL_VENDOR stuff.
If we want this later again, we have to do it differently anyway. So,
for now we try to strip down mod_ssl as heavy as possible and hence we
kick out this stuff at all.
Finalize the build environment by integrating the last thing (the
lex/yacc stuff) into Makefile.in and getting rid of the old Apache 1.3
Makefile.tmpl file.
Get rid of libssl.modules and libssl.version. libssl.version we
no longer need, because mod_ssl no longer has its own version.
libssl.modules is now more or less (except for the old custom Apache 1.3
configuration rules) replaced by the Autoconf based config.m4.