From 9a99e54787634532d18cd5aca3552eeb48a866bf Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 3 Jun 2022 10:32:18 +0200 Subject: [PATCH] BUG/MINOR: ssl_ckch: Dump CRL transaction only once if show command yield When loaded CRL files are displayed via "show ssl crl-file" command, the in-progess transaction, if any, is also displayed. However, if the command yield, the transaction is re-displayed again and again. To fix the issue, old_crlfile_entry field is used to remember the transaction was already displayed. This patch must be backported as far as 2.5. --- src/ssl_ckch.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c index 601cec9354..5a08bc72f6 100644 --- a/src/ssl_ckch.c +++ b/src/ssl_ckch.c @@ -3762,11 +3762,12 @@ static int cli_io_handler_show_crlfile(struct appctx *appctx) if (trash == NULL) return 1; - if (!ctx->old_crlfile_entry) { - if (crlfile_transaction.old_crlfile_entry) { - chunk_appendf(trash, "# transaction\n"); - chunk_appendf(trash, "*%s\n", crlfile_transaction.old_crlfile_entry->path); - } + if (!ctx->old_crlfile_entry && crlfile_transaction.old_crlfile_entry) { + chunk_appendf(trash, "# transaction\n"); + chunk_appendf(trash, "*%s\n", crlfile_transaction.old_crlfile_entry->path); + if (applet_putchk(appctx, trash) == -1) + goto yield; + ctx->old_crlfile_entry = crlfile_transaction.old_crlfile_entry; } /* First time in this io_handler. */ -- 2.39.5