* Fix If-Match handling:
- We need to fail if we do NOT match.
- ETag comparison only makes sense if we have an ETag
PR: 57358
Submitted by: Kunihiko Sakamoto <ksakamoto google.com>
Reviewed by: rpluem
Submitted by: rpluem
Reviewed/backported by: jim
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@
1674658 13f79535-47bb-0310-9956-
ffa450edef68
calls r:wsupgrade() can cause a child process crash.
[Edward Lu <Chaosed0 gmail.com>]
+ *) mod_http: Fix incorrect If-Match handling. PR 57358
+ [Kunihiko Sakamoto <ksakamoto google.com>]
+
*) ssl: Add a warning if protocol given in SSLProtocol or SSLProxyProtocol
will override other parameters given in the same directive. This could be
a missing + or - prefix. PR 52820 [Christophe Jaillet]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- *) mod_http: Fix incorrect If-Match handling. PR 57358.
- trunk patch: http://svn.apache.org/r1646282
- 2.4.x patch: trunk works (modulo CHANGES)
- +1: ylavic, covener, jim
-
*) mod_status: Improve server-status output when called with "?auto"
(machine readable form).
trunk patch: http://svn.apache.org/r1671396
*/
if ((if_match = apr_table_get(r->headers_in, "If-Match")) != NULL) {
if (if_match[0] == '*'
- || ((etag = apr_table_get(headers, "ETag")) == NULL
- && !ap_find_etag_strong(r->pool, if_match, etag))) {
+ || ((etag = apr_table_get(headers, "ETag")) != NULL
+ && ap_find_etag_strong(r->pool, if_match, etag))) {
return AP_CONDITION_STRONG;
}
else {
*/
cond = ap_condition_if_match(r, r->headers_out);
if (AP_CONDITION_NOMATCH == cond) {
- not_modified = 0;
- }
- else if (cond >= AP_CONDITION_WEAK) {
return HTTP_PRECONDITION_FAILED;
}