Checkout Tools
  • last updated 9 hours ago
Constraints: committers
Constraints: files
Constraints: dates
* Move the Example modules to the newly created examples subdirectory

* Hopefully correctly fudge the NWGNU make files

* Add mod_example_ipc (without NWGNU stuff or dsp)

  1. … 25 more files in changeset.
Some unused local variables.

Resolve examples errors (missing include error, signedness warning).
  1. … 1 more file in changeset.
Complete cleanup of global variable use by mod_example. This should take away

any existing reservation about thread-safety of this code. Add warning that

this code is now too top heavy and implements too many obscure callbacks to

serve a s point of departure for one's own development effort.

Get rid of the global trace_add in favor of specific trace functions tailored to the server run phase and callback context. Add the final trace function (for no context) and start moving the EXAMPLE_LOG_EACH stuff to ap_log_perror instead of directly writing to stdout.

Ongoing crusade to separate callback tracing into single-process

single-thread part and thread-safe per-request or per-connection

(forthcoming) routines. Implement trace_startup() routine and call it

from startup hook handlers instead of the old trace_add routine. This

completely separates the global variable manipulation from the

request-specific stuff. Otherwise, it's mostly existing code.

Add request-specific trace method that does not use global variables and

can be called in a multi-threaded situation.

ifdef out suexec for the platforms that don't support it
* Move the error log slug higher in the trace function, so it gets

executed even if the trace_add returns in the middle

* Add a direct-to-stderr path in case we don't have a server_rec to log


* Remove now redundant direct-to-sterr from x_monitor callback

* Further clarify hook callback return convention

* Place some trace calls into context

* Every hook callback implementation now has the same comment format

* Document hitherto undocumented hook callbacks

* Always trace the handler, whether it gets to write its content or not

* Clean up stale 1.3 comments in handler callback

* Document quick_handler callback according to a conversation Googled up from

new-httpd in 2002

* Change callback names so all follow the same format: the hook name with a


* Add a callback handler for the enigmatic ap_hook_monitor

* Make EXAMPLE_LOG_EACH compiler directive settable on command line

* Clean up introductory comments for hook handler declarations, explain about

RUN_ALL, RUN_FIRST in one single place, remove leftover comments from 1.3

* Place trace entry for quick_handler in request context

* Found every hook declaration in the source by running

find . -name \*.[ch] | xargs grep -E -A 3 \


from top of source tree; implemented handler for everything that turned


Next up: bring comments in line with introduction, clean up existing comments;

re-design trace mechanism to stop messing with globals after server may

start threads.

* Start re-organizing the function declarations to put related items together

* Fix http_scheme and default_port implementations to return proper

equivalents of DECLINED, so they can exist without breaking stuff

* Explain why some of the config access utility routines are ifdeffed out

add example test_config routine

re-order config routines to match invocation order

Replace ap_get_server_version with ap_get_server_banner() and


High-level summary:

The full server version information is now included in the error log at

startup as well as server status reports, irrespective of the setting

of the ServerTokens directive.

Third-party modules must now use ap_get_server_banner() or

ap_get_server_description() in place of ap_get_server_version().

  1. … 27 more files in changeset.
Introduce a check_config phase between pre_config and open_logs,

to allow modules to review interdependent configuration directive

values and adjust them while messages can still be logged to the


The open_logs phase is already used somewhat for this purpose by

certain MPMs (winnt, prefork, worker, and event) but only by forcing

their functions ahead of the core ap_open_logs() function, and

since this phase runs after the ap_signal_server function during startup,

it can not be used to generate messages on the console when restarting.

Add the check_config phase to mod_info and mod_example.

Handle relevant MPM directives during this phase and format messages

for both the console and the error log, as appropriate. Bounds and sanity

checks on the values of the MPM directives are handled in sequence in

this phase instead of in the various directive handling functions, since

those functions (e.g., set_max_clients()) may not be called at all if their

directives do not appear in the configuration files, and even if they

are called, there is no guarantee that this will occur in any particular


Remove from the worker and event MPMs the code in the pre_config phase

that alters the configuration node tree by re-ordering ThreadsPerChild

ahead of MaxClients. This code is effective but insufficient; for

example, if ServerLimit follows MaxClients, the test against server_limit

in set_max_clients() is invalid. (In practice, this only results in

incorrect or absent warnings on the console, because server_limit is

set to its configured value when the main loop re-runs the configuration


Prevent ap_threads_per_child from exceeding thread_limit in the

winnt, worker, and event MPMs. This situation could occur if

ThreadsPerChild was not specified in the configuration files and

ThreadLimit was set to a value smaller than DEFAULT_THREADS_PER_CHILD,

because set_threads_per_child() would never be called and therefore

its bounds check against thread_limit would not be performed.

Remove from the winnt, prefork, worker, and event MPMs the

changed_limit_at_restart flag. Set the first_server_limit and

first_thread_limit values during the first execution of the check_config

function, and use them to detect changes to ServerLimit and ThreadLimit

across restarts and issue appropriately formatted warnings. Remove the

comments about the error log being a "bit bucket"; this was true when

the code was originally committed in r92530 but that was due to a bug

fixed in r92769.

Be consistent about setting all MPM configuration directive values in the

pre_config phase.

Rephrase and reformat the console and log file messages relating to

MPM configuration directives to be consistent across all MPMs. Use

briefer messages when logging to the error log than to the console.

Update miscellaneous stale comments and messages (e.g., reference to

daemons_min_free in worker and event MPMs, "prefork open_logs" in

winnt MPM, and StartServers in netware MPM).

The winnt, netware, beos, and mpmt_os2 MPMs should be tested by developers

with access to those platforms, especially the winnt MPM, which has

unique logic with respect to distinguishing between parent and child

processes during the configuration phases.

Update the English documentation for the worker MPM's ThreadsPerChild

directive, which no longer needs to precede other MPM directives in the

configuration files if it has a non-default value. The German (.de) and

Japanese (.ja) translations should be updated by developers fluent in

those languages.

  1. … 13 more files in changeset.
update license header text
  1. … 316 more files in changeset.
Update the copyright year in all .c, .h and .xml files

  1. … 497 more files in changeset.
No functional Change: Removing trailing whitespace. This also

means that "blank" lines consisting of just spaces or

tabs are now really blank lines

  1. … 180 more files in changeset.
No functional change: simple detabbing of indented code.

  1. … 72 more files in changeset.
Update copyright year to 2005 and standardize on current copyright owner line.

  1. … 522 more files in changeset.

FINALLY Correct ap_http_method()! It is NOT a method, it's a SCHEME!

Bumped mmn, and ap module cookie, for this function rename.

It's not a deprecation, as ap_http_method would be a lovely function

name sometime in the future: to determine what the function name implies.

  1. … 14 more files in changeset.
general property cleanup

  1. … 712 more files in changeset.
PR: 29709,32051

Submitted by: Gabriel Kalkuhl

Add warning notice about basing code on mod_example.

fix name of The Apache Software Foundation

  1. … 361 more files in changeset.
fix copyright dates according to the first check in

  1. … 16 more files in changeset.
apply Apache License, Version 2.0

  1. … 262 more files in changeset.
update license to 2004.

  1. … 281 more files in changeset.
fix cut-n-paste errors in the logging of the current hook

add map_to_storage hook to mod_example

Submitted by: Geoffrey Young <>

Reviewed by: Jeff Trawick

finished that boring job:

update license to 2003.

Happy New Year! ;-))

  1. … 271 more files in changeset.