]> err.no Git - varnish/log
varnish
17 years agosockaddr.sa_len is not portable.
des [Thu, 12 Jul 2007 17:37:44 +0000 (17:37 +0000)]
sockaddr.sa_len is not portable.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1678 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd missing semicolon.
des [Thu, 12 Jul 2007 16:02:47 +0000 (16:02 +0000)]
Add missing semicolon.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1677 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRT_LIBS dependency has moved from varnishd to libvarnish.
des [Thu, 12 Jul 2007 16:00:04 +0000 (16:00 +0000)]
RT_LIBS dependency has moved from varnishd to libvarnish.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1676 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFixed typo
cecilihf [Thu, 12 Jul 2007 10:27:37 +0000 (10:27 +0000)]
Fixed typo

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1675 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded a new cli option, status, for checking the status of the varnish child process...
cecilihf [Thu, 12 Jul 2007 10:20:33 +0000 (10:20 +0000)]
Added a new cli option, status, for checking the status of the varnish child process. This is for use in the webmin plugin.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1674 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoConvert the last time(2) calls to TIM_real()
phk [Thu, 12 Jul 2007 10:13:29 +0000 (10:13 +0000)]
Convert the last time(2) calls to TIM_real()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1673 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDocument timescale of srcaddr->ttl
phk [Thu, 12 Jul 2007 10:00:13 +0000 (10:00 +0000)]
Document timescale of srcaddr->ttl

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1672 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoChange all timekeeping to use doubles instead of time_t and struct timespec.
phk [Thu, 12 Jul 2007 09:49:26 +0000 (09:49 +0000)]
Change all timekeeping to use doubles instead of time_t and struct timespec.

Eliminate all direct calls to time(2) and clockgettime(2) and use TIM_real()
and TIM_mono() exclusively.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1671 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReplace Uptime() with TIM_mono()
phk [Thu, 12 Jul 2007 09:25:45 +0000 (09:25 +0000)]
Replace Uptime() with TIM_mono()

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1670 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReplace ev_now() with TIM_mono().
phk [Thu, 12 Jul 2007 09:25:07 +0000 (09:25 +0000)]
Replace ev_now() with TIM_mono().

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1669 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd TIM_mono() and TIM_real() which return double representations of
phk [Thu, 12 Jul 2007 09:04:54 +0000 (09:04 +0000)]
Add TIM_mono() and TIM_real() which return double representations of
timestamps on a monotonic and the UTC timescales respectively.

Doubles are much more convenient than timespecs for comparisons etc.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1668 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd "regsub" support for string manipulation.
phk [Tue, 10 Jul 2007 21:30:47 +0000 (21:30 +0000)]
Add "regsub" support for string manipulation.

Notice this facility is subject to change!

"regsub" is short for regular expression substitution and it is probably
easiest to explain with some examples:

sub vcl_recv {
set req.url = regsub(req.url, "#.*", "");
}

This will replace the requests URL with the output of the regsub() function

regsub() takes three arguments: the string to be examined, a regular
expression and a replacement string.

In this case, everything after the first '#' is removed (replaced
with nothing).

The replacement string recognizes the following magic sequences:
& - insert everything matched by the regexp
$0 - ditto.
$1 - replace with the first submatch of the regexp
$2 - replace with the second submatch of the regexp
...
$9 - replace with the ninth submatch of the regexp

(The $0..$9 syntax was chosen over the \0...\9 syntax in order to avoid
a nightmare of escape characters in the VCL source code.  Arguments and
suggestions are welcome).

A more advanced example:

set bereq.http.ClientIP = regsub(client.ip, "(.*):(.*)", "$2 $1");

The client.ip variable expands to IP:port number, for instance
127.0.0.1:54662

The regular expression "(.*):(.*)" results in the the following matches:
& + $0 "127.0.0.1:54662"
$1 "127.0.0.1"
$2 "54662"

So the replacement string "$2 $1" results in "54662 127.0.0.1"

And the completed header which is sent to the backend will look like:

"ClientIP: 54662 127.0.0.1"

An even more advanced example would be:

    set bereq.http.magic = "Client IP = " regsub(client.ip, ":", " port = ");

Where we also exploint the string concatenation ability of the "set" statement.

The result string is built in the request workspace, so you may need
to increase the workspace size if you do a lot of regsub()'s.

