From ff88efbd7a187bee28f26eeea432e807f3798851 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 3 Oct 2017 16:00:57 +0200 Subject: [PATCH] BUG/MINOR: dns: Fix CLI keyword declaration The cli command to show resolvers stats is in conflict with the command to show proxies and servers stats. When you use the command "show stat resolvers [id]", instead of printing stats about resolvers, you get the stats about all proxies and servers. Now, to avoid conflict, to print resolvers stats, you must use the following command: show resolvers [id] This patch must be backported in 1.7. --- src/dns.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/dns.c b/src/dns.c index dbb473e29f..aa17846c3a 100644 --- a/src/dns.c +++ b/src/dns.c @@ -2248,9 +2248,9 @@ static int cli_parse_stat_resolvers(char **args, struct appctx *appctx, void *pr { struct dns_resolvers *presolvers; - if (*args[3]) { + if (*args[2]) { list_for_each_entry(presolvers, &dns_resolvers, list) { - if (strcmp(presolvers->id, args[3]) == 0) { + if (strcmp(presolvers->id, args[2]) == 0) { appctx->ctx.cli.p0 = presolvers; break; } @@ -2675,12 +2675,13 @@ static int cli_io_handler_dump_resolvers_to_buffer(struct appctx *appctx) } /* register cli keywords */ -static struct cli_kw_list cli_kws = {{ },{ - { { "show", "stat", "resolvers", NULL }, "show stat resolvers [id]: dumps counters from all resolvers section and\n" - " associated name servers", - cli_parse_stat_resolvers, cli_io_handler_dump_resolvers_to_buffer }, - {{},} -}}; +static struct cli_kw_list cli_kws = {{ }, { + { { "show", "resolvers", NULL }, "show resolvers [id]: dumps counters from all resolvers section and\n" + " associated name servers", + cli_parse_stat_resolvers, cli_io_handler_dump_resolvers_to_buffer }, + {{},} + } +}; __attribute__((constructor)) -- 2.39.5