#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;
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;
}
return rc;
}
+ pkt->parsed = 1;
+
c->log->action = "processing quic packet";
qc = c->quic;
return rc;
}
+ pkt->decrypted = 1;
+
if (c->ssl == NULL) {
if (ngx_quic_init_connection(c) != NGX_OK) {
return NGX_ERROR;