You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2013/05/06 01:23:14 UTC

[Bug 16126] cache mishandles If-None-Match

https://issues.apache.org/bugzilla/show_bug.cgi?id=16126

--- Comment #20 from Graham Leggett <mi...@sharp.fm> ---
First problem uncovered is that ap_meets_conditions() uses ap_find_list_item()
to search for the ETag match, and ap_find_list_item() assumes that the string
being searched for is already lowercase, which for a weak ETag by definition is
not true (Weak ETag starts with "W").

This should fix this:

Index: server/util.c
===================================================================
--- server/util.c    (revision 1479115)
+++ server/util.c    (working copy)
@@ -1375,7 +1375,8 @@
                                if (in_com || in_qstr)
                                    good = good && (*pos++ == *ptr);
                                else
-                                   good = good && (*pos++ ==
apr_tolower(*ptr));
+                                   good = good
+                                       && (apr_tolower(*pos++) ==
apr_tolower(*ptr));
                                addspace = 0;
                                break;
                 }

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org