]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
REORG: cli: move "set maxconn server" to server.c
authorWilly Tarreau <w@1wt.eu>
Wed, 23 Nov 2016 10:26:56 +0000 (11:26 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 24 Nov 2016 15:59:28 +0000 (16:59 +0100)
It's used to manipulate the server's maxconn setting.

src/cli.c
src/server.c

index fad2217f58c6d7733ccb441debbee16a5ce740a5..177a955a7c90d3fe0e3744323a0be308a8600047 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -580,22 +580,6 @@ static int stats_sock_parse_request(struct stream_interface *si, char *line)
 
                                return 1;
                        }
-                       else if (strcmp(args[2], "server") == 0) {
-                               struct server *sv;
-                               const char *warning;
-
-                               sv = expect_server_admin(s, si, args[3]);
-                               if (!sv)
-                                       return 1;
-
-                               warning = server_parse_maxconn_change_request(sv, args[4]);
-                               if (warning) {
-                                       appctx->ctx.cli.msg = warning;
-                                       appctx->st0 = STAT_CLI_PRINT;
-                               }
-
-                               return 1;
-                       }
                        else {
                                appctx->ctx.cli.msg = "'set maxconn' only supports 'frontend', 'server', and 'global'.\n";
                                appctx->st0 = STAT_CLI_PRINT;
index fb891f8275069464654543e5e22eedacc349559d..53db7e413cc3544f9515c6ed17b3bbeae13e0fb1 100644 (file)
@@ -3562,9 +3562,30 @@ static int cli_parse_set_weight(char **args, struct appctx *appctx, void *privat
        return 1;
 }
 
+/* parse a "set maxconn server" command. It always returns 1. */
+static int cli_parse_set_maxconn_server(char **args, struct appctx *appctx, void *private)
+{
+       struct server *sv;
+       const char *warning;
+
+       if (!cli_has_level(appctx, ACCESS_LVL_ADMIN))
+               return 1;
+
+       sv = cli_find_server(appctx, args[3]);
+       if (!sv)
+               return 1;
+
+       warning = server_parse_maxconn_change_request(sv, args[4]);
+       if (warning) {
+               appctx->ctx.cli.msg = warning;
+               appctx->st0 = STAT_CLI_PRINT;
+       }
+       return 1;
+}
 
 /* register cli keywords */
 static struct cli_kw_list cli_kws = {{ },{
+       { { "set", "maxconn", "server",  NULL }, "set maxconn server : change a server's maxconn setting", cli_parse_set_maxconn_server, NULL },
        { { "set", "server", NULL }, "set server     : change a server's state, weight or address",  cli_parse_set_server },
        { { "get", "weight", NULL }, "get weight     : report a server's current weight",  cli_parse_get_weight },
        { { "set", "weight", NULL }, "set weight     : change a server's weight (deprecated)",  cli_parse_set_weight },