diff -Nru 2.0/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c 2.0.3/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c
--- 2.0/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c	2008-10-16 07:43:08.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c	2009-01-09 15:40:15.000000000 +0100
@@ -209,8 +209,10 @@
 	int i;
 
 	i = fcntl(vca_pipes[0], F_GETFL);
+	assert(i != -1);
 	i |= O_NONBLOCK;
 	i = fcntl(vca_pipes[0], F_SETFL, i);
+	assert(i != -1);
 
 	AZ(pthread_create(&vca_kqueue_thread, NULL, vca_kqueue_main, NULL));
 }
diff -Nru 2.0/varnish-cache/bin/varnishd/cache_backend_poll.c 2.0.3/varnish-cache/bin/varnishd/cache_backend_poll.c
--- 2.0/varnish-cache/bin/varnishd/cache_backend_poll.c	2008-10-16 07:43:08.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishd/cache_backend_poll.c	2009-01-09 15:46:11.000000000 +0100
@@ -157,6 +157,11 @@
 		/* Got no connection: failed */
 		return;
 	}
+	if (tmo <= 0) {
+		/* Spent too long time getting it */
+		TCP_close(&s);
+		return;
+	}
 
 	/* Send the request */
 	i = write(s, vt->req, vt->req_len);
@@ -261,7 +266,7 @@
 	if (vt->probe.timeout == 0.0)
 		vt->probe.timeout = 2.0;
 	if (vt->probe.interval == 0.0)
-		vt->probe.timeout = 5.0;
+		vt->probe.interval = 5.0;
 	if (vt->probe.window == 0)
 		vt->probe.window = 8;
 	if (vt->probe.threshold == 0)
diff -Nru 2.0/varnish-cache/bin/varnishd/cache_center.c 2.0.3/varnish-cache/bin/varnishd/cache_center.c
--- 2.0/varnish-cache/bin/varnishd/cache_center.c	2008-10-17 13:04:12.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishd/cache_center.c	2009-01-09 15:36:53.000000000 +0100
@@ -548,7 +548,9 @@
 		sp->step = STP_ERROR;
 		return (0);
 	case VCL_RET_RESTART:
-		INCOMPL();
+		sp->director = NULL;
+		sp->restarts++;
+		sp->step = STP_RECV;
 		return (0);
 	default:
 		WRONG("Illegal action in vcl_hit{}");
@@ -1064,9 +1066,23 @@
 	cli_out(cli, "XID is %u", xids);
 }
 
+static void
+cli_debug_srandom(struct cli *cli, const char * const *av, void *priv)
+{
+	(void)priv;
+	unsigned long seed;
+
+	if (av[2] != NULL)
+		seed = strtoul(av[2], NULL, 0);
+	srandom(seed);
+	cli_out(cli, "Random(3) seeded with %lu", seed);
+}
+
 static struct cli_proto debug_cmds[] = {
 	{ "debug.xid", "debug.xid",
 		"\tExamine or set XID\n", 0, 1, cli_debug_xid },
+	{ "debug.srandom", "debug.srandom",
+		"\tSeed the random(3) function\n", 0, 1, cli_debug_srandom },
 	{ NULL }
 };
 
diff -Nru 2.0/varnish-cache/bin/varnishd/cache_vrt.c 2.0.3/varnish-cache/bin/varnishd/cache_vrt.c
--- 2.0/varnish-cache/bin/varnishd/cache_vrt.c	2008-11-10 11:12:01.000000000 +0100
+++ 2.0.3/varnish-cache/bin/varnishd/cache_vrt.c	2009-01-09 15:37:04.000000000 +0100
@@ -318,9 +318,16 @@
 	CHECK_OBJ_NOTNULL(sp->obj, OBJECT_MAGIC);	/* XXX */
 	WSP(sp, SLT_TTL, "%u VCL %.0f %.0f",
 	    sp->obj->xid, a, sp->t_req);
-	if (a < 0)
-		a = 0;
-	sp->obj->ttl = sp->t_req + a;
+	/*
+	 * If people set obj.ttl = 0s, they don't expect it to be cacheable
+	 * any longer, but it will still be for up to 1s - epsilon because
+	 * of the rounding to seconds.
+	 * We special case and make sure that rounding does not surprise.
+	 */
+	if (a <= 0)
+		sp->obj->ttl = sp->t_req - 1;
+	else
+		sp->obj->ttl = sp->t_req + a;
 	EXP_Rearm(sp->obj);
 }
 
diff -Nru 2.0/varnish-cache/bin/varnishd/cache_vrt_esi.c 2.0.3/varnish-cache/bin/varnishd/cache_vrt_esi.c
--- 2.0/varnish-cache/bin/varnishd/cache_vrt_esi.c	2008-10-20 10:55:25.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishd/cache_vrt_esi.c	2009-01-09 15:35:03.000000000 +0100
@@ -837,7 +837,14 @@
 		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)
diff -Nru 2.0/varnish-cache/bin/varnishd/storage_malloc.c 2.0.3/varnish-cache/bin/varnishd/storage_malloc.c
--- 2.0/varnish-cache/bin/varnishd/storage_malloc.c	2008-10-16 07:43:08.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishd/storage_malloc.c	2009-01-09 15:38:46.000000000 +0100
@@ -143,6 +143,9 @@
 		ARGV_ERR("(-smalloc) size \"%s\": %s\n", av[0], e);
 	if ((u != (uintmax_t)(size_t)u)) 
 		ARGV_ERR("(-smalloc) size \"%s\": too big\n", av[0]);
