httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <b...@wstoddard.com>
Subject Re: A last [extenstive testing required] patch to close 1.3 generation
Date Fri, 18 May 2001 11:31:58 GMT
I am -1 for this patch unless we can fix this problem w/o requiring stating
each and every element when we are walking the file path.

Bill

----- Original Message -----
From: "William A. Rowe, Jr." <wrowe@rowe-clan.net>
To: <new-httpd@apache.org>
Sent: Friday, May 18, 2001 1:33 AM
Subject: A last [extenstive testing required] patch to close 1.3 generation


> I didn't bring this up before 1.3.20, because of it's scope.
>
> We have the essential problems on Win32:
>
>   1. filename case folding doesn't match clib folding [it's oem locale
mapped]
>
>   2. we were folding case, but the ambiguity in the win32 filesystem leads
us
>      to stat down the filepath anyways.  This became redundant.
>
>   3. we actually stat down the filepath twice, once for true case and once
for
>      the 'canonical' lowercase.
>
> I'd like to implement the following straightforward patch:
>
>   1. roll back the case folding altogether, make
r->case_preserved_filename
>      point at the same r->filename string, both in true case.  We walk the
>      filepath only once in our systemcase-canonicalization function.  Do
so in
>      conjunction with the file_info call, so we don't walk the
non-existant
>      path backwards, but the real path, forwards.  Suppose that heavy cgi
or
>      scripted sites would benefit from tripping that flag, as well, since
they
>      wouldn't stat for all the missing /extra segments in the path.
>
>   2. patch the server to assure we are always comparing with case
insensitive
>      semantics throughout using strcasecmp or the ignorecase flag to our
>      ap_fnmatch function.  But change the semantics slightly to use ap_fs_
>      case folding functions (mapping to the usual clib on all other
platforms.)
>
>      This broad patch would only apply to <File > and <Directory > blocks
and
>      filesystem names, and _never_ URI space names.
>
>
> That's it.  No optimized rewrite of the directory_walk in 1.3 (it's
written, to
> be committed to the 2.0 branch alone.)  Nothing else fancy.  Simple, true
case
> that's filesystem API normalized.
>
> Our existing 'overwork' has cost us in performance, but we keep walking on
while
> IIS reveals yet another hole in it's uri->filesystem mapping every month
or few.
> We can recover some of the performance, if we want to go this direction.
>
> I'd reiterate [already wearing my flame-retardant glasses] that I'm of the
opinion
> that the 1.3 chapter of apache is closing (quickly, I hope) but we will
have left
> a more stable product for folks to rely upon while APR and httpd-2.0 go
through
> their growing pains.
>
> If there are objections or hints, I'll take them before I attack.  ITMT,
back to
> the 2.0 tree again for me :-)
>
> Bill
>
>


Mime
View raw message