+++ /dev/null
-
-Use a weak etag comparison:
-
-http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16451
-
-(similar but simpler than the fix in CVS HEAD)
-
---- httpd-2.0.45/modules/dav/main/util.c.davetag 2003-05-19 14:43:45.000000000 +0100
-+++ httpd-2.0.45/modules/dav/main/util.c 2003-05-19 14:41:04.000000000 +0100
-@@ -1072,7 +1072,17 @@
- switch(state_list->type) {
- case dav_if_etag:
- {
-- int mismatch = strcmp(state_list->etag, etag);
-+ int mismatch;
-+ const char *given_etag = state_list->etag;
-+ const char *current_etag = etag;
-+
-+ if (given_etag[0] == 'W' && given_etag[1] == '/')
-+ given_etag += 2;
-+
-+ if (current_etag[0] == 'W' && current_etag[1] == '/')
-+ current_etag += 2;
-+
-+ mismatch = strcmp(given_etag, current_etag);
-
- if (state_list->condition == DAV_IF_COND_NORMAL && mismatch) {
- /*