Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add minimal handling of NEW_CONNECTION_ID frames #20892

Closed
wants to merge 7 commits into from

Conversation

t8m
Copy link
Member

@t8m t8m commented May 5, 2023

We actively use only the latest DCID received. And retire only
DCIDs requested by the peer to be retired.

Also changed the active_conn_id_limit to 2 as the minimum value allowed.

Adding test for this will be non-trivial but we will need it so setting tests: deferred.
I assume we can do something with the fault injector.

@t8m t8m added branch: master Merge to master branch approval: review pending This pull request needs review by a committer approval: otc review pending This pull request needs review by an OTC member triaged: bug The issue/pr is/fixes a bug tests: deferred Tests will be added in a subsequent PR (label should be removed when the PR with tests is merged) labels May 5, 2023
@t8m t8m mentioned this pull request May 5, 2023
2 tasks
Copy link
Member

@hlandau hlandau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. But I think this PR is small enough we can add the tests in this PR (IMO).

@hlandau
Copy link
Member

hlandau commented May 5, 2023

Also, can you confirm if you've tested this code against a server which issues a Retry? I'd be interested to know.

@t8m
Copy link
Member Author

t8m commented May 5, 2023

But I think this PR is small enough we can add the tests in this PR (IMO).

Do you have any hints on how to write the test? I can think of only somehow modifying the test server to issue NEW_CONNECTION_ID frame.

@t8m
Copy link
Member Author

t8m commented May 5, 2023

Also, can you confirm if you've tested this code against a server which issues a Retry? I'd be interested to know.

As far as I know the Cloudflare Quiche issues a retry. But I'll verify.

ssl/quic/quic_channel.c Show resolved Hide resolved
ssl/quic/quic_channel.c Show resolved Hide resolved
@t8m t8m added tests: present The PR has suitable tests present and removed approval: otc review pending This pull request needs review by an OTC member tests: deferred Tests will be added in a subsequent PR (label should be removed when the PR with tests is merged) labels May 10, 2023
@hlandau
Copy link
Member

hlandau commented May 11, 2023

Looks good, needs second reapproval. @paulidale

@t8m
Copy link
Member Author

t8m commented May 11, 2023

@hlandau I've added also a negative testcase, please reconfirm

Copy link
Contributor

@paulidale paulidale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice

@paulidale paulidale added approval: done This pull request has the required number of approvals and removed approval: review pending This pull request needs review by a committer labels May 11, 2023
@openssl-machine openssl-machine added approval: ready to merge The 24 hour grace period has passed, ready to merge and removed approval: done This pull request has the required number of approvals labels May 13, 2023
@openssl-machine
Copy link
Collaborator

This pull request is ready to merge

@Tarnum-tst
Copy link

Sorry but this PR is currently incompatible with master branch. Needs rebasing and fixing for test/quic_newcid_test.c because of missing parameters.

t8m added 6 commits May 15, 2023 12:32
We actively use only the latest DCID received. And retire only
DCIDs requested by the peer to be retired.

Also changed the active_conn_id_limit to 2 as the minimum value allowed.
seq_id must be >= retire_prior_to.

Add negative testcase.
@t8m
Copy link
Member Author

t8m commented May 15, 2023

Rebased to resolve merge conflicts please reconfirm @paulidale @hlandau

@t8m t8m added approval: review pending This pull request needs review by a committer approval: otc review pending This pull request needs review by an OTC member and removed approval: ready to merge The 24 hour grace period has passed, ready to merge labels May 15, 2023
@paulidale paulidale removed the approval: otc review pending This pull request needs review by an OTC member label May 16, 2023
@hlandau hlandau added approval: done This pull request has the required number of approvals and removed approval: review pending This pull request needs review by a committer labels May 16, 2023
@openssl-machine openssl-machine added approval: ready to merge The 24 hour grace period has passed, ready to merge and removed approval: done This pull request has the required number of approvals labels May 17, 2023
@openssl-machine
Copy link
Collaborator

This pull request is ready to merge

@hlandau
Copy link
Member

hlandau commented May 17, 2023

Merged to master. Thank you.

@hlandau hlandau closed this May 17, 2023
openssl-machine pushed a commit that referenced this pull request May 17, 2023
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20892)
openssl-machine pushed a commit that referenced this pull request May 17, 2023
We actively use only the latest DCID received. And retire only
DCIDs requested by the peer to be retired.

Also changed the active_conn_id_limit to 2 as the minimum value allowed.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20892)
openssl-machine pushed a commit that referenced this pull request May 17, 2023
seq_id must be >= retire_prior_to.

Add negative testcase.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20892)
openssl-machine pushed a commit that referenced this pull request May 17, 2023
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20892)
openssl-machine pushed a commit that referenced this pull request May 17, 2023
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20892)
openssl-machine pushed a commit that referenced this pull request May 17, 2023
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from #20892)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approval: ready to merge The 24 hour grace period has passed, ready to merge branch: master Merge to master branch tests: present The PR has suitable tests present triaged: bug The issue/pr is/fixes a bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants