diff options
| author | Vladimir Homutov <vl@nginx.com> | 2021-12-13 17:27:29 +0300 |
|---|---|---|
| committer | Vladimir Homutov <vl@nginx.com> | 2021-12-13 17:27:29 +0300 |
| commit | a31745499bcf35fac236bdc5f3d0d0a6d679b4e0 (patch) | |
| tree | b9b9eaa64fccf5422a98f29d82c74db731ea85f7 /src/event/quic/ngx_event_quic_connection.h | |
| parent | 6e7f19280423056bf06fcd5055db3fcabb842c76 (diff) | |
| download | nginx-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.h | 2 |
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]; }; |