+
+	printf("storage_malloc: max size %ju MB.\n",
+	    u / (1024 * 1024));
 	sma_max = u;
 }
 
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/entries 2.0.3/varnish-cache/bin/varnishd/.svn/entries
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/mgt_param.c.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/mgt_param.c.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.25.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.25.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.26.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.26.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.27.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.27.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.28.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.28.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.29.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.29.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.30.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.30.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.31.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.31.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.32.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.32.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.33.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.33.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.34.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.34.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.35.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.35.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.36.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.36.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.37.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.37.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.38.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.38.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.39.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.39.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.40.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.40.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.41.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.41.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.42.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.42.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.43.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.43.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.44.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.44.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.45.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.45.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.46.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.46.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.47.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.47.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.48.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.48.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/.svn/tmp/tempfile.49.tmp 2.0.3/varnish-cache/bin/varnishd/.svn/tmp/tempfile.49.tmp
diff -Nru 2.0/varnish-cache/bin/varnishd/varnishd.1 2.0.3/varnish-cache/bin/varnishd/varnishd.1
--- 2.0/varnish-cache/bin/varnishd/varnishd.1	2008-10-16 07:43:08.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishd/varnishd.1	2009-01-09 15:39:00.000000000 +0100
@@ -236,9 +236,27 @@
 .Ss Storage Types
 The following storage types are available:
 .Bl -tag -width 4n
-.It Cm malloc
+.It Cm malloc Ns Op Ns , Ns Ar size Ns
 Storage for each object is allocated with
 .Xr malloc 3 .
+.Pp
+The
+.Ar size
+parameter specifies the maximum amount of memory varnishd will allocate.
+The size is assumed to be in bytes, unless followed by one of the
+following suffixes:
+.Bl -tag -width indent
+.It K, k
+The size is expressed in kibibytes.
+.It M, m
+The size is expressed in mebibytes.
+.It G, g
+The size is expressed in gibibytes.
+.It T, t
+The size is expressed in tebibytes.
+.El
+.Pp
+The default size is unlimited.
 .It Cm file Ns Op Ns , Ns Ar path Ns Op Ns , Ns Ar size Ns Op Ns , Ns Ar granularity
 Storage for each object is allocated from an arena backed by a file.
 This is the default.
@@ -502,7 +520,7 @@
 .Nm
 to respond faster to a sudden increase in traffic.
 .Pp
-The default is 1.
+The default is 5.
 .It Va thread_pools
 The number of worker thread pools.
 Higher values reduce lock contention but increase pressure on the
@@ -510,7 +528,7 @@
 Note that a decrease of this parameter will only take effect after a
 restart.
 .Pp
-The default is 1.
+The default is 2.
 .It Va thread_pool_timeout
 The amount of time a worker thread can be idle before it is killed,
 when the number of worker threads exceeds
