]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: ssl/cli: Add ha_(warning|alert) msgs to CLI ckch callback
authorFrédéric Lécaille <flecaille@haproxy.com>
Tue, 5 Dec 2023 14:11:33 +0000 (15:11 +0100)
committerWilliam Lallemand <wlallemand@haproxy.com>
Wed, 6 Dec 2023 15:12:08 +0000 (16:12 +0100)
This patch allows cli_io_handler_commit_cert() callback called upon
a "commit ssl cert ..." command to prefix the messages returned by the CLI
to the by the ones built by ha_warining(), ha_alert().

Should be interesting to backport this commit to 2.8.

src/ssl_ckch.c

index 0296425f151eee2596a85062455527e1e57c5242..59ce96d824e2a62e70a9a1ff107de43b03dc08a0 100644 (file)
@@ -2147,6 +2147,7 @@ static int cli_io_handler_commit_cert(struct appctx *appctx)
        struct ckch_store *old_ckchs, *new_ckchs = NULL;
        struct ckch_inst *ckchi;
 
+       usermsgs_clr("CLI");
        /* FIXME: Don't watch the other side !*/
        if (unlikely(sc_opposite(sc)->flags & SC_FL_SHUT_DONE))
                goto end;
@@ -2220,7 +2221,8 @@ static int cli_io_handler_commit_cert(struct appctx *appctx)
                                ctx->state = CERT_ST_SUCCESS;
                                __fallthrough;
                        case CERT_ST_SUCCESS:
-                               if (applet_putstr(appctx, "\nSuccess!\n") == -1)
+                               chunk_printf(&trash, "\n%sSuccess!\n", usermsgs_str());
+                               if (applet_putchk(appctx, &trash) == -1)
                                        goto yield;
                                ctx->state = CERT_ST_FIN;
                                __fallthrough;
@@ -2233,7 +2235,7 @@ static int cli_io_handler_commit_cert(struct appctx *appctx)
 
                        case CERT_ST_ERROR:
                          error:
-                               chunk_printf(&trash, "\n%sFailed!\n", ctx->err);
+                               chunk_printf(&trash, "\n%s%sFailed!\n", usermsgs_str(), ctx->err);
                                if (applet_putchk(appctx, &trash) == -1)
                                        goto yield;
                                ctx->state = CERT_ST_FIN;
@@ -2241,10 +2243,12 @@ static int cli_io_handler_commit_cert(struct appctx *appctx)
                }
        }
 end:
+       usermsgs_clr(NULL);
        /* success: call the release function and don't come back */
        return 1;
 
 yield:
+       usermsgs_clr(NULL);
        return 0; /* should come back */
 }