# HG changeset patch # User Sergey Kandaurov # Date 1590746139 -10800 # Node ID 49a98760afd29a757a79fe9f490060c258c26204 # Parent f27fdf86275d2d337d0affd1a91fc3353b85a3bf Rejected forbidden transport parameters with TRANSPORT_PARAMETER_ERROR. diff --git a/src/event/ngx_event_quic_transport.c b/src/event/ngx_event_quic_transport.c --- 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 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 * 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,