diff -Nru 2.0/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.5.tmp 2.0.3/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.5.tmp
diff -Nru 2.0/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.6.tmp 2.0.3/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.6.tmp
diff -Nru 2.0/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.7.tmp 2.0.3/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.7.tmp
diff -Nru 2.0/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.8.tmp 2.0.3/varnish-cache/bin/varnishtest/.svn/tmp/tempfile.8.tmp
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/r00365.vtc 2.0.3/varnish-cache/bin/varnishtest/tests/r00365.vtc
--- 2.0/varnish-cache/bin/varnishtest/tests/r00365.vtc	1970-01-01 01:00:00.000000000 +0100
+++ 2.0.3/varnish-cache/bin/varnishtest/tests/r00365.vtc	2009-01-09 15:36:59.000000000 +0100
@@ -0,0 +1,31 @@
+# $Id$
+
+test "Test restarts in vcl_hit"
+
+server s1 {
+	rxreq
+	expect req.url == "/foo"
+	txresp -status 200 -body "1"
+	rxreq
+	expect req.url == "/foo"
+	txresp -status 200 -body "22"
+} -start
+
+varnish v1 -vcl+backend { 
+	sub vcl_hit {
+		set obj.cacheable = false;
+		restart;
+	}
+} -start
+
+client c1 {
+	txreq -url "/foo"
+	rxresp
+	expect resp.status == 200
+	expect resp.bodylen == 1
+
+	txreq -url "/foo"
+	rxresp
+	expect resp.status == 200
+	expect resp.bodylen == 2
+} -run
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/r00386.vtc 2.0.3/varnish-cache/bin/varnishtest/tests/r00386.vtc
--- 2.0/varnish-cache/bin/varnishtest/tests/r00386.vtc	1970-01-01 01:00:00.000000000 +0100
+++ 2.0.3/varnish-cache/bin/varnishtest/tests/r00386.vtc	2009-01-09 15:35:03.000000000 +0100
@@ -0,0 +1,29 @@
+# $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
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/.svn/entries 2.0.3/varnish-cache/bin/varnishtest/tests/.svn/entries
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/.svn/text-base/r00365.vtc.svn-base 2.0.3/varnish-cache/bin/varnishtest/tests/.svn/text-base/r00365.vtc.svn-base
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/.svn/text-base/r00386.vtc.svn-base 2.0.3/varnish-cache/bin/varnishtest/tests/.svn/text-base/r00386.vtc.svn-base
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/.svn/text-base/v00022.vtc.svn-base 2.0.3/varnish-cache/bin/varnishtest/tests/.svn/text-base/v00022.vtc.svn-base
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/.svn/text-base/v00023.vtc.svn-base 2.0.3/varnish-cache/bin/varnishtest/tests/.svn/text-base/v00023.vtc.svn-base
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/v00022.vtc 2.0.3/varnish-cache/bin/varnishtest/tests/v00022.vtc
--- 2.0/varnish-cache/bin/varnishtest/tests/v00022.vtc	1970-01-01 01:00:00.000000000 +0100
+++ 2.0.3/varnish-cache/bin/varnishtest/tests/v00022.vtc	2009-01-09 15:36:46.000000000 +0100
@@ -0,0 +1,86 @@
+# $Id$
+
+test "Deeper test of random director"
+
+random
+
+server s1 {
+	rxreq
+	txresp -body "1"
+} -start
+server s2 -listen 127.0.0.1:9180 {
+	rxreq
+	txresp -body "22"
+	rxreq
+	txresp -body "22"
+	rxreq
+	txresp -body "22"
+} -start
+server s3 -listen 127.0.0.1:9181 {
+	rxreq
+	txresp -body "333"
+} -start
+server s4 -listen 127.0.0.1:9182 {
+	rxreq
+	txresp -body "4444"
+	rxreq
+	txresp -body "4444"
+	rxreq
+	txresp -body "4444"
+	rxreq
+	txresp -body "4444"
+	rxreq
+	txresp -body "4444"
+} -start
+
+varnish v1 -vcl+backend {
+	director foo random {
+		{ .backend = s1; .weight = 1; }
+		{ .backend = s2; .weight = 1; }
+		{ .backend = s3; .weight = 1; }
+		{ .backend = s4; .weight = 1; }
+	}
+
+	sub vcl_recv {
+		set req.backend = foo;
+		pass;
+	}
+} -start
+
+# NB: Do not change the number 1
+# NB: Only srandom(1) is standardized as deterministic.
+
+varnish v1 -cliok "debug.srandom 1"
+
+client c1 {
+	txreq 
+	rxresp
+	expect resp.bodylen == 4
+	txreq 
+	rxresp
+	expect resp.bodylen == 2
+	txreq 
+	rxresp
+	expect resp.bodylen == 4
+	txreq 
+	rxresp
+	expect resp.bodylen == 4
+	txreq 
+	rxresp
+	expect resp.bodylen == 4
+	txreq 
+	rxresp
+	expect resp.bodylen == 1
+	txreq 
+	rxresp
+	expect resp.bodylen == 2
+	txreq 
+	rxresp
+	expect resp.bodylen == 4
+	txreq 
+	rxresp
+	expect resp.bodylen == 2
+	txreq 
+	rxresp
+	expect resp.bodylen == 3
+} -run
diff -Nru 2.0/varnish-cache/bin/varnishtest/tests/v00023.vtc 2.0.3/varnish-cache/bin/varnishtest/tests/v00023.vtc
--- 2.0/varnish-cache/bin/varnishtest/tests/v00023.vtc	1970-01-01 01:00:00.000000000 +0100
+++ 2.0.3/varnish-cache/bin/varnishtest/tests/v00023.vtc	2009-01-09 15:37:04.000000000 +0100
@@ -0,0 +1,31 @@
+# $Id$
+
+test "Test that obj.ttl = 0s prevents subsequent hits"
+
+server s1 {
+	rxreq
+	expect req.url == "/foo"
+	txresp -status 200 -body "1"
+	rxreq
+	expect req.url == "/foo"
+	txresp -status 200 -body "22"
+} -start
+
+varnish v1 -vcl+backend { 
+	sub vcl_hit {
+		set obj.ttl = 0s;
+		restart;
+	}
+} -start
+
+client c1 {
+	txreq -url "/foo"
+	rxresp
+	expect resp.status == 200
+	expect resp.bodylen == 1
+
+	txreq -url "/foo"
+	rxresp
+	expect resp.status == 200
+	expect resp.bodylen == 2
+} -run
diff -Nru 2.0/varnish-cache/bin/varnishtest/vtc.c 2.0.3/varnish-cache/bin/varnishtest/vtc.c
--- 2.0/varnish-cache/bin/varnishtest/vtc.c	2008-10-16 07:43:07.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishtest/vtc.c	2009-01-09 15:36:38.000000000 +0100
@@ -44,6 +44,8 @@
 const char	*vtc_file;
 char		*vtc_desc;
 
+static int	stop;
+
 /**********************************************************************
  * Read a file into memory
  */
@@ -185,6 +187,8 @@
 	
 		assert(cp->cmd != NULL);
 		cp->cmd(token_s, priv, cmd, vl);
+		if (stop)
+			break;
 	}
 }
 
@@ -282,6 +286,52 @@
 }
 
 /**********************************************************************
+ * Check random generator
+ */
+
+#define NRNDEXPECT	12
+static const unsigned long random_expect[NRNDEXPECT] = {
+	1804289383,	846930886,	1681692777,	1714636915,
+	1957747793,	424238335,	719885386,	1649760492,
+	 596516649,	1189641421,	1025202362,	1350490027
+};
+
+#define RND_NEXT_1K	0x3bdcbe30
+
+static void
+cmd_random(CMD_ARGS)
+{
+	unsigned long l;
+	int i;
+
+	(void)cmd;
+	(void)priv;
+	if (av == NULL)
+		return;
+	srandom(1);
+	for (i = 0; i < NRNDEXPECT; i++) {
+		l = random();
+		if (l == random_expect[i])
+			continue;
+		vtc_log(vl, 4, "random[%d] = 0x%x (expect 0x%x)",
+		    i, l, random_expect[i]);
+		vtc_log(vl, 1, "SKIPPING test: unknown srandom(1) sequence.");
+		stop = 1;
+		break;
+	}
+	l = 0;
+	for (i = 0; i < 1000; i++) 
+		l += random();
+	if (l != RND_NEXT_1K) {
+		vtc_log(vl, 4, "sum(random[%d...%d]) = 0x%x (expect 0x%x)",
+		    NRNDEXPECT, NRNDEXPECT + 1000,
+		    l, RND_NEXT_1K);
+		vtc_log(vl, 1, "SKIPPING test: unknown srandom(1) sequence.");
+		stop = 1;
+	}
+}
+
+/**********************************************************************
  * Execute a file
  */
 
@@ -293,6 +343,7 @@
 	{ "test", 	cmd_test },
 	{ "shell", 	cmd_shell },
 	{ "sema", 	cmd_sema },
+	{ "random",	cmd_random },
 	{ NULL, 	NULL }
 };
 
@@ -301,6 +352,7 @@
 {
 	char *buf;
 
+	stop = 0;
 	vtc_file = fn;
 	vtc_desc = NULL;
 	vtc_log(vl, 1, "TEST %s starting", fn);
diff -Nru 2.0/varnish-cache/bin/varnishtest/vtc_server.c 2.0.3/varnish-cache/bin/varnishtest/vtc_server.c
--- 2.0/varnish-cache/bin/varnishtest/vtc_server.c	2008-10-16 07:43:07.000000000 +0200
+++ 2.0.3/varnish-cache/bin/varnishtest/vtc_server.c	2009-01-09 15:39:07.000000000 +0100
@@ -97,7 +97,8 @@
 		vtc_log(vl, 3, "Accepted socket fd is %d", fd);
 		http_process(vl, s->spec, fd, 0);
 		vtc_log(vl, 3, "shutting fd %d", fd);
-		assert((shutdown(fd, SHUT_WR) == 0) || errno == ENOTCONN);
+		assert((shutdown(fd, SHUT_WR) == 0)
+		    || errno == ENOTCONN || errno == ECONNRESET);
 		TCP_close(&fd);
 	}
 	vtc_log(vl, 2, "Ending");
