[Varnish] #502: purge() doesn't understand && in a string

Varnish varnish-bugs at projects.linpro.no
Sun May 3 12:15:45 CEST 2009

#502: purge() doesn't understand && in a string
 Reporter:  Sesse     |        Owner:  phk
     Type:  defect    |       Status:  new
 Priority:  normal    |    Milestone:     
Component:  varnishd  |      Version:  2.0
 Severity:  normal    |   Resolution:     
 Keywords:            |  
Comment (by Sesse):

 Actually the documentation is pretty confusing here.
 http://varnish.projects.linpro.no/wiki/VCLSyntaxPurge says:

   In the second form, the $string argument is split into fields like a CLI
 command line after which it is processed like the first form.

 It seems this does _not_ mean that it takes in the same syntax as the CLI
 “purge” command (as I expected) -- the code paths for the two are
 different, although they both seem to add up in BAN_AddTest.
 VRT_purge_string() and ccf_purge() are similar but not identical -- in
 particular, ccf_purge() actually checks for the && here and there, while
 VRT_purge_string() seems to just expect "a1 a2 a3 a1 a2 a3" etc. without
 any && in the middle. So, without knowing the code, it seems that either
 the code should be changed (possibly unified with ccf_purge()), or the &&
 signs should be removed from the documentation.

 FWIW, it also seems that VCL_purge() has the same issue.

Ticket URL: <http://varnish.projects.linpro.no/ticket/502#comment:1>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator

More information about the varnish-bugs mailing list