Hi,

On Thu, Jan 25, 2018 at 04:35:58AM +0800, klzgrad wrote:
> Hi,
> 
> I patched Chromium to close the stream immediately after seeing END_STREAM.
> 
> In testing, Chromium sends an RST (CANCEL) for this, but HAProxy
> replies with an RST (STREAM_CLOSED). This is a MUST NOT (though only a
> nuisance for me as Chromium will print warnings for it.):
> 
> > To avoid looping, an endpoint MUST NOT send a RST_STREAM in response to a 
> > RST_STREAM frame.
> 
> I put some logging points. This branch is being triggered:
> 
> if (h2s->flags & H2_SF_RST_RCVD) {
> 
> During this, h2s is h2_closed_stream, and the "closed" stream was
> previously deleted from h2_detach.

I'm sorry for the delay, but this was not lost. I've now addressed it.
Thanks for the detailed analysis, it helped me spot the cause. It was
indeed the fact that we report an error for a frame received on a
closed stream, but we must avoid responding in this case since the
frame in question was itself a reset.

Cheers,
Willy

Reply via email to