diff options
author | Vladimir Homutov <vl@nginx.com> | 2020-04-06 11:16:45 +0300 |
---|---|---|
committer | Vladimir Homutov <vl@nginx.com> | 2020-04-06 11:16:45 +0300 |
commit | 1c9ddadd76bf41a1682f512046bfedd44fe902ad (patch) | |
tree | 852935bffcbd10b40f546d05059ce8c2795a3ad2 /src | |
parent | 757b3e7bcf76f310df6769727f6a2d32864318f5 (diff) | |
download | nginx-1c9ddadd76bf41a1682f512046bfedd44fe902ad.tar.gz nginx-1c9ddadd76bf41a1682f512046bfedd44fe902ad.zip |
Ignore non-yet-implemented frames.
Such frames are grouped together in a switch and just ignored, instead of
closing the connection This may improve test coverage. All such frames
require acknowledgment.
Diffstat (limited to 'src')
-rw-r--r-- | src/event/ngx_event_quic.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c index d1757246d..76ff3a94b 100644 --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -1117,19 +1117,15 @@ ngx_quic_payload_handler(ngx_connection_t *c, ngx_quic_header_t *pkt) break; case NGX_QUIC_FT_PADDING: + /* no action required */ break; case NGX_QUIC_FT_PING: ack_this = 1; break; - case NGX_QUIC_FT_NEW_CONNECTION_ID: - ack_this = 1; - break; - case NGX_QUIC_FT_CONNECTION_CLOSE: case NGX_QUIC_FT_CONNECTION_CLOSE2: - do_close = 1; break; @@ -1156,14 +1152,6 @@ ngx_quic_payload_handler(ngx_connection_t *c, ngx_quic_header_t *pkt) ack_this = 1; break; - case NGX_QUIC_FT_RESET_STREAM: - /* TODO: handle */ - break; - - case NGX_QUIC_FT_STOP_SENDING: - /* TODO: handle; need ack ? */ - break; - case NGX_QUIC_FT_STREAMS_BLOCKED: case NGX_QUIC_FT_STREAMS_BLOCKED2: @@ -1189,6 +1177,20 @@ ngx_quic_payload_handler(ngx_connection_t *c, ngx_quic_header_t *pkt) ack_this = 1; break; + case NGX_QUIC_FT_NEW_CONNECTION_ID: + case NGX_QUIC_FT_RETIRE_CONNECTION_ID: + case NGX_QUIC_FT_NEW_TOKEN: + case NGX_QUIC_FT_RESET_STREAM: + case NGX_QUIC_FT_STOP_SENDING: + case NGX_QUIC_FT_PATH_CHALLENGE: + case NGX_QUIC_FT_PATH_RESPONSE: + + /* TODO: handle */ + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, + "frame handler not implemented"); + ack_this = 1; + break; + default: return NGX_ERROR; } |