Currently there is no decent error handling for running out of workspace.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1667 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd compiler side support for regsub() but only a dummy function in VRT.
phk [Tue, 10 Jul 2007 20:43:24 +0000 (20:43 +0000)]
Add compiler side support for regsub() but only a dummy function in VRT.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1666 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix VRT_SetHdr() prototype
phk [Tue, 10 Jul 2007 20:08:39 +0000 (20:08 +0000)]
Fix VRT_SetHdr() prototype

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1665 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoProperly emit the header name in VRT_SetHdr();
phk [Tue, 10 Jul 2007 20:07:07 +0000 (20:07 +0000)]
Properly emit the header name in VRT_SetHdr();

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1664 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd conversion from IP to string format to allow things like:
phk [Tue, 10 Jul 2007 19:59:39 +0000 (19:59 +0000)]
Add conversion from IP to string format to allow things like:

set bereq.http.HeyYou = client.ip " asked for  " req.url;

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1663 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMove string stuff to vcc_string.c, there's going to be a fair bit of it.
phk [Tue, 10 Jul 2007 19:46:16 +0000 (19:46 +0000)]
Move string stuff to vcc_string.c, there's going to be a fair bit of it.

Give vcc_StringVal() a return value to say if it did anything so we can
emit better error messages when confused.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1662 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAllow assignment to obj.status and resp.status
phk [Mon, 9 Jul 2007 20:35:20 +0000 (20:35 +0000)]
Allow assignment to obj.status and resp.status

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1661 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAllow assignment to INT type variables
phk [Mon, 9 Jul 2007 20:34:59 +0000 (20:34 +0000)]
Allow assignment to INT type variables

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1660 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake all protocol header fields writable, except obj.status and resp.status
phk [Mon, 9 Jul 2007 20:23:41 +0000 (20:23 +0000)]
Make all protocol header fields writable, except obj.status and resp.status
(which are numeric, they'll follow shortly)

Unify the shmemlog tag used for failure to rewrite something, the Rx/Tx/Obj
distinction is not helpful enough to warrant the complexity of it.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1659 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDon't rewrite pipe'ed requests to "GET".
phk [Fri, 6 Jul 2007 10:07:30 +0000 (10:07 +0000)]
Don't rewrite pipe'ed requests to "GET".

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1658 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoClean up FlexeLint fluff.
phk [Thu, 5 Jul 2007 21:08:15 +0000 (21:08 +0000)]
Clean up FlexeLint fluff.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1657 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoChange log for 1.1.
des [Thu, 5 Jul 2007 16:09:45 +0000 (16:09 +0000)]
Change log for 1.1.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1654 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDocument the -F option (introduced in r1557)
des [Thu, 5 Jul 2007 15:31:25 +0000 (15:31 +0000)]
Document the -F option (introduced in r1557)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1653 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a CSS stylesheet.
des [Thu, 5 Jul 2007 14:54:50 +0000 (14:54 +0000)]
Add a CSS stylesheet.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1652 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDocument server.ip.
des [Thu, 5 Jul 2007 14:28:48 +0000 (14:28 +0000)]
Document server.ip.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1651 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDocument header rewriting.
des [Thu, 5 Jul 2007 11:28:09 +0000 (11:28 +0000)]
Document header rewriting.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1648 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDocument the prerequisites
des [Thu, 5 Jul 2007 10:30:49 +0000 (10:30 +0000)]
Document the prerequisites

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1647 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImplement setting of HTTP headers:
phk [Thu, 5 Jul 2007 09:47:52 +0000 (09:47 +0000)]
Implement setting of HTTP headers:

sub vcl_deliver {
set resp.http.phk = "Beastie" "Rules";
}

Would result in a new header line:

phk: BeastieRules

Notice that strings are concatenated directly, you add spaces, commas etc
where you want them.

Other variables which have STRING format (or which can be converted to
STRING format) can also be used:

sub vcl_deliver {
set resp.http.phk = "Server is: " resp.http.server ;
}

Could result in:

phk: Server is: Apache/1.3.x LaHonda (Unix)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1646 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd support for removing HTTP header lines:
phk [Thu, 5 Jul 2007 09:16:19 +0000 (09:16 +0000)]
Add support for removing HTTP header lines:

sub vcl_deliver {
remove resp.http.etag ;
remove resp.http.server ;
}

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1645 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake varnishd actually work again after my last commit: Forgot to adjust
phk [Thu, 5 Jul 2007 08:42:08 +0000 (08:42 +0000)]
Make varnishd actually work again after my last commit: Forgot to adjust
default VCL

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1644 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoThe beginnings of "Inside the Varnish HTTP accelerator"
des [Wed, 4 Jul 2007 14:30:22 +0000 (14:30 +0000)]
The beginnings of "Inside the Varnish HTTP accelerator"

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1643 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImplement <variablelist>, <filename> and <function>.
des [Wed, 4 Jul 2007 14:28:57 +0000 (14:28 +0000)]
Implement <variablelist>, <filename> and <function>.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1642 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReplace the old C fetcher with a Perl script which recursively retrieves the
des [Wed, 4 Jul 2007 13:15:32 +0000 (13:15 +0000)]
Replace the old C fetcher with a Perl script which recursively retrieves the
specified URLs using multiple paralell clients.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1641 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImplement vcl_deliver() and change variable visibility to match.
phk [Tue, 3 Jul 2007 22:24:09 +0000 (22:24 +0000)]
Implement vcl_deliver() and change variable visibility to match.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1640 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRun FlexeLint to catch fluff.
phk [Tue, 3 Jul 2007 22:00:26 +0000 (22:00 +0000)]
Run FlexeLint to catch fluff.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1639 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMove the header-filtering another step backwards, so it comes before
phk [Tue, 3 Jul 2007 21:50:31 +0000 (21:50 +0000)]
Move the header-filtering another step backwards, so it comes before
the VCL methods vcl_miss and vcl_pass.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1638 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUse sp->bereq for handover to PipeSession
phk [Tue, 3 Jul 2007 21:40:14 +0000 (21:40 +0000)]
Use sp->bereq for handover to PipeSession

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1637 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDo correct LostHeader processing on WS_Alloc() failure
phk [Tue, 3 Jul 2007 21:38:32 +0000 (21:38 +0000)]
Do correct LostHeader processing on WS_Alloc() failure

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1636 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix the SHMlogging of HTTP protocol fields to happen when they cross
phk [Tue, 3 Jul 2007 21:31:25 +0000 (21:31 +0000)]
Fix the SHMlogging of HTTP protocol fields to happen when they cross
wires, rather than when they get manipulated in memory.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1635 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMove bereq backwards into cache_center.c for Fetch cases (Pass, Miss)
phk [Tue, 3 Jul 2007 20:59:27 +0000 (20:59 +0000)]
Move bereq backwards into cache_center.c for Fetch cases (Pass, Miss)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1634 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMove VCL_pipe_method() processing into cache_center.c where it belongs.
phk [Tue, 3 Jul 2007 20:49:42 +0000 (20:49 +0000)]
Move VCL_pipe_method() processing into cache_center.c where it belongs.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1633 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoEmply the new vbe_bereq structure for holding backend request and reply.
phk [Tue, 3 Jul 2007 20:38:38 +0000 (20:38 +0000)]
Emply the new vbe_bereq structure for holding backend request and reply.

There should be no functional change as a result of this.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1632 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd functions for allocating and freeing bereq structures.
phk [Tue, 3 Jul 2007 19:32:21 +0000 (19:32 +0000)]
Add functions for allocating and freeing bereq structures.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1631 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImplement "now" and "obj.lastuse", with a note to the effect that the use
des [Tue, 3 Jul 2007 14:19:40 +0000 (14:19 +0000)]
Implement "now" and "obj.lastuse", with a note to the effect that the use
of timestamps and clock_gettime() throughout Varnish needs reviewing (as
per IRC discussion with phk)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1630 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRegenerate.
des [Tue, 3 Jul 2007 14:18:24 +0000 (14:18 +0000)]
Regenerate.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1629 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd two VCL variables, "now" and "obj.lastuse". The former returns the
des [Tue, 3 Jul 2007 14:17:28 +0000 (14:17 +0000)]
Add two VCL variables, "now" and "obj.lastuse".  The former returns the
current time, the latter returns the number of seconds since an object
was last requested.  The exact semantics of both are slightly fluid at
the moment, and will be revisited at a later date.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1628 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDocument vcl.show.
des [Tue, 3 Jul 2007 12:22:42 +0000 (12:22 +0000)]
Document vcl.show.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1627 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a 'vcl.show' command which displays the source code for a given VCL
des [Tue, 3 Jul 2007 12:21:50 +0000 (12:21 +0000)]
Add a 'vcl.show' command which displays the source code for a given VCL
script.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1626 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdditional paranoia.
des [Tue, 3 Jul 2007 11:34:16 +0000 (11:34 +0000)]
Additional paranoia.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1625 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUse strcmp instead of strncmp
cecilihf [Tue, 3 Jul 2007 09:20:50 +0000 (09:20 +0000)]
Use strcmp instead of strncmp

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1624 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReorganize the code a little, and add code to wait for all threads to finish
des [Tue, 3 Jul 2007 09:09:55 +0000 (09:09 +0000)]
Reorganize the code a little, and add code to wait for all threads to finish
processing pending messages before we exit.

Note that VSL_Dispatch() will read in log data as fast as it can, so when
working from a log file, varnishreplay will usually read in the entire file
into memory within the first few seconds.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1623 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoConvert pipe mode to use the bereq in struct worker.
phk [Tue, 3 Jul 2007 08:50:34 +0000 (08:50 +0000)]
Convert pipe mode to use the bereq in struct worker.

(See architect notes on wiki for reasoning)

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1622 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRename the backend connections two http's "bereq" and "beresp"
phk [Tue, 3 Jul 2007 08:11:17 +0000 (08:11 +0000)]
Rename the backend connections two http's "bereq" and "beresp"

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1621 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoparellising varnishreplay. Work in progress.
cecilihf [Tue, 3 Jul 2007 08:07:09 +0000 (08:07 +0000)]
parellising varnishreplay. Work in progress.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1620 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAlso reset the workspaces when we do not reuse the backend connection,
phk [Mon, 2 Jul 2007 17:30:03 +0000 (17:30 +0000)]
Also reset the workspaces when we do not reuse the backend connection,
we still reuse the structure.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1619 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoImprove assignments a bit
phk [Mon, 2 Jul 2007 13:30:06 +0000 (13:30 +0000)]
Improve assignments a bit

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1618 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoGenerate correct code for bereq.http and obj.http
phk [Mon, 2 Jul 2007 13:28:03 +0000 (13:28 +0000)]
Generate correct code for bereq.http and obj.http

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1617 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUpdate the list of variables in accordance with the new scheme.
phk [Mon, 2 Jul 2007 13:22:36 +0000 (13:22 +0000)]
Update the list of variables in accordance with the new scheme.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1616 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdjust props.
des [Mon, 2 Jul 2007 13:18:03 +0000 (13:18 +0000)]
Adjust props.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1615 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdjust props
des [Mon, 2 Jul 2007 13:16:28 +0000 (13:16 +0000)]
Adjust props

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1614 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUpdate to reflect the latest changes to cache_center.c.
des [Mon, 2 Jul 2007 13:16:04 +0000 (13:16 +0000)]
Update to reflect the latest changes to cache_center.c.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1613 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd vcl_deliver() method where touch-up's to the returned reply can
phk [Mon, 2 Jul 2007 13:08:07 +0000 (13:08 +0000)]
Add vcl_deliver() method where touch-up's to the returned reply can
be performed.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1612 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoUpdate the embedded dot-graph to include request/object visibility in
phk [Mon, 2 Jul 2007 12:33:22 +0000 (12:33 +0000)]
Update the embedded dot-graph to include request/object visibility in
the various VCL methods.

Loose the state names, they're obvious in the source code.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1611 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFixed some number conversion issues
cecilihf [Mon, 2 Jul 2007 12:01:55 +0000 (12:01 +0000)]
Fixed some number conversion issues

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1610 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoInstall into libexec, not sbin.
des [Mon, 2 Jul 2007 11:52:48 +0000 (11:52 +0000)]
Install into libexec, not sbin.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1609 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoSome improvements to the nagios plugin. Default parameter is now hitrate.
cecilihf [Mon, 2 Jul 2007 11:09:29 +0000 (11:09 +0000)]
Some improvements to the nagios plugin. Default parameter is now hitrate.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1608 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoTweak props
des [Mon, 2 Jul 2007 10:07:55 +0000 (10:07 +0000)]
Tweak props

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1607 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAutoconfuse.
des [Mon, 2 Jul 2007 08:24:52 +0000 (08:24 +0000)]
Autoconfuse.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1606 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoInstall headers, and register with pkg-config.
des [Mon, 2 Jul 2007 08:23:31 +0000 (08:23 +0000)]
Install headers, and register with pkg-config.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1605 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded nagios plugin for varnish. It is very basic, and still needs some more work.
cecilihf [Mon, 2 Jul 2007 07:14:53 +0000 (07:14 +0000)]
Added nagios plugin for varnish. It is very basic, and still needs some more work.
All parameters shown with the use of varnishstat -1 can be monitored.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1604 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoGreatly improve this test; see $DESCR + comments for details.
des [Fri, 29 Jun 2007 14:05:49 +0000 (14:05 +0000)]
Greatly improve this test; see $DESCR + comments for details.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1603 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd an usleep() method based on select().
des [Fri, 29 Jun 2007 14:05:21 +0000 (14:05 +0000)]
Add an usleep() method based on select().

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1602 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd a regression test for the LRU. Currently, it tests that the child does
des [Fri, 29 Jun 2007 12:57:55 +0000 (12:57 +0000)]
Add a regression test for the LRU.  Currently, it tests that the child does
not crash when the cache fills up, and that a request for a document that
ought to have been evicted does not result in a cache hit.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1601 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoShut down the client before returning.
des [Fri, 29 Jun 2007 12:56:44 +0000 (12:56 +0000)]
Shut down the client before returning.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1600 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRun varnishd with the smallest allowable storage file.
des [Fri, 29 Jun 2007 12:54:24 +0000 (12:54 +0000)]
Run varnishd with the smallest allowable storage file.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1599 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoOops!
des [Fri, 29 Jun 2007 10:15:10 +0000 (10:15 +0000)]
Oops!

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1598 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoSimplify.
des [Fri, 29 Jun 2007 10:04:41 +0000 (10:04 +0000)]
Simplify.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1597 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoSimplify.
des [Fri, 29 Jun 2007 10:04:12 +0000 (10:04 +0000)]
Simplify.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1596 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFix some style nits and an out-of-bounds array dereference.
des [Fri, 29 Jun 2007 10:03:55 +0000 (10:03 +0000)]
Fix some style nits and an out-of-bounds array dereference.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1595 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoWhitespace cleanup
des [Fri, 29 Jun 2007 08:20:36 +0000 (08:20 +0000)]
Whitespace cleanup

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1594 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAlmost complete rewrite to address a number of interface issues. Most
des [Thu, 28 Jun 2007 15:10:24 +0000 (15:10 +0000)]
Almost complete rewrite to address a number of interface issues.  Most
importantly, the display will now dynamically scale when the terminal is
resized, and will be updated regularly regardless of the rate at which log
data arrive.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1593 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRewrite to better handle both the curses case and the one-shot case.
des [Thu, 28 Jun 2007 13:34:44 +0000 (13:34 +0000)]
Rewrite to better handle both the curses case and the one-shot case.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1592 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFurther cosmetic improvements + documentation updates
des [Thu, 28 Jun 2007 13:33:59 +0000 (13:33 +0000)]
Further cosmetic improvements + documentation updates

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1591 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoHandle Ctrl-Z and Ctrl-T.
des [Thu, 28 Jun 2007 12:07:51 +0000 (12:07 +0000)]
Handle Ctrl-Z and Ctrl-T.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1590 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoNumerous improvements: display the instance name in the upper right corner;
des [Thu, 28 Jun 2007 10:29:27 +0000 (10:29 +0000)]
Numerous improvements: display the instance name in the upper right corner;
don't show more lines than the terminal can fit; correctly react to terminal
size changes; react to Ctrl-L (redraw) and Ctrl-C / Ctrl-Q (quit).

The layout code could use a cleanup, and we still fail to DTRT if the width
of the terminal is less than that of our data, but this should not be a
problem in daily use.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1589 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoExpose the instance name associated with the currently open VSL file.
des [Thu, 28 Jun 2007 10:25:47 +0000 (10:25 +0000)]
Expose the instance name associated with the currently open VSL file.

This is a bletcherous hack - the entire API needs cleaning up.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1588 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoSome of the statistics we gather are accumulated totals, while others are
des [Thu, 28 Jun 2007 09:35:56 +0000 (09:35 +0000)]
Some of the statistics we gather are accumulated totals, while others are
instantaneous measurements.  For instance, we report the total number of
allocator requests made over the child's lifetime, but we also report the
amount of storage in use at any particular moment.

The difference is important, because accumulated totals can be averaged
over the program's lifetime (or over the last N seconds), but instantaneous
measurements can't.

Recycle the format field in MAC_STAT() (it was never used anyway) into a
single-character flag indicating whether each item is an accumulated total
('a') or an instantaneous measure ('i').  Use this in varnishstat to skip
averaging non-averageable numbers.

Also rework varnishstat's "once" mode to show 1) each statistic's symbolic
name, 2) its current value, 3) if appropriate, its value averaged over the
process lifetime, and 4) its description.

