]>
err.no Git - varnish/log
des [Wed, 25 Jul 2007 11:13:32 +0000 (11:13 +0000)]
Add a "usage" parameter which reports cache file usage.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1767
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Wed, 25 Jul 2007 11:10:59 +0000 (11:10 +0000)]
Style...
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1766
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Wed, 25 Jul 2007 11:09:06 +0000 (11:09 +0000)]
Use purge in function names instead of repurge and move VRT_purge to cache_vrt.c.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1765
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 25 Jul 2007 11:08:24 +0000 (11:08 +0000)]
Typo.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1764
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 25 Jul 2007 11:04:50 +0000 (11:04 +0000)]
Style fixes
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1763
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Wed, 25 Jul 2007 08:53:16 +0000 (08:53 +0000)]
Updated man page
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1762
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Wed, 25 Jul 2007 08:39:10 +0000 (08:39 +0000)]
Implemented http purge with regexp. Example vcl usage:
sub vcl_recv {
if (req.request == "REPURGE") {
purge(req.url);
error 404 "Purged";
}
}
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1761
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 16:42:36 +0000 (16:42 +0000)]
Cleanup, rename "hitrate" to "ratio" as in Munin plugin.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1759
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 16:26:36 +0000 (16:26 +0000)]
License.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1758
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 16:20:04 +0000 (16:20 +0000)]
Re-add as files
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1757
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 16:19:24 +0000 (16:19 +0000)]
Remove symlinks
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1756
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 16:17:21 +0000 (16:17 +0000)]
Give this package a proper name and a version number.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1755
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 14:25:54 +0000 (14:25 +0000)]
Instead of incorrectly assuming that a pthread_t can be meaningfully cast
to an unsigned int (which triggered warnings on some 64-bit platforms) and
printed with %08lx, incorrectly assume that it can be meaningfully cast to
a void * and printed with %p. While still incorrect in general terms, the
latter turns out to be correct on the specific systems that we care about.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1754
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 14:10:28 +0000 (14:10 +0000)]
#130: false is spelles FALSE in curses-land.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1753
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 14:02:20 +0000 (14:02 +0000)]
#131: Honor DESTDIR when creating the state directory.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1752
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 13:56:44 +0000 (13:56 +0000)]
RES_BuildHttp() must be called before RES_WriteObj() to prepare the response
headers. This fixes #128.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1751
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 13:54:20 +0000 (13:54 +0000)]
Always generate a Connection: header, in case the client makes an incorrect
assumption about which is the default.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1750
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 13:52:40 +0000 (13:52 +0000)]
Use strlen() directly.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1749
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 13:51:58 +0000 (13:51 +0000)]
Correct a comment
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1748
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 13:51:29 +0000 (13:51 +0000)]
Use a regexp search instead of index()
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1747
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 13:50:12 +0000 (13:50 +0000)]
Actually, the message will be in the body.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1746
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 11:39:55 +0000 (11:39 +0000)]
Implement VRT_r_obj_status(), without which obj.status can't be read.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1745
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 24 Jul 2007 11:10:22 +0000 (11:10 +0000)]
Regression test for #128 (currently fails with both trunk and 1.1)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1744
d4fa192b -c00b-0410-8231-
f00ffab90ce4
ssm [Fri, 20 Jul 2007 12:43:54 +0000 (12:43 +0000)]
Split debian package into varnish, libvarnish and libvarnish-dev
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1743
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 11:25:21 +0000 (11:25 +0000)]
Set localstatedir explicitly, otherwise it ends up as /usr/var.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1738
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 10:24:03 +0000 (10:24 +0000)]
Remove debugging output.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1735
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 10:23:12 +0000 (10:23 +0000)]
Store stevedores in a circular list. The head pointer keeps moving from
one stevedore to the next. The LRU code is invoked as soon as any of the
stevedores fills up.
This algorithm is far from ideal, and will not work well with differently
sized stevedores, but it has the advantage of being simple and lock-free.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1734
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 10:14:43 +0000 (10:14 +0000)]
Style nit.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1733
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 09:44:21 +0000 (09:44 +0000)]
Additional style cleanup; remove stevedore list from heritage; revert
locking, which introduces a choke point.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1732
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Fri, 20 Jul 2007 09:19:36 +0000 (09:19 +0000)]
Added locking on the list manipulation.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1731
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Fri, 20 Jul 2007 09:06:42 +0000 (09:06 +0000)]
Move all use of the stevedore list to stevedore.c
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1730
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 08:40:33 +0000 (08:40 +0000)]
Count backend requests.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1729
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 08:39:45 +0000 (08:39 +0000)]
Paranoia.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1728
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 08:38:22 +0000 (08:38 +0000)]
Let the LRU code worry about this.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1727
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 20 Jul 2007 08:32:04 +0000 (08:32 +0000)]
Reword, bump date.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1726
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Fri, 20 Jul 2007 08:20:59 +0000 (08:20 +0000)]
Updated man-page
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1725
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Fri, 20 Jul 2007 08:16:44 +0000 (08:16 +0000)]
Support for multiple cache files. The selecting of a cache file is done by a simple round-robin that selects
the first file in the list, and then moves it to the end. If the selected file hasn't got enough space, the next
one is tried. If no file has enough space, the LRU discarding is applied to the first file in the list.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1724
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 12:18:57 +0000 (12:18 +0000)]
Document Mac OS X compatibility.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1722
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 11:49:43 +0000 (11:49 +0000)]
Use the correct cc command line on MacOS. This is a gross hack.
Also, ignore the result of dlclose().
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1721
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 11:17:59 +0000 (11:17 +0000)]
Adapt for use on MacOS X / Darwin, which has GNU libtool installed as
glibtool, and has a version of automake 1.6 which does not exhibit the
bug I've observed on other platforms.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1720
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 11:11:20 +0000 (11:11 +0000)]
Make regexp variables static. This has the side effect of replacing
tentative definitions with non-tentative ones, thus sidestepping one
of the issues we have on MacOS X.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1719
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 11:03:55 +0000 (11:03 +0000)]
Missed one occurrence of clock_gettime().
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1718
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 11:02:57 +0000 (11:02 +0000)]
Retire libcompat's clock_gettime().
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1717
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 11:01:36 +0000 (11:01 +0000)]
If clock_gettime() is not available, use gettimeofday() directly.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1716
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 19 Jul 2007 10:58:31 +0000 (10:58 +0000)]
gettimeofday() is good enough for varnishstat.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1715
d4fa192b -c00b-0410-8231-
f00ffab90ce4
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