Commit 1123e733 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

When we receive an If-Modified-Since on an ESI object, do not process the conditional

for the child object and pretend to send a 304 reply for them, if we have decided to
deliver the main object.

Fixes #386


git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@3433 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent f99aefd7
......@@ -841,7 +841,14 @@ ESI_Deliver(struct sess *sp)
sp->director = NULL;
sp->step = STP_RECV;
http_ForceGet(sp->http);
/* Don't do conditionals */
sp->http->conds = 0;
http_Unset(sp->http, H_If_Modified_Since);
/* Client content already taken care of */
http_Unset(sp->http, H_Content_Length);
while (1) {
CNT_Session(sp);
if (sp->step == STP_DONE)
......
# $Id$
test "#386, failure to insert include"
server s1 {
rxreq
expect req.url == "/body"
txresp -hdr "Last-Modified: Tue, 25 Nov 2008 00:00:00 GMT" -body "BODY"
rxreq
expect req.url == "/"
txresp -body {<X><esi:include src="/body"/></X>}
} -start
varnish v1 -arg "-p diag_bitmap=0x20" -vcl+backend {
sub vcl_fetch {
if (req.url == "/") {
esi;
}
}
} -start
client c1 {
txreq -url /body
rxresp
expect resp.bodylen == 4
txreq -url / -hdr "If-Modified-Since: Tue, 25 Nov 2008 00:00:00 GMT"
rxresp
expect resp.bodylen == 11
} -start
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment