]> git.kaiwu.me - nginx.git/commitdiff
QUIC: treat qc->error == -1 as a missing error.
authorRoman Arutyunyan <arut@nginx.com>
Wed, 7 Sep 2022 08:37:15 +0000 (12:37 +0400)
committerRoman Arutyunyan <arut@nginx.com>
Wed, 7 Sep 2022 08:37:15 +0000 (12:37 +0400)
Previously, zero was used for this purpose.  However, NGX_QUIC_ERR_NO_ERROR is
zero too.  As a result, NGX_QUIC_ERR_NO_ERROR was changed to
NGX_QUIC_ERR_INTERNAL_ERROR when closing a QUIC connection.

src/event/quic/ngx_event_quic.c

index a1abd267db47ba791d95f94a5cbe9b986ea3c00a..59f14b9e510c482bf81e9e53f16b4f5d98bd9668 100644 (file)
@@ -73,7 +73,7 @@ ngx_quic_connstate_dbg(ngx_connection_t *c)
 
     if (qc) {
 
-        if (qc->error) {
+        if (qc->error != (ngx_uint_t) -1) {
             p = ngx_slprintf(p, last, "%s", qc->error_app ? " app" : "");
             p = ngx_slprintf(p, last, " error:%ui", qc->error);
 
@@ -523,7 +523,7 @@ ngx_quic_close_connection(ngx_connection_t *c, ngx_int_t rc)
                 qc->error = NGX_QUIC_ERR_NO_ERROR;
 
             } else {
-                if (qc->error == 0 && !qc->error_app) {
+                if (qc->error == (ngx_uint_t) -1 && !qc->error_app) {
                     qc->error = NGX_QUIC_ERR_INTERNAL_ERROR;
                 }
 
@@ -939,7 +939,7 @@ ngx_quic_handle_payload(ngx_connection_t *c, ngx_quic_header_t *pkt)
 
     qc = ngx_quic_get_connection(c);
 
-    qc->error = 0;
+    qc->error = (ngx_uint_t) -1;
     qc->error_reason = 0;
 
     c->log->action = "decrypting packet";