Greg, this isn't an error, and the early "Success" was a catastrophic
failure for many cases.

If a user of 1.3/earlier 2.0 copied index.html to index.html.bak, and
added a new paragraph to index.html, then queried index.html ...

index.html.bak was returned, since the file was _smaller_.

Any extension that A) was not requested, or B) is not negotatied
is not eligable to be served.

[There is a weakness.  We need to evaluate the exception list by
component, right now we simply strcmp.  There is a note in status to
that effect.  E.g. requesting index.bak -should- match index.html.bak,
but it wouldn't.  Although we can test -in-order-, we simply need to
check that each extension that didn't match was an extension of the
requested filename.]

Bill


----- Original Message ----- 
From: "Greg Ames" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, September 28, 2001 4:25 PM
Subject: .asis handler isn't driven


> www.apache.org was recently changed so that www.apache.org/search.html
> became search.html.asis .
> That document contains a 301 Moved Permanantly response, referring to
> http://search.apache.org/ .  
> 
> It works fine with 2.0.24, but fails with the current HEAD with:
> 
> [Thu Sep 27 13:49:14 2001] [error] [client 32.97.136.236] Negotiation:
> discovered file(s) matching request: /www/www.apache.org/search.html
> (None could be negotiated).
> 
> daedalus's config file contains:
> 
>     AddHandler send-as-is asis
> 
> The log entry is created by read_types_multi() in mod_negotiation,
> called by its type checker phase.  Shortly before this log entry, there
> is a loop which attempts to match prefixes of directory entries against
> "exceptions" discovered by mod_mime.  The closest we ever come to a
> match in this loop is comparing "search.html" from the dir to
> "search.asis" from the exceptions list.  There is some code that notices
> that sub_req->handler and ->content_type are non-null, but that isn't
> enough to make it happy.  We eventually return HTTP_NOT_FOUND from
> read_types_multi(), so the asis handler never gets a shot the request.
> 
> I suspect mod_mime more than mod_negotiation, because the changes to the
> latter in the type checker seem pretty innocent since 2.0.24.  But I
> don't know how this interface is supposed to work.
> 
> After read_types_multi() runs a subrequest for search.html.asis,
> sub_req->handler == "send-as-is" and sub_req->content_type ==
> "text/html".  I would think that's about all the type checking phase
> needs, and read_types_multi() should say
> "OK, mod_mime knows the full scoop for this variant, so I should be
> happy with it too."  
> 
> Greg
> 

Reply via email to