- 09 Feb, 2009 18 commits
-
-
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
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3695 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3694 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 06 Feb, 2009 22 commits
-
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3691 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Fixes #376 Addendum to r3501: remove the file from the list. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3690 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Don't panic if the chunked header is ridiculously long, just fail the transaction. Fixes #387 git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3689 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3688 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
If we get more HTTP headers than we have room for (default: 28) we used to ignore the rest. This is not a bright solution if crucial HTTP headers like "Content-Length" or "Transfer-Encoding" are last and get ignored. In general, it is highly suspect to randomly ignore HTTP headers, as opposed to deliberately ignoring them, either by having first looked at them and found them uninteresting, or by having looked for the headers we care about, and having not matched some others. Change too many headers to firm error condition: 400 if from the client, and 503 (like every other trouble) if from the backend. Fixes #416 git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3687 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3686 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Give it proper semantics git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3685 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3684 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3683 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Remove pointless initialization. Fix indentation. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3682 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Check close(2) status. Assert that we read the C-source file. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3681 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3680 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3679 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3678 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3677 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
Generate VCL_RET_* as enumbering instead of bitmap, compensate elsewhere as required. Remove unecessary args to VCL_[RM]ET_MAC(). Rely on VCL_RET_* definition in vcl.h Adjust to VCL_RET_* being enum instead of bitmap. This solves the "restart" procaction issue in a non-hackish way and looks better overall. git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3676 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3675 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3674 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3673 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3672 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3671 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Tollef Fog Heen authored
git-svn-id: http://www.varnish-cache.org/svn/branches/2.0@3670 d4fa192b-c00b-0410-8231-f00ffab90ce4
-