h11 icon indicating copy to clipboard operation
h11 copied to clipboard

Fix parsing limits

Open anton-ryzhov opened this issue 5 months ago • 1 comments

Fixes #182

maybe_read_from_IDLE_client and maybe_read_from_SEND_RESPONSE_server readers wait for concrete terminators and produce NEED_DATA events until that. After NEED_DATA max_incomplete_event_size limit is checked.

Here I'm adding consistent size limits for these events, that do not depend on chunking patterns.

To ensure that we need to reject complete request data chunk if incomplete request[:-1] already exceeds max_incomplete_event_size limit.

Practically max_complete_event_size = max_incomplete_event_size + 1 and enforced for "all or nothing" event readers.

I've added failing test with the first commit and the fix in the second.

anton-ryzhov avatar Jul 05 '25 22:07 anton-ryzhov

@njsmith could you please take a look?

anton-ryzhov avatar Aug 18 '25 18:08 anton-ryzhov