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

Changeset 84809 is being indexed.

Update minor module magic number to reflect the new field (case_preserved_filename)


  1. … 4 more files in changeset.
Revert the scoreboard change because Jim doesn't like it.

  1. … 5 more files in changeset.
Revert to the 1.3.3 way of getting the server name from the scoreboard,

with a modification to make it respect the UseCanonicalName setting.

This makes things work better with mass vhosting setups.

Submitted by: Cliff Woolley <>

Reviewed by: Tony Finch

  1. … 3 more files in changeset.
Minor MMN bump to note the addition of all the 1.3.6-9 functions.

back out Ken's recent patch, I'm vetoing it:

- it adds a new API which can only be implemented through O(n^2) methods

- it does not solve the problem in a way which is compatible with existing


- We went over this, and other solutions were presented. The current

situation is already O(n^2), so I'm not just vetoing this based on that

-- I'm vetoing this because I don't want another O(n^2) API embedded

into the code. A solution which would retain more compatibility with

existing modules would add an "table *vary" to the request_rec, and

then modify ap_send_http_header to merge the contents of the table

and any "Vary" entry in r->headers_out. This can be done with a simple

sort operation.

  1. … 10 more files in changeset.

Note some recent API changes in a couple of places; correct

docco on *SecurityDescriptor safety.

  1. … 2 more files in changeset.
MMN bump and change of location for local_ip

and local_host slots

  1. … 1 more file in changeset.

mod_autoindex was only checking for exact matches of "text/html"

for ScanHTMLTitles, which meant that "text/html;charset=foo"

documents wouldn't be scanned. As a side effect of this patch,

add ap_field_noparam(), which returns the unparameterised value

for any HTTP field that can use '*( ";" parameter)'.

PR: 4524

  1. … 5 more files in changeset.
Uhhhhhh.. minor vs. major: Ok, make the friends happy. I've personally no

strong opinion on this stuff because I'm still part of the guys who thing the

major/minor distinction is mostly useless. A single value is enough IMHO...

Replace regexec() calls with calls to a new API stub function ap_regexec().

This solves problems with DSO modules which use the regex library.

Submitted by: Jens-Uwe Mager <>, Ralf S. Engelschall

Reviewed by: Ralf S. Engelschall

  1. … 11 more files in changeset.
Fix configuration engine re-entrant hangups, which solve a

handful of problems seen with mod_perl <Perl> configuration sections


Obtained from:

Submitted by: Salvador Ortiz Garcia <>

Reviewed by: Doug, Dean

  1. … 6 more files in changeset.
Add ap_vrprintf() function

PR: 4246

Submitted by: John Tobey <>

  1. … 3 more files in changeset.
M_INVALID needs a value within the scope of METHODS so that unknown

methods can be access controlled. MMP must be bumped because this may

break binary compatibility for third-party modules.

PR: 3821

  1. … 2 more files in changeset.
somehow we missed implementing ap_isxdigit... oh and there was a stray

use of isdigit()

  1. … 9 more files in changeset.
SIGPIPE is now ignored by the server core. The request write routines

(ap_rputc, ap_rputs, ap_rvputs, ap_rwrite, ap_rprintf, ap_rflush) now

correctly check for output errors and mark the connection as aborted.

Replaced many direct (unchecked) calls to ap_b* routines with the

analogous ap_r* calls. Removed the pointless handling of EAGAIN errors.

  1. … 5 more files in changeset.
Added ap_sub_req_method_uri() for doing a subrequest with a method

other than GET, and const'd the definition of method in request_rec.

Submitted by: Greg Stein <>

Reviewed by: Roy Fielding, Dean Gaudet, Doug MacEachern

  1. … 8 more files in changeset.
Refix the entity tag comparisons for If-Range, If-Match and If-None-Match.

Comparisons need to be case sensitive and in all but one case (cache update)

need to be strong comparisons, taking into account the possibility that

any of the current Etag or the one(s) received from the client may be weak.

Changed name of ap_find_list_item() to ap_size_list_item() to be consistent

with other find routines and added new (simple) ap_find_list_item(), whose

implementation will eventually be replaced with something more efficient.

