[ 
https://issues.apache.org/jira/browse/TS-3946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14908547#comment-14908547
 ] 

Leif Hedstrom edited comment on TS-3946 at 9/25/15 7:28 PM:
------------------------------------------------------------

I have a trivial patch for this, please review:

Update: This problem actually seems to be intermittent as well. It does get 
better with the patch, but now I'm not so sure that it's correct?

{code}
diff --git a/proxy/http2/Http2ConnectionState.cc 
b/proxy/http2/Http2ConnectionState.cc
index 86f215e..8f41660 100644
--- a/proxy/http2/Http2ConnectionState.cc
+++ b/proxy/http2/Http2ConnectionState.cc
@@ -220,7 +220,7 @@ rcv_headers_frame(Http2ClientSession &cs, 
Http2ConnectionState &cstate, const Ht
       return Http2Error(HTTP2_ERROR_CLASS_CONNECTION, 
HTTP2_ERROR_PROTOCOL_ERROR);
     }

-    header_block_fragment_offset += HTTP2_HEADERS_PADLEN_LEN;
+    header_block_fragment_offset += (HTTP2_HEADERS_PADLEN_LEN + 
params.pad_length);
     header_block_fragment_length -= (HTTP2_HEADERS_PADLEN_LEN + 
params.pad_length);
   }
{code}


was (Author: zwoop):
I have a trivial patch for this, please review:

{code}
diff --git a/proxy/http2/Http2ConnectionState.cc 
b/proxy/http2/Http2ConnectionState.cc
index 86f215e..8f41660 100644
--- a/proxy/http2/Http2ConnectionState.cc
+++ b/proxy/http2/Http2ConnectionState.cc
@@ -220,7 +220,7 @@ rcv_headers_frame(Http2ClientSession &cs, 
Http2ConnectionState &cstate, const Ht
       return Http2Error(HTTP2_ERROR_CLASS_CONNECTION, 
HTTP2_ERROR_PROTOCOL_ERROR);
     }

-    header_block_fragment_offset += HTTP2_HEADERS_PADLEN_LEN;
+    header_block_fragment_offset += (HTTP2_HEADERS_PADLEN_LEN + 
params.pad_length);
     header_block_fragment_length -= (HTTP2_HEADERS_PADLEN_LEN + 
params.pad_length);
   }
{code}

> Invalid pad length in HTTP/2
> ----------------------------
>
>                 Key: TS-3946
>                 URL: https://issues.apache.org/jira/browse/TS-3946
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP/2
>            Reporter: Leif Hedstrom
>            Assignee: Leif Hedstrom
>             Fix For: 6.1.0
>
>
> This is an h2spec issue:
> {code}
>   6.1. DATA
>     ✓ Sends a DATA frame with 0x0 stream identifier
>     ✓ Sends a DATA frame on the stream that is not opend
>     × Sends a DATA frame with invalid pad length
>       - The endpoint MUST treat this as a connection error of type 
> PROTOCOL_ERROR.
>         Expected: GOAWAY frame (ErrorCode: PROTOCOL_ERROR)
>                   RST_STREAM frame (ErrorCode: PROTOCOL_ERROR)
>                   Connection close
>           Actual: RST_STREAM frame (Length: 4, Flags: 0, ErrorCode: 
> STREAM_CLOSED)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to