1. 30 Oct, 2007 3 commits
  2. 29 Oct, 2007 16 commits
  3. 28 Oct, 2007 1 commit
  4. 26 Oct, 2007 2 commits
  5. 24 Oct, 2007 5 commits
    • Poul-Henning Kamp's avatar
      Push hole through the esi:include path, making a very trivial example · 654a323c
      Poul-Henning Kamp authored
      work fully, leaving a trail of XXX and other devastation:
      
      Add an esi nesting counter to the session.
      
      Teach RES_WriteObj() to send an object as a chunk in chunked encoding.
      
      Bail cnt_done() early for nested ESI transactions.
      
      Catch the src="" attribute in esi:include and store it in the esibit.
      
      In ESI_Deliver(), recurse into CNT_Session(STP_RECV) in order to handle
      the include element of an esibit.
      
      Recursion is probably not the ideal solution here, but it might quite
      conceiveably be the best one, since it is quite cheap and very trivial.
      
      Outstanding issues: too many to list still.
      
      The following example worked for me:
      
      	<html>
      	<body>
      	<pre>
      	<esi:include src="/esi.txt"/>
      	</pre>
      	</body>
      	</html>
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2170 d4fa192b-c00b-0410-8231-f00ffab90ce4
      654a323c
    • Poul-Henning Kamp's avatar
      Add attribute parsing · 00c1eff2
      Poul-Henning Kamp authored
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2169 d4fa192b-c00b-0410-8231-f00ffab90ce4
      00c1eff2
    • Poul-Henning Kamp's avatar
      Split STP_RECV in two: · 5a8a6b7d
      Poul-Henning Kamp authored
      STP_START is the initial setup of a viable workerthread:  Dissecting
      HTTP, getting vcl reference etc.
      
      STP_RECV is invoking vcl_recv() and following orders.
      
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2168 d4fa192b-c00b-0410-8231-f00ffab90ce4
      5a8a6b7d
    • Poul-Henning Kamp's avatar
      Gently shuffle closer to being able to restart a esi:include on the next · 4dd41763
      Poul-Henning Kamp authored
      element:
      
      Add two checkpoints for the sessions workspace.
      
      The first checkpoint is after the session fixed data, and move the
      client address and port to workspace to see that this works.
      
      The second checkpoint is after the, as received unadultered by VCL
      http request.  Grab a copy of the http request matching this.
      
      Implement rollback as an optional feature of restart in VCL.
      
      Move various workspace initialization and resetting operations to more
      suitable locations in the program flow.
      
      I don't know if this is really usable, but now it's possible to do:
      
      	backend b1 {
      		set backend.host = "backend1";
      		set backend.port = "80";
      	}
      
      	backend b2 {
      		set backend.host = "backend2";
      		set backend.port = "80";
      	}
      
      	sub vcl_recv {
      		set req.backend = b1;
      		remove req.http.cookie;
      
      		if (req.restarts == 0) {
      			set req.url = "foobar.html";
      		} else {
      			set req.backend = b2;
      		}
      	}
      
      	sub vcl_fetch {
      		if (obj.status != 200) {
      			restart rollback;
      		}
      	}
      
      And have it first look for "foobar.html" on one backend, and failing
      that, try to give the user what they asked for from the other backend.
      
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2167 d4fa192b-c00b-0410-8231-f00ffab90ce4
      4dd41763
    • Poul-Henning Kamp's avatar
      Add a WS_Dup() function · 126d134b
      Poul-Henning Kamp authored
      
      git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2166 d4fa192b-c00b-0410-8231-f00ffab90ce4
      126d134b
  6. 23 Oct, 2007 3 commits
  7. 22 Oct, 2007 1 commit
  8. 19 Oct, 2007 9 commits