Skip to content

dc-quic state machine moves forward even if the previous state errorred #3173

Description

@maddeleine

Security issue notifications

If you discover a potential security issue in s2n-quic we ask that you notify
AWS Security via our vulnerability reporting page. Please do not create a public github issue.

Problem:

The dc-quic state machine currently checks that it is in the correct state and moves the state machine forward in one function call. This means that if a state errors, the state machine has already ticked forward. The consequences of this are that the state machine will allow the next state to be executed, even though the previous state did not succeed.

Need By Date:

N/A

Solution:

To fix this we discussed just cloning the state to check if the transition is acceptable first, and then only transitioning the real state the function has succeeded.

self.state.check().on_path_secrets_ready().is_ok()
pub fn check(&self) → Self { self.clone() }

Requirements / Acceptance Criteria:

Out of scope:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions