Commit 18691642 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

http2: don't pass on Connection: headers

RFC 7540 section 8.1.2.2 states: "An endpoint MUST NOT generate an
HTTP/2 message containing connection-specific header fields; any message
containing connection-specific header fields MUST be treated as
malformed"

Closes #401
parent 4ceddcf8
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1290,10 +1290,14 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
  authority_idx = 0;

  for(i = 3; i < nheader; ++i) {
    size_t hlen;
    end = strchr(hdbuf, ':');
    if(!end)
      goto fail;
    if(end - hdbuf == 4 && Curl_raw_nequal("host", hdbuf, 4)) {
    hlen = end - hdbuf;
    if(hlen == 10 && Curl_raw_nequal("connection", hdbuf, 10))
      ; /* skip Connection: headers! */
    else if(hlen == 4 && Curl_raw_nequal("host", hdbuf, 4)) {
      authority_idx = i;
      nva[i].name = (unsigned char *)":authority";
      nva[i].namelen = (uint16_t)strlen((char *)nva[i].name);