The reason for displaying the symbolic name is to simplify scripting, and
to serve as a reference for looking up symbolic names to pass to e.g. the
upcoming Nagios plugin.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1587 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMostly finish the LRU code and its integration:
des [Wed, 27 Jun 2007 12:56:04 +0000 (12:56 +0000)]
Mostly finish the LRU code and its integration:

 - Wrap the storage code so we don't need to duplicate the "toss out some old
   crap and try again" logic everywhere.  This will also help when / if we
   decide to add support for multiple concurrent storage arenas.

 - While I'm at it, implement sma_trim().

 - Rework the interaction between the LRU and expiry code.  Instead of placing
   objects retired by the LRU on death row, immediately terminate them.

 - Give the LRU code its own fake session and worker so we don't have to pass
   it a session pointer.

 - Rework the LRU API, and add LRU_DiscardOne() which discards a single
   object.  This is what the stevedore code uses.

Known or suspected issues:

 - The LRU and expiry code should use the same mutex, and / or the possiblity
   for races between them should be examined closely.

 - LRU_Init() needs to be looked at and possibly moved.

 - LRU_DiscardSpace() and LRU_DiscardTime() are unused and quite possibly useless.

 - Logging and statistics related to the LRU need more attention.

 - The stevedore API can probably be improved.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1586 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoDon't fill the entire workspace with read-ahead data.
