Open Sashan opened 2 weeks ago
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.
Should the count be per-source-IP (or some masked value of it for IPv6)?
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: