- 11 Feb, 2009 8 commits
-
-
Tollef Fog Heen authored
Add two test-cases for objects we should not esi parse. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3735 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Close a race where VCL tries to modify the obj.ttl at the same moment the grim reaper has taken the object off the binheap to inspect it. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3734 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Merge r3564: Move mybe{32,64}enc definitions outside of ifdef so we work on 64 bit BE platforms too. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3733 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3732 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Fixes build failure git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3731 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3730 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Stop processing ESI elements as soon as we discover that the client has closed the connection on us. Fixes #427 git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3729 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
(The recent change that moved the compiler into its own subprocess eliminates risk that a compiler error causes the management process to die, you just do not get a sensible syntax error). Fixes: #417 git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3728 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 10 Feb, 2009 14 commits
-
-
Tollef Fog Heen authored
This hopefully finaly lays the sporadic assert(oe2->timer_when >= oe->timer_when); panics to rest. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3727 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3726 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3725 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Implement the new-purge case where the entire expression comes from VCL. It is possible to instigate purges two ways from VCL now: sub vcl_recv { # Purge the req.url if (req.request == "PURGE") { purge (req.url == req.url); error 410; } # Take entire purge instruction from "Purge:" header if (req.request == "PURGESTR") { purge ("" req.http.purge); error 410; } Testcase for this. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3724 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3723 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Don't append a CRNL to the body. And add separate rxhdrs and rxbody primitives. Submitted by: Yonatan Broza & Dmitry Rubinstein git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3722 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3721 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Move the purgable variables into a CPP table, so we can share them with the VCL compiler git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3720 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Enforce a minimum ttl for "hit for pass" objects to prevent a value of zero from serializing access to an object with very draconian backend cache-control headers. We could get far even with a one second TTL, but following our general "there is a reason people put Varnish there in the first place" logic we use the default_ttl parameter (default: 120 s) for this value. If another value is desired, this can be set in vcl_fetch, even if it looks somewhat counter-intuitive: sub vcl_fetch { if (obj.http.set-cookie) { set obj.ttl = 10s; pass; } } Fixes #425 git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3719 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3718 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Be much more BOFH about bereq, more asserts, free them where they obviously should be freed. This could fix 421 or make it much worse, but give us more info. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3717 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3716 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3715 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Only save the hash-string in the session workspace and objects when this paramter is set to "on". For sites with many small objects, this will save significant VM. When this paramter is set to "off", the "purge.hash" facility will not work, but this should not be a problem, because the new purging facility allow much more expressive purging, the typical case being: purge req.http.host ~ www.foo.com && req.url ~ "article2383" git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3714 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 09 Feb, 2009 18 commits
-
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3713 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3712 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3711 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3710 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Let purge.list prune the tail of the list before dumping. Add a protective object to prevent purge.list from pruning our purges before we test their numbers. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3709 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
For instance: purge req.http.host ~ www.foo.com && req.url ~ "\.png$" purge obj.http.set-cookie ~ USER=383839 Now, why would you want purge on request headers and not object headers ? Simple, some information the object does not have, the Host: header is a good example. Assuming that the Host: header is part of the hash we use to lookup an object (as is the default), we can avoid copying that field into the object (saving memory: O(nObjects)) by using the request value to purge against. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3708 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
You can now purge using these four conditionals: purge req.url == "/diediedie.html" purge req.url != "/index.html" purge req.url !~ "\.html$" purge req.url ~ "\.jpg$" git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3707 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Emit && \ for line continuation. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3706 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3705 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Move the body of cli_quote() to vsb_quote() and give it a, presently unused, "how" argument flag. We currently have far too many "quote this string properly" implementations in varnish, hopefully, this will replace most of them. Once this stabilizes, vsb_quote() will be contributed back to FreeBSD. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3704 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3703 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
After HSH_Lookup() returns NULL indicating a busy object, we diddled the session a bit to transfer the per-request stats to the session counters with SES_Charge(). Not only was it inconsistent to charge accounting data in the middle of a request, it was also illegal because after the hash lock was released we no longer owned the session. Once a system is under sufficient load that there is a queue for the CPU, a race could happen where upon hitting a busy object, the hash lock was released, another thread would schedule, finish the busy object, start the sessions on the waiting list, finish off the request we had and then when we get the cpu again and access it, it's gone. The previous commit (r3512) eliminated the need to call SES_Charge, this commit removes the (option) shmlog message inside the hash lock thus, hopefully, eliminating the race that caused #418. Fixes: #418 git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3702 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Originally we shaved 64 bytes from the session to the worker thread by keeping the current requests accounting stats in the worker thread. For reasons which will be explained in the next commit, this is no longer a good idea, and this commit moves these counters from the worker thread to the session at a slight but all in all trivial cost in memory footprint. Remove the call to SES_Charge() when we hit a busy object, it is not necessary to clean the worker thread counters here now. Move these counters from the worker thread to the see git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3701 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3700 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3699 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Change the way bans/purges are stored, so that each ban has a list of conditions to test. This paves the way for a much more expressive ban/purge syntax where things like: purge req.http.host ~ "web1.com" && req.url ~ "\.png" purge obj.age > 1w && obj.size > 1MB purge obj.http.set-cookie ~ "USER=838339" && req.url ~ "\.html" become possible. Not quite there yet though. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3698 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3697 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3696 d4fa192b-c00b-0410-8231-f00ffab90ce4
-