# HG changeset patch # User Vladimir Homutov # Date 1643715331 -10800 # Node ID e00295b763955875238896a97ae7feaabd1e7b37 # Parent 7626aa7a21566bf723001b23b98a456efbdea4ba QUIC: revised ngx_quic_handle_datagram() error codes. The NGX_DECLINED is replaced with NGX_DONE to match closer to return code of ngx_quic_handle_packet() and ngx_quic_close_connection() rc argument. The ngx_quic_close_connection() rc code is used only when quic connection exists, thus anything goes if qc == NULL. The ngx_quic_handle_datagram() does not return NG_OK in cases when quic connection is not yet created. diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c --- a/src/event/quic/ngx_event_quic.c +++ b/src/event/quic/ngx_event_quic.c @@ -210,17 +210,13 @@ ngx_quic_run(ngx_connection_t *c, ngx_qu rc = ngx_quic_handle_datagram(c, c->buffer, conf); if (rc != NGX_OK) { - ngx_quic_close_connection(c, rc == NGX_DECLINED ? NGX_DONE : NGX_ERROR); + ngx_quic_close_connection(c, rc); return; } + /* quic connection is now created */ qc = ngx_quic_get_connection(c); - if (qc == NULL) { - ngx_quic_close_connection(c, NGX_DONE); - return; - } - ngx_add_timer(c->read, qc->tp.max_idle_timeout); ngx_quic_connstate_dbg(c); @@ -443,7 +439,7 @@ ngx_quic_input_handler(ngx_event_t *rev) return; } - if (rc == NGX_DECLINED) { + if (rc == NGX_DONE) { return; } @@ -709,13 +705,8 @@ ngx_quic_handle_datagram(ngx_connection_ } #endif - if (rc == NGX_ERROR) { - return NGX_ERROR; - } - - if (rc == NGX_DONE) { - /* stop further processing */ - return NGX_DECLINED; + if (rc == NGX_ERROR || rc == NGX_DONE) { + return rc; } if (rc == NGX_OK) { @@ -750,7 +741,7 @@ ngx_quic_handle_datagram(ngx_connection_ } if (!good) { - return NGX_DECLINED; + return NGX_DONE; } qc = ngx_quic_get_connection(c); diff --git a/src/event/quic/ngx_event_quic_output.c b/src/event/quic/ngx_event_quic_output.c --- a/src/event/quic/ngx_event_quic_output.c +++ b/src/event/quic/ngx_event_quic_output.c @@ -979,7 +979,7 @@ ngx_quic_send_early_cc(ngx_connection_t return NGX_ERROR; } - return NGX_OK; + return NGX_DONE; }