[master] 720b939c2 vcc_acl: Update and improve error reporting

Nils Goroll nils.goroll at uplex.de
Tue Oct 7 06:48:05 UTC 2025


commit 720b939c2e1fa4f0e9cdd98ded16791e14ffdf80
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Tue Oct 7 08:36:02 2025 +0200

    vcc_acl: Update and improve error reporting

diff --git a/bin/varnishtest/tests/v00017.vtc b/bin/varnishtest/tests/v00017.vtc
index 6ed35abc6..8df16c012 100644
--- a/bin/varnishtest/tests/v00017.vtc
+++ b/bin/varnishtest/tests/v00017.vtc
@@ -109,7 +109,7 @@ varnish v1 -errvcl {Expected a flag at:} {
 	sub vcl_recv { if (client.ip ~ a) { return(pass); } }
 }
 
-varnish v1 -errvcl {Unknown ACL flag:} {
+varnish v1 -errvcl {Unknown ACL flag.} {
 	backend b { .host = "${localhost}"; }
 	acl a +foobar {
 		"10.0.1.0/22" / 22;
diff --git a/lib/libvcc/vcc_acl.c b/lib/libvcc/vcc_acl.c
index df2bce46a..356c77072 100644
--- a/lib/libvcc/vcc_acl.c
+++ b/lib/libvcc/vcc_acl.c
@@ -823,11 +823,12 @@ vcc_ParseAcl(struct vcc *tl)
 	ERRCHK(tl);
 	AN(sym);
 
+#define FLAGS_MSG "Valid ACL flags are `log`, `fold`, `pedantic` and `table`:\n"
+
 	while (1) {
 		sign = vcc_IsFlag(tl);
 		if (tl->err) {
-			VSB_cat(tl->sb,
-			    "Valid ACL flags are `log` and `table`:\n");
+			VSB_cat(tl->sb, FLAGS_MSG);
 			return;
 		}
 		if (sign < 0)
@@ -845,12 +846,14 @@ vcc_ParseAcl(struct vcc *tl)
 			acl->flag_table = sign;
 			vcc_NextToken(tl);
 		} else {
-			VSB_cat(tl->sb, "Unknown ACL flag:\n");
+			VSB_cat(tl->sb, "Unknown ACL flag. " FLAGS_MSG);
 			vcc_ErrWhere(tl, tl->t);
 			return;
 		}
 	}
 
+#undef FLAGS_MSG
+
 	SkipToken(tl, '{');
 
 	while (tl->t->tok != '}') {


More information about the varnish-commit mailing list