r3516 - in trunk/varnish-cache/bin: varnishd varnishtest/tests
phk at projects.linpro.no
phk at projects.linpro.no
Sun Jan 18 15:54:41 CET 2009
Author: phk
Date: 2009-01-18 15:54:41 +0100 (Sun, 18 Jan 2009)
New Revision: 3516
Modified:
trunk/varnish-cache/bin/varnishd/cache_ban.c
trunk/varnish-cache/bin/varnishtest/tests/c00021.vtc
Log:
Properly quote the ban descriptions.
Modified: trunk/varnish-cache/bin/varnishd/cache_ban.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_ban.c 2009-01-18 14:50:20 UTC (rev 3515)
+++ trunk/varnish-cache/bin/varnishd/cache_ban.c 2009-01-18 14:54:41 UTC (rev 3516)
@@ -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: trunk/varnish-cache/bin/varnishtest/tests/c00021.vtc
===================================================================
--- trunk/varnish-cache/bin/varnishtest/tests/c00021.vtc 2009-01-18 14:50:20 UTC (rev 3515)
+++ trunk/varnish-cache/bin/varnishtest/tests/c00021.vtc 2009-01-18 14:54:41 UTC (rev 3516)
@@ -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