]> err.no Git - varnish/log
varnish
17 years agoremove "name" from the parameters, it isn't one.
phk [Mon, 25 Jun 2007 21:24:27 +0000 (21:24 +0000)]
remove "name" from the parameters, it isn't one.

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

17 years agoRedo the -n argument code, it had too many problems:
phk [Mon, 25 Jun 2007 21:12:17 +0000 (21:12 +0000)]
Redo the -n argument code, it had too many problems:

We need to process -P and -f arguments before we change directory.
(ticket 120)

(XXX: what about storage and hash arguments ??)

The daemon(3) call should not change our directory subsequently.
(ticket 121)

There is no need to enforce a hostname style format on the argument,
a directory nam makes much more sense, since that is what we need.
Defaulting to /tmp instead of our hostname makes more sense (ticket 119).

This also allows the admin to use a different directory if /tmp is
mounted noexec (ticket 111)

Put the directoryname used in the proctitle (via heritage)

XXX: for docs: vcl.load CLI commands will work relative to the -n directory.

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

17 years agoMake it possible to pass a filedescriptor to VCC_CompileFile() if the file
phk [Mon, 25 Jun 2007 20:44:06 +0000 (20:44 +0000)]
Make it possible to pass a filedescriptor to VCC_CompileFile() if the file
is already open.  The filedescriptor will be closed.

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

17 years agoFirst step in implementing early retirement of objects when the cache fills
des [Mon, 25 Jun 2007 17:04:09 +0000 (17:04 +0000)]
First step in implementing early retirement of objects when the cache fills
up: implement a "sloppy" LRU list.  An object is placed on the list (or moved
to the head of the list if it's already on it and hasn't moved recently) by
calling LRU_Enter(), and removed by calling LRU_Remove().  LRU_DiscardSpace()
will iterate through the LRU list, starting at the back, and retire objects
(by adding them to the deathrow list) until the sum of the length of the
retired objects reaches a certain number.  Similarly, LRU_DiscardTime() will
retire objects which haven't moved since a specified cutoff date.  In both
cases, vcl_discard() will be given a chance to inspect the object and veto
its retirement.

Currently, LRU_Enter() and LRU_Remove() are called from HSH_Lookup() and
HSH_Deref() respectively.  There may be better alternatives.

Neither LRU_DiscardSpace() nor LRU_DiscardTime() is currently called from
anywhere.  There are a number of issues to consider: for instance, even if
LRU_DiscardSpace() is called when a high-water mark is reached, there is
still a possibility that the cache might fill up before it has had a chance
to finish and the hangman has had a chance to process the deathrow list.

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

17 years agoUse FREE_OBJ() instead of just free() when freeing miniobjs.
des [Mon, 25 Jun 2007 16:25:29 +0000 (16:25 +0000)]
Use FREE_OBJ() instead of just free() when freeing miniobjs.

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

17 years agoAvoid an assertion failure by not calling EXP_TTLChange() for objects which
des [Mon, 25 Jun 2007 16:24:18 +0000 (16:24 +0000)]
Avoid an assertion failure by not calling EXP_TTLChange() for objects which
are not on the expiry heap.

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

17 years agoDocument vcl_discard().
des [Mon, 25 Jun 2007 15:54:22 +0000 (15:54 +0000)]
Document vcl_discard().

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

17 years agoWhitespace nits.
des [Mon, 25 Jun 2007 14:24:49 +0000 (14:24 +0000)]
Whitespace nits.

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

17 years agoMaintain statistics about the number of allocations made and the amount of
des [Mon, 25 Jun 2007 14:24:09 +0000 (14:24 +0000)]
Maintain statistics about the number of allocations made and the amount of
allocated and free space.

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

17 years agoAdd fields for storage manager statistics.
des [Mon, 25 Jun 2007 14:15:52 +0000 (14:15 +0000)]
Add fields for storage manager statistics.

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

