aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2020-05-29 12:55:39 +0300
committerSergey Kandaurov <pluknet@nginx.com>2020-05-29 12:55:39 +0300
commit49d7ae444f73d8d47029d6c70b01d01d5637fb34 (patch)
tree7257b5fe0d9922a13c549409520d6b1fa9689744 /src
parenta4a641fa6ce6197f23ed632cd447bb7f975c0b1d (diff)
downloadnginx-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.c18
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,