Mercurial > hg > nginx-quic
changeset 7909:49a98760afd2 quic
Rejected forbidden transport parameters with TRANSPORT_PARAMETER_ERROR.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 29 May 2020 12:55:39 +0300 |
parents | f27fdf86275d |
children | 125cbfa77013 |
files | src/event/ngx_event_quic_transport.c |
diffstat | 1 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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,