varnishcache / varnish-cache

Varnish Cache source code repository
https://www.varnish-cache.org
Other
3.56k stars 365 forks source link

h2: Ensure highest_stream is consistent also on Upgrade: h2c #4096

Closed daghf closed 2 months ago

daghf commented 2 months ago

highest_stream gets used both in transmitting goaway frames, and also for internal protocol consistency checks.

For the Upgrade: h2c handling we fail to bump this when kicking off the stream for the request that got the upgrade, so any subsequent frame transmitted on that stream will be treated with an inconsistent view on highest_stream. In particular, this leads to an erroneous PROTOCOL_ERROR on reception of a WINDOW_UPDATE.

bsdphk commented 2 months ago

Looks good to me.