[Varnish] #1145: PRIV_CALL returns same object on different function parameters

Varnish varnish-bugs at varnish-cache.org
Fri Jun 1 14:36:49 CEST 2012


#1145: PRIV_CALL returns same object on different function parameters
-----------------------+----------------------------------------------------
 Reporter:  tobixen    |        Type:  defect
   Status:  new        |    Priority:  normal
Milestone:             |   Component:  build 
  Version:  3.0.2      |    Severity:  normal
 Keywords:  PRIV_CALL  |  
-----------------------+----------------------------------------------------
 I'm on varnish 3.0.2 ... git rev 8015b1ab869a60cb220b5d20ef7b6d183cea64ab

 VCL_PRIV returns same object on different function call parameters.  This
 causes the test suit of my vmod to break - https://github.com/tobixen
 /libvmod-ratelimit - and it also causes the caching in std.fileread to
 break.

 Consider this VCL code:

 import std;

 backend default {
      .host = "80.91.37.212";
      .port = "80";
 }

 sub vcl_deliver {
     set resp.http.foo = std.fileread("/tmp/" + req.http.host);
 }

 And then I did this:

 $ grep aftenposten /etc/hosts
 127.0.0.1       aftenposten.no  www.aftenposten.no

 $ cd /tmp/

 $ echo www > www.aftenposten.no

 $ echo no-www > aftenposten.no

 $ sudo kill `cat /var/run/varnish.pid `

 $ sudo /usr/local/sbin/varnishd -P /var/run/varnish.pid -a :80 -T
 localhost:6082  -u varnish -g varnish -s
 file,/var/lib/varnish/varnish_storage.bin,2G  -f ~/varnish.vcl

 $ curl -sI http://www.aftenposten.no/ | grep foo
 foo: www

 $ curl -sI http://aftenposten.no/ | grep foo
 foo: www

 $ sudo kill `cat /var/run/varnish.pid `

 $ sudo /usr/local/sbin/varnishd -P /var/run/varnish.pid -a :80 -T
 localhost:6082  -u varnish -g varnish -s
 file,/var/lib/varnish/varnish_storage.bin,2G  -f ~/varnish.vcl

 $ curl -sI http://aftenposten.no/ | grep foo
 foo: no-www

 $ curl -sI http://www.aftenposten.no/ | grep foo
 foo: no-www

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1145>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list