r3705 - in branches/2.0/varnish-cache/bin: varnishd varnishtest/tests

tfheen at projects.linpro.no tfheen at projects.linpro.no
Mon Feb 9 13:46:48 CET 2009


Author: tfheen
Date: 2009-02-09 13:46:48 +0100 (Mon, 09 Feb 2009)
New Revision: 3705

Modified:
   branches/2.0/varnish-cache/bin/varnishd/cache_ban.c
   branches/2.0/varnish-cache/bin/varnishtest/tests/c00021.vtc
Log:
Merge r3516: Properly quote the ban descriptions.



Modified: branches/2.0/varnish-cache/bin/varnishd/cache_ban.c
===================================================================
--- branches/2.0/varnish-cache/bin/varnishd/cache_ban.c	2009-02-09 12:43:02 UTC (rev 3704)
+++ branches/2.0/varnish-cache/bin/varnishd/cache_ban.c	2009-02-09 12:46:48 UTC (rev 3705)
@@ -215,6 +215,7 @@
 {
 	struct ban_test *bt;
 	char buf[512];
+	struct vsb *sb;
 	int i;
 
 	CHECK_OBJ_NOTNULL(b, BAN_MAGIC);
@@ -253,8 +254,15 @@
 	}
 
 	 /* XXX: proper quoting */
-	asprintf(&bt->test, "%s %s \"%s\"", a1, a2, a3);
-
+	sb = vsb_newauto();
+	XXXAN(sb);
+	vsb_printf(sb, "%s %s ", a1, a2);
+	vsb_quote(sb, a3, 0);
+	vsb_finish(sb);
+	AZ(vsb_overflowed(sb));
+	bt->test = strdup(vsb_data(sb));
+	XXXAN(bt->test);
+	vsb_delete(sb);
 	return (0);
 }
 

Modified: branches/2.0/varnish-cache/bin/varnishtest/tests/c00021.vtc
===================================================================
--- branches/2.0/varnish-cache/bin/varnishtest/tests/c00021.vtc	2009-02-09 12:43:02 UTC (rev 3704)
+++ branches/2.0/varnish-cache/bin/varnishtest/tests/c00021.vtc	2009-02-09 12:46:48 UTC (rev 3705)
@@ -28,8 +28,8 @@
 varnish v1 -clierr 106 "purge a b c && a"
 varnish v1 -clierr 106 "purge a b c && a b"
 varnish v1 -clierr 106 "purge a b c || a b c"
-varnish v1 -cli "purge req.url ~ foo"
-# varnish v1 -cli "purge req.url ~ foo && req.url ~ bar"
+varnish v1 -cliok "purge req.url ~ foo && req.url ~ \"[ o]\""
+varnish v1 -cliok "purge.list"
 
 client c1 {
 	txreq -url "/foo"



More information about the varnish-commit mailing list