17 years agoActually get the logic right here, if there is no Vary string, the
phk [Mon, 25 Jun 2007 14:12:54 +0000 (14:12 +0000)]
Actually get the logic right here, if there is no Vary string, the
object is acceptable to all clients.

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

17 years agoFix a NULL pointer deref in the Vary code.
phk [Mon, 25 Jun 2007 14:10:34 +0000 (14:10 +0000)]
Fix a NULL pointer deref in the Vary code.

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

17 years agoGive vcl_discard() valid return-actions "keep" and "discard".
phk [Mon, 25 Jun 2007 12:38:20 +0000 (12:38 +0000)]
Give vcl_discard() valid return-actions "keep" and "discard".

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

17 years agoImplement resp.proto resp.status and resp.response.
phk [Mon, 25 Jun 2007 10:37:11 +0000 (10:37 +0000)]
Implement resp.proto resp.status and resp.response.

Visible from vcl_fetch() only.

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

17 years agoDiscard any listen sockets that fail to bind().
phk [Mon, 25 Jun 2007 10:22:44 +0000 (10:22 +0000)]
Discard any listen sockets that fail to bind().

This can happen if you get an IPv6 address for the -a argument, but
runs without IPv6 enabled in your kernel.  Typically happens only
for localhost.

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

17 years agoMake sure that -F and -d are exclusive.
phk [Mon, 25 Jun 2007 09:46:30 +0000 (09:46 +0000)]
Make sure that -F and -d are exclusive.

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

17 years agoAdd -F flag, to force varnishd to run in the foreground.
phk [Mon, 25 Jun 2007 09:44:54 +0000 (09:44 +0000)]
Add -F flag, to force varnishd to run in the foreground.

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

17 years agoUse the correct target of sizeof().
phk [Mon, 25 Jun 2007 09:23:14 +0000 (09:23 +0000)]
Use the correct target of sizeof().

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

17 years agoA friendly reminder
phk [Mon, 25 Jun 2007 09:20:02 +0000 (09:20 +0000)]
A friendly reminder

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

17 years agoUse an enum instead of magic '1' and '2' values to VRT_GetHdr.
phk [Mon, 25 Jun 2007 09:10:20 +0000 (09:10 +0000)]
Use an enum instead of magic '1' and '2' values to VRT_GetHdr.

Remove bogus "has_string" variable marking, it can be derived from the type.

Make obj.* variables valid in vcl_timeout() and vcl_discard()

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

17 years agoMove variable related stuff to vcc_var.c
phk [Mon, 25 Jun 2007 08:57:09 +0000 (08:57 +0000)]
Move variable related stuff to vcc_var.c

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

17 years agoMake the VCL compiler complain about attempts to access variables outside
phk [Mon, 25 Jun 2007 08:17:25 +0000 (08:17 +0000)]
Make the VCL compiler complain about attempts to access variables outside
their scope.  One example of this is the "req.hash" variable which only
exists in the vcl_hash method.

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

17 years agoAdd bitmap of methods where they are valid to all objects.
phk [Mon, 25 Jun 2007 07:14:08 +0000 (07:14 +0000)]
Add bitmap of methods where they are valid to all objects.

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

17 years agoAdd VCL_MET_${METHOD} bitmap defines
phk [Mon, 25 Jun 2007 07:04:13 +0000 (07:04 +0000)]
Add VCL_MET_${METHOD} bitmap defines

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

17 years agoAlso tun the compiled VCL through cc(1) and try to load it into mgt process
phk [Mon, 25 Jun 2007 06:46:34 +0000 (06:46 +0000)]
Also tun the compiled VCL through cc(1) and try to load it into mgt process
when -C is specified, this makes it easier to do completeness test on the
VRT interface.

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

17 years agoAdd vcl_discard{} method, which can return discard or pass actions.
phk [Mon, 25 Jun 2007 06:14:40 +0000 (06:14 +0000)]
Add vcl_discard{} method, which can return discard or pass actions.

This is for DES' work on LRU list.

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

