From b7ccca0eb07ebf5f0a78c21cc45f7ac865dda986 Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Tue, 31 Jan 2023 15:26:33 +0400 Subject: QUIC: fixed broken token in NEW_TOKEN (ticket #2446). Previously, since 3550b00d9dc8, the token was allocated on stack, to get rid of pool usage. Now the token is allocated by ngx_quic_copy_buffer() in QUIC buffers, also used for STREAM, CRYPTO and ACK frames. --- src/event/quic/ngx_event_quic_frames.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/event/quic/ngx_event_quic_frames.c') diff --git a/src/event/quic/ngx_event_quic_frames.c b/src/event/quic/ngx_event_quic_frames.c index 9fcc97e02..040b6182c 100644 --- a/src/event/quic/ngx_event_quic_frames.c +++ b/src/event/quic/ngx_event_quic_frames.c @@ -858,6 +858,20 @@ ngx_quic_log_frame(ngx_log_t *log, ngx_quic_frame_t *f, ngx_uint_t tx) case NGX_QUIC_FT_NEW_TOKEN: p = ngx_slprintf(p, last, "NEW_TOKEN"); + +#ifdef NGX_QUIC_DEBUG_FRAMES + { + ngx_chain_t *cl; + + p = ngx_slprintf(p, last, " token:"); + + for (cl = f->data; cl; cl = cl->next) { + p = ngx_slprintf(p, last, "%*xs", + cl->buf->last - cl->buf->pos, cl->buf->pos); + } + } +#endif + break; case NGX_QUIC_FT_HANDSHAKE_DONE: -- cgit