- 
    
Bug
 - 
    Resolution: Done
 - 
    
Blocker
 - 
    7.4.12.CR1
 - 
    None
 
With EAP 7.4.12.GA-CR1 (and WildFly too) we can see failures of 2 negative tests in the h2spec TS we use to check that JBoss EAP/WildFly/Undertow behaves according to the HTTP2 protocol standard.
Here are the failing tests:
Hypertext Transfer Protocol Version 2 (HTTP/2)
  8. HTTP Message Exchanges
    8.1. HTTP Request/Response Exchange
      × 1: Sends a second HEADERS frame without the END_STREAM flag
        -> 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:1504, flags:0x01, stream_id:1)
      8.1.2. HTTP Header Fields
        8.1.2.1. Pseudo-Header Fields
          × 3: Sends a HEADERS frame that contains a pseudo-header field as 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:1504, flags:0x01, stream_id:1)
What these two tests do is they simulate misbehaving client that breaks the HTTP2 protocol and server is supposed to end the connection with the client with PROTOCOL_ERROR code. But in our case the server happily continues with the DATA frame instead.
After some checks I found out that it was brought in by changes that were implemented for the UNDERTOW-2258 issue - this PR and specifically this particular commit is the culprit that these two tests started to fail.
My assumption is that part of the code that sends the PROTOCOL_ERROR shouldn't have been removed completely but should have been kept there under some extra condition?
- clones
 - 
                    
JBEAP-24971 Undertow HTTP2 breaks protocol specification when client misbehaves
-         
 - Closed
 
 -         
 
- is caused by
 - 
                    
JBEAP-24328 [GSS](7.4.z) UNDERTOW-2251 / UNDERTOW-2258 - protocol error with HTTP/2 and Expect: 100-continue part 2
-         
 - Closed
 
 -         
 
- is incorporated by
 - 
                    
JBEAP-25085 [GSS](7.4.z) Upgrade Undertow from 2.2.25.SP1 to 2.2.25.SP2
-         
 - Closed
 
 -