17 years agoFurther sockaddr/sockaddr_storage sanitation in order to quiet FlexeLint
phk [Sun, 24 Jun 2007 10:43:15 +0000 (10:43 +0000)]
Further sockaddr/sockaddr_storage sanitation in order to quiet FlexeLint

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

17 years agostrchr(const char *) returns a const char *.
phk [Sun, 24 Jun 2007 10:42:08 +0000 (10:42 +0000)]
strchr(const char *) returns a const char *.

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

17 years agoRoll a couple of layers off these asserts
phk [Sun, 24 Jun 2007 10:17:29 +0000 (10:17 +0000)]
Roll a couple of layers off these asserts

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

17 years agoExplicitly cat to int: we mean it.
phk [Sun, 24 Jun 2007 10:17:03 +0000 (10:17 +0000)]
Explicitly cat to int: we mean it.

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

17 years agoWhitespace nit
phk [Sun, 24 Jun 2007 10:16:41 +0000 (10:16 +0000)]
Whitespace nit

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

17 years agoUse C-unsigned for VCL-BOOL variables
phk [Sun, 24 Jun 2007 10:03:09 +0000 (10:03 +0000)]
Use C-unsigned for VCL-BOOL variables

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

17 years agoMark WS_Init() as custodial
phk [Sun, 24 Jun 2007 10:02:41 +0000 (10:02 +0000)]
Mark WS_Init() as custodial

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

17 years agoDont free(3) stack variables.
phk [Sun, 24 Jun 2007 09:55:53 +0000 (09:55 +0000)]
Dont free(3) stack variables.

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

17 years agoRemove unused #includes
phk [Sun, 24 Jun 2007 09:41:55 +0000 (09:41 +0000)]
Remove unused #includes

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

17 years agoUse sockaddr_storage also here.
phk [Sun, 24 Jun 2007 09:40:22 +0000 (09:40 +0000)]
Use sockaddr_storage also here.

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

17 years agoMake sure we cache a consistent view of the workspace size.
phk [Sun, 24 Jun 2007 09:40:09 +0000 (09:40 +0000)]
Make sure we cache a consistent view of the workspace size.

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

17 years agoremove unnecessary struct tcp_addr forward decl.
phk [Sun, 24 Jun 2007 09:29:21 +0000 (09:29 +0000)]
remove unnecessary struct tcp_addr forward decl.

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

17 years agoMake HSH_Freestore() static
phk [Sun, 24 Jun 2007 09:27:18 +0000 (09:27 +0000)]
Make HSH_Freestore() static

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

17 years agoRemove http_IsBodyless, it is no longer used.
phk [Sun, 24 Jun 2007 09:23:38 +0000 (09:23 +0000)]
Remove http_IsBodyless, it is no longer used.

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

17 years agoSince the previous commit added a chdir() to our temp directory, we can stop
des [Mon, 18 Jun 2007 07:52:19 +0000 (07:52 +0000)]
Since the previous commit added a chdir() to our temp directory, we can stop
juggling file names and simply do everything relative to our cwd.

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

17 years agoFurther tweak_name() improvements: restructure to reduce indentation; simplify
des [Mon, 18 Jun 2007 07:31:50 +0000 (07:31 +0000)]
Further tweak_name() improvements: restructure to reduce indentation; simplify
error handling; use a regexp to check the name syntax; check CLI errors after
the getopt() loop.

Discussed with: ceciliehf

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

17 years agoDon't allow len to go negative if the header is empty.
des [Sun, 17 Jun 2007 15:10:08 +0000 (15:10 +0000)]
Don't allow len to go negative if the header is empty.

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

17 years agoAdded a glossy Dia-diagram showing the overall structure of the test framework.
knutroy [Fri, 15 Jun 2007 17:06:15 +0000 (17:06 +0000)]
Added a glossy Dia-diagram showing the overall structure of the test framework.

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

17 years agoAdded some documentation.
knutroy [Fri, 15 Jun 2007 17:04:16 +0000 (17:04 +0000)]
Added some documentation.

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

