Subject: [quicwg/base-drafts] Disagreement in handling of unknown unidirectional stream types (#4929)

From: Mike Bishop <[email-masked]>
Date: Mon, 26 Jul 2021 14:01:25 -0700

@LPardue observed a seeming conflict in the requirements around unknown unidirectional stream types.

Section 9 says:
> Implementations MUST discard frames and abort reading on unidirectional streams that have unknown or unsupported types.

This has two problems.  First and editorial, if the type is unknown/unsupported, the presence of frames can't be determined.  This should refer to discarding any data, not frames specifically.  Second, it appears to disagree with Section 6.2:

> If the stream header indicates a stream type that is not supported by the recipient, the remainder of the stream cannot be consumed as the semantics are unknown. Recipients of unknown stream types MAY abort reading of the stream with an error code of H3_STREAM_CREATION_ERROR or a reserved error code (Section 8.1), but MUST NOT consider such streams to be a connection error of any kind.

I think the intent was MUST abort, but MAY pick an error code.  Looking at the history of the commits in Section 6.2, it was first MUST abort, then SHOULD use a particular code, then became MAY use the specific code with the prohibition on blowing up the whole connection.  The text should clarify the scope of the MAY.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/4929