Welcome! Log In Create A New Profile

Advanced

[PATCH 01 of 10] QUIC: treat qc->error == -1 as a missing error

Roman Arutyunyan
September 08, 2022 05:08AM
# HG changeset patch
# User Roman Arutyunyan <arut@nginx.com>
# Date 1662539835 -14400
# Wed Sep 07 12:37:15 2022 +0400
# Branch quic
# Node ID 48645c5397a3f178286bcd108748c140adccc8a5
# Parent f9d7930d0eedae28defd0803cb95dc8ab68e56b3
QUIC: treat qc->error == -1 as a missing error.

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.

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
@@ -73,7 +73,7 @@ ngx_quic_connstate_dbg(ngx_connection_t

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
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

qc = ngx_quic_get_connection(c);

- qc->error = 0;
+ qc->error = (ngx_uint_t) -1;
qc->error_reason = 0;

c->log->action = "decrypting packet";

_______________________________________________
nginx-devel mailing list -- nginx-devel@nginx.org
To unsubscribe send an email to nginx-devel-leave@nginx.org
Subject Author Views Posted

[PATCH 01 of 10] QUIC: treat qc->error == -1 as a missing error

Roman Arutyunyan 414 September 08, 2022 05:08AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 164
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready