Poul-Henning Kamp phk at phk.freebsd.dk
Tue Aug 15 09:43:21 CEST 2006

In message <ujrodum4fvv.fsf at cat.linpro.no>, Dag-Erling =?iso-8859-1?Q?Sm=F8rgra
v?= writes:
>Arne managed to get a trace of an HTTP session where Varnish
>incorrectly sent a 304 reply to an If-Modified-Since request.

Well, without the varnish log we can't tell if it was really
incorrect, but we can pressume that it was.

>> HTTP/1.1 304 Not Modified
>> Via: 1.1 varnish
>> X-Varnish: 44998848
>> Last-Modified: Mon, 14 Aug 2006 13:30:03 GMT

Inspecting the code I can see that we print the wrong thing
in Last-Modified: header, we print what the user asked us about.

>(note that the reply lacks a Date: header, we should fix that as well)
>unfortunately, I don't have the corresponding Varnish log.

Which is the trouble because I can't possibly see how this test
can fail:

	if (ims > sp->obj->last_modified) {
		VSL(SLT_Debug, sp->fd,
		    "Cond: %d > %d ", sp->obj->last_modified, ims);
		return (0);

unless we have no last_modified field on the object.

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the varnish-dev mailing list