BUG/MINOR: ssl_ckch: Dump CA transaction only once if show command yield

When loaded CA files are displayed via "show ssl ca-file" command, the
in-progress transaction, if any, is also displayed. However, if the command
yield, the transaction is re-displayed again and again.

To fix the issue, old_cafile_entry field is used to remember the transaction
was already displayed.

This patch must be backported as far as 2.5.
This commit is contained in:
Christopher Faulet 2022-06-03 10:42:48 +02:00
parent 9a99e54787
commit 5a2154bf7c

View File

@ -3118,13 +3118,13 @@ static int cli_io_handler_show_cafile(struct appctx *appctx)
if (trash == NULL)
return 1;
if (!ctx->old_cafile_entry) {
if (cafile_transaction.old_cafile_entry) {
chunk_appendf(trash, "# transaction\n");
chunk_appendf(trash, "*%s", cafile_transaction.old_cafile_entry->path);
chunk_appendf(trash, " - %d certificate(s)\n", get_certificate_count(cafile_transaction.new_cafile_entry));
}
if (!ctx->old_cafile_entry && cafile_transaction.old_cafile_entry) {
chunk_appendf(trash, "# transaction\n");
chunk_appendf(trash, "*%s", cafile_transaction.old_cafile_entry->path);
chunk_appendf(trash, " - %d certificate(s)\n", get_certificate_count(cafile_transaction.new_cafile_entry));
if (applet_putchk(appctx, trash) == -1)
goto yield;
ctx->old_cafile_entry = cafile_transaction.new_cafile_entry;
}
/* First time in this io_handler. */