Page MenuHomePhabricator
Paste P13410

Varnish 6.0.6 VS h2spec 2.6.0
ActivePublic

Authored by Vgutierrez on Nov 25 2020, 11:54 AM.
Tags
None
Referenced Files
F33924865: Varnish 6.0.6 VS h2spec 2.6.0
Nov 25 2020, 11:54 AM
Subscribers
None
Varnish 6.0.6 VS h2spec 2.6.0
Failures:
Generic tests for HTTP/2 server
4. HTTP Message Exchanges
using source address 127.0.0.1:61895
× 4: Sends a POST request with trailers
-> The endpoint MUST respond to the request.
Expected: HEADERS Frame (stream_id:1)
Actual: Connection closed
Hypertext Transfer Protocol Version 2 (HTTP/2)
3. Starting HTTP/2
3.5. HTTP/2 Connection Preface
using source address 127.0.0.1:61912
× 2: Sends invalid connection preface
-> The endpoint MUST terminate the TCP connection.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: Error: unexpected EOF
5. Streams and Multiplexing
5.1. Stream States
using source address 127.0.0.1:61929
× 8: closed: Sends a DATA frame after sending RST_STREAM frame
-> The endpoint MUST treat this as a stream error of type STREAM_CLOSED.
Expected: GOAWAY Frame (Error Code: STREAM_CLOSED)
RST_STREAM Frame (Error Code: STREAM_CLOSED)
Connection closed
Actual: Timeout
using source address 127.0.0.1:61932
× 11: closed: Sends a DATA frame
-> The endpoint MUST treat this as a connection error of type STREAM_CLOSED.
Expected: GOAWAY Frame (Error Code: STREAM_CLOSED)
RST_STREAM Frame (Error Code: STREAM_CLOSED)
Connection closed
Actual: Timeout
5.3. Stream Priority
5.3.1. Stream Dependencies
using source address 127.0.0.1:61938
× 1: Sends HEADERS frame that depends on itself
-> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
using source address 127.0.0.1:61939
× 2: Sends PRIORITY frame that depend on itself
-> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: Timeout
5.5. Extending HTTP/2
using source address 127.0.0.1:61942
× 2: Sends an unknown extension frame in the middle of a header block
-> The endpoint MUST treat as a connection error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: Timeout
6. Frame Definitions
6.1. DATA
using source address 127.0.0.1:61945
× 3: Sends a DATA frame with invalid pad length
-> The endpoint MUST treat this as a connection error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: WINDOW_UPDATE Frame (length:4, flags:0x00, stream_id:1)
6.3. PRIORITY
using source address 127.0.0.1:61951
× 2: Sends a PRIORITY frame with a length other than 5 octets
-> The endpoint MUST respond with a stream error of type FRAME_SIZE_ERROR.
Expected: GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
RST_STREAM Frame (Error Code: FRAME_SIZE_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
6.7. PING
using source address 127.0.0.1:61967
× 2: Sends a PING frame with ACK
-> The endpoint MUST NOT respond to PING frames with ACK.
Expected: PING Frame (length:8, flags:0x01, stream_id:0, opaque_data:h2spec)
Actual: Connection closed
8. HTTP Message Exchanges
8.1. HTTP Request/Response Exchange
8.1.2. HTTP Header Fields
8.1.2.1. Pseudo-Header Fields
using source address 127.0.0.1:61996
× 4: Sends a HEADERS frame that contains a pseudo-header field that appears in a header block after a regular header field
-> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
8.1.2.2. Connection-Specific Header Fields
using source address 127.0.0.1:61999
× 1: Sends a HEADERS frame that contains the connection-specific header field
-> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
using source address 127.0.0.1:62003
× 2: Sends a HEADERS frame that contains the TE header field with any value other than "trailers"
-> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
8.1.2.3. Request Pseudo-Header Fields
using source address 127.0.0.1:62004
× 1: Sends a HEADERS frame with empty ":path" pseudo-header field
-> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
using source address 127.0.0.1:62006
× 3: Sends a HEADERS frame that omits ":scheme" pseudo-header field
-> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
using source address 127.0.0.1:62009
× 6: Sends a HEADERS frame with duplicated ":scheme" pseudo-header field
-> The endpoint MUST respond with a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
8.1.2.6. Malformed Requests and Responses
using source address 127.0.0.1:62011
× 1: Sends a HEADERS frame with the "content-length" header field which does not equal the DATA frame payload length
-> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: WINDOW_UPDATE Frame (length:4, flags:0x00, stream_id:1)
using source address 127.0.0.1:62012
× 2: Sends a HEADERS frame with the "content-length" header field which does not equal the sum of the multiple DATA frames payload length
-> The endpoint MUST treat this as a stream error of type PROTOCOL_ERROR.
Expected: GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
HPACK: Header Compression for HTTP/2
4. Dynamic Table Management
4.2. Maximum Table Size
using source address 127.0.0.1:62016
× 1: Sends a dynamic table size update at the end of header block
-> The endpoint MUST treat this as a decoding error.
Expected: GOAWAY Frame (Error Code: COMPRESSION_ERROR)
Connection closed
Actual: DATA Frame (length:0, flags:0x01, stream_id:1)
Finished in 34.0969 seconds
146 tests, 127 passed, 0 skipped, 19 failed