changeset 8915:095f8a3e143d quic

QUIC: simplified ngx_quic_send_alert() callback. Removed sending CLOSE_CONNECTION directly to avoid duplicate frames, since it is sent later again in SSL_do_handshake() error handling. As such, removed redundant settings of error fields set elsewhere. While here, improved debug message.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 30 Nov 2021 14:30:59 +0300
parents aae8b91e0280
children ff473a6f656c
files src/event/quic/ngx_event_quic_output.c
diffstat 1 files changed, 4 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/event/quic/ngx_event_quic_output.c
+++ b/src/event/quic/ngx_event_quic_output.c
@@ -847,23 +847,17 @@ ngx_quic_send_alert(ngx_ssl_conn_t *ssl_
     c = ngx_ssl_get_connection((ngx_ssl_conn_t *) ssl_conn);
 
     ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0,
-                   "quic ngx_quic_send_alert() lvl:%d  alert:%d",
-                   (int) level, (int) alert);
+                   "quic ngx_quic_send_alert() level:%s alert:%d",
+                   ngx_quic_level_name(level), (int) alert);
+
+    /* already closed on regular shutdown */
 
     qc = ngx_quic_get_connection(c);
     if (qc == NULL) {
         return 1;
     }
 
-    qc->error_level = level;
     qc->error = NGX_QUIC_ERR_CRYPTO(alert);
-    qc->error_reason = "TLS alert";
-    qc->error_app = 0;
-    qc->error_ftype = 0;
-
-    if (ngx_quic_send_cc(c) != NGX_OK) {
-        return 0;
-    }
 
     return 1;
 }