[master] 1fa2d2288 Emit valid json from `vcl.list -j` when no VCL is loaded.
Poul-Henning Kamp
phk at FreeBSD.org
Sat Aug 28 06:34:07 UTC 2021
commit 1fa2d2288db3fd0007eb5551390180df3e39aa99
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Sat Aug 28 06:32:36 2021 +0000
Emit valid json from `vcl.list -j` when no VCL is loaded.
Fixes #3677
diff --git a/bin/varnishd/mgt/mgt_vcl.c b/bin/varnishd/mgt/mgt_vcl.c
index 69cd27ec5..df77dd0c8 100644
--- a/bin/varnishd/mgt/mgt_vcl.c
+++ b/bin/varnishd/mgt/mgt_vcl.c
@@ -870,8 +870,8 @@ mcf_vcl_list_json(struct cli *cli, const char * const *av, void *priv)
free(p);
} else {
VCLI_JSON_begin(cli, 2, av);
- VCLI_Out(cli, ",\n");
VTAILQ_FOREACH(vp, &vclhead, list) {
+ VCLI_Out(cli, ",\n");
VCLI_Out(cli, "{\n");
VSB_indent(cli->sb, 2);
VCLI_Out(cli, "\"status\": \"%s\",\n",
@@ -899,8 +899,6 @@ mcf_vcl_list_json(struct cli *cli, const char * const *av, void *priv)
}
VSB_indent(cli->sb, -2);
VCLI_Out(cli, "\n}");
- if (VTAILQ_NEXT(vp, list) != NULL)
- VCLI_Out(cli, ",\n");
}
VCLI_JSON_end(cli);
}
diff --git a/bin/varnishtest/tests/b00032.vtc b/bin/varnishtest/tests/b00032.vtc
index 7fd326289..1222339a3 100644
--- a/bin/varnishtest/tests/b00032.vtc
+++ b/bin/varnishtest/tests/b00032.vtc
@@ -8,6 +8,10 @@ server s1 {
txresp
} -start
+varnish v1
+varnish v1 -cliok vcl.list
+varnish v1 -clijson "vcl.list -j"
+
varnish v1 -vcl+backend {}
varnish v1 -vcl+backend {}
More information about the varnish-commit
mailing list