Nick Kew wrote (concerning bug 38034):
A quick look at the reports shows a lot of competing patches, and a
lot of inconclusive discussion. So it doesn't look like a simple
matter just to apply patches and close bug.
If you're telling us it is a simple matter, perhaps you could post
a summary here, as a startingpoint for reviewing what you propose.
Don't try to get me flaming again. But I don't see a lot of competing
patches. What I see is a lot of effort from outside apache to provide a
patch for a five year old bug, with almost no response from apache
developers, at least from no one, who would be able or willing to commit
a patch.
Although I think, I explained it on
http://issues.apache.org/bugzilla/show_bug.cgi?id=38034, here is a
summary again. But note: it is up to you, to look at the proposed
patched, decide and do the real commit. And please don't try to start
another *inconlusive discussion*, if you are not willing to commit a bug
fix, that proves to work.
The bug
-------
It's really two bugs:
1. mod_dav does not get the Etag and provide it to ap_meets_conditions.
So ap_meets_conditions works with no or the wrong Etag, so decisions
involving the Etag can't be correct.
2. ap_meets_conditions does not and cannot know, whether the resource
exists. This knowledge is needed for decisions about "If-Match: *"
and "If-None-Match: *". That's why these go wrong.
How two fix the bugs:
---------------------
There are two alternatives: fix only for mod_dav (it is very important)
or fix in general (would be nice).
Fix for mod_dav only:
There are two patches (as far as I can see):
http://issues.apache.org/bugzilla/attachment.cgi?id=20552 (from me)
and
http://mail-archives.apache.org/mod_mbox/httpd-dev/200710.mbox/[EMAIL PROTECTED]
(from Paritosh Shah)
These two patches are not competing. They do fundamentaly the same, but
the second one (from Paritosh) is the cleaner one.
Fix it in general:
Even a general solution will still have to fix the bug in mod_dav. There
is a patch from Paritosh
http://mail-archives.apache.org/mod_mbox/httpd-dev/200710.mbox/raw/[EMAIL
PROTECTED]/3
To fix the problem with ap_meets_conditions in general, a change in its
interface is necessary, to provide ap_meets_conditions with information
about the existence of the file. There has been some discussion about
how to do this interface change.
In my opinion, the best solution is suggested by Paritosh in
http://mail-archives.apache.org/mod_mbox/httpd-dev/200711.mbox/[EMAIL PROTECTED]
The changes of the code in ap_meets_conditions(2?) should be exactly the
ones in
http://mail-archives.apache.org/mod_mbox/httpd-dev/200710.mbox/raw/[EMAIL
PROTECTED]/2
But editorial changes are necessary, depending on how the interface will
be changed exactly.
As I understand, Paritosh would be willing, to provide a complete
working patch for the general solution. But I also understand, that Tim
Olsen would not be fond of wasting time on creating fine patches, that
will be ignored anyway.
My Proposal:
------------
Use the mod_dav-only patch as an intermediate solution, because it is
urgent. This solution will not touch anything but mod_dav and can be
removed without side effects as soon as a general solution is available.
Take the time to consider how to change the interface of
ap_meets_conditions (there might be more issues related to this) and
include a clean general solution in 2.2.8.
Competing Patches
-----------------
The only competing patch I know of is
http://issues.apache.org/bugzilla/attachment.cgi?id=21295
It just does not work, because it ignores half of the bugs and relies on
assumptions that are most probably wrong.
Werner