-
-
Notifications
You must be signed in to change notification settings - Fork 1
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
port_default_packet_handler()
needs to know when it should start with client validation
#911
Comments
Should the count be per-source-IP (or some masked value of it for IPv6)? |
I think this is more or less related to issue discovered in interoperability tests. details are #948 |
actually, I think we can push this work to the client. If we implement the sending of NEW_TOKEN frames as per #929 , The we could just make the assumption that any inbound connection without a token value in it has to be validated, as clients that have already connected can just use the NEW_TOKEN provided token to bypass the extra round trip. refinement note: Seems like we could just drop this to avoid the complexity of adding it, as NEW_TOKENS obviate the need to measure backlog. |
This ticket refers to draft pull request #25842. The code currently validate every client which attempts to connect to:
Line 852 must be changed such there will be test which will determine it's time to validate client. The underlying logic should monitor number of half-opened sessions. Half-open session is every session which arrives with destination connection id which LCIDM (local connection ID manager) knows nothing about (function
ossl_quic_lcidm_lookup()
fails to find matching channel for such destination connection id. If this happens the half open counter must be bumped up.As soon as SSL handshake completes (SSL handshake counts as client validation) the half open counter gets decremented. Once the counter reaches certain threshold the condition at line 852 trips and port starts to send retry packets to validate clients.
The devil is in detail: how application (or OpenSSL library) should define a threshold? In my opinion this is the hardest part to answer here.
Scope:
The text was updated successfully, but these errors were encountered: