]>
err.no Git - varnish/log
phk [Fri, 10 Aug 2007 09:51:16 +0000 (09:51 +0000)]
Fix an architectural mistake:
What the compiled VCL code contains is not "a backend" but more
like a specification of or a template of a backend.
This matters because it controls the ownership of the backend
structure, and to a lesser degree because it complicates the VRT
api with a lot of pointless functions.
When vcl.use switches to a different VCL program, the backends of
the old VCL program may still be in use, and, provided the backend
declarations of the two VCL programs are identical, should continue
be carried over to the new VCL code.
This requires the memory and state to be owned by the central backend
code, and the VCL programs to just hold references and becomes even
more important when we keep complex state for load balancing on
individual backends.
This commit changes the ownership of the backends to the central code,
and moves the specification used in the compiled VCL program to a
communication structure for just that.
This also paves the way for introducing directors/policies for backend
selection and for good measure, I have named the default (ie: current)
backend policy "simple" for now.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1829
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 10 Aug 2007 09:36:42 +0000 (09:36 +0000)]
Document purge_url / purge_hash
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1827
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 10 Aug 2007 09:22:49 +0000 (09:22 +0000)]
Remove the "purge" compat, we never shipped it in a release.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1824
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 10 Aug 2007 07:13:02 +0000 (07:13 +0000)]
Avoid mixing statements and declarations (#147)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1823
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 9 Aug 2007 17:11:35 +0000 (17:11 +0000)]
Add some text about the cli + the munin / nagios / webmin plugins, and some
greek to help the document validate.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1822
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 9 Aug 2007 17:04:50 +0000 (17:04 +0000)]
Format <command>, <literal> and <varname> in monospace.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1821
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 9 Aug 2007 14:58:56 +0000 (14:58 +0000)]
Explain the meaning of obj.valid and obj.cacheable.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1819
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 9 Aug 2007 11:19:20 +0000 (11:19 +0000)]
Rename libcompat to libvarnishcompat, and make it dynamic.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1817
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 8 Aug 2007 19:43:51 +0000 (19:43 +0000)]
Implement purging on either of hash or url.
In VCL:
purge_url(<regexp>)
purge_hash(<regexp>)
(for an interrim period purge(<regexp>) will be the same as purge_url).
In CLI
url.purge <regexp>
hash.purge <regexp>
purge_hash operates on the hash-string which results from vcl_hash(),
by default it is composed of:
req.url "#" req.http.host "#"
To purge everything on the virtual host foo.bar.com:
In CLI:
url.purge "#foo.bar.com#$"
In VCL:
purge_hash("#foo.bar.com#$");
The general format, if you have defined vcl_hash(), is:
Each "req.hash +=" operator appends the right hand side of the
+= and a "#" separator.
You'll have to figure out your own regexps.
Under the hood:
Move the hash string from object to objecthead and save space while
we're at it.
Fix indentation in generated source.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1816
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 8 Aug 2007 12:10:17 +0000 (12:10 +0000)]
I'm not sure Varnish should GET from the backend when the client used POST
but the VCL script decided to cache the request anyway. Treat it as an
error for now.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1815
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 8 Aug 2007 12:08:25 +0000 (12:08 +0000)]
Start varnishd with '-n regress'.
Handle server failures gracefully.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1814
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 8 Aug 2007 11:00:26 +0000 (11:00 +0000)]
Add three regression tests for POST request handling. All of them
currently fail (see #47, #129).
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1813
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 8 Aug 2007 10:58:17 +0000 (10:58 +0000)]
Improve request generation.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1812
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 8 Aug 2007 10:01:50 +0000 (10:01 +0000)]
Remove FreeBSD workaround; the FreeBSD ports tree has had working autotools
for two weeks now. Also fix inconsistent indentation.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1811
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 8 Aug 2007 08:49:11 +0000 (08:49 +0000)]
Elminiate a spurious message when sigchild looses a race to popen(2).
This fixed #143
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1810
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 7 Aug 2007 10:27:34 +0000 (10:27 +0000)]
Minimize a race when looking up addresses for backends.
The race is not closed however, proper locking needs to be thought out.
An XXX comment documents this for now.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1809
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 7 Aug 2007 07:23:10 +0000 (07:23 +0000)]
Implement "error" action in vcl_fetch() and vcl_deliver()
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1808
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 7 Aug 2007 06:55:52 +0000 (06:55 +0000)]
When vcl_miss() take error action, remember to discard backend request.
Ticket: 139
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1807
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 6 Aug 2007 09:28:44 +0000 (09:28 +0000)]
Forgot an assert.
WS_Return() is now unused, comment it out.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1806
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 6 Aug 2007 09:25:20 +0000 (09:25 +0000)]
Rewrite the req.hash implmentation:
Instead of assembling the entire hash-string in the workspace, use
a scatter gather approach, hinted by the VCL compiler.
This eliminates the workspace reservation which prevented regsub() from
working in vcl_hash, and reduces the size of the necessary workspace a
fair bit as well, at the cost of a little bit of complexity in the
hash implmentations.
Closes ticket 137 and possibly 141
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1805
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 6 Aug 2007 09:19:20 +0000 (09:19 +0000)]
Add piecemal crc32 function back, we will need it for the scatter/gather
hash string.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1804
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 6 Aug 2007 08:07:18 +0000 (08:07 +0000)]
Have the VCL compiler provide a hint about the worst case number of
operations on the req.hash variable.
It is only a hint, because it merely counts how many times the parser
saw something being added to the req.hash variable. If the operation
was in a subroutine which was called multiple times, the hint will not
reflect the number of actual operations.
For now we will deal with that at runtime, at the expense of a
failed transaction every time we run short. If this becomes an issue,
an extensive topological analysis of the VCL program can give us
a definitive count.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1803
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 21:06:41 +0000 (21:06 +0000)]
Add comment to remind myself.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1802
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 20:57:32 +0000 (20:57 +0000)]
vrt.h is not needed here.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1801
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 20:57:20 +0000 (20:57 +0000)]
Add a missing return: we always return after detecting the first error.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1800
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 20:47:16 +0000 (20:47 +0000)]
Add missing assert
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1799
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 20:26:09 +0000 (20:26 +0000)]
We need the math library on some systems.
Ticket 138
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1798
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 20:17:49 +0000 (20:17 +0000)]
Make the nonexistence of "nobody" and "nogroup" users and groups nonfatal
Ticket: 140
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1797
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 19:52:23 +0000 (19:52 +0000)]
Introduce a "replace()" function to replace a malloc'ed string.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1796
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 5 Aug 2007 19:37:44 +0000 (19:37 +0000)]
Synchronize the paramters after we call their accessor functions rather
than when we don't find one.
This makes changing runtime paramters work again, without the need to
ask for a nonexistent parameter to trigger the update.
Ticket: 136
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1795
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 3 Aug 2007 18:50:05 +0000 (18:50 +0000)]
Try harder to avoid integer overflows in cache file size calculations
on 32-bit platforms.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1794
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 3 Aug 2007 18:46:43 +0000 (18:46 +0000)]
Synchronize these two files.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1793
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 31 Jul 2007 06:06:28 +0000 (06:06 +0000)]
Fine-tune the vhost example.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1792
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 14:39:03 +0000 (14:39 +0000)]
Note that MAX_IOVS is intentionally not equal to IOV_MAX.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1791
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 14:31:16 +0000 (14:31 +0000)]
I accidentally committed the wrong patch in r1787; this corrects the logic
used to determine which lock type (shared or exclusive) to use.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1790
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 14:22:00 +0000 (14:22 +0000)]
Bogons in previous commit. Pass me the pointy hat...
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1789
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 14:19:45 +0000 (14:19 +0000)]
pid_t is not necessarily compatible with int.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1788
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 14:16:23 +0000 (14:16 +0000)]
Use fcntl(2)-style locks instead of non-portable flock(2)-style locks.
Based on Theo Schlossnagle's Solaris portability patch.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1787
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 13:54:48 +0000 (13:54 +0000)]
Explicitly set TZ to GMT.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1786
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 13:50:16 +0000 (13:50 +0000)]
Use mktime() rather than the unportable timegm(). The downside is that we're
at the mercy of the TZ environment variable.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1785
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 09:49:05 +0000 (09:49 +0000)]
Avoid using non-portable <err.h>.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1784
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 30 Jul 2007 08:03:42 +0000 (08:03 +0000)]
Avoid referencing <sys/cdefs.h> and __{BEGIN,END}_DECLS.
Based on Theo Schlossnagle's Solaris portability patch.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1783
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Sat, 28 Jul 2007 15:29:31 +0000 (15:29 +0000)]
Add a slew of utilities to simplify the writing of test cases. Rewrite the
existing test cases to take advantage of these utilities.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1782
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Sat, 28 Jul 2007 11:41:35 +0000 (11:41 +0000)]
Empty responses are not necessarily incorrect, even if Content-Length is
non-zero.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1781
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Sat, 28 Jul 2007 10:03:29 +0000 (10:03 +0000)]
Reverse the logic for sp->wantbody: assume it is always wanted unless
req.request is "HEAD". This is what broke the RePurge test case.
Ideally, sp->wantbody would be controllable by VCL.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1780
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Sat, 28 Jul 2007 09:23:52 +0000 (09:23 +0000)]
Refactor this test case. Note that it still fails; there seems to be
something wrong with the synthetic response code in varnishd.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1779
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Fri, 27 Jul 2007 14:16:39 +0000 (14:16 +0000)]
Added a health parameter for the backend. This is readable in vcl with backend.health.
Made it possible to pass a vcl variable to error (error 200 backend.health).
Implemented a first attempt at an algorithm for checking the health of a backend.
Negative values means the backend has problems, positive values means it is ok. 0 is neutral,
and could mean that it has been a while since the backend was asked for anything.
See the code for details.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1778
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 26 Jul 2007 13:53:41 +0000 (13:53 +0000)]
Add change log for 1.1.1 + various prop fixes
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1776
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 26 Jul 2007 07:51:09 +0000 (07:51 +0000)]
Whitespace & indentation
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1775
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 26 Jul 2007 07:45:37 +0000 (07:45 +0000)]
fix props
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1774
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 26 Jul 2007 07:45:23 +0000 (07:45 +0000)]
Rename to a more easily remembered (and typed) name.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1773
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 26 Jul 2007 07:43:37 +0000 (07:43 +0000)]
Correct copyright years.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1772
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Thu, 26 Jul 2007 07:02:20 +0000 (07:02 +0000)]
Regression test for http purge with regexp
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1771
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 25 Jul 2007 12:49:21 +0000 (12:49 +0000)]
Implement the full range syntax, eliminating the need for -l. Also
reintroduce -v, which is required by the spec (though we do not use it).
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1770
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 25 Jul 2007 11:52:51 +0000 (11:52 +0000)]
Allow values to be specified as arithmetic expressions written in Lisp-like
prefix notation. Use this to compute the cache hit ratio in the same
manner as the Nagios plugin does, and to compute cache file usage.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1769
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 25 Jul 2007 11:16:42 +0000 (11:16 +0000)]
Set x bit.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1768
d4fa192b -c00b-0410-8231-
f00ffab90ce4
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