On Thu, Aug 1, 2013 at 5:41 AM, Lasse Karstensen <span dir="ltr"><<a href="mailto:lkarsten@varnish-software.com" target="_blank">lkarsten@varnish-software.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Thu, Aug 01, 2013 at 02:03:14AM +0100, Federico Schwindt wrote:<br>
> On Wed, Jul 31, 2013 at 2:46 PM, Lasse Karstensen <<a href="mailto:lkarsten@varnish-software.com">lkarsten@varnish-software.com</a>> wrote:<br>
</div><div class="im"><br></div><div class="im">> - Using VCL_IP for the fallback parameter restricts what you can use to<br>
> client.ip or server.ip. This might or might not be a problem.<br>
> I wrote a similar function a while ago that was using a STRING parameter as<br>
> suggested by Tollef. Not sure if this is still required.<br>
<br>
</div>You can of course nest them to get an arbitrary fallback:<br>
        std.ip(req.http.X-Forwarded-For, std.ip("127.255.255.255"));<br><div class="HOEnZb"><div class="h5"><br></div></div></blockquote></div><div><br></div><div>I've noticed that client.ip and server.ip can be used implicitly as strings. (Is this without caveats?) So if std.ip accepts a string as the fall-back, then the VCL never need specify the conversion explicitly, which would make VCL code more succinct. That is, by accepting a string, both of these would work, which I think would be helpful:</div>

<div><br></div><div>std.ip(req.http.X-Forwarded-For, "127.255.255.255");</div><div>std.ip(req.http.X-Forwarded-For, client.ip);</div><div><br></div><div>Of course, your point about a fallback fallback still stands if the string is formatted badly. I suppose I'd just fall back to 0.0.0.0 or something in that case.</div>

<div><br></div><div>PS. Useful feature, thanks. I wrote a couple of pieces of VCL code where I had to resort to matching an IP received from a header against a range with a regex instead of an ACL. This oughtta clean that up for me.</div>

<div><br></div><div><br></div>-- <br>







<p>As implied by email protocols, the information in this message is not confidential.  Any middle-man or recipient may inspect, modify, copy, forward, reply to, delete, or filter email for any purpose unless said parties are otherwise obligated.  As the sender, I acknowledge that I have a lower expectation of the control and privacy of this message than I would a post-card.  Further, nothing in this message is legally binding without cryptographic evidence of its integrity.</p>


<p><a href="http://bilbo.hobbiton.org/wiki/Eat_My_Sig" target="_blank">http://bilbo.hobbiton.org/wiki/Eat_My_Sig</a></p>