17 years agoA change in the default value of the name, and test for correct naming convention
cecilihf [Fri, 15 Jun 2007 12:26:56 +0000 (12:26 +0000)]
A change in the default value of the name, and test for correct naming convention

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

17 years agoImprove the report further.
des [Fri, 15 Jun 2007 11:23:13 +0000 (11:23 +0000)]
Improve the report further.

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

17 years agoUse mode 0755 rather than 0600 for the state directory.
des [Fri, 15 Jun 2007 10:52:57 +0000 (10:52 +0000)]
Use mode 0755 rather than 0600 for the state directory.

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

17 years agoSlight improvements on Cecilie's commit: correct nroff style and man page
des [Fri, 15 Jun 2007 10:40:53 +0000 (10:40 +0000)]
Slight improvements on Cecilie's commit: correct nroff style and man page
wording, constify varnish_name, move default name logic into VSL_Open*().

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

17 years agoForgot to remove this line (it was moved further down)
cecilihf [Fri, 15 Jun 2007 09:27:29 +0000 (09:27 +0000)]
Forgot to remove this line (it was moved further down)

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

17 years ago\n is not expanded in single-quoted strings.
des [Fri, 15 Jun 2007 09:26:54 +0000 (09:26 +0000)]
\n is not expanded in single-quoted strings.

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

17 years agoAdd reporting functionality.
des [Fri, 15 Jun 2007 09:23:25 +0000 (09:23 +0000)]
Add reporting functionality.

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

17 years agoAdded the -n option for specifying a name for varnishd. All files are now stored...
cecilihf [Fri, 15 Jun 2007 09:18:06 +0000 (09:18 +0000)]
Added the -n option for specifying a name for varnishd. All files are now stored under /tmp/<name> where
<name> is either a specified name or the hostname. All the varnish tools have also been updated to let the user
specify the name of the varnish instance to use. The name must conform to the hostname standard, but a test
for this is not yet implemented.

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

17 years agoCatch up with framework changes.
des [Fri, 15 Jun 2007 09:03:34 +0000 (09:03 +0000)]
Catch up with framework changes.

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

17 years agoAdd code to enumerate all available cases. If no case name is specified,
des [Thu, 14 Jun 2007 17:07:46 +0000 (17:07 +0000)]
Add code to enumerate all available cases.  If no case name is specified,
varnish-regress.pl will now run them all.  Also simplify MAIN a bit.

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

17 years agoRemove -T now that the framework runs as an unprivileged user.
des [Thu, 14 Jun 2007 16:47:13 +0000 (16:47 +0000)]
Remove -T now that the framework runs as an unprivileged user.

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

17 years agoConsistently replace croak with die, and fix a couple of cases where $@ was
des [Thu, 14 Jun 2007 16:44:59 +0000 (16:44 +0000)]
Consistently replace croak with die, and fix a couple of cases where $@ was
incorrectly used in place of $!.

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

