comparison src/event/quic/ngx_event_quic_socket.c @ 8939:ddd5e5c0f87d quic

QUIC: improved path validation. Previously, path was considered valid during arbitrary selected 10m timeout since validation. This is quite not what RFC 9000 says; the relevant part is: An endpoint MAY skip validation of a peer address if that address has been seen recently. The patch considers a path to be 'recently seen' if packets were received during idle timeout. If a packet is received from the path that was seen not so recently, such path is considered new, and anti-amplification restrictions apply.
author Vladimir Homutov <vl@nginx.com>
date Mon, 13 Dec 2021 17:27:29 +0300
parents aae8b91e0280
children fb41e37ddeb0
comparison
equal deleted inserted replaced
8938:23880e4ad3e2 8939:ddd5e5c0f87d
80 goto failed; 80 goto failed;
81 } 81 }
82 82
83 if (pkt->validated) { 83 if (pkt->validated) {
84 path->state = NGX_QUIC_PATH_VALIDATED; 84 path->state = NGX_QUIC_PATH_VALIDATED;
85 path->validated_at = ngx_time();
86 } 85 }
87 86
88 /* now bind socket to client and path */ 87 /* now bind socket to client and path */
89 ngx_quic_connect(c, qsock, path, cid); 88 ngx_quic_connect(c, qsock, path, cid);
90 89