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

Slow connection clean up after ed25519 handshake failure #11

Closed
tegefaulkes opened this issue Apr 21, 2023 · 2 comments
Closed

Slow connection clean up after ed25519 handshake failure #11

tegefaulkes opened this issue Apr 21, 2023 · 2 comments
Assignees
Labels
development Standard development r&d:polykey:core activity 4 End to End Networking behind Consumer NAT Devices

Comments

@tegefaulkes
Copy link
Contributor

Specification

There is an odd delay when cleaning up the QUICConnection after a tls handshake error. After the client checks the server's certs and fails it, it sends the CC frame to close the connection. for a RSA cert the server enters draining and then the close state very quickly. But for a ed25519 cert the server processes the CC frame, waits an odd 3-ish seconds using the timeout(), onTimeout() timing mechanism and then enters the close state.

I don't see a reason why this would behave differently for an ed25519 cert compared to an RSA one. I've been over the internal logic and I think I'm handling all the events when and as intended. This 3 second delay is clearly being set after processing the CC frame with recv() on the server side AND doing processing a send(). This is also after both sides have entered the draining state, so no new packets are going to be sent between them.

Unless this is intended behaviour for handshakes with ed25519 certs, I can only assume this is some kind of bug. I've posed an upstream issue for this at cloudflare/quiche#1488.

Additional context

Tasks

  1. Determine the cause of this delay.
  2. Fix the problem.
@CMCDragonkai
Copy link
Member

It's also for ECDSA keypair.

@CMCDragonkai
Copy link
Member

CMCDragonkai commented Jul 6, 2023

This is understood why now. It does happen under specific circumstances. Not a bug on our side. Fixed by #26.

@CMCDragonkai CMCDragonkai added the r&d:polykey:core activity 4 End to End Networking behind Consumer NAT Devices label Jul 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Standard development r&d:polykey:core activity 4 End to End Networking behind Consumer NAT Devices
Development

No branches or pull requests

2 participants