phk [Wed, 27 Jun 2007 12:43:08 +0000 (12:43 +0000)]
Don't fill the entire workspace with read-ahead data.

Eventually we need to separate the "max http header size" from the
workspace size, but that will take a bit of pondering.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1585 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMake sure to reset the workspaces of the backend connection between
phk [Wed, 27 Jun 2007 12:37:34 +0000 (12:37 +0000)]
Make sure to reset the workspaces of the backend connection between
requests, otherwise we end up filling it up with Content-Length: headers
if we manage to keep the backend busy.

Also make the snapshot of the preferred workspace-size volatile to ensure
that we are consistent.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1584 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdded munin plugins.
cecilihf [Wed, 27 Jun 2007 12:21:58 +0000 (12:21 +0000)]
Added munin plugins.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1583 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoCreate $(localstatedir)/varnish at install time.
des [Tue, 26 Jun 2007 12:18:01 +0000 (12:18 +0000)]
Create $(localstatedir)/varnish at install time.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1582 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoFurther refine -n handling. The argument to -n is now either an absolute
des [Tue, 26 Jun 2007 11:52:25 +0000 (11:52 +0000)]
Further refine -n handling.  The argument to -n is now either an absolute
path, or a path relative to $localstatedir/varnish.  By default, it is set
to the host name, which results in $localstatedir/varnish/$hostname.

