- 19 Apr, 2007 10 commits
-
-
Dag Erling Smørgrav authored
use tl-> consistently git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1325 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Implement a facility for source file modularization in the VCL compiler. The syntax is: include "filename" ; Unlike the C preprocessors #include directive, a VCL include can appear anywhere in the sourcefile: if {req.Cookie == include "cookie.vcl" ; || !req.Host } { } and have cookie.vcl contain just: "8435398475983275293759843" Technically this results in a change to how we account for source code references in the counter/profile table as well, and as a result the entire source code of the VCL program is now compiled into the shared library for easy reference. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1324 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Make Varnish able to accept connections from multiple sockets by specifying a whitespace separated list of addresses to -a (or param.set listen_address). I'm not sure about the error handling, for instance, what is the desirable behaviour if one of multiple sockets fail to open ? Suggested by: <darryl.dixon@winterhouseconsulting.com> git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1323 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Add missing "volatile" qualifiers on generic tweakers. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1322 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Add a bit of garbage collection to yesterdays change: Passed objects need to have their storage properly reclaimed, including the actual content of a obj.pass=1 cache entry, once we have sent the content to the original requestor. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1321 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Having thought long and hard about this, commit what I think is the new and simpler flow for version2. Pass is now handled like a miss where the object will not be cached. The main result of this is that we drag the entire object, header and body, from the backend before transmitting it to the client, thus isolating the backend from slow clients. From a software engineering point of view it is a big improvement, because it eliminates the need for all of cache_pass.c and we therefore end up with less HTTP protocol implementations. A side effect of this is that ticket #56 should be fixed now. If the object is pass'ed before vcl_fetch{} that is, in vcl_recv{}, vcl_hit{} or vcl_miss{}, no "pass this" object is inserted in the cache. The confusion between "pass", "insert" and "insert_pass" has been cleaned up, by the removal of the latter. Pipe and Pass calls vcl_pipe{} and vcl_pass{} respectively, before contacting the backend. I havn't quite decided if they should operate on the request header from the client or the one to the backend, or both. One possible use is to inject a "Connection: close" header to limit pipe to one transaction. A new vcl_hash{} has been added, it will allow customization of which fields we hash on, instead of the default "url + Host:" but this is not yet implemented. vcl_fetch{} is now called after both the headers and body have been picked up from the backend. This will allow us to do more comprehensive handling of backend errors later on. A disadvantage to this is that if the object ends up as a "pass this" object in the cache, we could possibly have released any queued requests already after the headers were received. If this is transpires as a real-world problem, we can add a vcl_fetchhdr{} which can do an early release (ie: "pass"). git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1320 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Postremove for debian git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1319 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
numeric value for VARNISH_MAX_WORKER_THREADS git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1318 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Include Debian and RedHat package metadata in the tarball. This makes life a lot easier for our packagers. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1317 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Consistently use UTF-8 for non-ASCII characters. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1316 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 24 Mar, 2007 1 commit
-
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1282 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 09 Mar, 2007 1 commit
-
-
Poul-Henning Kamp authored
compiler. The syntax is: include "filename" ; Unlike the C preprocessors #include directive, a VCL include can appear anywhere in the sourcefile: if {req.Cookie == include "cookie.vcl" ; || !req.Host } { } and have cookie.vcl contain just: "8435398475983275293759843" Technically this results in a change to how we account for source code references in the counter/profile table as well, and as a result the entire source code of the VCL program is now compiled into the shared library for easy reference. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1281 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 08 Mar, 2007 2 commits
-
-
Poul-Henning Kamp authored
specifying a whitespace separated list of addresses to -a (or param.set listen_address). I'm not sure about the error handling, for instance, what is the desirable behaviour if one of multiple sockets fail to open ? Suggested by: <darryl.dixon@winterhouseconsulting.com> git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1280 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Poul-Henning Kamp authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1279 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 07 Mar, 2007 1 commit
-
-
Poul-Henning Kamp authored
to have their storage properly reclaimed, including the actual content of a obj.pass=1 cache entry, once we have sent the content to the original requestor. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1278 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 06 Mar, 2007 1 commit
-
-
Poul-Henning Kamp authored
Having thought long and hard about this, commit what I think is the new and simpler flow for version2. Pass is now handled like a miss where the object will not be cached. The main result of this is that we drag the entire object, header and body, from the backend before transmitting it to the client, thus isolating the backend from slow clients. From a software engineering point of view it is a big improvement, because it eliminates the need for all of cache_pass.c and we therefore end up with less HTTP protocol implementations. A side effect of this is that ticket #56 should be fixed now. If the object is pass'ed before vcl_fetch{} that is, in vcl_recv{}, vcl_hit{} or vcl_miss{}, no "pass this" object is inserted in the cache. The confusion between "pass", "insert" and "insert_pass" has been cleaned up, by the removal of the latter. Pipe and Pass calls vcl_pipe{} and vcl_pass{} respectively, before contacting the backend. I havn't quite decided if they should operate on the request header from the client or the one to the backend, or both. One possible use is to inject a "Connection: close" header to limit pipe to one transaction. A new vcl_hash{} has been added, it will allow customization of which fields we hash on, instead of the default "url + Host:" but this is not yet implemented. vcl_fetch{} is now called after both the headers and body have been picked up from the backend. This will allow us to do more comprehensive handling of backend errors later on. A disadvantage to this is that if the object ends up as a "pass this" object in the cache, we could possibly have released any queued requests already after the headers were received. If this is transpires as a real-world problem, we can add a vcl_fetchhdr{} which can do an early release (ie: "pass"). git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1277 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 27 Feb, 2007 3 commits
-
-
Ingvar Hagelund authored
git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1276 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Lars Bahner authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1275 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Lars Bahner authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1273 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 23 Feb, 2007 3 commits
-
-
Dag Erling Smørgrav authored
a lot easier for our packagers. git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1271 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1270 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Ingvar Hagelund authored
git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1269 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 22 Feb, 2007 1 commit
-
-
Ingvar Hagelund authored
git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1268 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
- 20 Feb, 2007 17 commits
-
-
Dag Erling Smørgrav authored
Doh! Fix more -w lossage. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1267 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@1266 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1264 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1263 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1262 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Correct misunderstanding regarding -w. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1261 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Forgotten commit: Update backend stats fields git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1260 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Things you didn't know about C, #7212: There is no sane way to get sscanf to tell you how many characters were consumed, if you want to allow a variable number of arguments. The special format %n is patently useless for this, because you have to insert it at every conceiveable point in the string and that presumes full explicit whitespace markup. Parse -w argument "by hand", to catch illegal input like "1,INF,15" Tripped over by: Stein Ove Rosseland <steinove@vg.no> Fixes: ticket #82 git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1259 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Expend a lock on keeping the backend statistics consistent. Rename the fields to make more sense git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1258 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
The getaddrinfo(3) API does not tell us the TTL value learned from DNS so we have to add our own stuff for that. Without some kind of TTL, we would hit the DNS server once per failed attempt to connect to the backend. If the backend were down, we could hit it a LOT. In the VCL code: backend foobar { [...] set backend.dnsttl = 20s; } will assign a TTL for DNS lookups of this backends hostname+port combination, we will not hit the DNS server more often that this. The default is set at 30 seconds, short enough to make things are workable in a load-balancing-via-DNS setups, yet long enough to not pound the DNS server flat in case of backend failures. NOTE that as long as we succeed in connecting to the backend we do not perform new DNS lookups. That will have to be revisited along with possible load-balancing schemes for the backend(s). git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1257 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Use struct assignment to overcome volatile poisoning. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1256 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Cache the workspace size from params so it doesn't change under us. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1255 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Make params volatile so changes are discovered. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1254 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Allow automake version 1.10 git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1253 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Polish as result of flexelint run and record a couple of thoughts. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1252 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Fixed double declaraction error on systems having both HAVE_SYS_STATVFS_H and HAVE_SYS_VFS_H. git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1251 d4fa192b-c00b-0410-8231-f00ffab90ce4
-
Dag Erling Smørgrav authored
Better workaround for FreeBSD autotools brokenness. Pointy hat to: {ade,portsmgr}@freebsd.org git-svn-id: http://www.varnish-cache.org/svn/branches/1.0@1250 d4fa192b-c00b-0410-8231-f00ffab90ce4
-