This is getting ridiculous. ETags are important to caching. Caching is important to HTTP. If you sum up all of the instances of webdav in the world (including the ones my company sells), they still amount to nothing compared to the rest of the uses of HTTP.
If you want strong etags for mod_dav, then do the right thing and generate strong etags in mod_dav. Replace its backend with a versioned filestore (like subversion) and use the revision number as the strong etag. All this other nonsense about removing the weakness indicator on weak etags, or just not supplying etags at all on weak filesystem writes, is not going to happen. We have weak etags because our generic core filesystem backend doesn't need strong etags anywhere near as much as it needs high performance. That's why modules that do authoring should not use the generic core filesystem backend. Until mod_dav learns that, just apply the patch that Werner proposed http://issues.apache.org/bugzilla/attachment.cgi?id=20552 (and perhaps make it a hook that can be replaced by modules). That is sufficient to fix the bug for dav. If you want a better meets_conditions in general, then write a new one with a new interface that can pass in the metadata for the chosen representation (if any) and does not stink of stupid DAVisms (like "resource exists" where it should say "representation exists"). Do not make patches to the old interface because those won't be distributed until Apache 3.x. If the weak etags are not being matched to the string etags on GET, then that is another bug that must be fixed. It is not an excuse to ignore the HTTP design. ....Roy