diff -Nru 2.0/varnish-cache/build/bin/Makefile 2.0.3/varnish-cache/build/bin/Makefile
Binary files 2.0/varnish-cache/build/bin/varnishadm/.libs/varnishadm and 2.0.3/varnish-cache/build/bin/varnishadm/.libs/varnishadm differ
diff -Nru 2.0/varnish-cache/build/bin/varnishadm/Makefile 2.0.3/varnish-cache/build/bin/varnishadm/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishadm/varnishadm 2.0.3/varnish-cache/build/bin/varnishadm/varnishadm
Binary files 2.0/varnish-cache/build/bin/varnishadm/varnishadm.o and 2.0.3/varnish-cache/build/bin/varnishadm/varnishadm.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/.libs/lt-varnishd and 2.0.3/varnish-cache/build/bin/varnishd/.libs/lt-varnishd differ
Binary files 2.0/varnish-cache/build/bin/varnishd/.libs/varnishd and 2.0.3/varnish-cache/build/bin/varnishd/.libs/varnishd differ
diff -Nru 2.0/varnish-cache/build/bin/varnishd/Makefile 2.0.3/varnish-cache/build/bin/varnishd/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishd/varnishd 2.0.3/varnish-cache/build/bin/varnishd/varnishd
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_acceptor_epoll.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_acceptor_epoll.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_acceptor.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_acceptor.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_acceptor_poll.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_acceptor_poll.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_backend_cfg.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_backend_cfg.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_backend.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_backend.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_backend_poll.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_backend_poll.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_ban.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_ban.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_center.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_center.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_cli.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_cli.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_dir_random.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_dir_random.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_dir_round_robin.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_dir_round_robin.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_dir_simple.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_dir_simple.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_expire.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_expire.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_fetch.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_fetch.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_hash.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_hash.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_httpconn.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_httpconn.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_http.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_http.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_main.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_main.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_panic.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_panic.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_pipe.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_pipe.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_pool.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_pool.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_response.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_response.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_session.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_session.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_vary.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_vary.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_vcl.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_vcl.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_vrt_acl.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_vrt_acl.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_vrt_esi.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_vrt_esi.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_vrt.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_vrt.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_vrt_re.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_vrt_re.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-cache_ws.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-cache_ws.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-hash_classic.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-hash_classic.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-hash_simple_list.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-hash_simple_list.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-instance.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-instance.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-mgt_child.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-mgt_child.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-mgt_cli.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-mgt_cli.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-mgt_param.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-mgt_param.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-mgt_vcc.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-mgt_vcc.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-rfc2616.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-rfc2616.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-shmlog.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-shmlog.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-stevedore.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-stevedore.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-storage_file.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-storage_file.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-storage_malloc.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-storage_malloc.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-storage_synth.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-storage_synth.o differ
Binary files 2.0/varnish-cache/build/bin/varnishd/varnishd-varnishd.o and 2.0.3/varnish-cache/build/bin/varnishd/varnishd-varnishd.o differ
Binary files 2.0/varnish-cache/build/bin/varnishhist/.libs/varnishhist and 2.0.3/varnish-cache/build/bin/varnishhist/.libs/varnishhist differ
diff -Nru 2.0/varnish-cache/build/bin/varnishhist/Makefile 2.0.3/varnish-cache/build/bin/varnishhist/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishhist/varnishhist 2.0.3/varnish-cache/build/bin/varnishhist/varnishhist
Binary files 2.0/varnish-cache/build/bin/varnishhist/varnishhist.o and 2.0.3/varnish-cache/build/bin/varnishhist/varnishhist.o differ
Binary files 2.0/varnish-cache/build/bin/varnishlog/.libs/varnishlog and 2.0.3/varnish-cache/build/bin/varnishlog/.libs/varnishlog differ
diff -Nru 2.0/varnish-cache/build/bin/varnishlog/Makefile 2.0.3/varnish-cache/build/bin/varnishlog/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishlog/varnishlog 2.0.3/varnish-cache/build/bin/varnishlog/varnishlog
Binary files 2.0/varnish-cache/build/bin/varnishlog/varnishlog.o and 2.0.3/varnish-cache/build/bin/varnishlog/varnishlog.o differ
Binary files 2.0/varnish-cache/build/bin/varnishncsa/.libs/varnishncsa and 2.0.3/varnish-cache/build/bin/varnishncsa/.libs/varnishncsa differ
diff -Nru 2.0/varnish-cache/build/bin/varnishncsa/Makefile 2.0.3/varnish-cache/build/bin/varnishncsa/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishncsa/varnishncsa 2.0.3/varnish-cache/build/bin/varnishncsa/varnishncsa
Binary files 2.0/varnish-cache/build/bin/varnishncsa/varnishncsa.o and 2.0.3/varnish-cache/build/bin/varnishncsa/varnishncsa.o differ
Binary files 2.0/varnish-cache/build/bin/varnishreplay/.libs/varnishreplay and 2.0.3/varnish-cache/build/bin/varnishreplay/.libs/varnishreplay differ
diff -Nru 2.0/varnish-cache/build/bin/varnishreplay/Makefile 2.0.3/varnish-cache/build/bin/varnishreplay/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishreplay/varnishreplay 2.0.3/varnish-cache/build/bin/varnishreplay/varnishreplay
Binary files 2.0/varnish-cache/build/bin/varnishreplay/varnishreplay.o and 2.0.3/varnish-cache/build/bin/varnishreplay/varnishreplay.o differ
Binary files 2.0/varnish-cache/build/bin/varnishstat/.libs/varnishstat and 2.0.3/varnish-cache/build/bin/varnishstat/.libs/varnishstat differ
diff -Nru 2.0/varnish-cache/build/bin/varnishstat/Makefile 2.0.3/varnish-cache/build/bin/varnishstat/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishstat/varnishstat 2.0.3/varnish-cache/build/bin/varnishstat/varnishstat
Binary files 2.0/varnish-cache/build/bin/varnishstat/varnishstat.o and 2.0.3/varnish-cache/build/bin/varnishstat/varnishstat.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/.libs/lt-varnishtest and 2.0.3/varnish-cache/build/bin/varnishtest/.libs/lt-varnishtest differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/.libs/varnishtest and 2.0.3/varnish-cache/build/bin/varnishtest/.libs/varnishtest differ
diff -Nru 2.0/varnish-cache/build/bin/varnishtest/Makefile 2.0.3/varnish-cache/build/bin/varnishtest/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishtest/varnishtest 2.0.3/varnish-cache/build/bin/varnishtest/varnishtest
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc_client.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc_client.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc_http.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc_http.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc_log.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc_log.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc_sema.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc_sema.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc_server.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc_server.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtest/vtc_varnish.o and 2.0.3/varnish-cache/build/bin/varnishtest/vtc_varnish.o differ
Binary files 2.0/varnish-cache/build/bin/varnishtop/.libs/varnishtop and 2.0.3/varnish-cache/build/bin/varnishtop/.libs/varnishtop differ
diff -Nru 2.0/varnish-cache/build/bin/varnishtop/Makefile 2.0.3/varnish-cache/build/bin/varnishtop/Makefile
diff -Nru 2.0/varnish-cache/build/bin/varnishtop/varnishtop 2.0.3/varnish-cache/build/bin/varnishtop/varnishtop
Binary files 2.0/varnish-cache/build/bin/varnishtop/varnishtop.o and 2.0.3/varnish-cache/build/bin/varnishtop/varnishtop.o differ
diff -Nru 2.0/varnish-cache/build/config.h 2.0.3/varnish-cache/build/config.h
diff -Nru 2.0/varnish-cache/build/config.log 2.0.3/varnish-cache/build/config.log
diff -Nru 2.0/varnish-cache/build/config.status 2.0.3/varnish-cache/build/config.status
diff -Nru 2.0/varnish-cache/build/doc/Makefile 2.0.3/varnish-cache/build/doc/Makefile
diff -Nru 2.0/varnish-cache/build/etc/Makefile 2.0.3/varnish-cache/build/etc/Makefile
diff -Nru 2.0/varnish-cache/build/include/Makefile 2.0.3/varnish-cache/build/include/Makefile
Binary files 2.0/varnish-cache/build/lib/libjemalloc/libjemalloc_mt_la-jemalloc_linux.o and 2.0.3/varnish-cache/build/lib/libjemalloc/libjemalloc_mt_la-jemalloc_linux.o differ
Binary files 2.0/varnish-cache/build/lib/libjemalloc/.libs/libjemalloc_mt.a and 2.0.3/varnish-cache/build/lib/libjemalloc/.libs/libjemalloc_mt.a differ
Binary files 2.0/varnish-cache/build/lib/libjemalloc/.libs/libjemalloc_mt_la-jemalloc_linux.o and 2.0.3/varnish-cache/build/lib/libjemalloc/.libs/libjemalloc_mt_la-jemalloc_linux.o differ
diff -Nru 2.0/varnish-cache/build/lib/libjemalloc/Makefile 2.0.3/varnish-cache/build/lib/libjemalloc/Makefile
Binary files 2.0/varnish-cache/build/lib/libvarnish/argv.o and 2.0.3/varnish-cache/build/lib/libvarnish/argv.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/assert.o and 2.0.3/varnish-cache/build/lib/libvarnish/assert.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/binary_heap.o and 2.0.3/varnish-cache/build/lib/libvarnish/binary_heap.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/cli_common.o and 2.0.3/varnish-cache/build/lib/libvarnish/cli_common.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/cli.o and 2.0.3/varnish-cache/build/lib/libvarnish/cli.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/crc32.o and 2.0.3/varnish-cache/build/lib/libvarnish/crc32.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/flopen.o and 2.0.3/varnish-cache/build/lib/libvarnish/flopen.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/argv.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/argv.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/assert.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/assert.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/binary_heap.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/binary_heap.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/cli_common.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/cli_common.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/cli.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/cli.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/crc32.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/crc32.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/flopen.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/flopen.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/libvarnish.a and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/libvarnish.a differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/libvarnish.so and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/libvarnish.so differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/libvarnish.so.1 and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/libvarnish.so.1 differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/libvarnish.so.1.0.0 and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/libvarnish.so.1.0.0 differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/num.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/num.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/tcp.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/tcp.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/time.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/time.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/version.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/version.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/vev.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/vev.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/vlu.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/vlu.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/vpf.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/vpf.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/vsb.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/vsb.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/vss.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/vss.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/.libs/vtmpfile.o and 2.0.3/varnish-cache/build/lib/libvarnish/.libs/vtmpfile.o differ
diff -Nru 2.0/varnish-cache/build/lib/libvarnish/Makefile 2.0.3/varnish-cache/build/lib/libvarnish/Makefile
Binary files 2.0/varnish-cache/build/lib/libvarnish/num.o and 2.0.3/varnish-cache/build/lib/libvarnish/num.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/tcp.o and 2.0.3/varnish-cache/build/lib/libvarnish/tcp.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/time.o and 2.0.3/varnish-cache/build/lib/libvarnish/time.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/version.o and 2.0.3/varnish-cache/build/lib/libvarnish/version.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/vev.o and 2.0.3/varnish-cache/build/lib/libvarnish/vev.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/vlu.o and 2.0.3/varnish-cache/build/lib/libvarnish/vlu.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/vpf.o and 2.0.3/varnish-cache/build/lib/libvarnish/vpf.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/vsb.o and 2.0.3/varnish-cache/build/lib/libvarnish/vsb.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/vss.o and 2.0.3/varnish-cache/build/lib/libvarnish/vss.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnish/vtmpfile.o and 2.0.3/varnish-cache/build/lib/libvarnish/vtmpfile.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.a and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.a differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi_la-base64.o and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi_la-base64.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi_la-instance.o and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi_la-instance.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi_la-shmlog.o and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi_la-shmlog.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.so and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.so differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.so.1 and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.so.1 differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.so.1.0.0 and 2.0.3/varnish-cache/build/lib/libvarnishapi/.libs/libvarnishapi.so.1.0.0 differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/libvarnishapi_la-base64.o and 2.0.3/varnish-cache/build/lib/libvarnishapi/libvarnishapi_la-base64.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/libvarnishapi_la-instance.o and 2.0.3/varnish-cache/build/lib/libvarnishapi/libvarnishapi_la-instance.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishapi/libvarnishapi_la-shmlog.o and 2.0.3/varnish-cache/build/lib/libvarnishapi/libvarnishapi_la-shmlog.o differ
diff -Nru 2.0/varnish-cache/build/lib/libvarnishapi/Makefile 2.0.3/varnish-cache/build/lib/libvarnishapi/Makefile
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.a and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.a differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.so and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.so differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.so.1 and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.so.1 differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.so.1.0.0 and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/libvarnishcompat.so.1.0.0 differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/setproctitle.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/setproctitle.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/srandomdev.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/srandomdev.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/strlcat.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/strlcat.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/strlcpy.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/strlcpy.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/.libs/vis.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/.libs/vis.o differ
diff -Nru 2.0/varnish-cache/build/lib/libvarnishcompat/Makefile 2.0.3/varnish-cache/build/lib/libvarnishcompat/Makefile
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/setproctitle.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/setproctitle.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/srandomdev.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/srandomdev.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/strlcat.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/strlcat.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/strlcpy.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/strlcpy.o differ
Binary files 2.0/varnish-cache/build/lib/libvarnishcompat/vis.o and 2.0.3/varnish-cache/build/lib/libvarnishcompat/vis.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/libvcl.a and 2.0.3/varnish-cache/build/lib/libvcl/.libs/libvcl.a differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/libvcl.so and 2.0.3/varnish-cache/build/lib/libvcl/.libs/libvcl.so differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/libvcl.so.1 and 2.0.3/varnish-cache/build/lib/libvcl/.libs/libvcl.so.1 differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/libvcl.so.1.0.0 and 2.0.3/varnish-cache/build/lib/libvcl/.libs/libvcl.so.1.0.0 differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_acl.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_acl.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_action.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_action.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_backend.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_backend.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_compile.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_compile.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_dir_random.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_dir_random.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_dir_round_robin.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_dir_round_robin.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_fixed_token.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_fixed_token.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_obj.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_obj.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_parse.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_parse.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_string.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_string.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_token.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_token.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_var.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_var.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/.libs/vcc_xref.o and 2.0.3/varnish-cache/build/lib/libvcl/.libs/vcc_xref.o differ
diff -Nru 2.0/varnish-cache/build/lib/libvcl/Makefile 2.0.3/varnish-cache/build/lib/libvcl/Makefile
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_acl.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_acl.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_action.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_action.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_backend.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_backend.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_compile.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_compile.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_dir_random.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_dir_random.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_dir_round_robin.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_dir_round_robin.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_fixed_token.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_fixed_token.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_obj.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_obj.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_parse.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_parse.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_string.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_string.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_token.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_token.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_var.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_var.o differ
Binary files 2.0/varnish-cache/build/lib/libvcl/vcc_xref.o and 2.0.3/varnish-cache/build/lib/libvcl/vcc_xref.o differ
diff -Nru 2.0/varnish-cache/build/lib/Makefile 2.0.3/varnish-cache/build/lib/Makefile
diff -Nru 2.0/varnish-cache/build/libtool 2.0.3/varnish-cache/build/libtool
diff -Nru 2.0/varnish-cache/build/Makefile 2.0.3/varnish-cache/build/Makefile
diff -Nru 2.0/varnish-cache/build/man/Makefile 2.0.3/varnish-cache/build/man/Makefile
diff -Nru 2.0/varnish-cache/build/man/vcl.7 2.0.3/varnish-cache/build/man/vcl.7
diff -Nru 2.0/varnish-cache/build/redhat/Makefile 2.0.3/varnish-cache/build/redhat/Makefile
diff -Nru 2.0/varnish-cache/build/varnishapi.pc 2.0.3/varnish-cache/build/varnishapi.pc
diff -Nru 2.0/varnish-cache/configure 2.0.3/varnish-cache/configure
--- 2.0/varnish-cache/configure	2008-10-30 06:35:28.000000000 +0100
+++ 2.0.3/varnish-cache/configure	2009-01-09 15:46:30.000000000 +0100
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.ac Id: configure.ac 3319 2008-10-17 18:57:52Z tfheen .
+# From configure.ac Id: configure.ac 3397 2008-11-14 12:59:02Z tfheen .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Varnish 2.0.1.
+# Generated by GNU Autoconf 2.61 for Varnish 2.0.2.
 #
 # Report bugs to <varnish-dev@projects.linpro.no>.
 #
