• Dag Haavi Finstad's avatar
    Don't transition to CLOS_REM state until we've seen END_STREAM · ace8e8fe
    Dag Haavi Finstad authored
    Previously we've been incorrectly transtitioning to CLOS_REM on
    END_HEADERS, which prevents us from seeing if a client incorrectly
    transmitted a DATA frame on a closed stream.
    
    This slightly complicates things in that we can now be in state OPEN
    with an inactive hpack decoding state, and we need to make sure on
    cleanup if that has already been finalized.
    
    This would be simpler if the h/2 spec had split the OPEN state in two
    parts, with an extra state transition on END_HEADERS.
    
    Again big thanks to @xcir for his help in diagnosing this.
    
    Fixes: #2623
    ace8e8fe
t02014.vtc 1.43 KB