From 0e22ccf23a80b74848b0431a8f4ec99b2b8b5c44 Mon Sep 17 00:00:00 2001 From: Martin Thomson Date: Tue, 5 Oct 2021 10:55:12 +1100 Subject: [PATCH] Negative base values are invalid Happy to use MAY here, which should have the same net effect. Closes #4938. --- draft-ietf-quic-qpack.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/draft-ietf-quic-qpack.md b/draft-ietf-quic-qpack.md index accfa6a7f4..7bf5a5156b 100644 --- a/draft-ietf-quic-qpack.md +++ b/draft-ietf-quic-qpack.md @@ -1007,6 +1007,12 @@ recent entry in the table and did not insert any new entries, the Base will be greater than the Required Insert Count, so the delta will be positive and the sign bit is set to 0. +The value of Base MUST NOT be negative. Though the protocol might operate +correctly with a negative base using post-base indexing, it is unnecessary and +inefficient. An endpoint MUST treat a field block with an S bit of 1 as invalid +if the value of Required Insert Count is less than or equal to the value of +Delta Base. + An encoder that produces table updates before encoding a field section might set Base to the value of Required Insert Count. In such case, both the sign bit and the Delta Base will be set to zero.