17 years agoRather than start and stop the engine for every test case, just stop (and
des [Thu, 14 Jun 2007 16:38:58 +0000 (16:38 +0000)]
Rather than start and stop the engine for every test case, just stop (and
restart) it if a test failed.

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

17 years agoOops - don't lie about closing the connection.
des [Thu, 14 Jun 2007 14:14:12 +0000 (14:14 +0000)]
Oops - don't lie about closing the connection.

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

17 years agoAdd a simple test case for Vary: handling.
des [Thu, 14 Jun 2007 14:12:32 +0000 (14:12 +0000)]
Add a simple test case for Vary: handling.

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

17 years agoMiscellaneous improvements to regression test framework, most notably
knutroy [Thu, 14 Jun 2007 12:08:15 +0000 (12:08 +0000)]
Miscellaneous improvements to regression test framework, most notably
changes regarding how events are processed. We now state what events
we are waiting for when calling run_loop. The central event dispatcher
monitors this list and decides when to pause the loop. Return value
from run_loop is the event name and whatever arguments were sent by
the event creator, if the event triggered no explicit handler, or
otherwise, the return value(s) from the event handler. If subsequent
events occur between a loop-pausing event and the time the loop
actually pauses, such events are queued and eligible candidates for
return value of the next call to run_loop. This way, events will not
be lost accidentally, which might happen in previous revisions.

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

17 years agoRemove the "magic" StartChild, StopChild and LoadVCL test cases. Instead,
des [Wed, 13 Jun 2007 11:26:09 +0000 (11:26 +0000)]
Remove the "magic" StartChild, StopChild and LoadVCL test cases.  Instead,
Case.pm now has init() and fini() (which can of course be overloaded by
individual test classes) which start / stop the child, and load a VCL
script if the particular test class being run provides one.  In addition,
fini() will revert to the initial VCL script ("boot") if a custom script
was loaded by init().

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

17 years agoLet send_command() take care of quoting and assembling the command.
des [Wed, 13 Jun 2007 11:12:07 +0000 (11:12 +0000)]
Let send_command() take care of quoting and assembling the command.

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

17 years agoRewrote much of regression test framework.
knutroy [Tue, 12 Jun 2007 12:26:03 +0000 (12:26 +0000)]
Rewrote much of regression test framework.
Test-cases for tickets #56 and #102 are included.
Test-case for #102 breaks on r1506 (onwards).

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

17 years agoFix FreeBSDism (#113).
des [Tue, 12 Jun 2007 07:12:02 +0000 (07:12 +0000)]
Fix FreeBSDism (#113).

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

17 years agoChanges needed for varnishadm.
cecilihf [Mon, 11 Jun 2007 07:10:55 +0000 (07:10 +0000)]
Changes needed for varnishadm.

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

17 years agoGive my anal retentive tendencies free rein, and remove a blank line at the
des [Sun, 10 Jun 2007 11:46:05 +0000 (11:46 +0000)]
Give my anal retentive tendencies free rein, and remove a blank line at the
end of the file.

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

17 years agoTake a shot at light-weight "Vary:" processing.
phk [Sun, 10 Jun 2007 08:49:43 +0000 (08:49 +0000)]
Take a shot at light-weight "Vary:" processing.

When we cache an object with a "Vary:" header, we generate
a "vary matching string" which can be used to efficiently
check for compliance when doing a cache lookup.

Only very lightly tested (ie: cnn.com).

For a full description of the reasoning, please see
http://varnish.projects.linpro.no/wiki/ArchitectureVary

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

17 years agoFix a bug I introduced in the workspace rewamp: Don't throw away
phk [Sun, 10 Jun 2007 07:47:50 +0000 (07:47 +0000)]
Fix a bug I introduced in the workspace rewamp: Don't throw away
perfectly good pipelined data.

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

17 years agolibcompat must come after libvarnish because the latter now uses
phk [Sun, 10 Jun 2007 07:19:21 +0000 (07:19 +0000)]
libcompat must come after libvarnish because the latter now uses
strndup which might come from the former.

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

17 years agoUpdate the Linpro copyright.
des [Thu, 7 Jun 2007 09:40:20 +0000 (09:40 +0000)]
Update the Linpro copyright.

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

17 years agoAdded a utility for sending a single command to varnishd via telnet, and printing...
cecilihf [Thu, 7 Jun 2007 09:00:56 +0000 (09:00 +0000)]
Added a utility for sending a single command to varnishd via telnet, and printing the result.

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

17 years agoRevert part of r1484, I got it exactly backwards.
des [Wed, 6 Jun 2007 15:25:54 +0000 (15:25 +0000)]
Revert part of r1484, I got it exactly backwards.

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

17 years agoMove parts of tcp.c out into libvarnish. Rename the API from "TCP" to "VSS"
des [Wed, 6 Jun 2007 11:24:06 +0000 (11:24 +0000)]
Move parts of tcp.c out into libvarnish.  Rename the API from "TCP" to "VSS"
(Varnish Stream Sockets) as I intend to eventually add support for AF_UNIX
sockets.

This also moves the accept filter code out from VSS_listen() (previously
TCP_open()) and into a separate function in tcp.c

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

17 years ago* Move PURGE to a place where it does some good
ssm [Tue, 5 Jun 2007 15:46:07 +0000 (15:46 +0000)]
* Move PURGE to a place where it does some good

* Make http auth work

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

17 years agoWrap the management of the session workspace in functions, to prevent
phk [Mon, 4 Jun 2007 19:10:16 +0000 (19:10 +0000)]
Wrap the management of the session workspace in functions, to prevent
pointer gymnastics getting out of hand.

In addition to the obvious alloc/return primitives there are also
reserve/release primitives for when we don't know the length yet.

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

17 years agoFold long lines.
phk [Mon, 4 Jun 2007 19:08:30 +0000 (19:08 +0000)]
Fold long lines.

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

17 years agoRegenerate.
des [Mon, 4 Jun 2007 15:56:56 +0000 (15:56 +0000)]
Regenerate.

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

17 years agoAdd about as much space on each side as there was in the old logo.
des [Mon, 4 Jun 2007 15:54:34 +0000 (15:54 +0000)]
Add about as much space on each side as there was in the old logo.

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

17 years agoPre-rendered versions of the full logo in various sizes.
des [Mon, 4 Jun 2007 15:47:12 +0000 (15:47 +0000)]
Pre-rendered versions of the full logo in various sizes.

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

17 years agoFull logo with both red and green background
des [Mon, 4 Jun 2007 15:46:56 +0000 (15:46 +0000)]
Full logo with both red and green background

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

17 years agoRename to include "icon" in file name.
des [Mon, 4 Jun 2007 15:42:37 +0000 (15:42 +0000)]
Rename to include "icon" in file name.

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

17 years agoCorrect the red / green color to 60% instead of 75%.
des [Mon, 4 Jun 2007 15:27:08 +0000 (15:27 +0000)]
Correct the red / green color to 60% instead of 75%.

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

17 years agoGC unused files.
des [Mon, 4 Jun 2007 15:04:14 +0000 (15:04 +0000)]
GC unused files.

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

17 years agoAdd configure options for extra-strict warnings + stack protection (both
des [Mon, 4 Jun 2007 14:42:55 +0000 (14:42 +0000)]
Add configure options for extra-strict warnings + stack protection (both
require gcc 4), tune autogen.des accordingly.

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

17 years agoPrerendered icons in red or green in various sizes. Stored in GIF format
des [Mon, 4 Jun 2007 08:46:39 +0000 (08:46 +0000)]
Prerendered icons in red or green in various sizes.  Stored in GIF format
to preserve transparency - MSIE can't handle PNG transparency.

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

17 years agoIcon version of the logo, with either red or green background.
des [Mon, 4 Jun 2007 08:45:22 +0000 (08:45 +0000)]
Icon version of the logo, with either red or green background.

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

17 years agoOriginal logo sheet from VG
des [Mon, 4 Jun 2007 08:44:44 +0000 (08:44 +0000)]
Original logo sheet from VG

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

17 years agoMake these scripts executable.
des [Fri, 1 Jun 2007 22:43:03 +0000 (22:43 +0000)]
Make these scripts executable.

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

17 years agoKeep a master copy of the parameter block, to which all changes are applied,
des [Fri, 1 Jun 2007 22:18:55 +0000 (22:18 +0000)]
Keep a master copy of the parameter block, to which all changes are applied,
and which is copied to the shared parameter block every time a parameter
changes as well as immediately before forking off a child.  This prevents a
hypothetical compromised child from changing the parent's idea of run-time
parameters (which would, for example, allow it to trick the the parent into
starting a new, hypothetically exploitable child with the attacker's choice
of uid / gid).

While I'm here, correct the use of the "volatile" qualifier - it is the
parmeter block itself which can change unpredictably, not the pointer.

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

17 years agoAdd a watch file to help people who build packages themselves look for a new release...
ssm [Fri, 1 Jun 2007 07:34:09 +0000 (07:34 +0000)]
Add a watch file to help people who build packages themselves look for a new release of varnish

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

17 years agoAdd two run-time parameters, "user" and "group", which specify an unprivileged
des [Thu, 31 May 2007 12:57:30 +0000 (12:57 +0000)]
Add two run-time parameters, "user" and "group", which specify an unprivileged
user and group to which the child process will switch immediately after fork()
returns, before it starts accepting connections.  The default values are
"nobody" and "nogroup" (they should probably be tweakable at compile time...)

Note that this does not provide full privilege separation, as there are still
channels between the parent and child processes which need to be monitored,
but it is an improvement on the previous situation.

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

17 years agoCorrect a systematic typo in the license.
des [Thu, 31 May 2007 09:18:56 +0000 (09:18 +0000)]
Correct a systematic typo in the license.

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

17 years agoWhitespace cleanup.
des [Wed, 30 May 2007 14:54:28 +0000 (14:54 +0000)]
Whitespace cleanup.

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

17 years agovarnishncsa is now able to produce backend logs. A couple of problems still remain...
cecilihf [Wed, 30 May 2007 09:53:49 +0000 (09:53 +0000)]
varnishncsa is now able to produce backend logs. A couple of problems still remain: missing hostname and timestamp for backend communication. This could be solved with some extra tags serving the same purpose as ReqStart and ReqEnd does for client communication, providing this information.

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

17 years agomore intelligent sed magic in the redhat specfile
ingvar [Tue, 29 May 2007 11:27:56 +0000 (11:27 +0000)]
more intelligent sed magic in the redhat specfile

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

17 years agoBe more explicit about which files / directories to include in a release.
des [Tue, 29 May 2007 10:54:42 +0000 (10:54 +0000)]
Be more explicit about which files / directories to include in a release.

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

17 years ago* Mon May 28 2007 Ingvar Hagelund <ingvar@linpro.no> - 1.0.4-3
ingvar [Mon, 28 May 2007 21:04:17 +0000 (21:04 +0000)]
* Mon May 28 2007 Ingvar Hagelund <ingvar@linpro.no> - 1.0.4-3
- Fixed initrc-script bug only visible on el4 (fixes #107)

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

17 years agoThe call to HSH_Freestore() is redundant; in pass mode, there are no other
des [Fri, 25 May 2007 10:06:50 +0000 (10:06 +0000)]
The call to HSH_Freestore() is redundant; in pass mode, there are no other
references to the object, so HSH_Deref() will free its storage.

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

17 years agoAdd an API for synthetic objects, and use it to implement negative
des [Fri, 25 May 2007 10:00:38 +0000 (10:00 +0000)]
Add an API for synthetic objects, and use it to implement negative
caching of backend issues.

Brief summary:

 - moved http_msg array from cache_response.c to cache_http.c,
   introduced http_StatusMessage() lookup function

 - introduced http_Put{Protocol,Status,Response} to complement
   http_PrintfHeader().

 - introduced SYN_ErrorPage() in a new file, cache_synthetic.c.
   SYN_ErrorPage() populates the session's current object with the
   specified error code and a corresponding HTML error page; it is the
   caller's responsibility to ensure that the session has a suitable
   object (i.e. one that doesn't already have headers or a body)

 - rewrote RES_Error() to simply call SYN_ErrorPage() (with ttl = 0) and
   RES_WriteObj().

 - rewrote cnt_fetch() to use SYN_ErrorPage() to create a 503 page with
   a TTL of 30 seconds when Fetch() fails.

 - removed the call to RES_Error() in cache_backend.c; the error
   trickles back up to cnt_fetch() anyway.

Comments from review:

 - Memory allocation and pointer gymnastics for the header and body
   are duplicated all over the place (in new and pre-existing code)
   and should be centralized and hidden behind a suitable API.

 - The http_*() API needs refactoring, we shouldn't need four
   different functions to manipulate four different entries in the
   same array.

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