summaryrefslogtreecommitdiffhomepage
path: root/src/event/quic/ngx_event_quic_connection.h
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2021-12-13 17:27:29 +0300
committerVladimir Homutov <vl@nginx.com>2021-12-13 17:27:29 +0300
commita31745499bcf35fac236bdc5f3d0d0a6d679b4e0 (patch)
treeb9b9eaa64fccf5422a98f29d82c74db731ea85f7 /src/event/quic/ngx_event_quic_connection.h
parent6e7f19280423056bf06fcd5055db3fcabb842c76 (diff)
downloadnginx-a31745499bcf35fac236bdc5f3d0d0a6d679b4e0.tar.gz
nginx-a31745499bcf35fac236bdc5f3d0d0a6d679b4e0.tar.bz2
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.
Diffstat (limited to 'src/event/quic/ngx_event_quic_connection.h')
-rw-r--r--src/event/quic/ngx_event_quic_connection.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/event/quic/ngx_event_quic_connection.h b/src/event/quic/ngx_event_quic_connection.h
index ee80342fa..7b6afb123 100644
--- a/src/event/quic/ngx_event_quic_connection.h
+++ b/src/event/quic/ngx_event_quic_connection.h
@@ -86,6 +86,7 @@ struct ngx_quic_path_s {
socklen_t socklen;
ngx_uint_t state;
ngx_msec_t expires;
+ ngx_msec_t last_seen;
ngx_uint_t tries;
off_t sent;
off_t received;
@@ -93,7 +94,6 @@ struct ngx_quic_path_s {
u_char challenge2[8];
ngx_uint_t refcnt;
uint64_t seqnum;
- time_t validated_at;
ngx_str_t addr_text;
u_char text[NGX_SOCKADDR_STRLEN];
};