]>
err.no Git - varnish/log
des [Tue, 17 Jul 2007 17:06:12 +0000 (17:06 +0000)]
Assert that LRU_DiscardOne() returns 1, to avoid an unlikely but possible
scenario where multiple clients each require different objects such that
the sum of the sizes of the objects is larger than the cache (or, in the
extreme case, one client requests an object which is larger than the
cache) causing STV_alloc() to enter an infinite loop.
This is not ideal - a better solution would be return NULL and have the
caller deal with the problem, possibly by returning a 503 result, or by
stalling the request for some time.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1714
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 17 Jul 2007 16:58:40 +0000 (16:58 +0000)]
Return count like the comment says we do.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1713
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 17 Jul 2007 16:56:21 +0000 (16:56 +0000)]
Remove object from LRU list before freeing it; this does not entirely
eliminate races between the LRU code and the expiry code, but it does
make them a lot less likely.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1712
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 17 Jul 2007 13:05:08 +0000 (13:05 +0000)]
Amend previous commit. The problem was that when a socket was already open,
open_sockets() did not count it as "good". Having fixed this, revert to the
previous behaviour of keeping the sockets open if auto_restart is on; this
avoids having a brief window (until they are reopened) during which client
connections are refused.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1711
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 17 Jul 2007 10:33:46 +0000 (10:33 +0000)]
Fix child restart by always calling close_sockets() when the child dies;
otherwise open_sockets() fails, which causes start_child() to fail silently.
Furthermore, if open_sockets() fails and child_state is CH_DIED, it will
not be possible to start it manually later; therefore, set child_state
to CH_STOPPED when open_sockets() fails.
Note: it wouldn't hurt if open_sockets() were a little more talkative.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1710
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Mon, 16 Jul 2007 13:06:42 +0000 (13:06 +0000)]
Changed name/description
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1708
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Mon, 16 Jul 2007 11:21:45 +0000 (11:21 +0000)]
Moved the plugin from "others" to "servers" in the menu
Minor "stylistic" changes in VCL part of webmin plugin
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1707
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Mon, 16 Jul 2007 08:39:50 +0000 (08:39 +0000)]
Webmin plugin for varnish
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1706
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 11:25:27 +0000 (11:25 +0000)]
From the "What has the world come to ?" department:
It used to be that sscanf(3) would walk along the proffered string
and do what the format string was told, and as long as the format
terminated before the input string, the NUL termination was not
relevant.
Sometime in the last 20 years, sscanf started doing a strlen on the
passed argument changing this behaviour.
Give sscanf the NUL it wants.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1705
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 11:08:48 +0000 (11:08 +0000)]
Plug even more memory leaks in the VCL compiler.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1704
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 11:04:52 +0000 (11:04 +0000)]
Don't leak the file contents either.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1703
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 10:58:11 +0000 (10:58 +0000)]
Plug minor memory leak.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1702
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 10:57:55 +0000 (10:57 +0000)]
Don't leak all the tokens.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1701
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 10:22:39 +0000 (10:22 +0000)]
Plug a memory-leak in the VCL compiler.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1700
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 10:22:05 +0000 (10:22 +0000)]
Initialize all bits in the sigaction.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1699
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 07:52:30 +0000 (07:52 +0000)]
A cast to make flexelint happy.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1698
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 07:52:11 +0000 (07:52 +0000)]
Make the header-gluing code more readable.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1697
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 15 Jul 2007 07:51:36 +0000 (07:51 +0000)]
Tune a couple of library warnings out
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1696
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 19:36:38 +0000 (19:36 +0000)]
Shave the previos commit a bit closer: don't write the HTTP response
only to throw it away later and then rewrite it again after giving
vcl_deliver() the chance to munge it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1695
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 15:31:37 +0000 (15:31 +0000)]
Fix 304 responses, they got messed up in the vcl_deliver() addition.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1694
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 13 Jul 2007 14:53:48 +0000 (14:53 +0000)]
Document recent changes.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1692
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 13 Jul 2007 14:27:55 +0000 (14:27 +0000)]
Document regsub().
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1691
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 13 Jul 2007 11:42:02 +0000 (11:42 +0000)]
Add an entry for r1531.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1690
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 13 Jul 2007 11:31:36 +0000 (11:31 +0000)]
Strip fragments and query strings.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1689
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 08:05:14 +0000 (08:05 +0000)]
Add an XXX comment
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1688
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 07:58:11 +0000 (07:58 +0000)]
Move setting of t_resp up to before we build the response.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1687
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 07:53:08 +0000 (07:53 +0000)]
Clarify XXX comment
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1686
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 07:47:45 +0000 (07:47 +0000)]
Rename the "idle" field of struct worker to "used", which is more precise.
Don't use the "used" field to signal suicide for worker threads,
use the "wrq" field which is much more natural.
Set the "used" field to NAN before doing anything and assert that
somebody updated during the task.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1685
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 07:27:50 +0000 (07:27 +0000)]
Clean all but t_open timestamps to NAN at end of transaction.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1684
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 07:21:46 +0000 (07:21 +0000)]
Unify the recycle functionality of the acceptors, all three used the same
method.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1683
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 13 Jul 2007 07:11:54 +0000 (07:11 +0000)]
Initialize all timestamps in the session to NAN
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1682
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 12 Jul 2007 22:41:08 +0000 (22:41 +0000)]
Allow a delay to be specified. Note that the delay is applied individually
by each child.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1681
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 12 Jul 2007 22:40:02 +0000 (22:40 +0000)]
Fix props
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1680
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 12 Jul 2007 22:38:24 +0000 (22:38 +0000)]
I got bored and wrote an all-singing, all-dancing Munin plugin to replace
the ones contributed by Anders and Bjørn.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1679
d4fa192b -c00b-0410-8231-
f00ffab90ce4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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