Checkout Tools
  • last updated 2 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 91097 is being indexed.

ErrorDocument 404 pointing to a parsed html file with a

<!--#include virtual="file" --> with a request URI containing

%2f would result in a segfault (NULL pointer deref, not a

security problem).

PR: 8362

Additional enlightenment for users trying to understand win32 .bat scripts.

Currently, when the map-to-storage handler for TRACE returns DONE, the

caller -- ap_process_request_internal() -- catches that and returns

OK to its caller -- ap_process_request(). But ap_process_request(),

seeing OK, tries to run a handler. It needs to skip that if the

request was completed in ap_process_request_internal().

Reviewed by: William A. Rowe, Jr.

Clean up a compile warning on AIX.

Add an extra parameter to all apr_proc_wait() calls for the new "exitcode"

parameter. Pass NULL because we aren't interested in the value.

Added New Option 'HTTPProxyOverrideReturnedErrors' which lets the server override

the error pages returned from the proxied server and replace them with the standard

server error handling on the main server.

Reviewed by: Graham, Chuck

Update doc for the SIGUSR1 change - we no longer use SIGWINCH except on

Linux 2.0/glibc 2.0 which doesn't allow SIGUSR1 to be used by programs.

Feel free to change the wording. I don't care.

Accomodate the new server/util_time.c module on win32

if we're gonna trash the connection due to a queue overflow, at the

very least we should close the socket and write a log message (mostly

to aid debugging, as this is a showstopper problem)

this is no fix; there is a design issue to consider; hopefully this


There is still some stuff I'd like to do here, but I'll commit what

I have for the moment. I've done three things:

1. Emphasize that auth does not need to be in .htaccess.

2. Add detailed discussion of each of the auth directives (does this

belong here?)

3. Remove the AuthGroupFile /dev/null which shouldn't be necessary.

Couple small updates to dso.html

Finish some cleanup that Ryan started on dso.html:

- Add a sumary, index, ext

- put the most important stuff at the top

- remove some obsolete stuff

you don't need to tell genfile() which comment style to use anymore.

therefore the second argument is not needed anymore.


Obtained from:

Submitted by:

Reviewed by:

- genwarning() is now capable of picking the right comment style based on

the passed filename's extension.


Obtained from:

Submitted by:

Reviewed by:

The call to apr_explode_localtime() in mod_log_config is one of the more

expensive operations in the httpd. This patch attempts to reduce the

overhead by caching the result for 15 seconds.

Submitted by: Brian Pane <>

Reviewed by: Cliff Woolley, Ryan Bloom, Dean Gaudet, Justin Erenkrantz

I was kinda hoping those (void)some_function() and (request_rec *)NULL

casts would go away before this committed, but alas I didn't say anything.

:-) This gets rid of them and a few others just like them that I also

found in worker.c.

Oftentimes, I make no sense whatsoever.

(Clean up comment, really...)

Fix case where an included file may change but the shtml file has not -

since we returned Last-Modified/ETag headers, we said that it was possibly

cacheable. Wrong.

See RFC 2616 13.3.4 for more details (these are SHOULD/MAY clauses, so I

think we can discard them when we are dealing with dynamic data).

(Justin cleaned up the comment to cite RFC 2616.)

Submitted by: Ian Holsman <>

Reviewed by: Justin Erenkrantz, Aaron Bannert, Brian Pane

This patch fixes a nasty bug in the worker MPM where the

state of the worker threads was not being reported back to the

scoreboard, and eventually all the threads running in the children

would be reported as being in the "C -- closing connection" state.

This would wreak havoc on the idle_server_maintenance() routine. Since

these threads would never be counted as idle, the server would

spawn children as fast as possible.

Submitted by: Aaron Bannert <>

Reviewed by: Justin Erenkrantz

This patch eliminates the wasteful run-time conversion of method names from

strings to numbers in places where the methods are known at compile


(Justin fixed the va_end() call to be correct.)

Submitted by: Brian Pane <>

Reviewed by: Justin Erenkrantz

Turn the worker MPM's queue into a LIFO. This may

improve cache-hit performance under some conditions.

Submitted by: Aaron Bannert <>

Switch back to SIGUSR1 for graceful restarts on all platforms that

support it. This defines a symbol called AP_SIG_GRACEFUL in

ap_config_auto.h which will have the appropriate signal value. All

direct references to SIGWINCH have been replaced with AP_SIG_GRACEFUL.

On Linux 2.0, use SIGWINCH instead since SIGUSR1 is used by glibc

2.0's user-space threading library to control threads. All later

versions of Linux/glibc don't have this problem. (Not to mention the

security holes in older Linux versions which make it unsuitable for

use as a web server.) If your platform doesn't have SIGUSR1, use the

appropriate mojo in configure to define what your graceful restart

signal should be.

In theory, a configure switch could be added to allow the admin to

specify the appropriate signal that should be used. This is left

as an exercise to the reader for now.

The docs need to be updated. Since the signal is now configurable,

just saying SIGUSR1 for graceful restart isn't completely true. Also,

the apachectl functionality needs to be moved into httpd - this is

what Win32 does and it makes us consistent across platforms.

Roy issued a veto against use of SIGWINCH by default, so this should

resolve that veto.

Cleanup the worker MPM. We no longer re-use transaction

pools. This incurs less overhead than shuffling the pools

around so that they can be re-used. Remove one of the

queue's condition variables. We just redefined the API to

state that you can't try to add more stuff than you allocated

segments for.

Submitted by: Aaron Bannert <>

Allow VPATH builds for SSL.

Submitted by: Cody Sherr <>

add have_perl function; example: plan tests => 2, have_perl 'ithreads'


Obtained from:

Submitted by:

Reviewed by:

some build utils from ./util have silently moved (without commit)

into ./build, therefore adjusting the code/docs:



Obtained from:

Submitted by:

Reviewed by:

- test_module has gone, s/test_module/have_module/


Obtained from:

Submitted by:

Reviewed by:

  1. … 53 more files in changeset.
- fixing plan() to work correctly in situations like this:

plan tests => 14, todo => [3,4];

the new code is based on the fact that Test::plan() expects a hash,

value, so whenever we extend this feature we add a single argument at

the end of this hash.

- test_module is not needed now, removing it


Obtained from:

Submitted by:

Reviewed by:

If we are going to have an optional function, we have to install that

header file, so that people can use it.

I always forget this file...