tempesta-tech / tempesta

All-in-one solution for high performance web content delivery and advanced protection against DDoS and web attacks
https://tempesta-tech.com/
GNU General Public License v2.0
625 stars 103 forks source link

reuse old stream id #1800

Closed RomanBelozerov closed 1 year ago

RomanBelozerov commented 1 year ago

Scope

  1. send request with stream id = 1;
  2. receive response;
  3. close stream;
  4. send request with stream id = 1 again;

ER: Tempesta returns GOAWAY frame with PROTOCOL_ERROR. AR: Tempesta does not respond and outputs message in dmesg [tempesta fw] Warning: Unable to transform HTTP/1.1 data into HTTP/2 format: free space exhausted (accumulated length: 78

RFC 9113 5.1.1

An endpoint that receives an unexpected stream identifier MUST respond with a connection error (Section 5.4.1) of type PROTOCOL_ERROR

Test to reproduce. Please enable after fixes. And also h2spec test.

const-t commented 1 year ago

Warning: Unable to transform HTTP/1.1 data into HTTP/2 format: free space exhausted (accumulated length: 78

It will be fixed by PR 1820. However, tempesta successfully response to second request with same stream id. Need to fix it.