aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2020-04-06 11:16:45 +0300
committerVladimir Homutov <vl@nginx.com>2020-04-06 11:16:45 +0300
commit1c9ddadd76bf41a1682f512046bfedd44fe902ad (patch)
tree852935bffcbd10b40f546d05059ce8c2795a3ad2 /src
parent757b3e7bcf76f310df6769727f6a2d32864318f5 (diff)
downloadnginx-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.c28
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;
}