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

(-)modules/http/http_filters.c (-18 / +21 lines)
Lines 1430-1454 Link Here
1430
    h.bb = b2;
1430
    h.bb = b2;
1431
1431
1432
    if (r->status == HTTP_NOT_MODIFIED) {
1432
    if (r->status == HTTP_NOT_MODIFIED) {
1433
        apr_table_do((int (*)(void *, const char *, const char *)) form_header_field,
1433
      /*
1434
                     (void *) &h, r->headers_out,
1434
       * List of headers Gecko doesn't update on a 304 (or 206 partial content)
1435
                     "Connection",
1435
       * https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsHttpResponseHead.cpp#862
1436
                     "Keep-Alive",
1436
       */
1437
                     "ETag",
1437
        apr_table_unset(r->headers_out, "Connection");
1438
                     "Content-Location",
1438
        apr_table_unset(r->headers_out, "Proxy_Connection");
1439
                     "Expires",
1439
        apr_table_unset(r->headers_out, "Keep_Alive");
1440
                     "Cache-Control",
1440
        apr_table_unset(r->headers_out, "Proxy_Authenticate");
1441
                     "Vary",
1441
        apr_table_unset(r->headers_out, "Proxy_Authorization");
1442
                     "Warning",
1442
        apr_table_unset(r->headers_out, "TE");
1443
                     "WWW-Authenticate",
1443
        apr_table_unset(r->headers_out, "Trailer");
1444
                     "Proxy-Authenticate",
1444
        apr_table_unset(r->headers_out, "Transfer_Encoding");
1445
                     "Set-Cookie",
1445
        apr_table_unset(r->headers_out, "Upgrade");
1446
                     "Set-Cookie2",
1446
        apr_table_unset(r->headers_out, "Content_Location");
1447
                     NULL);
1447
        apr_table_unset(r->headers_out, "Content_MD5");
1448
        apr_table_unset(r->headers_out, "ETag");
1449
        apr_table_unset(r->headers_out, "Content_Encoding");
1450
        apr_table_unset(r->headers_out, "Content_Range");
1451
        apr_table_unset(r->headers_out, "Content_Type");
1452
        apr_table_unset(r->headers_out, "Content_Length");
1448
    }
1453
    }
1449
    else {
1454
    send_all_header_fields(&h, r);
1450
        send_all_header_fields(&h, r);
1451
    }
1452
1455
1453
    terminate_header(b2);
1456
    terminate_header(b2);
1454
1457

Return to bug 61820