BUG/MINOR: cli: Don't set SE flags from the cli applet
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 6 Feb 2025 14:15:27 +0000 (15:15 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 18 Mar 2025 14:58:22 +0000 (15:58 +0100)
Since the CLI was updated to use the new applet API, it should no longer set
directly the SE flags. Instead, the corresponding applet flags must be set,
using the applet API (appet_set_*). It is true for the CLI I/O handler but also
for the commands parse function and I/O callback function.

This patch should be backported as far as 3.0.

(cherry picked from commit 7e927243b9e86cee13ea9c16077a8523e79e41bb)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 80542e814a56a446fe0d06bc64dd0ab7625e4762)
Signed-off-by: Amaury Denoyelle <adenoyelle@haproxy.com>

src/cli.c

index dc24abb..6f03e4f 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -1177,7 +1177,7 @@ static void cli_io_handler(struct appctx *appctx)
                                        }
                                break;
                        default: /* abnormal state */
-                               se_fl_set(appctx->sedesc, SE_FL_ERROR);
+                               applet_set_error(appctx);
                                break;
                        }
 
@@ -2444,7 +2444,7 @@ out:
                ha_warning("Cannot make the unix socket non-blocking\n");
                goto out;
        }
-       se_fl_set(appctx->sedesc, SE_FL_EOI);
+       applet_set_eoi(appctx);
        appctx->st0 = CLI_ST_END;
        free(cmsgbuf);
        free(tmpbuf);
@@ -2466,7 +2466,7 @@ static int cli_parse_simple(char **args, char *payload, struct appctx *appctx, v
                        appctx->st1 ^= APPCTX_CLI_ST1_PROMPT;
        else if (*args[0] == 'q') {
                /* quit */
-               se_fl_set(appctx->sedesc, SE_FL_EOI);
+               applet_set_eoi(appctx);
                appctx->st0 = CLI_ST_END;
        }