From: Amos Jeffries Date: Tue, 10 Sep 2013 07:36:28 +0000 (-0600) Subject: Register Http2-Settings header X-Git-Tag: SQUID_3_3_10~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=459dec103e01fd9b2440901d3c8e1dc34d8fb23a;p=thirdparty%2Fsquid.git Register Http2-Settings header This header ia a hop-by-hop request-only header and requires stripping by intermediaries which do not support HTTP/2.0 in Upgrade feature. We register it now to ensure the stripping occurs even if broken clients omit it from the Connection header list. --- diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc index aed6647dd3..4c4c21a841 100644 --- a/src/HttpHeader.cc +++ b/src/HttpHeader.cc @@ -107,6 +107,7 @@ static const HttpHeaderFieldAttrs HeadersAttrs[] = { {"Expires", HDR_EXPIRES, ftDate_1123}, {"From", HDR_FROM, ftStr}, {"Host", HDR_HOST, ftStr}, + {"HTTP2-Settings", HDR_HTTP2_SETTINGS, ftStr}, /* for now */ {"If-Match", HDR_IF_MATCH, ftStr}, /* for now */ {"If-Modified-Since", HDR_IF_MODIFIED_SINCE, ftDate_1123}, {"If-None-Match", HDR_IF_NONE_MATCH, ftStr}, /* for now */ @@ -251,6 +252,7 @@ static http_hdr_type ReplyHeadersArr[] = { static HttpHeaderMask RequestHeadersMask; /* set run-time using RequestHeaders */ static http_hdr_type RequestHeadersArr[] = { HDR_AUTHORIZATION, HDR_FROM, HDR_HOST, + HDR_HTTP2_SETTINGS, HDR_IF_MATCH, HDR_IF_MODIFIED_SINCE, HDR_IF_NONE_MATCH, HDR_IF_RANGE, HDR_MAX_FORWARDS, HDR_ORIGIN, @@ -261,7 +263,7 @@ static http_hdr_type RequestHeadersArr[] = { static HttpHeaderMask HopByHopHeadersMask; static http_hdr_type HopByHopHeadersArr[] = { - HDR_CONNECTION, HDR_KEEP_ALIVE, /*HDR_PROXY_AUTHENTICATE,*/ HDR_PROXY_AUTHORIZATION, + HDR_CONNECTION, HDR_HTTP2_SETTINGS, HDR_KEEP_ALIVE, /*HDR_PROXY_AUTHENTICATE,*/ HDR_PROXY_AUTHORIZATION, HDR_TE, HDR_TRAILER, HDR_TRANSFER_ENCODING, HDR_UPGRADE, HDR_PROXY_CONNECTION }; diff --git a/src/HttpHeader.h b/src/HttpHeader.h index 3481994c74..abb136a887 100644 --- a/src/HttpHeader.h +++ b/src/HttpHeader.h @@ -83,6 +83,7 @@ typedef enum { HDR_EXPIRES, /**< RFC 2608, 2616 */ HDR_FROM, /**< RFC 2608, 2616 */ HDR_HOST, /**< RFC 2608, 2616 */ + HDR_HTTP2_SETTINGS, /**< HTTP/2.0 upgrade header. see draft-ietf-httpbis-http2-04 */ /*HDR_IF,*/ /* RFC 2518 */ HDR_IF_MATCH, /**< RFC 2608, 2616 */ HDR_IF_MODIFIED_SINCE, /**< RFC 2608, 2616 */