# HG changeset patch # User Vladimir Homutov # Date 1601644841 -10800 # Node ID 07971f8708790b9edafb0ed7438fdef4efe7bf4c # Parent d57cfdebe30153bf142d2ec3cc26859aab72505f QUIC: added debug message with final packet processing status. diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -46,6 +46,11 @@ #define NGX_QUIC_MIN_SR_PACKET 43 /* 5 random + 16 srt + 22 padding */ #define NGX_QUIC_MAX_SR_PACKET 1200 +#define ngx_quic_level_name(lvl) \ + (lvl == ssl_encryption_application) ? "application" \ + : (lvl == ssl_encryption_initial) ? "initial" \ + : (lvl == ssl_encryption_handshake) ? "handshake" : "early_data" + typedef struct { ngx_rbtree_t tree; @@ -1625,6 +1630,25 @@ ngx_quic_input(ngx_connection_t *c, ngx_ rc = ngx_quic_process_packet(c, conf, &pkt); +#if (NGX_DEBUG) + if (pkt.parsed) { + ngx_quic_connection_t *qc; + + qc = c->quic; + + ngx_log_debug8(NGX_LOG_DEBUG_EVENT, c->log, 0, + "quic pkt done %s decr:%d pn:%L pe:%ui rc:%i" + " closing:%d err:%d %s", + ngx_quic_level_name(pkt.level), pkt.decrypted, + pkt.pn, pkt.error, rc, (qc && qc->closing) ? 1 : 0, + qc ? qc->error : 0, + (qc && qc->error_reason) ? qc->error_reason : ""); + } else { + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, + "quic pkt done parse failed rc:%i", rc); + } +#endif + if (rc == NGX_ERROR) { return NGX_ERROR; } @@ -1687,6 +1711,8 @@ ngx_quic_process_packet(ngx_connection_t return rc; } + pkt->parsed = 1; + c->log->action = "processing quic packet"; qc = c->quic; @@ -1838,6 +1864,8 @@ ngx_quic_process_packet(ngx_connection_t return rc; } + pkt->decrypted = 1; + if (c->ssl == NULL) { if (ngx_quic_init_connection(c) != NGX_OK) { return NGX_ERROR; diff --git a/src/event/ngx_event_quic_transport.h b/src/event/ngx_event_quic_transport.h --- a/src/event/ngx_event_quic_transport.h +++ b/src/event/ngx_event_quic_transport.h @@ -311,6 +311,8 @@ typedef struct { unsigned need_ack:1; unsigned key_phase:1; unsigned key_update:1; + unsigned parsed:1; + unsigned decrypted:1; } ngx_quic_header_t;