It's currently not possible to do this in VCL that I know of...I have come up with a solution for a similar issue I had with varnish cache'ing 401 Unauthorized responses, thus denying legit authenticated users the proper content because they are being serviced the 401.  What I did is jumped into the function cnt_fetch in bin/varnishd/cache_center.c here's a snippet...
<br><br>--- /tmp/clean/varnish-1.0.4/bin/varnishd/cache_center.c        2007-05-20 10:38:16.000000000 -0700<br>+++ cache_center.c      2007-05-23 14:55:43.000000000 -0700<br>@@ -286,7 +286,8 @@<br> cnt_fetch(struct sess *sp)
<br> {<br><br>-<br>+       struct vbe_conn *vc;<br>+<br>        if (Fetch(sp)) {<br>                sp->obj->cacheable = 0;<br>                HSH_Unbusy(sp->obj);<br>@@ -300,6 +301,11 @@<br>        RFC2616_cache_policy(sp, &sp->obj->http);       /* XXX -> VCL */
<br><br>        VCL_fetch_method(sp);<br>+       vc = VBE_GetFd(sp);<br>+<br>+       if (http_GetStatus(vc->http) == 401)<br>+               sp->handling = VCL_RET_PASS;<br>+        VBE_ClosedFd(sp->wrk, vc, 0);<br>
<br>        if (sp->handling == VCL_RET_ERROR)<br>                INCOMPL();<br>@@ -353,6 +359,64 @@<br>        sp->step = STP_DONE;<br>        return (0);<br> }<br><br>   <br><br><div><span class="gmail_quote">On 5/30/07, 
<b class="gmail_sendername">Thomas Westlund</b> <<a href="mailto:thomas.westlund@aftenposten.no">thomas.westlund@aftenposten.no</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>I'm having av bit of keyboard trouble this morning, so forgive me if i post this question more than once, (too early still perhaps ;)<br><br>If I would like to do a check based on the response code from the backend how can I do this in VCL
<br><br>I would like to be able to not cache 404's or to set the timeout to a very low number for 404's.<br><br>I have checked the vcl man page, but I'm unable to find which statement to use for the if clause<br>
<br>--<br><br>Thomas Westlund<br>Aftenposten AS, UNIX/nettverksavd.<br>Postboks 1, 0051 Oslo<br>Tlf: +47 98 20 30 33<br>Fax: +47 22 86 40 74<br>_______________________________________________<br>varnish-misc mailing list<br>
<a href="mailto:varnish-misc@projects.linpro.no">varnish-misc@projects.linpro.no</a><br><a href="http://projects.linpro.no/mailman/listinfo/varnish-misc">http://projects.linpro.no/mailman/listinfo/varnish-misc</a><br></blockquote>
</div><br>