Bill Stoddard [Thu, 23 Aug 2001 14:15:00 +0000 (14:15 +0000)]
Experimental cache based on Graham Leggett's layered cache design. mod_cache
implements a quick handler, and three filters. The filters are
CACHE_IN for loading the cache, CACHE_OUT for serving content out of the cache
and CACHE_CONDITIONAL, which handles stale entries in the cache.
mod_cache implements code that makes RFC compliant caching decisions. It
interfaces with the actual storage mechanism via calls to functions defined in
cache_storage.c. This commit includes a simple in memory (malloc'ed memory)
cache implementation that demonstrates autoloading and serving files
keyed on URL.
This is not even close to production ready. You have been warned :-)
Doug MacEachern [Thu, 23 Aug 2001 04:15:37 +0000 (04:15 +0000)]
fix part of PR #7528
"UnsetEnv does not work from main body of httpd.conf"
PR also complains:
"also does not unsetenv()", but this fix does not address that
(i doubt unsetenv is portable or threadsafe)
PR:
Obtained from:
Submitted by:
Reviewed by:
Cliff Woolley [Thu, 23 Aug 2001 00:21:40 +0000 (00:21 +0000)]
Simplify the apr_read_type_e vs. ap_input_mode_t silliness. The two
are compatible (due to our early abort when PEEK mode is requested),
so we don't have to go to so much effort to convert from one to the other.
Complete the rename of the ssl_scache_status_register and
ssl_ext_proxy_register (which has yet to be renamed for it's
future location, since I'm not going further at the moment
with implementing it's functionallity, all my focus is on
the ssl_var_register arm.)
Doug MacEachern [Wed, 22 Aug 2001 21:37:15 +0000 (21:37 +0000)]
remove #if 0-ed ssl_hook_NewConnection code; was only left for reference,
no longer needed
remove #if 0-ed ssl_hook_TimeoutConnection code; ssl no longer talks directly
to the socket
PR:
Obtained from:
Submitted by: madhu
Reviewed by: dougm
Doug MacEachern [Wed, 22 Aug 2001 20:43:30 +0000 (20:43 +0000)]
v2 of sterlings segv fix
always initialize the extension_info hash rather than checking that it is
!= NULL
PR:
Obtained from:
Submitted by: John Sterling <sterling@covalent.net>
Reviewed by: dougm
Jeff Trawick [Wed, 22 Aug 2001 18:58:36 +0000 (18:58 +0000)]
simplify some code in output_results() just a bit to avoid a
bug in gcc 2.7.2.3 on FreeBSD 3.4; didn't hit the problem with
-O2; did hit the problem with no -O
Change the new-httpd@apache.org references to dev@httpd.apache.org.
There are some references just to "new-httpd" throughout - I left
these intact as I'm not sure what the nickname for the new list is
(dev@httpd?).
Doug MacEachern [Wed, 22 Aug 2001 16:59:26 +0000 (16:59 +0000)]
rather than creating small 1024 byte buckets of output data,
create a transient bucket pointing directly to the BIO mem buff.
this makes for a dramatic increase in performance. previously,
downloading large files (2Mb-5Mb-ish) made my laptop start to
smoke from the fan spinning so fast to cool the cpu.
also, apache stylize churn_output()
PR:
Obtained from:
Submitted by:
Reviewed by:
Ensure that libtool does the installation for us. This way we will actually
copy over the binaries rather than libtool wrapper scripts which would
copy the binaries to .libs/lt-* at first execution.
Reviewed by: Greg Stein
Doug MacEachern [Wed, 22 Aug 2001 15:30:37 +0000 (15:30 +0000)]
destroy the brigade when we are done with it, rather than remove
one bucket at a time. prevents a problem when downloading large files.
also change ssl_io_filter_Output to apache style
and change some variable names that should make the code easier to
read/understand, e.g. pbbIn -> bb, pbktIn -> bucket
PR:
Obtained from:
Submitted by:
Reviewed by:
We don't have rules.mk.in, so autoconf/m4/sed will overwrite the good
rules.mk with a blank file.
This gets us building again. From what I see of rbb's libtool 1.4 commit,
I didn't see any change to rules.mk that would require variable
substitution. Ryan?
Ryan Bloom [Tue, 21 Aug 2001 23:41:35 +0000 (23:41 +0000)]
Allow Apache to use libtool 1.4. In order to do this, we check the
libtool version of the machine, and we add the correct flags to the build.
We also had to remove the --disable-shared in order to make this work
correctly.
Doug MacEachern [Tue, 21 Aug 2001 05:57:13 +0000 (05:57 +0000)]
authentication/authorization hooks were backwards
make authentication hook run APR_HOOK_FIRST for FakeBasicAuth
PR:
Obtained from:
Submitted by:
Reviewed by:
Joshua Slive [Tue, 21 Aug 2001 01:31:23 +0000 (01:31 +0000)]
I hope I don't get anybody upset here, but I'm going to go super-simple
on this for now. I removed all the fancy stuff. If someone wants
to put it back in after we've thought a little about things like
the location of the graphic file, I will have no objections.
First, let's start with something simple that works.
Fix build breakage on Linux glibc 2.1+ systems that prevented db1 from being
correctly found for mod_auth_dbm. This is similar to the mod_auth_db check.
Ryan Bloom [Mon, 20 Aug 2001 22:30:17 +0000 (22:30 +0000)]
Add the openssl/include/openssl directory to the INCLUDES variable.
This allows us to remove the openssl from the #include lines in the
mod_ssl files. This makes it easier to use a different SSL library,
with fewer changes to the mod_ssl files.
Create the abs.dsp win32 project to support building ab with /USE_SSL,
and modify Makefile.win to install the ssl-enabled abs.exe binary
as 'bin/ab.exe' if srclib/openssl exists.
We might want to disable this, by default, when we get ready for GA.
ITMT, this provides a fantastic stress-test for interoperability of
the ap_die handling, the includes filter, the negotiated typemap
behavior and the new typemap-body functions.
Keep adding to the list of errors as they are converted from the
httpd-2.0/docs/docroot/error individual files into docs/error.
Paul J. Reder [Mon, 20 Aug 2001 19:47:52 +0000 (19:47 +0000)]
The prefork and OS/2 MPMs are overwriting the pid file when a second copy
of httpd is started and shuts down due to socket conflict. Moving the
call to ap_log_pid solves the problem.
*) Changed the late-1.3 log_config substitution %c to %X (logs the
status of the closed connection) as it conflicts with the far more
common, historical ssl logging directive %...{var}c.
My bad. We need to use the constants defined in httpd.h. The essential
reason is that these errors will grow to include 'other' things, like
custom error responses, DAV error responses, and so on. They may also
start including 'sub errors' - local langauge explanations of specific
failures. Let's use the httpd.h constants rather than numbers, they
are easier to read.
This is the Body:tag\n<Content>*tag\n patch for type map files. If the
content can be served, it sends a file bucket of the type map file
itself, forward spaced to the <Content>, set to the length of <Content>.
<Content> may contain any binary data. The end tag must exist, anything
between the tag and \n is ignored. This version (v.s. the patch sent to
the list) includes error reporting if the end tag cannot be located.
We need to change the etag code to accept an additional argument, so we
can set the cache controls properly.