diff options
author | Sergey Kandaurov <pluknet@nginx.com> | 2020-05-29 12:55:39 +0300 |
---|---|---|
committer | Sergey Kandaurov <pluknet@nginx.com> | 2020-05-29 12:55:39 +0300 |
commit | 49d7ae444f73d8d47029d6c70b01d01d5637fb34 (patch) | |
tree | 7257b5fe0d9922a13c549409520d6b1fa9689744 /src | |
parent | a4a641fa6ce6197f23ed632cd447bb7f975c0b1d (diff) | |
download | nginx-49d7ae444f73d8d47029d6c70b01d01d5637fb34.tar.gz nginx-49d7ae444f73d8d47029d6c70b01d01d5637fb34.zip |
Rejected forbidden transport parameters with TRANSPORT_PARAMETER_ERROR.
Diffstat (limited to 'src')
-rw-r--r-- | src/event/ngx_event_quic_transport.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/event/ngx_event_quic_transport.c b/src/event/ngx_event_quic_transport.c index 71fe830d3..ed140e4ac 100644 --- a/src/event/ngx_event_quic_transport.c +++ b/src/event/ngx_event_quic_transport.c @@ -1356,14 +1356,6 @@ ngx_quic_parse_transport_param(u_char *p, u_char *end, uint16_t id, uint64_t varint; switch (id) { - case NGX_QUIC_TP_ORIGINAL_CONNECTION_ID: - case NGX_QUIC_TP_STATELESS_RESET_TOKEN: - case NGX_QUIC_TP_PREFERRED_ADDRESS: - /* TODO: implement */ - return NGX_DECLINED; - } - - switch (id) { case NGX_QUIC_TP_DISABLE_ACTIVE_MIGRATION: /* zero-length option */ @@ -1464,6 +1456,16 @@ ngx_quic_parse_transport_params(u_char *p, u_char *end, ngx_quic_tp_t *tp, return NGX_ERROR; } + switch (id) { + case NGX_QUIC_TP_ORIGINAL_CONNECTION_ID: + case NGX_QUIC_TP_PREFERRED_ADDRESS: + case NGX_QUIC_TP_STATELESS_RESET_TOKEN: + ngx_log_error(NGX_LOG_INFO, log, 0, + "quic client sent forbidden transport param" + " id 0x%xi", id); + return NGX_ERROR; + } + p = ngx_quic_parse_int(p, end, &len); if (p == NULL) { ngx_log_error(NGX_LOG_INFO, log, 0, |