[experimental-ims] bdbb1d5 Use the right counter for directors index
Geoff Simmons
geoff at varnish-cache.org
Mon Jan 9 21:52:39 CET 2012
commit bdbb1d59513cba8b268ed1dbe2d948619ef4ae07
Author: Rogier 'DocWilco' Mulhuijzen <github at bsdchicks.com>
Date: Fri Nov 18 12:29:04 2011 +0100
Use the right counter for directors index
Fixes #1060
diff --git a/bin/varnishtest/tests/r01060.vtc b/bin/varnishtest/tests/r01060.vtc
new file mode 100644
index 0000000..25a3988
--- /dev/null
+++ b/bin/varnishtest/tests/r01060.vtc
@@ -0,0 +1,48 @@
+varnishtest "DNS director tramples on other backends"
+
+server s1 {
+ rxreq
+ txresp
+} -start
+
+server s2 {
+ rxreq
+ txresp
+} -start
+
+varnish v1 -vcl {
+ backend b1 {
+ .host = "${s1_addr}";
+ .port = "${s1_port}";
+ }
+
+ director d1 dns {
+ .list = {
+ .port = "80";
+ "${bad_ip}"/32;
+ }
+ .ttl = 1m;
+ }
+
+ backend b2 {
+ .host = "${s2_addr}";
+ .port = "${s2_port}";
+ }
+
+ sub vcl_recv {
+ set req.backend = d1;
+ if (req.url == "/1") {
+ set req.backend = b1;
+ } else {
+ set req.backend = b2;
+ }
+ }
+} -start
+
+
+client c1 {
+ txreq -url "/1"
+ rxresp
+ txreq -url "/2"
+ rxresp
+} -run
diff --git a/lib/libvcl/vcc_dir_dns.c b/lib/libvcl/vcc_dir_dns.c
index a91c021..bdc0a21 100644
--- a/lib/libvcl/vcc_dir_dns.c
+++ b/lib/libvcl/vcc_dir_dns.c
@@ -79,7 +79,7 @@ print_backend(struct vcc *tl,
AN(vsb);
tl->fb = vsb;
Fc(tl, 0, "\t{ .host = VGC_backend_%s },\n",vgcname);
- Fh(tl, 1, "\n#define VGC_backend_%s %d\n", vgcname, serial);
+ Fh(tl, 1, "\n#define VGC_backend_%s %d\n", vgcname, tl->ndirector);
Fb(tl, 0, "\nstatic const struct vrt_backend vgc_dir_priv_%s = {\n",
vgcname);
More information about the varnish-commit
mailing list