private-octopus / picoquic

Minimal implementation of the QUIC protocol
MIT License
523 stars 153 forks source link

Verify processing of stream control frames after reset #1598

Closed huitema closed 6 months ago

huitema commented 6 months ago

This PR tests three kinds of events that can involve "Reset Stream", "Max stream data" and "Stop Sending" frames processed after a stream has been reset or otherwise closed:

The combination of "ack/extra/need" with three frame types produces 9 possible tests. However, there is no acking processing for stop sending frames, so we do not implement a test for "ack of a stop sending frame.

Issue #1597 describes one such event: the stack tries to process the acknowledgement of a "reset stream" frame after the stream has been deleted. This issue is fixed in this PR, along several similar issues detected by the new tests.

Close #1597

TimEvens commented 6 months ago

@huitema , thanks for getting this fix in so quickly