This logic is centralized in instance.c, which is compiled into both
varnishd and libvarnishapi, with prototypes in varnishapi.h and heritage.h.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1581 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoAdd missing Nd
des [Tue, 26 Jun 2007 11:42:30 +0000 (11:42 +0000)]
Add missing Nd

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1580 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoCorrect copyright + some style nits
des [Tue, 26 Jun 2007 11:41:23 +0000 (11:41 +0000)]
Correct copyright + some style nits

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1579 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoIgnore generated files
des [Tue, 26 Jun 2007 11:37:34 +0000 (11:37 +0000)]
Ignore generated files

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1578 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoReorder, expand tags
des [Tue, 26 Jun 2007 11:36:36 +0000 (11:36 +0000)]
Reorder, expand tags

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1577 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoMarkup all VCL variables as RO, WO or RW and generate and check code
phk [Tue, 26 Jun 2007 10:01:49 +0000 (10:01 +0000)]
Markup all VCL variables as RO, WO or RW and generate and check code
accordingly.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1576 d4fa192b-c00b-0410-8231-f00ffab90ce4

17 years agoRetire the crc32_2s() function.
phk [Tue, 26 Jun 2007 09:37:18 +0000 (09:37 +0000)]
Retire the crc32_2s() function.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1575 d4fa192b-c00b-0410-8231-f00ffab90ce4