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)
committerWilly Tarreau <w@1wt.eu>
Wed, 19 Feb 2025 10:43:06 +0000 (11:43 +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>

src/cli.c

index 7af1e91..0b51c53 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -1187,7 +1187,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;
                        }
 
@@ -2461,7 +2461,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);
@@ -2483,7 +2483,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;
        }