@@ -731,8 +731,8 @@
 # Identity of this package.
 PACKAGE_NAME='Varnish'
 PACKAGE_TARNAME='varnish'
-PACKAGE_VERSION='2.0.1'
-PACKAGE_STRING='Varnish 2.0.1'
+PACKAGE_VERSION='2.0.2'
+PACKAGE_STRING='Varnish 2.0.2'
 PACKAGE_BUGREPORT='varnish-dev@projects.linpro.no'
 
 ac_unique_file="include/varnishapi.h"
@@ -1418,7 +1418,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Varnish 2.0.1 to adapt to many kinds of systems.
+\`configure' configures Varnish 2.0.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1489,7 +1489,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Varnish 2.0.1:";;
+     short | recursive ) echo "Configuration of Varnish 2.0.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1609,7 +1609,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Varnish configure 2.0.1
+Varnish configure 2.0.2
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1625,7 +1625,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Varnish $as_me 2.0.1, which was
+It was created by Varnish $as_me 2.0.2, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2452,7 +2452,7 @@
 
 # Define the identity of the package.
  PACKAGE='varnish'
- VERSION='2.0.1'
+ VERSION='2.0.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -27088,7 +27088,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Varnish $as_me 2.0.1, which was
+This file was extended by Varnish $as_me 2.0.2, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -27141,7 +27141,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Varnish config.status 2.0.1
+Varnish config.status 2.0.2
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -Nru 2.0/varnish-cache/include/.svn/tmp/tempfile.4.tmp 2.0.3/varnish-cache/include/.svn/tmp/tempfile.4.tmp
diff -Nru 2.0/varnish-cache/include/.svn/tmp/tempfile.5.tmp 2.0.3/varnish-cache/include/.svn/tmp/tempfile.5.tmp
diff -Nru 2.0/varnish-cache/include/vsb.h 2.0.3/varnish-cache/include/vsb.h
--- 2.0/varnish-cache/include/vsb.h	2008-10-16 07:43:07.000000000 +0200
+++ 2.0.3/varnish-cache/include/vsb.h	2009-01-09 15:39:13.000000000 +0100
@@ -11,8 +11,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
diff -Nru 2.0/varnish-cache/lib/libvarnish/.svn/tmp/tempfile.2.tmp 2.0.3/varnish-cache/lib/libvarnish/.svn/tmp/tempfile.2.tmp
diff -Nru 2.0/varnish-cache/lib/libvarnish/.svn/tmp/tempfile.3.tmp 2.0.3/varnish-cache/lib/libvarnish/.svn/tmp/tempfile.3.tmp
diff -Nru 2.0/varnish-cache/lib/libvarnish/vsb.c 2.0.3/varnish-cache/lib/libvarnish/vsb.c
--- 2.0/varnish-cache/lib/libvarnish/vsb.c	2008-10-16 07:43:07.000000000 +0200
+++ 2.0.3/varnish-cache/lib/libvarnish/vsb.c	2009-01-09 15:39:13.000000000 +0100
@@ -11,8 +11,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
diff -Nru 2.0/varnish-cache/lib/libvcl/.svn/tmp/tempfile.6.tmp 2.0.3/varnish-cache/lib/libvcl/.svn/tmp/tempfile.6.tmp
diff -Nru 2.0/varnish-cache/lib/libvcl/.svn/tmp/tempfile.7.tmp 2.0.3/varnish-cache/lib/libvcl/.svn/tmp/tempfile.7.tmp
diff -Nru 2.0/varnish-cache/lib/libvcl/vcc_parse.c 2.0.3/varnish-cache/lib/libvcl/vcc_parse.c
--- 2.0/varnish-cache/lib/libvcl/vcc_parse.c	2008-10-16 07:43:07.000000000 +0200
+++ 2.0.3/varnish-cache/lib/libvcl/vcc_parse.c	2009-01-09 15:40:07.000000000 +0100
@@ -251,6 +251,7 @@
 	case '~':
 		vcc_NextToken(tl);
 		p = vcc_regexp(tl, 0);
+		ERRCHK(tl);
 		vcc_NextToken(tl);
 		Fb(tl, 1, "VRT_re_match(%s, %s)\n", vp->rname, p);
 		break;
diff -Nru 2.0/varnish-cache/man/.svn/tmp/tempfile.2.tmp 2.0.3/varnish-cache/man/.svn/tmp/tempfile.2.tmp
diff -Nru 2.0/varnish-cache/man/.svn/tmp/tempfile.3.tmp 2.0.3/varnish-cache/man/.svn/tmp/tempfile.3.tmp
diff -Nru 2.0/varnish-cache/man/.svn/tmp/tempfile.4.tmp 2.0.3/varnish-cache/man/.svn/tmp/tempfile.4.tmp
diff -Nru 2.0/varnish-cache/man/.svn/tmp/tempfile.5.tmp 2.0.3/varnish-cache/man/.svn/tmp/tempfile.5.tmp
diff -Nru 2.0/varnish-cache/man/vcl.7so 2.0.3/varnish-cache/man/vcl.7so
--- 2.0/varnish-cache/man/vcl.7so	2008-10-16 07:43:08.000000000 +0200
+++ 2.0.3/varnish-cache/man/vcl.7so	2009-01-09 15:38:51.000000000 +0100
@@ -186,6 +186,24 @@
     pipe;
 }
 .Ed
+.Ss Grace 
+If the backend takes a long time to generate an object there is a risk
+of a thread pile up.
+In order to prevent this you can enable grace.
+This allows varnish to serve an expired version of the object while a
+fresh object is being generated by the backend.
+.Pp
+The following vcl code will make Varnish serve expired objects.
+All object will be kept up to two minutes past their expiration time
+or a fresh object is generated.
+.Bd -literal -offset 4n
+sub vcl_recv {
+    set req.grace = 2m;
+}
+sub vcl_fetch {
+    set obj.grace = 2m;
+}
+.Ed
 .Ss Functions
 The following built-in functions are available:
 .Bl -tag -width indent
@@ -198,11 +216,11 @@
 .Fa sub .
 Within
 .Fa sub ,
-.Va $0
+.Va \\0
 (which can also be spelled
 .Va & )
 is replaced with the entire matched string, and
-.Va $n
+.Va \\n
 is replaced with the contents of subgroup
 .Ar n
 in the matched string.
diff -Nru 2.0/varnish-cache/redhat/.svn/tmp/tempfile.14.tmp 2.0.3/varnish-cache/redhat/.svn/tmp/tempfile.14.tmp
diff -Nru 2.0/varnish-cache/redhat/.svn/tmp/tempfile.15.tmp 2.0.3/varnish-cache/redhat/.svn/tmp/tempfile.15.tmp
diff -Nru 2.0/varnish-cache/redhat/varnish.spec 2.0.3/varnish-cache/redhat/varnish.spec
--- 2.0/varnish-cache/redhat/varnish.spec	2009-01-05 14:48:16.000000000 +0100
+++ 2.0.3/varnish-cache/redhat/varnish.spec	2009-01-09 15:40:01.000000000 +0100
@@ -1,4 +1,4 @@
-Summary: Varnish is a high-performance HTTP accelerator
+Summary: High-performance HTTP accelerator
 Name: varnish
 Version: 2.0.2
 Release: 1%{?dist}