PR: 2065, 3657

Submitted by: Roy Fielding, Ken Coar, Dean Gaudet

  1. … 6 more files in changeset.
Reverse prior commit of ap_find_opaque_token() so that it can be replaced

by a slightly different method using ap_get_list_item().

  1. … 5 more files in changeset.
Added ap_find_list_item() and ap_get_list_item() to util.c for parsing

an HTTP header field value to extract the next list item, taking into

account the possible presence of nested comments, quoted-pairs,

and quoted-strings. ap_get_list_item() also removes insignificant

whitespace and lowercases non-quoted tokens.

Work around a bug in Lynx regarding its sending "Negotiate: trans"

even though it doesn't understand TCN.

PR: 2065

  1. … 7 more files in changeset.

Rework the ap_MD5Encode() routine to use FreeBSD's algorithm

and a private significator ("$apr1"); also make it reentrant.

Abstract the password checking into a new routine,

ap_validate_password(plaintext, hashed), and modify mod_auth*.c

to use it instead of each doing the algorithm check.

Obtained from: FreeBSD 3.0 /usr/src/lib/libcrypt/crypt.c (MD5)

  1. … 10 more files in changeset.

Whoops; forgot to add the new ap_MD5Encode() function..

  1. … 2 more files in changeset.

ETags aren't normal tokens by the RFC 2068 definition; they

explicitly contain quoted strings and can include stuff *outside*

the quotes as well ('W/' for a weak ETag). So add a new function

that treats *everything* except ',' and ' ' (and not even those,

if they're in a quoted string) as part of the token, and fix the

ETag checks to use it.

PR: 2065, 3657

  1. … 5 more files in changeset.
Found an excuse for bumping MMN anyway -- I've been meaning to

reorder the new request_rec entries to where they belong the next

time we did an already MMN-bumped release, so let's do it now.

  1. … 1 more file in changeset.
Moved prototypes/defines for ap_os_canonical_filename(),

ap_os_case_canonical_filename(), ap_os_systemcase_filename(), and

ap_os_is_filename_valid() from httpd.h to the separate os.h files.

Moved BS2000-specific os_set_account() and os_init_job_environment()

prototypes to bs2000/os.h. HAVE_CANONICAL_FILENAME no londer needed.

  1. … 9 more files in changeset.

If we tried to check the version number of a module compiled

before 1 January 1999, we'd be looking in the wrong places

for the filename and version numbers because the magic cookie

insertion changed their offsets. This fixes that, at the cost

of making any modules compiled between 1 January 1999 and 6 January

1999 unreadable. Balancing a span of five days against six

months makes this seem reasonable.

  1. … 2 more files in changeset.
ap_os_is_filename_valid() has been added to Win32

to detect and prevent access to special DOS device file names.

Submitted by: Paul Sutton, Ken Parzygnat

Reviewed by: Roy Fielding

  1. … 8 more files in changeset.
Major overhaul of mod_negotiation.c, part 2.

- properly handle "identity" within Accept-Encoding.

- allow encoded variants in RVSA negotiation and let them appear in

the Alternates field using the non-standard "encoding" tag-list.

- fixed both negotiation algorithms so that an explicitly accepted

encoding is preferred over no encoding if "identity" is not

included within Accept-Encoding.

- added ap_array_pstrcat() to alloc.c for efficient concatenation

of large substring sequences. Bumped MMN.

- replaced O(n^2) memory hogs in mod_negotiation with ap_array_pstrcat.

  1. … 7 more files in changeset.
Added MODULE_MAGIC_COOKIE as the first field in a module structure to

allow us to distinguish between a garbled DSO (or even a file which isn't

an Apache module DSO at all) and a DSO which doesn't match the current

Apache API.

Submitted by: Ralf S. Engelschall

PR: 3152

  1. … 3 more files in changeset.
``Oh, by the way: the same procedure as last year?

The same procedure as _every_ year, James!''

So, a lot of touched files here, but it's just a tiny harmless patch.

As every year we bump up the year number in our copyright headers.

1. "199x-1998" => "199x-1999"

2. "1998" => "1998-1999"

  1. … 126 more files in changeset.