View | Details | Raw Unified | Return to bug 57358
Collapse All | Expand All

(-)modules/http/http_protocol.c (-8 / +5 lines)
Lines 315-327 Link Here
315
     * to compare the entity tags in If-Match.
315
     * to compare the entity tags in If-Match.
316
     */
316
     */
317
    if ((if_match = apr_table_get(r->headers_in, "If-Match")) != NULL) {
317
    if ((if_match = apr_table_get(r->headers_in, "If-Match")) != NULL) {
318
        if (if_match[0] == '*'
318
        if (if_match[0] != '*'
319
                || ((etag = apr_table_get(headers, "ETag")) == NULL
319
                && ((etag = apr_table_get(headers, "ETag")) == NULL
320
                        && !ap_find_etag_strong(r->pool, if_match, etag))) {
320
                        || !ap_find_etag_strong(r->pool, if_match, etag))) {
321
            return AP_CONDITION_STRONG;
321
            return AP_CONDITION_NOMATCH;
322
        }
322
        }
323
        else {
323
        else {
324
            return AP_CONDITION_NOMATCH;
324
            return AP_CONDITION_STRONG;
325
        }
325
        }
326
    }
326
    }
327
327
Lines 552-560 Link Here
552
     */
552
     */
553
    cond = ap_condition_if_match(r, r->headers_out);
553
    cond = ap_condition_if_match(r, r->headers_out);
554
    if (AP_CONDITION_NOMATCH == cond) {
554
    if (AP_CONDITION_NOMATCH == cond) {
555
        not_modified = 0;
556
    }
557
    else if (cond >= AP_CONDITION_WEAK) {
558
        return HTTP_PRECONDITION_FAILED;
555
        return HTTP_PRECONDITION_FAILED;
559
    }
556
    }
560
557

Return to bug 57358