2007-02-20 08:49  des

 * branches/1.0/configure.ac:

   Bump version number.

2007-02-20 08:47  des

 * branches/1.0/ChangeLog:

   Regenerate

2007-02-20 08:47  des

 * branches/1.0, branches/1.0/redhat/varnish.initrc:

   r36059@cat (orig r1243): des | 2007-02-20 09:46:24 +0100
   Correct misunderstanding regarding -w.

2007-02-20 08:47  des

 * branches/1.0, branches/1.0/include/stat_field.h:

   r35540@cat (orig r1240): phk | 2007-01-30 13:17:58 +0100
   Forgotten commit:
   
   Update backend stats fields
   

2007-02-20 08:47  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.c:

   r35539@cat (orig r1239): phk | 2007-01-29 23:06:33 +0100
   Things you didn't know about C, #7212:
   
   There is no sane way to get sscanf to tell you how many characters
   were consumed, if you want to allow a variable number of arguments.
   
   The special format %n is patently useless for this, because you
   have to insert it at every conceiveable point in the string and
   that presumes full explicit whitespace markup.
   
   Parse -w argument "by hand", to catch illegal input like "1,INF,15"
   
   Tripped over by: Stein Ove Rosseland <steinove@vg.no>
   
   Fixes: ticket #82
   
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_backend.c,
   branches/1.0/bin/varnishd/cache_vrt.c:

   r34134@cat (orig r1238): phk | 2007-01-22 14:24:42 +0100
   Expend a lock on keeping the backend statistics consistent.
   Rename the fields to make more sense
   
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/cache.h,
   branches/1.0/bin/varnishd/cache_backend.c,
   branches/1.0/bin/varnishd/cache_vrt.c, branches/1.0/include/vrt_obj.h,
   branches/1.0/lib/libvcl/flint.lnt,
   branches/1.0/lib/libvcl/vcc_compile.c,
   branches/1.0/lib/libvcl/vcc_gen_obj.tcl,
   branches/1.0/lib/libvcl/vcc_obj.c:

   r34133@cat (orig r1237): phk | 2007-01-22 13:31:52 +0100
   The getaddrinfo(3) API does not tell us the TTL value learned from DNS
   so we have to add our own stuff for that.
   
   Without some kind of TTL, we would hit the DNS server once per failed
   attempt to connect to the backend.
   
   If the backend were down, we could hit it a LOT.
   
   In the VCL code:
   
   backend foobar {
   [...]
   set backend.dnsttl = 20s;
   }
   
   will assign a TTL for DNS lookups of this backends hostname+port
   combination, we will not hit the DNS server more often that this.
   
   The default is set at 30 seconds, short enough to make things are
   workable in a load-balancing-via-DNS setups, yet long enough to not
   pound the DNS server flat in case of backend failures.
   
   NOTE that as long as we succeed in connecting to the backend we
   do not perform new DNS lookups. That will have to be revisited
   along with possible load-balancing schemes for the backend(s).
   
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/shmlog.c:

   r34132@cat (orig r1236): phk | 2007-01-22 12:46:25 +0100
   Use struct assignment to overcome volatile poisoning.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_backend.c:

   r34131@cat (orig r1235): phk | 2007-01-22 12:15:57 +0100
   Cache the workspace size from params so it doesn't change under us.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/heritage.h,
   branches/1.0/bin/varnishd/varnishd.c:

   r34130@cat (orig r1234): phk | 2007-01-22 12:15:27 +0100
   Make params volatile so changes are discovered.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/autogen.sh:

   r34129@cat (orig r1233): phk | 2007-01-22 09:43:30 +0100
   Allow automake version 1.10
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_pass.c,
   branches/1.0/bin/varnishd/common.h,
   branches/1.0/bin/varnishd/storage_file.c,
   branches/1.0/bin/varnishd/varnishd.c:

   r34127@cat (orig r1231): phk | 2007-01-02 14:41:08 +0100
   Polish as result of flexelint run and record a couple of thoughts.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/storage_file.c:

   r34126@cat (orig r1230): knutroy | 2006-12-18 16:58:59 +0100
   Fixed double declaraction error on systems having both
   HAVE_SYS_STATVFS_H and HAVE_SYS_VFS_H.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/autogen.sh:

   r34125@cat (orig r1229): des | 2006-12-05 12:42:39 +0100
   Better workaround for FreeBSD autotools brokenness.
   
   Pointy hat to: {ade,portsmgr}@freebsd.org
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/storage_file.c:

   r34124@cat (orig r1228): phk | 2006-12-05 10:41:16 +0100
   Make the statfs(3)/statvfs(3) dictomy actually work.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/autogen.sh:

   r34123@cat (orig r1227): phk | 2006-12-05 09:48:27 +0100
   Add a FreeBSD workaround while des@ tries to get autocrap to DTRT under
   FreeBSD also.
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/storage_file.c,
   branches/1.0/configure.ac:

   r34122@cat (orig r1226): phk | 2006-12-05 09:47:43 +0100
   NetBSD Portability fix:
   
   Starting with 3.1, NetBSD uses statvfs and not statfs.
   
   Submitted by: Juan RP <juan@xtrarom.org>
   

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/redhat/varnish.initrc,
   branches/1.0/redhat/varnish.sysconfig:

   r34107@cat (orig r1222): ingvar | 2006-11-08 10:03:40 +0100
   Removed the usage of -w in the initscript until that bug is fixed in
   varnishd

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.c:

   r33742@cat (orig r1221): des | 2006-11-08 09:59:20 +0100
   Rewrite tackle_warg(): don't override the default max or timeout unless
   the user asks; bail if max < min; fix usage string.

2007-02-20 08:46  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.c:

   r33741@cat (orig r1220): des | 2006-11-08 09:49:57 +0100
   Remove printf() from signal handler.
   Make the pipe-juggling code slightly more readable.

2006-11-06 12:19  des

 * branches/1.0/ChangeLog:

   Regenerate.

2006-11-06 12:07  des

 * branches/1.0, branches/1.0/debian/lintian-override:

   r33659@cat (orig r1216): bahner | 2006-11-03 10:37:47 +0100
   Adding lintian-overrides for debian acceptance
   

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/include/compat/vis.h,
   branches/1.0/lib/libcompat/vis.c:

   r33651@cat (orig r1208): des | 2006-11-02 13:57:11 +0100
   As per ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change,
   remove the so-called advertising clause from these files' license,
   making it compatible with the Debian Free Software Guidelines. As
   these files were obtained from FreeBSD, this change was discussed
   with and approved by the FreeBSD core team.

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/debian/changelog, branches/1.0/debian/dirs,
   branches/1.0/debian/rules:

   r33291@cat (orig r1207): bahner | 2006-10-23 14:21:17 +0200
   Lintian overrides for debian-acceptance
   

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/debian/TODO, branches/1.0/debian/varnish.init:

   r33290@cat (orig r1206): bahner | 2006-10-23 14:12:07 +0200
   Preliminary LSB compliance in init-scripts
   

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/debian/changelog,
   branches/1.0/debian/copyright:

   r33289@cat (orig r1205): bahner | 2006-10-19 15:55:12 +0200
   Bumped version to 1.0.2 proper
   Added wording regarding the origination of the source of
   varnish with relation to debian.
   

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/debian/control:

   r33288@cat (orig r1204): bahner | 2006-10-19 15:44:27 +0200
   Reverted accidental reversion of dependencies
   

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/redhat/varnish.spec:

   r33287@cat (orig r1203): ingvar | 2006-10-19 14:55:20 +0200
   Added a vendor tag to the rpm package.

2006-11-02 12:57  des

 * branches/1.0, branches/1.0/redhat, branches/1.0/redhat/README.redhat,
   branches/1.0/redhat/TODO, branches/1.0/redhat/varnish.initrc,
   branches/1.0/redhat/varnish.spec, branches/1.0/redhat/varnish.sysconfig:

   r33286@cat (orig r1202): ingvar | 2006-10-19 14:43:29 +0200
   Added build scripts for Red Hat rpm package

2006-10-19 09:21  des

 * branches/1.0, branches/1.0/debian/control:

   r33282@cat (orig r1198): des | 2006-10-19 11:19:28 +0200
   Capitalize.

2006-10-19 09:21  des

 * branches/1.0, branches/1.0/etc/vcl.conf:

   r33281@cat (orig r1197): des | 2006-10-19 11:16:42 +0200
   Additional commentary

2006-10-19 09:21  des

 * branches/1.0, branches/1.0/etc, branches/1.0/etc/vcl.conf:

   r33280@cat (orig r1196): des | 2006-10-19 11:16:03 +0200
   Add sample VCL config.

2006-10-18 14:32  des

 * branches/1.0/configure.ac:

   Bump version number.

2006-10-18 14:31  des

 * branches/1.0/ChangeLog:

   Regenerate.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/man/vcl.7:

   r32907@cat (orig r1155): des | 2006-10-17 14:44:48 +0200
   Additional details about global variables.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian/copyright:

   r32906@cat (orig r1154): bahner | 2006-10-13 10:04:07 +0200
   Change debian/copyright to refer to Subversion
   

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian/TODO, branches/1.0/debian/changelog,
   branches/1.0/debian/dirs, branches/1.0/debian/varnish.default:

   r32905@cat (orig r1153): bahner | 2006-10-13 09:59:54 +0200
   Changed storage location of backend storage to be FHS 2.3 compliant
   

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian/control:

   r32904@cat (orig r1152): bahner | 2006-10-12 19:14:41 +0200
   Added build dependency on libncurses-dev and a runtime dependency on
   gcc >= 3.3.
   Now compiles on pristine etch-systems
   

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian/README.Debian,
   branches/1.0/debian/TODO, branches/1.0/debian/changelog:

   r32903@cat (orig r1151): bahner | 2006-10-12 19:05:59 +0200
   Cleaned up and remembered a todo item.
   

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian/README.Debian,
   branches/1.0/debian/TODO, branches/1.0/debian/changelog,
   branches/1.0/debian/control, branches/1.0/debian/dirs,
   branches/1.0/debian/rules, branches/1.0/debian/varnish.default,
   branches/1.0/debian/varnish.init, branches/1.0/debian/vcl.conf:

   r32902@cat (orig r1150): bahner | 2006-10-12 18:56:54 +0200
   Added init-scripts and configuration files for Debian.
   

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/man/vcl.7:

   r32901@cat (orig r1149): des | 2006-10-10 15:36:11 +0200
   Add an example based on VG's PURGE code.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian/changelog, branches/1.0/debian/control:

   r32900@cat (orig r1148): bahner | 2006-10-10 15:01:42 +0200
   Bumped automake dependency to automake 1.9

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/debian, branches/1.0/debian/TODO,
   branches/1.0/debian/changelog, branches/1.0/debian/compat,
   branches/1.0/debian/control, branches/1.0/debian/copyright,
   branches/1.0/debian/dirs, branches/1.0/debian/docs,
   branches/1.0/debian/rules:

   r32899@cat (orig r1147): bahner | 2006-10-10 14:05:46 +0200
   Initial debian packaging

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/lib/libvarnish/cli_common.c:

   r32848@cat (orig r1146): des | 2006-10-09 12:04:47 +0200
   Add <sys/types.h> before <sys/uio.h>.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_acceptor.c,
   branches/1.0/bin/varnishd/cache_acceptor_epoll.c,
   branches/1.0/bin/varnishd/cache_acceptor_kqueue.c,
   branches/1.0/bin/varnishd/cache_acceptor_poll.c,
   branches/1.0/bin/varnishd/cache_ban.c,
   branches/1.0/bin/varnishd/cache_center.c,
   branches/1.0/bin/varnishd/cache_pass.c,
   branches/1.0/bin/varnishd/cache_pipe.c,
   branches/1.0/bin/varnishd/cache_response.c,
   branches/1.0/bin/varnishd/cache_vrt.c,
   branches/1.0/bin/varnishd/cache_vrt_acl.c,
   branches/1.0/bin/varnishd/cache_vrt_re.c,
   branches/1.0/bin/varnishd/hash_simple_list.c,
   branches/1.0/bin/varnishd/mgt_event.c,
   branches/1.0/bin/varnishd/rfc2616.c,
   branches/1.0/bin/varnishd/storage_malloc.c,
   branches/1.0/bin/varnishstat/varnishstat.c, branches/1.0/configure.ac,
   branches/1.0/include/Makefile.am,
   branches/1.0/include/compat/clock_gettime.h,
   branches/1.0/lib/libcompat/Makefile.am,
   branches/1.0/lib/libcompat/clock_gettime.c:

   r32847@cat (orig r1145): des | 2006-10-09 11:58:58 +0200
   Fix build on MacOS X: add a fake clock_gettime() and fix some includes.
   
   WARNING: varnish will build and run, but the lack of a monotonic clock
   may lead to strange behaviour if the clock is stepped (rather than skewed)
   while varnish is running.
   
   Thanks to Niklas Saers for providing a test environment.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_acceptor_epoll.c:

   r32845@cat (orig r1143): des | 2006-10-06 17:37:32 +0200
   On Linux 2.6.8 and older, epoll_ctl(EPOLL_CTL_DEL) requires a poll_event
   even though it is not used, and will return EFAULT if one is not provided.
   
   Also, instead of silently accepting EBADF from epoll_ctl(), check that
   sp->fd != -1 before calling vca_del(). This can happen in some cases
   where vca_pollsession() closes the session before returning. This way,
   we will still get an assertion failure if epoll_ctl() fails for some
   other (unexpected) reason.
   
   Thanks to airmax for his assistance in tracking this down.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_response.c:

   r32844@cat (orig r1142): des | 2006-10-06 14:58:04 +0200
   The delivered document's age should be computed relative to the time of
   the response, not the time of the request. If the document was not in
   cache and the backend took a long time to respond, the document would
   end up with a negative computed age, which when printed with %u would
   appear as a large positive number (a few seconds short of either 2^32
   or 2^64 depending on the size of time_t).

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.1:

   r32842@cat (orig r1141): des | 2006-10-06 13:04:01 +0200
   Clarify the semantics of -d and -dd.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/autogen.sh:

   r32804@cat (orig r1140): des | 2006-10-05 16:56:50 +0200
   Older versions of automake generate incorrect Makefiles, and automake's
   own mechanism for specifying a required version doesn't seem to work.
   Hack autogen.sh to check which version of automake is installed.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/autogen.sh:

   r32803@cat (orig r1139): des | 2006-10-05 16:20:29 +0200
   Older versions of automake (such as 1.4, which is the default in Debian
   and Ubuntu) do not understand --force[-missing], and we can do without.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/cache.h,
   branches/1.0/bin/varnishd/cache_http.c,
   branches/1.0/bin/varnishd/cache_pass.c:

   r32802@cat (orig r1138): des | 2006-10-05 13:57:35 +0200
   RFC 2616 says "All 1xx (informational), 204 (no content), and 304 (not
   modified) responses MUST NOT include a message-body," so
   Content-Length: is not needed in these cases (and Apache does indeed
   not include it). This causes PassBody() to call pass_straight() with
   a NULL length argument, which waits until the connection is closed by
   the server. PassBody() should not call pass_*() at all for responses
   that are known to be bodyless.
   
   Submitted by: Dagfinn Ilmari Manns?ker <ilmari@ping.uio.no>
   

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/mgt_vcc.c:

   r31768@cat (orig r1137): des | 2006-10-05 11:52:30 +0200
   Reminder to keep the default VCL code in synch with the man page.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/man/vcl.7:

   r31767@cat (orig r1136): des | 2006-10-05 11:51:51 +0200
   Mostly complete, still lacks a list of available objects. Hope to have
   that done later today.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishlog/varnishlog.1,
   branches/1.0/bin/varnishlog/varnishlog.c,
   branches/1.0/bin/varnishncsa/varnishncsa.1,
   branches/1.0/bin/varnishncsa/varnishncsa.c:

   r31766@cat (orig r1135): des | 2006-10-05 11:50:40 +0200
   Reopen the output file on SIGHUP. Document same. Also document
   varnishlog's request selection feature.

2006-10-18 14:27  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_pass.c,
   branches/1.0/bin/varnishd/cache_pipe.c:

   r31765@cat (orig r1134): phk | 2006-10-02 16:08:49 +0200
   Also add missing Host: headers for Pass & Pipe
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_pipe.c:

   r31764@cat (orig r1133): phk | 2006-09-29 20:37:02 +0200
   Don't suffer if one side of a piped connection keeps blasting away.
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/configure.ac:

   r31763@cat (orig r1132): des | 2006-09-27 15:32:18 +0200
   Turn off all optimization when building with debugging symbols.
   Apparently,
   just -O is not enough to prevent gcc from optimizing away loop variables.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/include/stat_field.h:

   r31762@cat (orig r1131): des | 2006-09-27 09:43:21 +0200
   recyles -> recycles
   
   Ticket: #46

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/lib/libvcl/vcc_token.c:

   r31761@cat (orig r1130): des | 2006-09-26 16:34:39 +0200
   Add support for C++-style comments.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.1:

   r31760@cat (orig r1129): des | 2006-09-26 16:27:18 +0200
   Document the run-time parameters. Bump date.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/mgt_param.c:

   r31759@cat (orig r1128): des | 2006-09-26 15:52:29 +0200
   Correct man page reference in send_timeout description.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.1:

   r31758@cat (orig r1127): des | 2006-09-26 15:31:58 +0200
   Document management interface commands, and fix list markup.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/Makefile.am:

   r31757@cat (orig r1126): des | 2006-09-26 15:12:01 +0200
   Install varnishd into the sbin directory.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_acceptor.c:

   r31756@cat (orig r1125): des | 2006-09-26 15:10:36 +0200
   Ignore accept() failures if errno is EAGAIN - this is not likely to happen
   on a production server, but it will on a test rig, and it may confuse and
   alarm the admin.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishncsa/varnishncsa.c:

   r31755@cat (orig r1124): andersb | 2006-09-24 19:59:00 +0200
   Fixed: Compiles correctly, but has a 128 char long maximum for Remote
   Username.
   
   
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishncsa/varnishncsa.c:

   r31754@cat (orig r1123): andersb | 2006-09-24 19:14:28 +0200
   Fixed: Correctly logging "-" when there is no User-Agent or Referer.
   
   Note: Still builds with warning.
   
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishncsa/varnishncsa.c:

   r31753@cat (orig r1122): andersb | 2006-09-24 18:17:06 +0200
   Fixed: [] around time. NCSA logformat requires it.
   Fixed: Status variable is not shown correctly.
   Added: base64() decode of Remote User.
   
   Note: Getting compile warning.
   
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_fetch.c,
   branches/1.0/bin/varnishd/cache_pass.c,
   branches/1.0/bin/varnishd/cache_pipe.c:

   r31752@cat (orig r1121): phk | 2006-09-23 21:30:29 +0200
   Always send X-Forwarded-for: header to backend.
   
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_pool.c:

   r31751@cat (orig r1120): phk | 2006-09-23 18:45:26 +0200
   Linux sendfile returns number of bytes written.
   
   Detected by: Xing Li <xing@litespeedtech.com>
   

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishtop/varnishtop.1:

   r31750@cat (orig r1119): des | 2006-09-22 14:37:55 +0200
   Remove leftovers from copy-paste.
   
   Spotted by: Anders Hanssen <anders@rethink.no>

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/bin/varnishd/varnishd.1,
   branches/1.0/bin/varnishhist/varnishhist.1,
   branches/1.0/bin/varnishlog/varnishlog.1,
   branches/1.0/bin/varnishncsa/varnishncsa.1,
   branches/1.0/bin/varnishstat/varnishstat.1,
   branches/1.0/bin/varnishtop/varnishtop.1:

   r31745@cat (orig r1114): des | 2006-09-20 18:33:24 +0200
   Add attribution, bump date.

2006-10-18 14:26  des

 * branches/1.0, branches/1.0/Makefile.am, branches/1.0/configure.ac,
   branches/1.0/man, branches/1.0/man/Makefile.am, branches/1.0/man/vcl.7:

   r31744@cat (orig r1113): des | 2006-09-20 18:26:54 +0200
   Add an unfinished vcl(7) man page.

2006-09-20 17:21  des

 * branches/1.0/ChangeLog:

   Regenerate.

2006-09-20 17:17  des

 * branches/1.0/configure.ac:

   Bump version.

2006-09-20 15:46  des

 * branches/1.0, branches/1.0/bin/varnishtop/varnishtop.1:

   r31740@cat (orig r1109): des | 2006-09-20 17:43:57 +0200
   Correct the title, name and description which were copy-pasted from
   varnishhist(1).
   
   Spotted by: Anders Hanssen <anders@rethink.no>

2006-09-20 15:46  des

 * branches/1.0, branches/1.0/include/varnishapi.h:

   r31739@cat (orig r1108): des | 2006-09-20 17:41:23 +0200
   Declare VSL_tags[] rather than define it. This allows Varnish to build
   on MacOS.

2006-09-20 15:46  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_pool.c:

   r31738@cat (orig r1107): phk | 2006-09-20 16:52:07 +0200
   Examine queue length, not how many have passed through the queue over
   all time.
   
   MFC: yes.
   

2006-09-20 09:49  des

 * branches/1.0/ChangeLog:

   Regenerate.

2006-09-20 09:44  des

 * branches/1.0, branches/1.0/README:

   r31732@cat (orig r1101): des | 2006-09-20 11:43:39 +0200
   Update.

2006-09-20 09:44  des

 * branches/1.0, branches/1.0/bin/varnishd/cache_pool.c:

   r31731@cat (orig r1100): phk | 2006-09-20 11:00:20 +0200
   When ditching sessions due to overflow, only ditch new sessions.
   
   

2006-09-20 08:44  des

 * branches/1.0, branches/1.0/configure.ac:

   Branch 1.0 and set version number.

2006-09-20 08:37  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/configure.ac:

   Trust autoconf to dtrt wrt libraries.
   Prefer libthr to libpthread if it's available (i.e. on FreeBSD 6 and newer)

2006-09-20 07:51  des

 * trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c:

   Regenerate.

2006-09-20 07:50  des

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/steps.h,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/compat/asprintf.h,
   trunk/varnish-cache/include/compat/setproctitle.h,
   trunk/varnish-cache/include/compat/srandomdev.h,
   trunk/varnish-cache/include/compat/strlcat.h,
   trunk/varnish-cache/include/compat/strlcpy.h,
   trunk/varnish-cache/include/compat/strndup.h,
   trunk/varnish-cache/include/compat/vasprintf.h,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h,
   trunk/varnish-cache/include/stats.h,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/include/vcl.h, trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vsb.h,
   trunk/varnish-cache/lib/libcompat/asprintf.c,
   trunk/varnish-cache/lib/libcompat/setproctitle.c,
   trunk/varnish-cache/lib/libcompat/srandomdev.c,
   trunk/varnish-cache/lib/libcompat/strndup.c,
   trunk/varnish-cache/lib/libcompat/vasprintf.c,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/assert.c,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnish/crc32.c,
   trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvarnish/version.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Whitespace, comment and attribution fixes.

2006-09-19 05:39  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/compat/asprintf.h,
   trunk/varnish-cache/include/compat/setproctitle.h,
   trunk/varnish-cache/include/compat/srandomdev.h,
   trunk/varnish-cache/include/compat/strlcat.h,
   trunk/varnish-cache/include/compat/strlcpy.h,
   trunk/varnish-cache/include/compat/strndup.h,
   trunk/varnish-cache/include/compat/vasprintf.h,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/include/vrt.h, trunk/varnish-cache/include/vsb.h,
   trunk/varnish-cache/lib/libcompat/strndup.c,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/assert.c,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnish/crc32.c,
   trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvarnish/version.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Remove doubled author information.

2006-09-18 22:39  des

 * trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_token_defs.h:

   Re-regenerate.

2006-09-18 22:04  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:

   Typo

2006-09-18 22:03  phk

 * trunk/varnish-cache/lib/libvarnishapi/base64.c:

   Quench warnings.

2006-09-18 22:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/steps.h,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/miniobj.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h,
   trunk/varnish-cache/include/stats.h,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/assert.c,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnish/crc32.c,
   trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvarnishapi/base64.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_token_defs.h:

   Assert my right to be identified as the author of this work.
   
   A couple of files were written by me previous to this project and
   in the public domain.

2006-09-18 21:51  phk

 * trunk/varnish-cache/bin/varnishtester:

   Remove this not-quite-a-prototype

2006-09-18 21:50  des

 * trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_token_defs.h:

   Regenerate to revert over-eager mechanical edits.

2006-09-18 21:48  des

 * trunk/varnish-cache/bin/varnishd/mgt_event.h,
   trunk/varnish-cache/bin/varnishtester/varnishtester.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h:

   Expand tags.

2006-09-18 21:48  des

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/steps.h,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.1,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishhist/varnishhist.1,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.1,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.1,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.1,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtester/varnishtester.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.1,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/compat/asprintf.h,
   trunk/varnish-cache/include/compat/setproctitle.h,
   trunk/varnish-cache/include/compat/srandomdev.h,
   trunk/varnish-cache/include/compat/strlcat.h,
   trunk/varnish-cache/include/compat/strlcpy.h,
   trunk/varnish-cache/include/compat/strndup.h,
   trunk/varnish-cache/include/compat/vasprintf.h,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/miniobj.h,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h,
   trunk/varnish-cache/include/stats.h,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/include/vsb.h,
   trunk/varnish-cache/lib/libcompat/asprintf.c,
   trunk/varnish-cache/lib/libcompat/setproctitle.c,
   trunk/varnish-cache/lib/libcompat/srandomdev.c,
   trunk/varnish-cache/lib/libcompat/strndup.c,
   trunk/varnish-cache/lib/libcompat/vasprintf.c,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/assert.c,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnish/crc32.c,
   trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvarnish/version.c,
   trunk/varnish-cache/lib/libvarnishapi/base64.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_token_defs.h:

   Rendons à César ce qui lui appartient.

2006-09-18 21:33  phk

 * trunk/varnish-cache/include/varnish:

   Remove unused directory

2006-09-18 21:32  phk

 * trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/varnish/assert.h:

   Remove unused file

2006-09-18 21:30  phk

 * trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/hash.h:

   Remove unused file

2006-09-18 21:08  des

 * trunk/varnish-cache/bin/varnishd/varnishd.1,
   trunk/varnish-cache/bin/varnishhist/varnishhist.1,
   trunk/varnish-cache/bin/varnishlog/varnishlog.1,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.1,
   trunk/varnish-cache/bin/varnishstat/varnishstat.1,
   trunk/varnish-cache/bin/varnishtop/varnishtop.1:

   Licensify man pages as well.

2006-09-18 20:27  des

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/compat/asprintf.h,
   trunk/varnish-cache/include/compat/setproctitle.h,
   trunk/varnish-cache/include/compat/srandomdev.h,
   trunk/varnish-cache/include/compat/strlcat.h,
   trunk/varnish-cache/include/compat/strlcpy.h,
   trunk/varnish-cache/include/compat/strndup.h,
   trunk/varnish-cache/include/compat/vasprintf.h,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/varnish/assert.h,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libcompat/asprintf.c,
   trunk/varnish-cache/lib/libcompat/setproctitle.c,
   trunk/varnish-cache/lib/libcompat/srandomdev.c,
   trunk/varnish-cache/lib/libcompat/strndup.c,
   trunk/varnish-cache/lib/libcompat/vasprintf.c,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/assert.c,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnish/crc32.c,
   trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvarnish/version.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_token_defs.h:

   Licensify.

2006-09-18 19:47  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   More backend error conditions changed from assert to 503

2006-09-18 19:38  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Deal with backend connection errors while fetching the body.
   
   Eventually, VCL should get a say in this.

2006-09-18 18:49  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/include/stat_field.h:

   Introduce three new params, to limit overflow queue length
   and to force HTTP/1.1 protocol version.

2006-09-18 17:18  phk

 * trunk/varnish-cache/include/http_headers.h:

   Don't copy the Age: header into the object.

2006-09-18 15:24  des

 * trunk/varnish-cache/bin/varnishtop/Makefile.am,
   trunk/varnish-cache/bin/varnishtop/varnishtop.1:

   Add man page.

2006-09-18 14:54  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Off by one.

2006-09-18 14:29  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Set worker idle timestamp to request end.

2006-09-18 10:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/stat_field.h:

   Drop the n_wrk_busy statistics, it is too expensive to maintain
   due to locking.

2006-09-18 10:38  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Add a couple of XXX comments

2006-09-18 10:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   typo

2006-09-18 10:10  phk

 * trunk/varnish-cache/include/stat_field.h:

   Add stat field missing in last commit

2006-09-18 10:10  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Make a global overflow queue so we don't risk parking requests
   on workpools with no available threads.

2006-09-18 09:57  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   eliminate redundant counter.

2006-09-18 09:33  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Increase CLI respone timeout to 5 seconds and tell that
   a ping has failed before we kill the child.

2006-09-18 09:25  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Correct the description of the second and third fields.

2006-09-18 09:22  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Add a -w option to set the delay between updates.

2006-09-18 09:00  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Make sure all threads don't end up in the same work queue

2006-09-18 08:55  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Add an explanation of the columns in the main display.

2006-09-18 08:55  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Widen fields sufficiently to accomodate gigabit rates.

2006-09-18 07:36  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Make flexelint happier

2006-09-18 07:16  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Add a simple linear retry in five steps for backend connection.

2006-09-18 07:11  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   braino

2006-09-18 07:08  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Get shmlog records into more sensible order.

2006-09-18 06:41  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Unify backend error handling

2006-09-18 06:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Minor cleanups

2006-09-17 21:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Revert these two for now. The expiry thread doesn't have
   a worker structure.

2006-09-17 20:26  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/include/stat_field.h:

   Use workerthres log buffer much more extensively

2006-09-17 19:57  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c:

   Decontest the shared memory mutex:
   
   Add a log buffer to the worker threads, log a lot of stuff to that
   and flush it into the "real" shmbuffer every so often.

2006-09-17 19:31  phk

 * trunk/varnish-cache/include/tree.h:

   Part of this commit leaked into the previous commit:
   
   We don't use splay trees.

2006-09-17 19:30  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/stat_field.h:

   Keep track of shmlog mutex contests

2006-09-17 18:31  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Oops, off by one.

2006-09-17 18:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Use the worker pools in round-robin fashion.

2006-09-17 09:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Fix logic bug so we don't reap worker threads all the time.

2006-09-17 09:06  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c:

   Whitespace

2006-09-17 09:06  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Make sure we get the error messages from a dying child.

2006-09-17 08:44  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Set sockopts on the listen socket and probe the accepted socket (once)
   to see which we do not need to set there because they are inherited.
   
   This could potentially save three syscalls per session.

2006-09-17 08:39  des

 * trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/varnishd.1:

   Update the parameter list in the man page, and add reminders to keep the
   lists in synch.

2006-09-17 06:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Possibly better logic.

2006-09-16 22:32  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Embellish the parameter descriptions somewhat.

2006-09-16 22:00  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Change statistics from gauge to counter

2006-09-16 21:45  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Duh! We need to count stats in per workerthread and summarize into
   session, otherwise we cannot correctly summarize into srcaddr and global.

2006-09-16 21:35  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Preallocate a srcaddr per workerthread to speed up locked section.
   
   Remember to free preallocated storage in workerthread.

2006-09-16 21:20  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Account directly into the session.

2006-09-16 21:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   use miniobj on srcaddr's

2006-09-16 21:14  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   make flexelint marginally happier

2006-09-16 21:05  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   twiddle explanations and defaults.

2006-09-16 20:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Use srcaddr mutex for srcaddr stats update to reduce contention on stat_mtx

2006-09-16 20:52  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Give the srcaddr stats an overhaul.
   
   Make the number of buckets a parameter (needs restart though).
   
   Make the ttl a parameter and have zero disable srcaddr accounting.
   
   Give each hash bucket its own mutex.

2006-09-16 20:17  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   VCL configs change relatively seldom so we can cache the requests
   VCL reference in the worker thread when the request is done and
   with a cheap check reuse it for the next request handled by this
   thread.
   
   This should reduce mutex contention.

2006-09-16 19:54  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Make it possible to have multiple worker pools.
   
   The acceptor selects the pool based on filedescriptor modulus
   number of pools.
   
   This is an attempt to reduce lock contention.

2006-09-16 16:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h:

   fix debug locks

2006-09-16 15:54  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Wrap mutex more completely so that experimentation becomes easier.

2006-09-16 15:52  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   wrap line

2006-09-16 15:51  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   correctly round INT32_MAX down to page boundary

2006-09-16 14:53  des

 * trunk/varnish-cache/bin/varnishtop/varnishtop.c:

   Rename -1 to -f, and add a -1 option meaning "once". It currently does not
   work very well; it should use a non-curses method to display the ranking.

2006-09-16 14:50  des

 * trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Add a non-blocking mode to the log reader.

2006-09-16 14:21  des

 * trunk/varnish-cache/bin/varnishhist/Makefile.am,
   trunk/varnish-cache/bin/varnishhist/varnishhist.1:

   Add a man page.

2006-09-16 14:06  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Umm, what have I been smoking? varnishstat is not a logger and does not
   support VSL_ARGS.

2006-09-16 13:08  des

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.1:

   Bring up-to-date.

2006-09-16 13:06  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Remove stray -a description.

2006-09-16 13:02  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Bring up-to-date.

2006-09-16 13:02  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.1:

   Bump date and add cross-references to all log programs.

2006-09-16 12:59  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   -c collides with one of the standard VSL options, so replace it with -1,
   which has the opposite meaning (IMHO, the continuous display is the most
   useful)

2006-09-16 12:45  des

 * trunk/varnish-cache/include/varnishapi.h:

   Sort options correctly.

2006-09-16 12:43  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.1:

   Bring up-to-date, and sort options correctly.

2006-09-16 12:43  des

 * trunk/varnish-cache/bin/varnishd/varnishd.1,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Sort options correctly.

2006-09-16 12:29  des

 * trunk/varnish-cache/bin/varnishtop/varnishtop.c:

   Fix usage string.

2006-09-16 12:28  des

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Add -V option, fix usage string.

2006-09-16 12:28  des

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Add the ability to write to a file (it was previously documented but not
   implemented).
   Fix the usage string.

2006-09-16 12:26  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Add a -a option to control append / overwrite when writing to a file.
   Fix the usage string.

2006-09-16 12:25  des

 * trunk/varnish-cache/include/varnishapi.h:

   Add a usage string for the standard VSL options.

2006-09-16 12:23  des

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Tweak storage file size calculations. Avoid overflow when calculating 80%
   of available storage on 32-bit Linux (most fields in struct statfs are long
   instead of int64_t as in BSD)

2006-09-16 11:34  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Just in case.

2006-09-16 11:28  des

 * trunk/varnish-cache/lib/libvarnish/crc32.c,
   trunk/varnish-cache/lib/libvarnishapi/base64.c:

   Expand keywords.

2006-09-16 11:01  des

 * trunk/varnish-cache/bin/varnishd/varnishd.1:

   Bring up-to-date. Still lacks descriptions for management commands and
   run-time parameters.

2006-09-16 11:00  phk

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Forgot about embedded CLI commands here.

2006-09-16 10:36  des

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   The buckets_per_mutex parameter was removed in r813.

2006-09-16 09:49  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Use generic param setting stuff

2006-09-16 09:38  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Make the listen depth a paramter.
   
   Clean up the paramter stuff even more.

2006-09-16 09:06  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add -p param=value command line argument.

2006-09-16 09:01  phk

 * trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Generalize parameter setting at start up.
   
   Give the managers main a struct cli and use that to call into
   the paramter stuff for setting listen address. More params to follow.
   
   When setting the listen address, check that getaddrinfo() doesn't
   hate it.

2006-09-16 08:20  phk

 * trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Open and close the listen socket when we start and stop the child.
   
   Make the listen address a parameter.

2006-09-16 07:49  phk

 * trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/include/cli.h:

   Rename the config.* CLI command family to vcl.*. It is more intuitive
   that way and we may eventually want a config file for varnishd to
   control obscure parameters.

2006-09-16 07:44  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Make the shmlog'ing of vcl execution a parameter.
   
   VCL tracing is responsible for a very large fraction of the shmlog
   records and will generally only be used for debugging of VCL code.

2006-09-15 19:25  phk

 * trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/Makefile.am,
   trunk/varnish-cache/lib/libvarnishapi/base64.c:

   Add a base64 decoder.

2006-09-15 16:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/include/stat_field.h:

   Eliminate the session_grace thing, the inter-request interval is to
   large in general (think RTT) for this to make sense, it costs a syscall
   and if a delay is used, at least two context switches.
   
   We still capture sessions that do pipe-line avoiding the context switch
   in that case, without incurring the syscall overhead.

2006-09-15 16:10  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Remove the SessionReuse shmem tag, we have little or no benefit from
   knowing this at the end of a request.
   
   Instead put the address + port in the ReqStart shmtag where it does
   a lot of good.

2006-09-15 10:30  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Disable session_grace for now.
   
   It is not clear if this is a benefit or not. There seems to be a
   significant
   (100msec ?) inter-request gap and seeting the grace period that long
   means tying up worker threads doing basically nothing.
   
   Setting a short timeout (10msec) results in an extra system call which
   practically never does anything good.
   
   Unless benefit is shown, this stuff should be removed again.

2006-09-15 10:24  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   fix more stats

2006-09-15 10:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c:

   Fix stats.

2006-09-15 10:03  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Add missing SessionReuse log entries

2006-09-15 10:01  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Improve portability: Since all log strings are NUL terminated we do not
   need to use REG_STARTEND any more.

2006-09-15 09:54  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Allow session_grace to be set to zero

2006-09-15 09:43  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/include/stat_field.h:

   Try to avoid sending EOF'ed or ready sessions to the herder.

2006-09-15 08:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Add XXX comment

2006-09-15 08:43  phk

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Print '-' if we don't have an IP# on startup.
   
   Also skip IP# from SessionReuse records.

2006-09-15 08:14  des

 * trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Fix sendfile() on Linux:
   
   - use the correct headers
   - don't duplicate WRK_Flush()
   - pass the offset correctly

2006-09-15 08:08  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Avoid parking a worker thread on trailing space

2006-09-15 07:37  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/steps.h:

   If after handling a request we find anything in our input buffer,
   don't waste time putting the session on the herder, but go right
   back and take the next request in the current worker thread.

2006-09-15 07:14  phk

 * trunk/varnish-cache/bin/varnishncsa/flint.lnt,
   trunk/varnish-cache/bin/varnishncsa/flint.sh,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Overhaul NCSA logging.
   
   Reduce memory footprint by only allocating space for a fd first time
   we see it. Few if any servers will ever see 64k fd's in use.
   
   Move the sbuf into the logline structure for simplicity.
   
   Access the logline structure through a pointer instead of indexing
   the array all the time.
   
   Reduce amount of malloc/free traffic for performance.
   
   Use the "cooked" SHMlog api where the length, fd, etc are broken out
   as arguments for us. Pass the FILE* where we want the stuff to
   go as private data (stdout for now).
   
   Add FlexeLint files.
   
   Now over to Anders again...

2006-09-13 21:26  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Fixed timestamp so thats it's correct. PHK added a new variable to
   ReqEnd that contains a correct endtime.

2006-09-13 20:43  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Add the end time as timestamp to the ReqEnd SHM record.
   
   Vector failures of the the FIRST case via DONE as well to
   avoid code duplication.

2006-09-13 19:07  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Dike out Linux senfile, it doesn't work.
   
   Isolated by: Xing Li <xing@litespeedtech.com>

2006-09-12 21:21  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Double the default workspace for the benefit of Blackberris and other
   low-bandwidth devices which for some reason include their entire
   lifehistory in the HTTP requests.

2006-09-12 21:02  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Made the code more robust but fixing a bug that caused coredumps.
   Haven't seen dumps after fix.
   
   Cleared some unused variables.

2006-09-12 20:50  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Distinguish the explanation for the first request from the one used
   on subsequent requests.

2006-09-12 20:17  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Fix timestamps in shm tag StatSess for sessions with no requests.

2006-09-12 20:06  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   chunksize is in kilobytes

2006-09-12 19:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   There may be error returns from kevent, don't assert there are none.

2006-09-12 10:12  des

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Implement sendfile() support for Linux.

2006-09-12 09:38  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   fix typo

2006-09-11 23:30  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Getting somewhere. I now have a "full" logline. Apart from writing
   usernames caught by the auth header, the logline is complete.
   I have now cleared up my obvious memoryleaks also.
   
   The code looks like it has been through a shredder, and needs massive
   cleaning before alpha.

2006-09-11 17:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   If we have more threads than the max, kill one if we can.

2006-09-11 15:12  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   remember to close pipes

2006-09-11 14:50  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Use a pipe for synchronization instead.

2006-09-11 14:34  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Redo the worker thread pool locking a bit, all the while cursing
   pthreads deficient API design for it's shortcomings.

2006-09-11 12:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h:

   Embellish the mutex debugging a bit

2006-09-11 11:55  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/include/libvarnish.h:

   Move LOCK/UNLOCK macros to cache.h where they belong.

2006-09-11 10:35  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Ignore kevent error return entries

2006-09-11 10:16  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Only expire when the timer fires

2006-09-11 10:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Piggy-back kevent changes on kevent wait call

2006-09-11 10:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Avoid a startup-race

2006-09-11 09:35  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Cleaned up User-Agent and Referer. Both should now work correct. As
   far as I can see, I only have the timestamp left for a sane loggline.

2006-09-11 09:16  des

 * trunk/varnish-cache/configure.ac:

   Check for sendfile().

2006-09-11 09:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Reduce syscall footprint of expiry and hangman

2006-09-11 09:05  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Avoid a clock_gettime() call

2006-09-11 09:00  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   braino in last commit.

2006-09-11 08:58  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Save more time() calls

2006-09-11 08:53  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   A avoid a time(NULL) call

2006-09-11 08:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/include/stat_field.h:

   Do stats on sendfile/write split.
   
   Add param for minimum size of object before we will sendfile it.

2006-09-10 22:23  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Started to fix output of User-Agent. It was all over the place. Found
   what I was doing wrong and fixed it.
   
   Should work with correct User-Agent now.

2006-09-08 06:47  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Make the fetchers chunksize a parameter, but keep the default at 128k

2006-09-08 05:58  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Add an extra bucket and make it clear how the number was chosen.
   
   Remove extra sanitychecking.

2006-09-07 10:14  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Missing commit message from previous commit:
   
   Fix a logic bug which allowed storage objects to be trampled on:
   the last bucket may contain object smaller than we want.

2006-09-07 10:12  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Handle zero length storage objects correctly: Don't let them exist.

2006-09-07 08:25  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Insert a bunch of asserts to try to catch anything going wrong

2006-09-07 08:01  phk

 * trunk/varnish-cache/include/libvarnish.h:

   Pick up uint32_t from <stdint.h> instead of <sys/types.h>

2006-09-07 07:50  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Logging for status & response was swapped for generated errors.

2006-09-07 07:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Remove debugging messages.

2006-09-07 07:27  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/include/stat_field.h:

   Add stats counters for large and small free fragments.
   
   Remove debugging

2006-09-07 07:17  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   remove "age", it was effectively unused. Revisit the idea later.

2006-09-07 07:12  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Don't clear alloc, it will be done in due time.

2006-09-07 07:09  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Split the freelist by size.
   
   Use 32 buckets for now, with a 4k pagesize that takes us to 128k
   which matches the fetchers default chunksize.

2006-09-07 05:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Remove debug entry

2006-09-07 05:40  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Read more than one session pointer at a time from the pipe and
   handle them all with one kevent call.

2006-09-06 22:09  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Don't use binary address anyway, we only want the IP number part
   and splitting that out of the binary part is not worth the
   trouble.

2006-09-06 22:02  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Account for header bytes in error and 304 responses.
   
   Remove unhelpful debug entry.

2006-09-06 21:52  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Move some setup code to first state now that we have it.

2006-09-06 21:41  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c:

   Move a bunch of work from the acceptor thread to the worker thread
   for better scaling.

2006-09-06 21:15  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/crc32.c:

   Move CRC32 into libvarnish
   
   Use it for hashing srcaddr as well. Hash the sockaddr instead
   of the ascii representation.
   
   Add a primitive mutex tracking facility which writes debug
   records to the shmlog if enabled.

2006-09-06 20:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Give the stats summation its own mutex

2006-09-06 19:35  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Reduce traffic on the wrk_mtx, saving some syscalls along the way:
   
   Make a thread-reaper-thread which examines the tail end of the queue
   and kicks threads which are too old so the wake up and die.
   
   This allows us to assume that a thread on the free queue is always
   waiting on its condvar, so we don't need to hold the mutex when we
   signal the condvar.
   
   As a result, the woken thread stands a chance to grab the mutex
   and a little song and dance between the two threads is avoided.

2006-09-06 19:08  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Grab the r_recv timestamp at the right time.

2006-09-06 18:47  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Don't bother with SO_NOSIGPIPE, it doesn't always work and we
   have ignored the signal anyway.

2006-09-06 18:46  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c:

   Remove unused timestamp "t0" and save a syscall per request.

2006-09-06 18:37  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Save a systemcall by using the same timestamp twice.

2006-09-06 18:32  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Give pool threads 120 second timeout, 10 was close to silly.

2006-09-06 18:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c:

   Fix the poll acceptor, we need to cache the fd as sp->fd might
   change to -1 under us.

2006-09-06 11:21  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Fix buglet in -i/-x name matching

2006-09-06 10:45  phk

 * trunk/varnish-cache/lib/libvcl/vcc_priv.h:

   Allow '-' in identifiers.
   
   For further study: should we accept RFC2616's definition of "token" ?

2006-09-06 09:58  phk

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Mark responses with Set-Cookie as "pass"

2006-09-06 09:54  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c:

   Add support for inspecting response headers.

2006-09-06 09:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c:

   Fix the same issue as in the kqueue acceptor: By the time we get
   here the filedescriptor may already be closed, so accept EBADF.
   
   Reported by: Xing Li <xing@litespeedtech.com>

2006-09-06 07:37  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Fix a bug in chunked fetching:
   
   With very short chunks, in this case 3 characters, our buffer may
   contain not only the chunk length and the chunk data, but also the
   next chunk length.
   
   If the short chunk is the last chunk before the zero length chunk
   at the end, unconditionally trying to fill the buffer before parsing
   the length may hang because we already have everything there is to
   have in the buffer.
   
   The fix is to always try to parse the buffer before adding to it.
   
   While here, tighten up and improve error checks of the code.
   
   Reported by: Xing Li <xing@litespeedtech.com>

2006-09-06 06:39  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   escape control characters in SLT_Debug as %XX

2006-09-05 22:11  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Added more outputdata, fixed memory leaks (I think).
   
   Code still not Alpha ready, but I think most concepts work now.

2006-08-24 07:57  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Go through all asserts and mark those which indicate missing code with
   xxx or XXX.

2006-08-24 07:17  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/include/libvarnish.h:

   Introduce LOCK() and UNLOCK() macros which does the right thing
   with pthread_mutex_{lock,unlock}()

2006-08-24 07:10  phk

 * trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/assert.c:

   Give xxxasserts their own backend with a different message.

2006-08-24 06:58  phk

 * trunk/varnish-cache/include/libvarnish.h:

   Split assert into "static check" and "missing code" variants.
   
   The "missing code" variants have xxx prefix
   
   Introduce AN() (assert non-null) variant as well.

2006-08-24 06:15  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   This is a workaround for what is probably a race in FreeBSD RELENG_6
   socket dismantling.
   
   There is no way that close(2) should ever be able to return EINVAL,
   but we've seen it.
   
   Specifically assert on EBADF which is the check we're really after.

2006-08-23 14:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Handle backend failure in pass mode

2006-08-23 13:11  phk

 * trunk/varnish-cache/lib/libvarnishapi/varnish_debug.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_log.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_util.c:

   These are not used.

2006-08-23 12:10  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   don't service cached objects the last second of their lifetime.

2006-08-23 11:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Set response timestamp when we emit an error.

2006-08-23 11:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Implement error in miss also

2006-08-23 07:32  phk

 * trunk/varnish-cache/lib/libvcl/vcc_compile.c:

   unused variable.

2006-08-23 07:30  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Handle backend connection error in pass mode with a 503

2006-08-23 07:29  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Fill shmem log with the reply

2006-08-23 07:22  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   grammar police.

2006-08-23 07:16  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:

   Teach RES_Error() about the canonical response code texts from
   RFC2616.
   
   Add the XID as "guru meditation" in the error HTML.

2006-08-23 06:55  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Move defaults from varnishd.c to mgt_param.c and use regular functions
   for setting them.
   
   Collapse all the 'timeout' functions.
   
   Add pipe_timeout parameter.

2006-08-23 06:53  phk

 * trunk/varnish-cache/lib/libvarnish/cli_common.c:

   If CLI is NULL, use stdout.

2006-08-22 19:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Implement "error" in vcl_hit()

2006-08-22 10:56  phk

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Redraw must be checked when we update, we cannot trust
   that we will actually have a timeout.

2006-08-22 10:46  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Optimize shmlog writing:
   
   If we know the record length, only hold the mutex while we reserve
   the space. Until we change the first byte, nothing bad can happen.
   
   XXX: a memory barrier is strictly speaking necessary before we assign
   the first byte.
   
   If there are no '%' in the format string, treat as fixed length for
   speed.

2006-08-22 10:40  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Consistent naming of mutex

2006-08-22 10:14  des

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Allow the delay between screen updates to be specified with -w.

2006-08-22 09:37  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Correct the error check for write().

2006-08-22 09:31  des

 * trunk/varnish-cache/lib/libcompat/strndup.c:

   Slight optimization: use strlcpy() to avoid calloc().

2006-08-22 09:30  phk

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Swap the '|' and '#' symbols so '#' means "miss", that's much more
   graphically useful.

2006-08-22 09:16  phk

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Use different marks for hit & miss
   
   Autoscale vertical axis.

2006-08-22 08:55  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Eliminate the MD5 optional code. There is no sufficiently strong
   statistical basis for using MD5 that will outweigh the performance
   penalty or "IT USES THE BR0K3N MD5 ALGORITM" cries on slashdot.
   
   The only known artifact in CRC32 is that hashing it with a power
   of two is slightly inefficient (a few percent in bucket length
   standard deviation) if you have URLs with fixed width fields of
   a limited charset (such as numeric) fields in them.
   
   Avoid this by checking the hash width specified for power of two,
   and reduce it by one telling the user why.
   
   Using a hash width that is a prime number does provable advantage
   over just not using power-of-two width. I have heard a mathematician
   say that this is inherent in the design of the polynomia chosen
   for CRC algorithms error (optimized for bit error detection) but
   the actual math is way beyond me.
   
   Increase default hash width to 16383, which is probably still
   smaller than it should be.

2006-08-22 08:18  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtester/varnishtester.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvarnish/assert.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Expand keywords.

2006-08-22 08:17  des

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Allow an empty address if a port is specified; thus ":80" is a valid
   listening address ("port 80 on all interfaces")

2006-08-22 08:06  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Additional marginal improvement:
   
   Sort on length of key, then on digest.

2006-08-22 07:52  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Rework the classic hasher to reduce lock contention and CPU usage.
   
   Make nbuckets=nhash mandatory.
   
   Order hash lists by the length of key instead of the key contents,
   comparing the length is much faster.
   
   Also compare disgest before we take the expensive content compare.
   
   Use memcmp() for content compare instead of strcmp().
   
   Use a two-pass algorithm for inserts to lower mutex contention.

2006-08-22 07:24  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am:

   Add cache_acceptor.h to noinst_HEADERS.

2006-08-22 07:11  des

 * trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/compat/strndup.h,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/strndup.c:

   Add strndup() to libcompat.

2006-08-21 20:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Flexelint inpired cleanups

2006-08-21 20:30  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Give VBE_ClosedFd() an argument to tell if the fd has already
   been closed.
   
   Pipe does this and would panic otherwise.

2006-08-21 20:25  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c:

   Fix these two up to current standard.
   
   Poll is tested, epoll isn't.
   
   While the three implementations share a lot of identical code
   right now, I will wait a bit before unifying more of them, at
   least until performance proves that this is the right way for
   kqueue.
   
   XXX: they're really not acceptors any more, they're herders.

2006-08-21 20:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Make it easier to experiement with acceptors by having a single
   pointer to the one in use.

2006-08-21 20:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Remove unused #includes

2006-08-21 19:05  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Add asserts.
   
   Return if we pass on directly.

2006-08-21 18:55  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Overhaul kqueue acceptor in light of todays learnings.
   
   Use the pipe trick to inject sessions into the system, as far as I
   can tell it is cheaper because of the low rate it happens and the
   high rate of mutex operations avoided.
   
   Ignore the timer event, but purge the list every time we wake up
   to reduce lumpyness of timeout'ing.
   
   Centralize the polling of a session so we don't have the same two
   messages spread out all over the place.
   
   Centralize the acceptor thread and send things directly to the worker
   thread, leaving only the session-herder in the split out files.
   
   poll & epoll not yet updated accordingly.

2006-08-21 17:49  phk

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Bandaid until Dag Erling does what's necessary

2006-08-21 17:32  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Retire sessions if the workspace size changes, properly cache the
   workspace size so we do not get caught unaware when it changes.
   
   Implement flip-flop free queue where SES_New() can read from
   one of them without a lock, which frees happen to the other one
   under lock. If the lock-less queue is empty, SES_New() flips
   the two queues under lock and tries again. If that queue is
   also empty call malloc(3).

2006-08-21 17:26  des

 * trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Rename open_tcp() to TCP_open() and modify it to open only one socket of
   the appropriate type for the address that was passed in.
   
   Introduce TCP_parse(), which extracts an address and port from a string of
   the form "hostname:port", "i.p.v.4:port" or "[i:p:v:6]:port" (where "port"
   can be either a decimal number or a service name).
   
   Use TCP_parse() to parse the argument to -a (listen address), -b (backend
   address) and -T (telnet address). Eliminate -p (listen port).
   
   While there, rename a bunch of "fooflag" variables which aren't flags to
   "foo_arg".

2006-08-21 13:15  phk

 * trunk/varnish-cache/include/stat_field.h:

   Add n_sess_mem

2006-08-21 13:15  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Increase client hash to 1k
   
   Cache used sessmem chunks on a private list and recycle from there,
   no point in bothering malloc all the time.

2006-08-21 12:57  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   When writing to a file, open it with O_APPEND rather than O_TRUNC.

2006-08-21 12:55  des

 * trunk/varnish-cache/bin/varnishhist/Makefile.am,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Set properties.

2006-08-21 12:54  des

 * trunk/varnish-cache/bin/varnishhist:

   Set properties.

2006-08-21 12:12  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/steps.h:

   Create the possiblity for the the acceptor to send the session directly
   to the workerpool instead of taking the detour around the session-herder.
   
   This saves a context switch and is presumabley a good idea because the
   majority of sessions will have requst already in the pipeline.
   
   For accept filters it makes even more sense because we know this to
   be the case.

2006-08-21 11:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c:

   Split the accepting and session-herding functionality into two threads,
   this is totally free from a locking point of view, but will cost
   in context switches.

2006-08-21 11:11  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.h:

   Add file

2006-08-21 11:05  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c:

   various cleanups.

2006-08-21 10:59  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_epoll.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_kqueue.c,
   trunk/varnish-cache/bin/varnishd/cache_acceptor_poll.c:

   Break the acceptors out into their own files.
   
   The intent here is to compile in all acceptors supported on the
   operating system and allow the user to select one at startup time.

2006-08-21 09:51  phk

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Adjusments to scale.
   
   Refresh 1/sec max
   
   Put more in the rolling buffer.

2006-08-21 09:49  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Don't hose TIMER kevent with READ kevent

2006-08-21 09:49  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   This assert is not warranted, a connection might disappear before
   we get to it.

2006-08-20 19:55  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Close another tiny race.

2006-08-20 18:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Give the kevent acceptor another overhaul.
   
   On a number of fine points the kevent API behaves different from
   what I would have expected.
   
   For instance EV_DISABLE/EV_ENABLE on a timer does not reset the
   timer.
   
   This is a very defensive version and if that works, it can be optimized
   some more.

2006-08-20 16:35  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Heavy-duty work on kqueue acceptor.

2006-08-20 16:35  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Add some debugging

2006-08-20 16:34  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Remove unused variable.

2006-08-20 15:12  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Use TxHeader for pipe backend.

2006-08-20 15:12  phk

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Don't chat up non-running childs.

2006-08-20 15:11  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Make sure the returns have some value.

2006-08-20 15:11  phk

 * trunk/varnish-cache/lib/libvarnish/cli_common.c:

   Assert that the cli status is valid

2006-08-20 14:53  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   pid -1 is not our child

2006-08-20 14:53  phk

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Fix malloc bug.

2006-08-20 13:39  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   New defaults:
   5 sec session timeout
   60 sec thread pool timeout

2006-08-20 13:38  phk

 * trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Make autostart a tweakable parameter, this is useful for debugging

2006-08-20 12:15  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Pull out up to 20 kevents at time instead of just one.

2006-08-20 11:19  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Respect lower pool limit dynamically

2006-08-20 07:32  phk

 * trunk/varnish-cache/bin/varnishhist/varnishhist.c:

   Remember to open the shmlog

2006-08-20 07:27  phk

 * trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishhist,
   trunk/varnish-cache/bin/varnishhist/Makefile.am,
   trunk/varnish-cache/bin/varnishhist/varnishhist.c,
   trunk/varnish-cache/configure.ac:

   Add varnishhist(1) a program that shows the responsetime as a curses
   histogram.

2006-08-20 07:27  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c:

   Add note that send_timeout has DELAYED effect

2006-08-20 07:26  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Make sure we have predictable column numbers by printing '-' if it
   is neither classified as client or backend.

2006-08-19 21:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Make the session timeout and send timeout tweakables.

2006-08-19 21:32  phk

 * trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/include/cli.h:

   Implement the first load of tweable parameters

2006-08-19 20:28  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_param.c,
   trunk/varnish-cache/include/cli.h:

   Add two new CLI commands: param.set and param.show.
   
   Eliminate requirement that "help" be first, I was just lazy I guess.

2006-08-19 20:16  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   cleanup

2006-08-19 20:15  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   We have a number of adjustable parameters, things like "default TTL" which
   should be adjustable at runtime.
   
   We need to make adjustments in such a way that a restart of the child also
   uses the new paramters.
   
   We can either do this by parsing the CLI in both mgt+child and have both
   update their private copy, or we can parse it only in one of them and
   update a shared copy.
   
   We opt for the latter method.
   
   Add a "struct params" which holds the adjustable parameters and put on
   in the shmlog segment, between struct shmloghead and the round-robin
   buffer.
   
   Move parameters from heritage to params.
   
   We put it there without exposing it in struct shmloghead which is
   the public view of the shared memory because we do not want to make
   it a public API or even to tempt people to think that it is one.
   
   Now I just need to add the CLI functions to actually twiddle the
   parameters.

2006-08-19 19:46  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Don't re-mmap the shmlog in the child, we already did it in the management
   process and the inherited copy is perfectly fine to use.

2006-08-18 20:07  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Respect and clear TAG also on flush

2006-08-18 19:53  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   Do a better job on Connection: header processing in client requests.
   
   Add a flag field for each HTTP header and define a bit HDF_FILTER
   to mean "filter this out", and initialize to zero all relevant
   places.
   
   If HDF_FILTER is set, do not copy the header across when filtering.
   
   Run through Connection: header (if present) and set HDF_FILTER on
   any header that matches a word in the contents.
   
   If we are not HTTP/1.1 and have no Connection header, we close
   the session when this reqest is done.
   
   If we have a Connection header, we respect that.

2006-08-18 19:10  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Set REG_NOSUB for speed

2006-08-18 18:16  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Remember to clear match bit

2006-08-18 18:14  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Make it possible to select which requests we want to see in
   ordered mode. For instance
   ./varnishlog -o rxurl foo
   will only show requests that match the regexp "foo" on the rxurl field

2006-08-18 18:00  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Turn the "invcl" array into a flag array so we can put more stuff there.

2006-08-18 16:04  phk

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Deeper listenqueue for HTTP sockets

2006-08-15 10:38  des

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Correct inverted test in If-Modified-Since logic. This should fix the
   "stale front page" problem that has plagued VG.

2006-08-15 10:36  des

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Fix a bug in previous commit: an extra CR LF was inserted after the Date
   header in a 304 response.

2006-08-15 07:55  des

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Better 304 responses: include a Date header, and send the correct
   Last-Modified value.

2006-08-13 11:38  des

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:

   Implement the "error" VCL keyword:
   
   - add fields to struct sess where VRT_error can store the error code and
   message
   - modify cnt_error() to pass these fields to RES_Error(), then clear them
   - modify RES_Error() (and the entire chain) to accept a third argument
   giving an explanation of the error.
   - have RES_Error() reset the worker before writing the error document, to
   make sure wfd is set.
   
   fixes: #4

2006-08-11 20:47  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   When -b and -c given, supress "other" messages.

2006-08-11 20:46  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   fix formatting glitches in -o mode

2006-08-11 20:43  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Also mark as client on ReqStart

2006-08-11 20:34  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Make lack of -d option work as expected.

2006-08-11 20:28  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Drop the -h option, it never really worked out.
   
   Use the new libvarnishapi facilities to structure code better.

2006-08-11 20:24  phk

 * trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Improve the shmlog facilities.
   
   Move the sleeping and timing out into the library so we do not
   have to repeat it in all apps. Should we ever find an app
   that needs something else, we will cater for it then.
   
   Add VSL_Dispatch() which calls a (supplied) function (pointer) for each
   record. Additional useful information is passed as arguments, such
   as classification (backend/client/other) etc.
   
   Add a default handler for printing a record.
   
   Add VSL_Select() where the application can specify tags that are mandatory
   and which should not be subject to -i/-x/-I/-X/-b/-c filtering.
   
   Be more frugal with memory.

2006-08-11 14:45  des

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Dirty hack: strip the leading "::ffff:" from v4-to-v6-mapped addresses.

2006-08-11 14:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt_re.c:

   Assert regexp != NULL

2006-08-11 14:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt_re.c:

   A NULL pointer does not match a regexp

2006-08-11 14:09  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Use 1:1 for hashbucket:mutex ratio

2006-08-11 13:41  phk

 * trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add -T <telnetport> option.

2006-08-11 11:23  phk

 * trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h:

   Use the already decoded CSTR where applicable and use
   EncString() to encode strings for C source usage.

2006-08-11 11:22  phk

 * trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Until we know of a legitimate use for them, consider non !isgraph()
   %xx escapes an error.

2006-08-11 10:47  phk

 * trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Don't recognize '\' as magic in CSTR tokens, use %xx escapes instead.
   
   Add decoded string element to struct token.

2006-08-11 10:20  phk

 * trunk/varnish-cache/lib/libvcl/flint.lnt:

   Improve flexelint setup

2006-08-11 10:17  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   More meat, and even more debug code. I am free()'ing stuff that does
   not exsist.
   
   Strugling with the pointers and strings, since they obviously are
   "bleeding" from one to another.
   I take that as a clear sign of not allocating and freeing right.

2006-08-11 08:41  des

 * trunk/varnish-cache/ChangeLog:

   Regenerate.

2006-08-11 08:40  des

 * trunk/varnish-cache/svn2cl.xsl:

   Widen left and right margins, and add a blank line between the paths and
   the message.

2006-08-11 08:35  des

 * trunk/varnish-cache/svn2cl.xsl:

   Print the message separately from the paths to avoid strange wrapping.

2006-08-11 08:34  des

 * trunk/varnish-cache/svn2cl.xsl:

   This is the XSL stylesheet used to generate the ChangeLog.

2006-08-11 08:25  des

 * trunk/varnish-cache/Makefile.am:

   Include LICENSE and autogen.sh in the dist tarball.

2006-08-11 08:25  des

 * trunk/varnish-cache/lib/libcompat/Makefile.am:

   Don't install libcompat.a.

2006-08-11 08:24  des

 * trunk/varnish-cache/INSTALL, trunk/varnish-cache/README:

   Add a README and installation instructions.

2006-08-11 07:35  phk

 * trunk/varnish-cache/include/http_headers.h:

   Don't filter Cache-Control out in replies from backend.

2006-08-11 07:35  phk

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Fix protocol family selection logic to also work on
   a FreeBSD machine with now IPv6.
   
   Remember to also free the addrinfo in case of success.

2006-08-11 07:33  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Bail if we don't get a listening socket.

2006-08-11 07:12  phk

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Missed one: Only include compat headers if necessary

2006-08-11 07:11  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/flint.sh,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Pull in ../../config.h when running flexelint.
   
   Only include compat headers if we need them.

2006-08-11 07:03  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Fix indentation

2006-08-11 07:02  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Remove unused variable.

2006-08-11 07:01  phk

 * trunk/varnish-cache/bin/varnishd/flint.sh:

   Point at KQUEUE version of acceptor by default.

2006-08-11 07:01  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Fix an assert so it actually has a chance of firing: (an unsigned is
   always >= 0)

2006-08-10 13:03  des

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Rewrite pass_chunked().

2006-08-10 11:48  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Got the requesttime right this time.
   
   I am noticing free()'s that are freeing empty variables/pointers. Have
   to find where is happens.
   Also noticing IP adresses not set correctly.
   
   Still load of debugcode.

2006-08-10 11:10  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Updated to work with new inner workings (ReqStart, ReqEnd, sbuf
   replacement etc).
   
   Code now compiles.

2006-08-10 08:56  des

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   FreeBSD needs <netinet/in.h> for IPPROTO_IPV6 and IPV6_V6ONLY.

2006-08-10 07:38  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Added some more meat to the program. Loads of debug code still on.
   
   Next step is to add the correct time. It's a bit tricky, and I haven't
   gotten it right just yet.

2006-08-09 14:49  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/configure.ac:

   Add an epoll()-based acceptor for Linux 2.6. Simple empirical tests
   indicate
   that epoll() performs significantly better than poll() (less CPU usage).

2006-08-09 12:38  des

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Clear reference to backend when we release our VCL reference.

2006-08-09 11:24  des

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c:

   Add support for using separate backends for separate virtual hosts:
   
   - remove the obj.backend variable, which is not connected to anything.
   - define a req.backend variable and implement l/r functions for it
   - complete / correct support for setting / comparing backend values

2006-08-09 11:22  des

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   Cosmetic: redefine HTTP_HDR_* as an enum and rename MAX_HTTP_HDRS to
   HTTP_HDR_MAX.

2006-08-09 09:36  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Rewrite open_tcp(): use only one listening socket. Try for a combined
   IPv6 / IPv4 socket; if IPv6 is not available, fall back to an IPv4 socket.

2006-08-08 14:52  des

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   While FreeBSD defaults to MAP_SHARED, Linux requires either MAP_SHARED or
   MAP_PRIVATE to be specified. Do so.

2006-08-08 14:00  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/configure.ac:

   Autodetect the need to link against libdl for dlopen().

2006-08-08 12:57  des

 * trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/compat/setproctitle.h,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/setproctitle.c:

   Add a setproctitle() stub to libcompat.

2006-08-08 12:57  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   #include "compat/srandomdev.h" for srandomdev()

2006-08-08 12:55  des

 * trunk/varnish-cache/include/compat/vis.h,
   trunk/varnish-cache/lib/libcompat/vis.c:

   Expand keywords.

2006-08-08 12:46  des

 * trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/configure.ac:

   #include <sys/vfs.h> for fstatfs if it is available.

2006-08-08 12:45  des

 * trunk/varnish-cache/configure.ac:

   Now that we define _GNU_SOURCE, the asprintf() / vasprintf() hack is no
   longer required.

2006-08-08 12:42  des

 * trunk/varnish-cache/configure.ac:

   Defining _GNU_SOURCE gives us native asprintf() and strptime() on glibc
   systems, and has no effect on FreeBSD.

2006-08-08 12:31  des

 * trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishtop/Makefile.am,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/compat/vis.h,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/vis.c:

   Bring in FreeBSD's version of vis(3), strvis(3) and strvisx(3).

2006-08-08 12:15  des

 * trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/compat/srandomdev.h,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/srandomdev.c:

   Add a simple srandomdev() implementation inspired by the one in FreeBSD.

2006-08-08 09:15  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   The correct header for poll() is <poll.h>, not <sys/poll.h> like the Linux
   man page says (poll() is an XSI extension in SUSv[23])

2006-08-08 07:47  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/configure.ac:

   Autodetect the availability of kqueue() and / or poll().

2006-08-08 07:47  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   #include "libvarnish.h" for varnish_version().

2006-08-08 07:36  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Add back sendfile support (under #ifdef HAVE_SENDFILE) but don't engage
   it for small objects on the suspicion that it has highish setup cost.

2006-08-08 07:17  des

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/compat,
   trunk/varnish-cache/include/compat.h,
   trunk/varnish-cache/include/compat/asprintf.h,
   trunk/varnish-cache/include/compat/strlcat.h,
   trunk/varnish-cache/include/compat/strlcpy.h,
   trunk/varnish-cache/include/compat/vasprintf.h,
   trunk/varnish-cache/lib/libcompat/asprintf.c,
   trunk/varnish-cache/lib/libcompat/strlcat.c,
   trunk/varnish-cache/lib/libcompat/strlcpy.c,
   trunk/varnish-cache/lib/libcompat/vasprintf.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c:

   Split compat.h into one header per function to avoid issues with e.g. the
   vasprintf() prototype needing <stdarg.h> even when it isn't used.

2006-08-08 07:15  des

 * trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/Makefile.am:

   varnish{ncsa,stat} also need librt.

2006-08-08 07:03  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/configure.ac:

   Attempt to detect the availability of RSA's MD5 implementation, and the
   need to link against libmd to get it.
   Attempt to detect the need for linking against librt to get
   clock_gettime().

2006-08-08 07:01  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Fix braino

2006-08-08 06:39  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Default to 4096 buckets and 256 mutexes

2006-08-08 06:38  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Use crc32 hash by default, MD5 is a compile time option

2006-08-08 06:37  phk

 * trunk/varnish-cache/bin/varnishd/flint.lnt:

   lbv_assert never returns

2006-08-07 21:08  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   64bit changes

2006-08-07 21:01  phk

 * trunk/varnish-cache/configure.ac:

   Add -Wformat and remove -fno-inline which disables it.

2006-08-07 21:01  phk

 * trunk/varnish-cache/lib/libvarnish/assert.c:

   Fix printf format error

2006-08-07 20:50  phk

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/configure.ac:

   Update to new shmlog tag

2006-08-07 20:47  phk

 * trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Eliminate use of extensible printf

2006-08-07 20:24  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Improve the "-d" and "-d -d" facilities.
   
   When we close a CLI and it had fd# 0 and/or fd#1, reopen these
   as /dev/null so the will not be reused for the CLI pipe to the
   child on next restart, otherwise stdout/stderr output from the
   manager would get sent there and confuse the clients CLI reader.
   
   Don't double free a pointer to the CLI buffer.
   
   Accept non-zero results from cli_readres() errors are non-fatal.
   
   Use stderr more consistently for manager debugging.

2006-08-07 18:33  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   An assert to catch silly errors.

2006-08-07 17:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Rename SHMlog tags for consistency
   XID -> ReqStart
   ReqServTime -> ReqEnd

2006-08-07 17:18  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Remove printf extensions used for development debugging

2006-08-07 17:18  phk

 * trunk/varnish-cache/include/libvarnish.h:

   Make assert do the right thing

2006-08-07 17:15  phk

 * trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Clean up #includes

2006-08-07 17:10  phk

 * trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/assert.c:

   Call __assert() lbv_assert() instead.

2006-08-07 17:08  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/lib/libvarnish/assert.c:

   quench warnings related to libvarnish.h

2006-08-07 16:45  des

 * trunk/varnish-cache/configure.ac:

   Don't trust the documentation - when it says "additional headers", it
   actually means "additional code to place before main() in the test program"

2006-08-07 16:42  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishtester/varnishtester.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/assert.c:

   Add our own assert in libvarnish.h
   
   Include libvarnish.h from cache.h and mgt.h

2006-08-07 16:29  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   #include "libvarnish.h" for varnish_version().

2006-08-07 16:26  des

 * trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c:

   #include "compat.h" for asprintf().

2006-08-07 16:24  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   vsb.h is not a system header.

2006-08-07 16:23  des

 * trunk/varnish-cache/bin/varnishtop/varnishtop.c:

   #include "libvarnish.h" for varnish_version().

2006-08-07 16:23  des

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   #include "compat.h" for asprintf(). Sort includes.

2006-08-07 16:20  des

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Define INFTIM if it isn't already.

2006-08-07 16:20  des

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Spell SIZE_MAX correctly.

2006-08-07 16:17  des

 * trunk/varnish-cache/bin/varnishd/mgt_event.c:

   Define INFTIM if it isn't already.

2006-08-07 16:17  des

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   #include <compat.h> for asprintf().

2006-08-07 16:15  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Handle CLI trouble with the childproc

2006-08-07 16:14  phk

 * trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/lib/libvarnish/cli_common.c:

   Add CLIS_COMMS errno (400) and return an error text as well.

2006-08-07 16:11  des

 * trunk/varnish-cache/bin/varnishd/tcp.c, trunk/varnish-cache/configure.ac:

   Check whether we have accept filters before trying to use them.

2006-08-07 16:05  phk

 * trunk/varnish-cache/lib/libvarnish/cli_common.c:

   Handle read errors on the cli pipes.

2006-08-07 15:54  des

 * trunk/varnish-cache/configure.ac:

   Improve descriptions of HAVE_ASPRINTF / HAVE_VASPRINTF.

2006-08-07 15:54  phk

 * trunk/varnish-cache/lib/libvarnish/vsb.c:

   Quench warnings.

2006-08-07 15:51  des

 * trunk/varnish-cache/include/compat.h,
   trunk/varnish-cache/lib/libcompat/vasprintf.c:

   My idiocy knows no bounds. Make sure this actually builds.

2006-08-07 15:47  des

 * trunk/varnish-cache/configure.ac:

   Improve detection of the presence and usability of asprintf() /
   vasprintf().

2006-08-07 15:42  des

 * trunk/varnish-cache/include/compat.h:

   paste-o.

2006-08-07 15:24  des

 * trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/compat.h,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/asprintf.c,
   trunk/varnish-cache/lib/libcompat/strlcat.c,
   trunk/varnish-cache/lib/libcompat/strlcpy.c,
   trunk/varnish-cache/lib/libcompat/vasprintf.c:

   Add implementations of asprintf(3) and vasprintf(3).

2006-08-07 15:09  des

 * trunk/varnish-cache/include/libvarnish.h:

   Relucantly include <time.h> for time_t. We'll have to clean up our header
   files at some point.

2006-08-07 15:08  des

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Remove redundant definition of __assert().

2006-08-07 15:00  des

 * trunk/varnish-cache/include/libvarnish.h:

   TIM_{format,parse}() are used unconditionally, so declare them
   unconditionally.

2006-08-07 15:00  des

 * trunk/varnish-cache/bin/varnishd/cache.h:

   Sort includes, add <stdint.h> for uint64_t.

2006-08-07 14:55  des

 * trunk/varnish-cache/lib/libvcl/vcc_compile.c:

   Eliminate __unused.

2006-08-07 14:52  des

 * trunk/varnish-cache/lib/libvarnish/cli_common.c:

   Sort includes, add <stdint.h> for uintptr_t.

2006-08-07 12:42  des

 * trunk/varnish-cache/lib/libvarnish/vsb.3:

   Define str-Lb-libvarnish so ".Lb libvarnish" will work. This should be in
   a shared file somewhere with some soelim magic in the Makefile, but don't
   bother right now - the file isn't installed anyway.

2006-08-07 12:35  des

 * trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/version.c:

   Add a -V option (display version and exit) to all programs.

2006-08-07 11:09  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/bin/varnishtop/Makefile.am,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/sbuf.h, trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vsb.h,
   trunk/varnish-cache/lib/Makefile.am, trunk/varnish-cache/lib/libsbuf,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/cli_common.c,
   trunk/varnish-cache/lib/libvarnish/vsb.3,
   trunk/varnish-cache/lib/libvarnish/vsb.c,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Fold libsbuf into libvarnish, with s/sbuf/vsb/g.

2006-08-07 10:46  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Timeout pipe connections after 600 seconds.

2006-08-07 10:40  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Use a 600 second timeout, 120 second is too little.

2006-08-07 09:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Set SO_SNDTIMEO to 120 seconds

2006-08-07 08:42  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   First step of slow client handling: Lose the stevedore function
   for sending and instead record the fd+off_t in the storage object.
   
   This eliminates sendfile from storage_file.c, next step is to put
   it back in the generic code in cache_response.c

2006-08-07 05:52  des

 * trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/lib/libvarnish/cli_common.c:

   Update #include directives.

2006-08-07 05:49  des

 * trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/miniobj.h,
   trunk/varnish-cache/include/stats.h,
   trunk/varnish-cache/include/varnish/assert.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_debug.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_log.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_util.c:

   Expand keywords.

2006-08-07 05:49  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/common_cli.c,
   trunk/varnish-cache/bin/varnishd/common_cli.h,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/cli_common.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/cli_common.c:

   Move common_cli.[ch] out of varnishd, and rename them to cli_common.[ch].

2006-08-07 05:47  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am:

   List headers in noinst_HEADERS instead of SOURCES.

2006-08-07 00:21  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Fresh start after study of output from varnishlog -o.
   
   First off is IP adress logging and clearing.

2006-08-06 17:00  des

 * trunk/varnish-cache:

   Add compile to svn:ignore.

2006-08-06 16:55  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Make
   -w -
   work as expected.

2006-08-06 15:02  des

 * trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishtester/Makefile.am,
   trunk/varnish-cache/bin/varnishtop/Makefile.am,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libsbuf/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnishapi/Makefile.am,
   trunk/varnish-cache/lib/libvcl/Makefile.am:

   Systematically include config.h.

2006-08-06 14:33  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am:

   Forcibly include config.h.

2006-08-06 13:51  des

 * trunk/varnish-cache/configure.ac:

   Change version to "trunk" until I can figure out a way to have it reflect
   the current date.

2006-08-06 13:49  des

 * trunk/varnish-cache/configure.ac:

   Include -pipe in CFLAGS.
   Reduce optimization level to -O when debugging.

2006-08-06 12:51  des

 * trunk/varnish-cache:

   Adjust directory properties.

2006-08-06 12:49  des

 * trunk/varnish-cache/bin/varnishlog,
   trunk/varnish-cache/bin/varnishncsa,
   trunk/varnish-cache/bin/varnishstat,
   trunk/varnish-cache/bin/varnishtester,
   trunk/varnish-cache/bin/varnishtop, trunk/varnish-cache/lib/libcompat,
   trunk/varnish-cache/lib/libsbuf, trunk/varnish-cache/lib/libvcl:

   Adjust directory properties.

2006-08-06 12:26  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/Makefile.am:

   Add missing headers and man pages.

2006-08-06 12:26  des

 * trunk/varnish-cache/autogen.sh:

   We no longer have any CONFIG_SUBDIRS.

2006-08-06 12:25  des

 * trunk/varnish-cache/include/Makefile.am:

   Add missing headers.

2006-08-06 12:23  des

 * trunk/varnish-cache/Makefile.am:

   Umm, *really* retire libevent.

2006-08-06 12:23  des

 * trunk/varnish-cache/Makefile.am, trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/contrib:

   Retire libevent.

2006-08-06 12:20  des

 * trunk/varnish-cache/bin/Makefile.am, trunk/varnish-cache/configure.ac:

   Fully disconnect varnishtester.

2006-08-06 00:44  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   I have realized that I have major structure problems. I will have to
   study varnishlog output a bit more to understand it better.
   
   May wanna start clean again, and use hardearned knowledge to make
   better and more robust structure.

2006-08-05 22:43  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Checks show that my IP adress checker is very restrictive and probably
   deletes other loglines. We still bleeds null lines also.
   
   This will have to be cleaned up.

2006-08-05 22:12  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Loglines with no IP should no longer appear. That also cleared all
   lines containing a null. Not sure if my check for IP is to harsly
   implemented and cleans to much.

2006-08-05 21:35  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Centralized the stringwriting at last, also started memory cleanup.

2006-08-05 21:11  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Added user, loginname, statuscode (200, 304 etc.), byte and referer to
   make a logline compliant. User and loginname is hardcoded. Referer and
   User-agen is unclean. Timecode is not working. This version leaks
   memory bigtime, and is not ready for alpha yet.

2006-08-05 20:52  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   For consistency: Go to deliver state instead of delivering locally.

2006-08-05 18:11  phk

 * trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:

   Make vcl methods call their defaults as a last resort.
   
   Fix the location table so it knows about the default code too.

2006-08-05 17:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   And that is not a good idea either.

2006-08-05 17:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   This was not a valid test.

2006-08-05 17:04  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Add some undocumented code to look for something that worries me.

2006-08-05 16:41  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Issue error message for CLI::start and CLI::stop if child is
   not in a legal state for command.

2006-08-05 16:32  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Also trap SIGTERM

2006-08-05 16:31  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   More work on the debug stunt

2006-08-05 15:55  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Plug memory leaks related to starting/stopping child.

2006-08-05 15:40  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Replace client_should_run with a 5 state enum to avoid races if multiple
   CLI sources yell at the same time.

2006-08-05 15:38  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Bail if the cli pipe is not ready

2006-08-05 15:38  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Polish the debugstunt and make it possible to avoid it.

2006-08-05 15:35  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c:

   We don't disturb ourselves.

2006-08-05 14:24  phk

 * trunk/varnish-cache/bin/varnishd/common_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   More defensive coding and a couple of bugs less.

2006-08-05 14:22  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   More defensive coding.

2006-08-05 12:45  phk

 * trunk/varnish-cache/bin/varnishd/common_cli.c,
   trunk/varnish-cache/bin/varnishd/common_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Add a timeout to reads from the child CLI pipe so we don't hang
   for ever.

2006-08-05 12:24  phk

 * trunk/varnish-cache/bin/varnishd/flint.lnt:

   Improve.

2006-08-05 12:24  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Style cleanup.
   
   remove two unused variables.

2006-08-05 12:24  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Remove unused include
   
   Fix function arg type

2006-08-05 12:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Make sanity check of binheap permanent and fix style accordingly.

2006-08-05 12:23  phk

 * trunk/varnish-cache/bin/varnishd/common_cli.c:

   Remove unused include
   
   free buffer on error.

2006-08-05 12:22  phk

 * trunk/varnish-cache/bin/varnishd/cache_cli.c:

   Make sure we don't overflow the line buffer
   
   Remove unused #include

2006-08-05 12:20  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Remove unused "ip" from backend.
   
   Make VCL_Load static, and give it a NULL check.

2006-08-05 12:19  phk

 * trunk/varnish-cache/bin/varnishd/common_cli.h:

   Cleanup unused stuff

2006-08-05 12:19  phk

 * trunk/varnish-cache/bin/varnishd/mgt.h:

   Remove prototypes for no longer existing functions

2006-08-05 12:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Remove unused includes

2006-08-05 12:17  phk

 * trunk/varnish-cache/bin/varnishd/flint.sh:

   don't search libevent for includes

2006-08-05 12:17  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c:

   style fix

2006-08-05 12:16  phk

 * trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Rename struct vcls to vclprog

2006-08-05 11:44  phk

 * trunk/varnish-cache/bin/varnishd/cli_common.c:

   remove old file

2006-08-05 11:16  phk

 * trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Change manager to use mgt_event.h instead of threads to be lazy thread
   developer compatible.
   
   POSIX, no surprise, doesn't really tell what should happen to a threaded
   process which forks and consequently implemenations vary somewhat,
   from Solaris which seems to Do The Right Thing, via Linux where it
   works "most of the time" and to FreeBSD which more or less actively
   sabotages any such attempt.
   
   Grin and live with it...

2006-08-05 11:13  phk

 * trunk/varnish-cache/bin/varnishd/cache_cli.c:

   Remove pthread.h include, it's included in cache.h

2006-08-05 11:12  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c:

   Remove debugging printfs

2006-08-05 11:08  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c:

   More bugfixes

2006-08-05 11:07  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   Add assert

2006-08-05 10:31  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h:

   bugfixes

2006-08-05 09:27  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h:

   Add signal support.

2006-08-05 08:49  phk

 * trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h:

   bugfixes

2006-08-05 08:19  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/mgt_event.c,
   trunk/varnish-cache/bin/varnishd/mgt_event.h:

   Add a miniature event engine based on poll(2).
   
   It's general enough to find other uses, but right now it's only for
   the manager process.

2006-08-05 01:17  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Got the IP, Request and User-Agent sorted out. Working on the time

2006-08-04 20:03  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Initialize all directions to "opposite" for -b and -c to avoid
   spurious first entries.

2006-08-04 19:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Use id for printing

2006-08-04 19:36  phk

 * trunk/varnish-cache/include/stat_field.h:

   Stats field changes

2006-08-04 19:36  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   More comprehensive performance stats and a few asserts, just in case.

2006-08-04 11:10  phk

 * trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c:

   Now that we keep track of loaded VCLs in the manager, we might
   as well allow their manipulation also when the child is not
   running.

2006-08-04 10:54  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/include/cli.h, trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl:

   Redo VCL program handling.
   
   Keep track of all loaded VCL programs in the manager and tell the
   child to load them via VCL.
   
   Don't start he acceptor thread until a "start" command cones down
   the CLI.
   
   XXX: Right now we leak stuff when a VCL program is dicarded

2006-08-04 10:23  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Redo our management of compiled VCL programs:
   
   Take default_vcl out of heritage.
   
   Keep track of all compiled VCL files and delete them at
   exit.
   
   After starting child, use CLI to load all vcl programs
   and then issue "start" via the CLI.
   
   In the cacher, don't start the acceptor until we get
   a start command.

2006-08-04 09:19  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Move VCL compiler related stuff to mgt_vcc.c

2006-08-04 09:06  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Remove old cli related stuff, it now lives elsewhere

2006-08-04 09:06  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   reimplement CLI stats

2006-08-04 07:21  phk

 * trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Implement CLI ping in manager, this is a "per hop" command.
   
   Add mgt_cli_askchild() function to poke the CLI interface to
   the child.
   
   Use it to ping the child every second.

2006-08-04 07:20  phk

 * trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/common_cli.c,
   trunk/varnish-cache/bin/varnishd/common_cli.h:

   Move cli_func_ping to common_cli

2006-08-04 07:19  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c:

   SIGCHLD has already been taken care of earlier.

2006-08-04 06:53  phk

 * trunk/varnish-cache/bin/varnishd/common_cli.c,
   trunk/varnish-cache/bin/varnishd/common_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/include/cli.h:

   Change the CLI protocol in a subtle but useful way:
   
   The first line of the response has a fixed format ("%-3d %-8u\n")
   and consequently fixed length (CLI_LINE0_LEN == 13).
   
   This makes parsing responses more efficient. Add a function
   in common_cli to do so.

2006-08-04 06:23  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   (Re)Implement passthru of cli commands, we can now talk with the
   cache process again.

2006-08-04 06:21  phk

 * trunk/varnish-cache/include/cli.h:

   Add CLIS_CANT status code for when something is valid but currently
   impossible.

2006-08-04 06:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_cli.c:

   Typo: write cli result to correct pipe.

2006-08-03 23:42  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Placed a new sbuf_clear at a more strategic place. It got cluttered
   when a host left without SessionClose of SessionReuse.

2006-08-03 22:01  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Got a workaround for IP adress fetching. If we connect logger while
   Varnish is running, we won't catch the IP from SessionOpen since it's
   already done that. Workaround is to catch the IP from SessionReuse if
   IP of session is NULL

2006-08-03 19:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Fix copy&paste bug in fetch_chunked.

2006-08-03 19:20  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Sanitycheck that the length of an object adds up, right when we
   fetch it.

2006-08-03 11:46  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Imlement stopping and restarting of child process.
   
   Not as useful as it will be yet, see ticket 22

2006-08-03 11:45  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Make the pipe-stunt debug process smarter.

2006-08-03 10:37  phk

 * trunk/varnish-cache/bin/Makefile.am:

   Take varnishtester out of the loop until it can be de-libevented

2006-08-03 10:37  phk

 * trunk/varnish-cache/bin/varnishd/mgt_cli.c:

   Add stop command as well.

2006-08-03 10:16  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Think I have found a program structure that works. Filling in bits to
   build logline.

2006-08-03 09:45  phk

 * trunk/varnish-cache/Makefile.am, trunk/varnish-cache/autogen.sh,
   trunk/varnish-cache/bin/varnishtester/Makefile.am:

   Remove libevent from the picture.

2006-08-03 09:45  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cli_common.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/cli_event.h,
   trunk/varnish-cache/bin/varnishd/common_cli.c,
   trunk/varnish-cache/bin/varnishd/common_cli.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/mgt_cli.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Rip out the old CLI handling and start over, more or less.
   
   Still bits missing.

2006-08-03 06:45  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_cli.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cli_event.h:

   Rework the cache process CLI handling:
   
   We are only accepting CLI from the pipes in heritage, so simply
   run a loop reading those, dispatching lines as we see them.
   
   Export CLI_cmds[] so that the management process can see it,
   we might as well take advantage of the shared binary where we can.

2006-08-02 22:53  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Added SessionReuse so I now write a logline for SessionClose and
   SessionReuse.

2006-08-02 22:33  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Starting to get the structure right (I think). Thx for the NULL on
   each string Poul-Hennning :)

2006-08-02 20:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Add an assert, just in case.

2006-08-02 20:54  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   Fix a bug when deleting items in the binheap

2006-08-02 19:12  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   log StatAddr with fd=0 to avoid out-of-order confusion

2006-08-02 18:17  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Allow ENOENT on removing kqueue events, a close will have drained
   them already.

2006-08-02 18:12  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Tell daemon(3) to not chdir in debugging mode so we can find our core
   dumps.

2006-08-02 17:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Enter pass mode through the front door.

2006-08-02 17:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   More asserts, sp->vbc this time.

2006-08-02 15:55  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Remember to clear sp->vbc

2006-08-02 13:28  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Don my plumbers outfit and twist a lot of pipes into shape:
   
   When -d(ebug) is specified we fork before calling daemon.
   
   The parent process becomes a miniature cat(1) program which connects
   stdin/stdout with the management process stdin/stdout.
   
   It also knows that SIGINT should be passed on to the management process
   in order to make it DTRT.
   
   Any other cause of death for this "debugger" process will (once I
   teach the CLI about it) not affect the running varnish and therefore
   it will be possible to start varnish in debugging mode, tweak things
   a bit and CTRL-D and leave it running in the properly daemon(3)'ed
   background.
   
   The reason for this rather complicated bit of pipework is that we
   can not call daemon(3) once we have started any threads (only the
   calling thread survives) and we would loose our parent relationship
   to the cache process also.

2006-08-02 12:05  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Typo: Also monitor remote sockets with the poll based acceptor.

2006-08-02 11:58  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c:

   Remove the libevent from the backend pool manager.
   
   Simplify the logic here while we're at it.

2006-08-02 11:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Add <stdarg.h> include

2006-08-02 11:17  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Remove unused struct.

2006-08-02 10:53  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Simplify backend connection memory management.

2006-08-02 10:40  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Replace libevent based acceptor with poll(2) based acceptor.

2006-08-02 09:34  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   Bite the bullet and write an alternate acceptor which uses kqueue
   directly instead of libevent.
   
   Degeneralize the header reading code in cache_http.c which seems to
   be cleaner anyway.
   
   An #ifdef at the top of cache_acceptor.c selects which implementation
   you want: libevent or kqueue.

2006-08-02 07:23  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Convert pipe to use poll(2) on the two filedescriptors it cares about
   and eliminate the per-workerthread event engine entirely.

2006-08-02 07:07  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c:

   I have nothing but circumstantial evidence that libevent is involved
   in the current stack corruption I see, but we might as well avoid
   using it where we can:
   
   Don't engage the eventengine when we talk to the backend, just call
   read(2) directly.

2006-08-02 04:57  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c:

   More miniobj paranoia

2006-08-01 19:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   More miniobj checks

2006-08-01 17:54  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   More miniobj checks

2006-08-01 16:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt:

   More miniobj checks

2006-08-01 16:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   more miniobj checks

2006-08-01 15:09  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c:

   Flinting.

2006-08-01 15:08  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Make 32bit limitation work better.

2006-08-01 15:08  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Fixx off by one error.

2006-08-01 14:53  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Add miniobj checks om SMF and STORAGE

2006-08-01 12:38  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   This is getting too longhaired: Give backend connections another
   http header which we can use to build the object headers in.

2006-08-01 12:04  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Experiment: don't use req's workspace to build object http header.

2006-08-01 09:39  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Record timestamp when we have received completed HTTP request header,
   and define this as the "start of request timestamp".
   
   Define "end of request timestamp" as when we are ready to transmit
   HTTP header back.
   
   SHMlog the start and difference between start and stop with ReqServTime
   tag.
   
   Keep track of idle sessions using CLOCK_MONOTONIC to avoid trouble
   here should our clock get stepped.

2006-07-31 22:21  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Added some more toying with the data. All is still a mess, and I am
   not sure of structure yet. PHK is also doing changes in areas that
   will be needed.

2006-07-31 22:09  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Always NUL terminate shmlog entries.

2006-07-31 21:49  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Create three groups of seven SHMlog tags:
   
   {Rx,Tx,Obj}{Request,Response,Status,URL,Protocol,Header,LostHeader}
   
   And log http header munching accordingly.

2006-07-31 21:46  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Remove unused variable

2006-07-31 21:37  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   addr might be NULL if we are called from the prefetcher.

2006-07-31 21:04  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Add http_ClrHeader() and cure an unintended bug-oid its use exposes:
   we checked if the request is a GET long after we should have.

2006-07-31 20:38  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Add a http_SetResp() function for constructing HTTP responses (like 304).
   
   Eliminate the header index from http_SetHeader() which is no unused.

2006-07-31 20:27  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Log the headers we store in the object under ObjHeader so that
   we don't get two confusing batches of TxHeader in the sessions logentries.

2006-07-31 19:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Fix the dot-graph

2006-07-31 14:50  andersb

 * trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:

   Initial commit of real structure. This code will print the User-Agent.

2006-07-31 07:26  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Introduce http_SetHeader() for setting a http header to a const string,
   no need to waste time printf'ing in this case, and no need to waste
   workspace.

2006-07-31 07:13  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Don't fill more than half the workspace with received data, we need to
   have space for composing the reply as well.
   
   Without this fix, the entire workspace could be filled with pipelined
   requests and we would have no space to compose the reply.

2006-07-31 06:36  des

 * trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa,
   trunk/varnish-cache/bin/varnishncsa/Makefile.am,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.1,
   trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
   trunk/varnish-cache/configure.ac:

   Clone varnishncsa off of varnishlog. Anders will hack on it to produce
   NCSA-style (common / combined) logs.

2006-07-31 06:24  des

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Unbreak build.

2006-07-28 13:41  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   "HEAD" has 4 characters.

2006-07-24 10:13  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   remove this file (again)

2006-07-22 22:01  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   reorg a little bit.

2006-07-22 21:20  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Eliminate redundant args from stevedore->send()
   
   Have WRK_Write() and friends return number of bytes (we can't use
   WRK_Flush() as that may act on both header and body).
   
   Collect more stats.

2006-07-22 20:57  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h:

   Add per address, per session and total statistics.
   
   We (will) collect data in unlocked per workerthread accumulators
   and whenever the workerthread leaves the session, we charge the
   bill to the srcaddr (issuing a StatAddr shmrecord), to the session
   and to the global counters in the stats struct.
   
   When sessions die we issue a StatSess shmrecord.
   
   StatAddr and StatSess has the same format:
   address
   port (always zero for StatAddr)
   duration (seconds)
   #sessions
   #requests
   #pipe
   #pass
   #fetch
   #hdrbytes
   #bodybytes

2006-07-22 16:55  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Make sure there always is a Host: header in fetch requests.
   
   We fill it in with backend.hostname, but this may not be optimal
   (direct IP# etc etc) so VCL should be able to override it.

2006-07-22 16:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Action pass from vcl_hit() needs to go to STP_PASS

2006-07-22 16:15  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   Always use GET and HTTP/1.1 against the backend for fetch

2006-07-22 13:58  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   exit after error

2006-07-22 12:00  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:

   Implement regexp matching of strings in VCL.
   
   For now we default to REG_EXTENDED, but it might make sense
   to let the user control this flag and the case sensitivity.
   
   Another concern is the stringification of regexps, it may lead
   to backslash madness. Maybe we should define '...' string types
   also and do no backslash substitution in those at all.

2006-07-22 10:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:

   Change the acl syntax slightly: the ( ... ) should enclose all of
   the rule (ie: also ! and /mask if present).
   
   Implement matching for IPv4.
   
   Acl tests are shmlogged as follows (doc candidate):
   
   shmlog tag: VCL_actl
   
   "NO_MATCH $acl"
   client did not match access list $acl
   "FAIL $acl $rule"
   getaddrinfo(3) failed on $rule which had a '!'
   "MATCH $acl $rule"
   client matched $rule
   "NEG_MATCH $acl $rule"
   client matched negated (!) $rule

2006-07-22 10:35  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Store the socket address in the session

2006-07-22 09:38  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl:

   VCL compiler:
   add two sbufs for "init" and "fini" actions.
   
   VCL ACLs: Change syntax and implementation as follows.
   
   ACL Syntax now works the following way:
   
   acl $name {
   ! ( "myhost.com" ) ;
   "10.0.0.1" /8 ;
   }
   
   The '!' means not. If the address matches the rest of the rule
   the address does NOT match the acl and the search terminates here.
   
   Enclosing the string in paranthesis means that the rule will be ignored
   if the string cannot be converted to an address (with getaddrinfo).
   
   When a string can not be looked up, and is not enclosed in a
   paranthesis, a positive rule (ie: without !) will not match and a
   negative rule (with !) will match.
   
   A mask can always be supplied, no matter the style of the string
   given, so it is possible to do things like:
   
   { "fw.ourcompany.dom" / 24 }
   
   Which means "any host on the same /24 subnet as fw.ourcompany.dom".
   
   
   Unfortunately getaddrinfo() does not return a TTL for the results,
   in the future we may want to use some kind of timeout to refresh
   the lookups.

2006-07-22 08:02  phk

 * trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/Makefile.am,
   trunk/varnish-cache/lib/libvcl/vcc_acl.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c:

   Split IP/ACL compilation into vcc_acl.c

2006-07-21 22:12  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Unless the user specifies an explicit size, don't use more than 2GB
   on 32 bit architectures to avoid running out of address room
   
   Make FlexeLint happy.

2006-07-21 21:57  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Make FlexeLint happier

2006-07-21 21:42  phk

 * trunk/varnish-cache/autogen.phk:

   Drop this one now.

2006-07-21 21:28  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Implement TTL adjustment from VCL
   
   Log in shmem where the TTL came from (doc-candidate):
   
   696613561 RFC 900 1153517009 1153517014 1153517914 900 0
   | | | | | | | |
   | | | | | | | age
   | | | | | | max-age
   | | | | | Expires: header
   | | | | Date: header
   | | | "now"
   | | TTL relative to "now"
   | who set the TTL
   xid of object
   
   or
   
   696613561 VCL 20 1153517009
   | | | |
   | | | "now"
   | | TTL relative to "now"
   | who set the TTL
   xid of object

2006-07-21 21:13  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c:

   More VRT work.
   
   Use macros for trivial objects which are just a field in a struct.

2006-07-21 21:01  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vrt.h:

   Update VRT to minimal functional level again

2006-07-21 20:51  phk

 * trunk/varnish-cache/include/vrt_obj.h,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c:

   Use const char* for safety

2006-07-21 20:45  phk

 * trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/include/miniobj.h,
   trunk/varnish-cache/include/stat_field.h,
   trunk/varnish-cache/include/stats.h,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h:

   Update

2006-07-21 20:44  phk

 * trunk/varnish-cache/include/vrt_obj.h:

   This file is generated.

2006-07-21 20:43  phk

 * trunk/varnish-cache/lib/libvcl/Makefile.am,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_token.c:

   Automate generation of tables and prototypes for the objects which
   VCL programs can manipulate.

2006-07-21 18:12  phk

 * trunk/varnish-cache/lib/libvcl/Makefile.am,
   trunk/varnish-cache/lib/libvcl/vcc_compile.c,
   trunk/varnish-cache/lib/libvcl/vcc_compile.h,
   trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcc_obj.c,
   trunk/varnish-cache/lib/libvcl/vcc_priv.h,
   trunk/varnish-cache/lib/libvcl/vcc_token.c,
   trunk/varnish-cache/lib/libvcl/vcc_token_defs.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_priv.h,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Move things over to the correct "VCC" prefix.
   
   Split some stuff into separate files while we're at it.

2006-07-21 16:25  phk

 * trunk/varnish-cache/include/http_headers.h:

   update comment

2006-07-21 16:15  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Properly log TTL calculation to shmem

2006-07-21 16:06  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Fix formatting of responses.

2006-07-21 16:05  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Log TTL calculation on the right fd

2006-07-21 15:25  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Work on logtailer api a bit:
   
   By default, start at the last entry in shared memory. To dump the
   entire segment from the start, specify '-d' option.
   
   Terminate programs when '-r $file' reaches EOF

2006-07-21 12:18  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt:

   Cleanup

2006-07-21 12:08  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Magic check on struct vbe

2006-07-21 12:06  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Better name

2006-07-21 11:55  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/stat_field.h:

   Convert fetch, insert and deliver to use new HTTP header munging code.
   
   Remove sbuf from workerthread, it is only used in the Error handling
   now and it will probably not even survive that in the long run.

2006-07-21 10:44  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Make pipe use the new http manipulation.

2006-07-21 09:32  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/http_headers.h:

   HTTP header munging part (N of M)
   
   NB: Only pass mode (lightly) tested right now.
   
   Give up on the three element array per header and use a two element struct
   instead, it reduces obfuscation and removes risk of pointer fandango.
   
   Introduce #defined filtercontrol in http_headers.h, use them in a new
   field. Only Pass is there for now.
   
   Use the http-workspace for building headers instead of sbuf.
   
   Move uiovec handling to cache_pool.c where it more naturally belongs
   and so we can use it on both backends and sessions.
   
   Add http header munging functiosn for copying, printf'ing, filtering and
   writing headers.

2006-07-21 07:18  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Rename shmlog tags for headers to RxHeader and TxHeader that's more
   logical.
   
   Rename http_Init() to http_Setup() to avoid clash with HTTP_Init().
   
   Remove unused variable

2006-07-20 22:08  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Yet another refinement to the way we store and deal with HTTP headers.
   
   Record a triplet of {start, data, end} for all HTTP data items.
   
   This represents a regrettable uglification of the sourcecode, but
   most of it compiles out to constants and the runtime benefits will
   be worth it.
   
   Generate H_FOO magic strings for all the headers we know about.
   These strings have a length as first char and always ends in ':'.
   
   Also genereate H_FOO format strings in VCL compiler.
   
   Mandate (with assert) that header references happen using H_FOO strings.
   
   Make number of allowed HTTP headers a compile time constant (32)
   but make the workspace a run-time variable (4096).
   
   Introduce new SHM tag for dumping aborted HTTP protocol requests.

2006-07-20 15:10  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Add XXX comment

2006-07-20 14:46  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/include/stat_field.h:

   Keep an eye on deathrow

2006-07-20 14:40  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   More asserts

2006-07-20 14:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   We need to check the TTL here also, if a (sequence of) slow client(s)
   manages to hold the document referenced, the prefetcher may never
   get lucky with it and it will linger here much past last sell date.

2006-07-20 13:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Only reference srcaddr on first request on session

2006-07-20 13:39  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Be more paranoid about srcaddr

2006-07-20 13:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   upd

2006-07-20 13:29  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/include/stat_field.h:

   Keep track of active source addresses

2006-07-20 12:03  phk

 * trunk/varnish-cache/bin/varnishtop/varnishtop.c:

   Add -1 option that stops comparison after first field.
   
   Useful with commands like:
   
   varnishtop -i header -1
   varnishtop -i srcaddr -1
   
   where the variable part of the entry is less relevant.

2006-07-20 10:10  phk

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Show also average since start

2006-07-20 09:58  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Hmm, that was a bad idea.

2006-07-20 09:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Loop till we have everything.

2006-07-20 09:29  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Implement "If-Modified-Since" conditional queries

2006-07-20 08:29  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Remove explicit worker thread arguments.

2006-07-20 08:25  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Move the delivery functions from acceptor to response

2006-07-19 21:16  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/stat_field.h:

   Rework the worker thread pool logic slightly, we were leaking
   threads before.

2006-07-19 21:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/include/stats.h:

   Include a "start_time" timestamp in the stats and teach varnishstats
   to print it in curses mode.
   
   Some polishing and cleanup.

2006-07-19 20:07  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Use insert_pass in vcl_fetch() so we cache the uncacheability.

2006-07-19 20:06  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Don't explode on trim's to zero size.
   
   Real fix should (maybe) be to callers

2006-07-19 19:49  phk

 * trunk/varnish-cache/bin/varnishtop/varnishtop.c:

   Update only once per second.

2006-07-19 19:48  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Make sure width and precision arguments to printf %*.*s are ints.

2006-07-19 19:47  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Don't panic on NULL srcaddr, but revisit later when we know the
   details. Is it the Prefetcher ?

2006-07-19 19:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   Delete the right list item.

2006-07-19 19:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Don't bother determining if we should close if we already have done so.
   Also: we may not have valid headers if cache_http.c threw a 400.

2006-07-19 19:43  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Make sure hp->v is NUL terminated.

2006-07-19 12:37  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Use miniobj.h to catch pointer trouble

2006-07-19 12:36  phk

 * trunk/varnish-cache/include/miniobj.h:

   Add miniobj.h for debugging

2006-07-19 11:53  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Avoid the Error path for now.

2006-07-19 11:11  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   handle 302 for now.

2006-07-19 08:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Properly zero the worker structure when we start a thread.

2006-07-18 13:47  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   eliminate debugging

2006-07-18 13:19  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Delete binheap root by it's index.
   
   Expect a refcount of one (the one holding the object in the hash)

2006-07-18 13:18  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   Fix the Parent calculation

2006-07-18 12:46  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   Set the index of deleted elements to zero

2006-07-18 12:40  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   Move the root index from zero to one

2006-07-18 12:29  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Remove the deref/unbusy stuff from FetchBody() it's done in central.c

2006-07-18 12:28  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   Assert that object is busy when we call unbusy

2006-07-18 12:27  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   Use a void * for http_Read()'s buffer

2006-07-18 10:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Braino this time.

2006-07-18 10:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   typo

2006-07-18 10:45  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Add http_Read() which reads from a socket but soaks up any prefeched
   tail first and use it all the places where this logic was explicit
   before.
   
   Fix Refcounting on objects when we insert/deliver

2006-07-18 10:32  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Use bigger buffersizes for pass mode
   
   Terminate the sbuf with the reply headers properly.

2006-07-18 09:02  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c:

   Retire the http_GetReq(), http_GetURL() and http_GetProto() accessor
   functions now that struct http is out of the closet.

2006-07-18 08:52  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   polish

2006-07-18 08:51  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   zero means 'all' to http_GetTail()

2006-07-14 13:54  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   use space to separate host and port in -b

2006-07-14 13:52  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Use space to separate host and port in backend spec.
   
   Polish usage message a bit.

2006-07-14 13:33  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/steps.h:

   When during a lookup we encounter a busy object, queue the session on
   the objects waitinglist and disembark the worker thread so it can do
   something sensible in the mean time.
   
   This feature is unimportant in normal operation, but crucial to
   resource management if a popular URL suddenly takes a long time to
   reply from the backend.
   
   Without this bit if semi-nasty code, we would tie up one worker
   thread per client while waiting for the backend to come to it's
   senses.

2006-07-14 12:47  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c:

   Have the acceptor launch the session into STP_RECV

2006-07-14 12:45  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Use the fact that we have the worker thread in struct sess now.
   
   Move initial and final processing into cnt_recv() and cnt_done()

2006-07-14 12:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Have the states tell us if we are done yet with their return value,
   so that we can implement disembarking the worker thread of the object
   is busy.

2006-07-14 12:22  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/include/shmlog.h:

   Put a starttime in shmem so varnishstat can show average rates.

2006-07-14 12:12  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Flexelint'ing, found a spurious ';'

2006-07-14 12:05  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/include/shmlog.h:

   More SHM creation polishing

2006-07-14 11:44  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Better and more paranoid SHMEM creation logic

2006-07-14 11:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_session.c:

   propset Id

2006-07-14 11:20  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h:

   Change "client" to "srcaddr", it's more descriptive.
   
   Add srcaddr management and start charging bytes to the srcaddr.

2006-07-14 10:34  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Rework the way we do ascii representations of addresses

2006-07-14 10:16  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_session.c:

   Move session management to new file (cache_session, SES prefix) in
   preparation of adding client tracking.
   
   Move the iovec's from the session to the worker and give the session
   a pointer to the worker so we can avoid passing it around as argument.

2006-07-12 23:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/flint.sh,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/shmlog.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   More Flexelinting

2006-07-12 22:52  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/mgt_child.c:

   More flexelinting.
   
   No bugs so far.

2006-07-12 22:07  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Flexelint harder.

2006-07-12 22:01  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Give this file a flexelinting

2006-07-12 22:01  phk

 * trunk/varnish-cache/bin/varnishd/cache.h:

   Improve the INCOMPL() macro.

2006-07-12 20:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   More polishing.

2006-07-12 19:28  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Move sessmtx to cache_vcl.c and call it vcl_mtx.
   
   Clean up naming for consistency while here.

2006-07-12 15:07  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h:

   Implement "insert_pass" mode where we cache that an entity must be passed.

2006-07-12 14:13  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Make Pass possible from vcl_hit()

2006-07-12 13:28  phk

 * trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/steps.h,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Enable Id keyword

2006-07-12 13:28  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   First stab at implementing pass in vcl_miss()

2006-07-12 13:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   Add explanation for locking, some minor polishing.

2006-07-12 12:04  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h:

   Hash on both URL and Host header. If no host header, hash on URL twice.

2006-07-12 11:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Make Pass work again

2006-07-12 11:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Make pipe work again

2006-07-12 08:56  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Fix CLI "config.load"

2006-07-12 08:44  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   Always insert a backend when vcl is compiled.
   
   Respect '#' comments in script file.

2006-07-12 08:34  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Teach the VCL compiler about default functions, so that users will
   not have to copy&paste the default methods if they have no special
   requirements for a particular method.
   
   No such facility exists for backends, so a backend description is
   now the minumum VCL program.
   
   When we initialize the VCL compiler we hand it a piece of source code
   with the "default code", this must include definitions of all methods
   named with a "default_" prefix (ie: "default_vcl_recv" etc).
   
   During compilation we always compile this piece of source code in (after
   the user supplied VCL source).
   
   If the user did not provide a particular method, the default method is
   used instead. The user can also call the default method directly,
   for instance by:
   
   sub vcl_recv {
   if (req.http.Expect) {
   error;
   }
   call default_vcl_recv;
   }
   
   Later on, this could be expanded to allow other subroutines to be
   included in the default VCL for the users calling convenience.

2006-07-12 07:45  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   Pause after 'vcl' command

2006-07-11 21:35  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   EOF detection in libevent is buggy ?? Add exit cmd.
   
   Pause after cli until we see "OK"

2006-07-11 21:30  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   add a req command, various adjustments

2006-07-11 21:04  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   Add Pause() and Resume() to pace script execution

2006-07-11 21:01  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c:

   Add a printf when cached is ready for the benefit of varnishtester

2006-07-11 20:49  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   open and close commands

2006-07-11 20:37  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   A vcl keyword for loading a new config

2006-07-11 19:29  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   Add "cli" to tell varnishd things

2006-07-11 19:16  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   If the first char of the serve string is '!', close connection after
   sending string.

2006-07-11 19:10  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   Add a server facility to act as backend for varnish

2006-07-11 18:21  phk

 * trunk/varnish-cache/bin/varnishtester/varnishtester.c:

   Minimal ability to start and stop a varnishd

2006-07-11 18:16  phk

 * trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Give 'exit' CLI command some bite. we may want to be more careful
   later on.

2006-07-11 17:53  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Unbuffer stdout/stderr

2006-07-11 17:23  phk

 * trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishtester,
   trunk/varnish-cache/bin/varnishtester/Makefile.am,
   trunk/varnish-cache/bin/varnishtester/varnishtester.c,
   trunk/varnish-cache/configure.ac:

   Add stub varnishtester program

2006-07-11 16:31  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Start the cache process automatically, I've gotten tired of typing
   "start" :-)

2006-07-11 16:25  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Allow backend to be specified as "host:port" to -b

2006-07-11 16:17  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   add short descriptive comments to each state

2006-07-11 16:10  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Distribute code from FetchSession almost correctly

2006-07-11 16:03  phk

 * trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Add "insert_pass" action in VCL

2006-07-11 15:54  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   Make things work again by stuffing the old functions into the new
   state engine.

2006-07-11 15:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_center.c:

   This commit breaks warnish temporarily:
   
   Insert the new master state engine.
   
   A dot(1) graph is embedded in the source code and can be extracted
   with:
   
   sed -n '/^DOT/s///p' cache_center.c | dot -Tps > /tmp/_.ps

2006-07-11 13:31  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/steps.h:

   Add enum for major procesing steps

2006-07-11 12:31  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_center.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Start centralizing the flow of requests through varnish so we get
   one source file with the highest level of policy.

2006-07-11 12:30  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Make -b and -c less nonsensical when not specified

2006-07-11 12:00  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Pipe requests which come with an Expect header.
   
   XXX: document that
   error 417 "expectation failed"
   might be a more sensible policy.

2006-07-11 11:41  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.1:

   Document -b and -c, and bump date.

2006-07-11 11:36  phk

 * trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Add -b[ackend] and -c[lient] generic options to logtailers

2006-07-11 07:38  phk

 * trunk/varnish-cache/bin/varnishd/cache_response.c:

   Add 500 messages.

2006-07-11 07:30  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/stat_field.h:

   Split http_Dissect() into http_DissectRequest() and http_DissectResponse()

2006-07-11 06:30  des

 * trunk/varnish-cache/bin/varnishd/varnishd.1:

   Add cross-references and a commented-out STANDARDS section.

2006-07-11 06:28  des

 * trunk/varnish-cache/include/shmlog_tags.h:

   Add a note to update varnishlog(1) whenever this list changes.

2006-07-11 06:27  des

 * trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Add cross-references.

2006-07-11 06:26  des

 * trunk/varnish-cache/bin/varnishlog/varnishlog.1:

   Document the -C, -I, -X, -i, -x options.
   Add a list of log entry tags.
   Add cross-references to varnishd(1) and varnishstat(1).

2006-07-10 21:54  phk

 * trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishtop,
   trunk/varnish-cache/bin/varnishtop/Makefile.am,
   trunk/varnish-cache/bin/varnishtop/varnishtop.c,
   trunk/varnish-cache/configure.ac:

   Add varnishtop log-tailer.
   
   
   Try these:
   
   varnishtop -i url
   
   varhishtop -i header -C -I '^user-agent:'
   
   varhishtop -i header -C -I '^user-agent:' -X MSIE
   
   varhishtop -i header -C -I '^user-agent:.*MSIE'
   
   varhishtop -i header -C -I '^user-agent:.*java'
   
   You can also run them on the logfiles from the live test:
   
   zcat _vlog21.gz | varnishtop -r - -i header ...
   
   

2006-07-10 21:49  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Fix so that both -I and -X can be specified

2006-07-10 20:49  phk

 * trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Implement -C, -I <regex> and -X <regex> generic options

2006-07-10 20:27  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Add tag names array to libvarnishapi, everybody is going to need it.
   
   Implement -i tag[,tag ...] and -x tag[,tag ...] generic arguments.

2006-07-10 19:54  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Improve libvarnishapi interface to shared memory:
   
   Add function VSL_OpenStats() which directly returns a pointer
   to the varnish_stats structure.
   
   Add opaque VSL_data structure as handle to the log-tailer functions.
   
   Add generic argument parsing function for all log-tailers.
   
   Add support for generic "-r <file>" option.

2006-07-10 15:02  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/stat_field.h:

   More statistics about worker threads.

2006-07-10 14:52  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/stat_field.h:

   Rewrite the worker thread pool code.
   
   Assign prefix WRK to the worker pool.
   
   Introduce a struct workreq since the prefetcher (when it happens) will
   not have a session to pass in.
   
   The worker threads get a cond_var each and are hung from a list in
   most recently used order.
   
   When a request is queued and the worker thread list is not empty,
   tickle the cond_var of the first one.
   
   If no threads were availble the max number of threads is not reached,
   try to start another worker thread.
   
   If the max was reached or the start filed (likely due to out of memory)
   indicate overflow and let the existing pool deal with it.
   
   Create only the minimum requested number of threads initially.
   
   Allow specification of the timeout before a dynamic worker thread commits
   suicide to be specified with -w.
   
   Default parameters are -w1,UINT_MAX,10 {min, max, timeout}

2006-07-10 13:59  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   use explicit eventbase.

2006-07-10 13:58  phk

 * trunk/varnish-cache/contrib/libevent/event.c:

   Don't ever set current_base in our version of libevent in order to flush
   out any bugs it might cause.

2006-07-10 13:48  phk

 * trunk/varnish-cache/bin/varnishd/shmlog.c:

   Dump errno and strerror in assert

2006-07-10 12:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Rework the "connect to backend logic".
   
   Avoid calling getaddrinfo() for every connect by catching the result
   in the backend structure.
   
   Minimize number of socket/connect calls by caching the last good
   address in the backend structure.
   
   If all addresses in the cached getaddrinfo() result fails, call
   getaddrinfo() again (to catch DNS changes) and try the list again.

2006-07-10 11:24  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Move sockaddr->ascii conversion to tcp.c
   
   shmlog both ends of backend connections.

2006-07-10 10:56  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.h,
   trunk/varnish-cache/bin/varnishd/common.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/shmlog.c:

   Be more consistent.
   
   cache_shmlog.c contains stuff for both cache and mgt, so remove the
   cache_ prefix.
   
   Rename cache_shmlog.h to common.h and put joint stuff there.

2006-07-10 10:31  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   put backend session linkage in shmemlog for pipe and pass

2006-07-10 10:06  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Polish HTTP reception a little bit

2006-07-10 10:05  phk

 * trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Drop the max length of first line, it's too expensive to enforce.

2006-07-10 09:52  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Fix cosmetic warning

2006-07-10 09:51  phk

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Silence cosmetic warning.

2006-07-10 09:48  phk

 * trunk/varnish-cache/lib/libvarnish/time.c,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Fix cosmetic warnings

2006-07-10 09:47  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.h,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Fix a bunch warnings, all cosmetic.
   
   I'm using __unused for now, if we need to use something different
   we can do a find/replace.

2006-07-10 09:28  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Silence some warnings

2006-07-10 09:07  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/include/stat_field.h:

   Allocate struct http as part of the session allocation.
   
   Remove http_New() and http_Delete()

2006-07-10 08:41  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add heritage.mem_http_headers which is the maximum number of headers
   we recognize.
   
   Add http_Init() which initializes struct http given sufficient space.
   
   Respect heritage mem_* values in http_New() (while we still have it)
   
   Allocate backend connections (vbe_conn) with super allocation with
   space for http and workspace.

2006-07-10 08:10  phk

 * trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Put three memory allocation hints into heritage:
   
   mem_http_1_line (512)
   Maximum length of the reqeust/response line of a HTTP message
   There is no point in filling the entire buffer with junk if
   we get a preposterously long first line.
   mem_http_header (4096)
   Maximum length of entire HTTP header. If we overflow this
   we return 400.
   mem_workspace (currently 0)
   In the future this will be the space we use for constructing
   headers to send and edits done from VCL.

2006-07-10 07:54  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Take the vbe_conn (backend connection) structure out of the closet.

2006-07-10 07:07  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Turn a comment into english

2006-07-10 07:04  phk

 * trunk/varnish-cache/bin/varnishd/cache.h:

   More sensible order of pointers

2006-07-09 21:21  phk

 * trunk/varnish-cache/include/http_headers.h:

   Don't pass cache-control through.

2006-07-09 21:01  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Add a -h opt which modifies -o to remove "trivial" entries.
   
   Trivial are
   {GET,HEAD} which gets a hit and returns 200
   {GET,HEAD} which gets a miss, fetches, inserts and returns 200

2006-07-09 09:16  des

 * trunk/varnish-cache/configure.ac:

   Don't use braces where they aren't needed.
   Let automake know about config.h.
   Bump version number to mark that we have passed the first live test.

2006-07-09 07:13  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/lib/libvcl/Makefile.am:

   List header files so they are included in the distribution tarball.

2006-07-09 06:35  des

 * trunk/varnish-cache/configure.ac:

   Use the modern version of AM_INIT_AUTOMAKE, allowing automake to deduce the
   correct distribution name.

2006-07-08 20:29  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c:

   A few edits for FlexeLint

2006-07-08 20:19  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Sanitize #includes a bit in the cache process by moving fundamental
   #includes to cache.h

2006-07-08 20:18  phk

 * trunk/varnish-cache/bin/varnishd/flint.lnt:

   Silence a bogus warning

2006-07-08 19:54  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   Move struct http into cache.h
   
   The original reasoning for having it private to cache_http.c was
   to avoid pollution with event.h related structures but since that
   pollution is happening other ways anyway, the cost is too high.
   
   Include pthread.h, sys/time.h, and event.h from cache.h

2006-07-08 19:46  des

 * trunk/varnish-cache/configure.ac:

   Add --enable-debugging-symbols which enables debugging sysmbols and
   disables
   inlining and builtins.

2006-07-08 19:27  des

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Fix "set backend.port".

2006-07-08 19:25  des

 * trunk/varnish-cache/autogen.des:

   My version.

2006-07-08 19:25  des

 * trunk/varnish-cache/autogen.phk:

   Expand keywords.

2006-07-07 08:40  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Close gracefully in pipe mode

2006-07-07 07:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Set SO_LINGER to zero

2006-07-07 07:25  phk

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Tell why bind(2) fails

2006-07-07 07:22  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Pipe anything different from HEAD & GET

2006-07-07 07:22  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Don't filter headers in Pipe mode

2006-07-07 07:22  phk

 * trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Fix pipe mode

2006-07-07 07:22  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Remove debugging printf

2006-07-07 07:15  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Time idle TCP connections out after 30 seconds

2006-07-07 06:29  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Dump our buffer as Debug if we have HTTP header trouble.
   
   Issue 400 for HTTP header buffer overflow.

2006-07-07 06:27  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Strvis(3) debug data.

2006-07-06 22:33  phk

 * trunk/varnish-cache/include/http_headers.h:

   Filter out Content-Range headers.

2006-07-06 21:57  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Always log the numeric code as "Status"

2006-07-06 21:57  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Log the found objects XID when we have a hash-hit.

2006-07-06 21:56  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Add shmem tag for Hits

2006-07-06 21:47  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Refuse all requests without a protocol field with a 400
   
   Implement a function to say "400" with.

2006-07-06 21:04  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_response.c:

   Add cache_response for yelling at clients

2006-07-06 21:03  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Also flush ordered after the long timeout.

2006-07-06 21:00  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Strengthen HTTP parsing

2006-07-06 20:29  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Make sure the grim reaper doesn't touch busy objects either.

2006-07-06 20:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   The grim reaper needs to wait for objects refcount to drop to zero.

2006-07-06 20:23  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Improvements to flush things at timeout and at the end etc.

2006-07-06 13:40  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Silence typical broken client connection messages and move the
   interesting ones to shmem

2006-07-06 13:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Fix braino in Pass handling

2006-07-06 13:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Skip space before request/response

2006-07-06 13:02  des

 * trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/varnishstat.1:

   Add a rudimentary man page.

2006-07-06 11:18  phk

 * trunk/varnish-cache/autogen.phk:

   My version.

2006-07-06 10:18  phk

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Add exponential hitrate displays (with -c)

2006-07-06 09:31  des

 * trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.1:

   Add a rudimentary man page.

2006-07-06 09:31  des

 * trunk/varnish-cache/bin/varnishd/varnishd.1:

   Expand keywords

2006-07-06 09:13  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/varnishd.1:

   Add a rudimentary man page.

2006-07-06 09:08  phk

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Only complain if accept_filters fail

2006-07-06 09:06  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Remove debugging code.

2006-07-06 09:00  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Add -r file and -w file options.
   
   These read/write from/to a binary file.

2006-07-06 08:45  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Increas shmem size to 8M

2006-07-06 08:45  phk

 * trunk/varnish-cache/bin/varnishd/tcp.c:

   Add accept filters

2006-07-06 08:43  des

 * trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Portability: don't use non-portable mmap(2) flags.

2006-07-06 08:43  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Portability: Linux does not have SO_NOSIGPIPE.

2006-07-06 08:41  des

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/lib/libvarnish/argv.c:

   Portability: cast unused parameters to void instead of marking them
   __unused.

2006-07-06 08:32  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   404 handling

2006-07-06 08:07  des

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Use <sys/ioctl.h> instead of <sys/filio.h> to get both the prototype for
   ioctl(2) and the definition of FIONREAD.

2006-07-05 14:40  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Fix off by one

2006-07-05 14:40  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   printf format

2006-07-05 13:54  phk

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Calculate rate as signed.

2006-07-05 13:44  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Assert non-null first

2006-07-05 13:19  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Send "Connection: close" if not HTTP/1.1

2006-07-05 13:13  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/include/stat_field.h:

   Add more stats

2006-07-05 13:09  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Some asserts to guard against trouble.

2006-07-05 12:17  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Another pipeline fix: don't clobber a pipelined partial header

2006-07-05 11:42  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Don't lead http header

2006-07-05 11:09  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Free the session memory correctly

2006-07-05 10:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   Free the right header.

2006-07-05 10:55  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   Don't leak objects headers

2006-07-05 10:01  phk

 * trunk/varnish-cache/include/http_headers.h:

   Suppress Accept-Ranges for now.

2006-07-05 09:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Create an X-Varnish header and put the XID there.

2006-07-05 09:56  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Send headers with sendfile

2006-07-05 09:44  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Add Age and Via header to responses.
   
   Change arguments to vca_write_obj() (It should really be
   "send_repsonse()" ?)
   Store received age and time entered into cache in object.
   Generate Age: and Via: headers as part of response.

2006-07-05 09:32  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Unify logging in the response handling

2006-07-05 09:11  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   log responsecode and length

2006-07-05 09:10  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Log reponse code and object length

2006-07-05 09:08  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Add Length tag

2006-07-05 08:08  phk

 * trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Show also rate in curses display

2006-07-05 07:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_shmlog.c:

   Be more conservative about wraparound and take them up front in all cases.

2006-07-04 22:08  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Implement our TTL calculation.
   
   A first quick check against the weird timestamps from the VG frontend
   squids indicates sensible behaviour.

2006-07-04 21:34  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Long comment describing how TTL calculation will be done.
   
   Review encouraged.

2006-07-04 20:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c:

   Fix HEAD requests:
   
   Make modes to http_BuildSbuf descriptive enums.
   Send GET to backend also for HEAD requests.
   Don't return body for HEAD requests.

2006-07-04 19:36  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Fix pipelining.
   
   A braino in http_Dissect() resulted in an off-by-one error
   (protected with assert now)
   
   Move any remaning bytes in buffer to front and check for
   a complete header before arming the eventloop on the
   session.

2006-07-04 14:45  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Make room for protective terminating NUL

2006-07-04 14:19  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   retry backend open, log diagnostics

2006-07-04 14:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c:

   load VCL earlier

2006-07-04 14:18  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Lock with a mutex

2006-07-04 13:45  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Shorter sleeps: 1s -> 50msec

2006-07-04 13:44  phk

 * trunk/varnish-cache/bin/varnishd/cache_shmlog.c:

   Fix off by one error during wraparound.

2006-07-04 09:28  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Close non HTTP/1.1 request connections

2006-07-04 09:21  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Add missing '%'

2006-07-03 19:45  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   My workaround for the missing OFF_T_MAX definition was not safe,
   use a hardcoded "1<<30" which is.

2006-07-03 19:35  phk

 * trunk/varnish-cache/contrib/libevent/event.c:

   I have grumbled about the evilness of "current_base" before, and this just
   proves the point: If two threads call event_init() at the same time,
   they will both stomp on the same memory via current_base, and in all
   likelyhood, neither of them will manage to get the job done properly.
   
   Instead work on a local variable and don't assign to current_base
   until the setup is complete.
   
   This should be submitted to Niels Provos

2006-07-03 18:35  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Handle IPv6 address -> string conversion too

2006-07-03 18:03  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Close race condition

2006-07-03 17:59  phk

 * trunk/varnish-cache/bin/varnishd/hash_classic.c:

   Better arg checking

2006-07-03 15:01  phk

 * trunk/varnish-cache/lib/libvarnish/binary_heap.c:

   more asserts

2006-07-03 14:39  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   avoid const poison

2006-07-03 14:39  phk

 * trunk/varnish-cache/bin/varnishd/cache_ban.c:

   Include pthread.h

2006-07-03 14:37  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   s/unsigned/size_t/

2006-07-03 14:36  phk

 * trunk/varnish-cache/bin/varnishd/hash_simple_list.c:

   s/init/start/

2006-07-03 12:41  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/hash_classic.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/hash_slinger.h,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add another hash-method with better real-world survival chances: A classic
   bucketed hash table of lists. Hash is MD5. Number of buckets and number
   of mutexes can be configured at command line.

2006-07-03 08:30  des

 * trunk/varnish-cache/configure.ac:

   Replace --enable-wall and --enable-pedantic with
   --enable-developer-warnings,
   which is roughly equivalent to FreeBSD's WARNS level 5 or 6.

2006-07-01 05:44  phk

 * trunk/varnish-cache/include/http_headers.h:

   Mark more headers as not end-to-end

2006-06-30 20:22  phk

 * trunk/varnish-cache/lib/libvarnishapi/shmlog.c:

   Forgot to add shmlog.c (reminded by des@)

2006-06-30 20:21  phk

 * trunk/varnish-cache/include/queue.h:

   Add TAILQ_FOREACH_SAFE()

2006-06-30 20:17  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   move all policy to rfc2616.c

2006-06-30 13:44  des

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/include/stats.h:

   Consistently use our own copy of queue.h.

2006-06-30 11:20  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Fix object length double accounting in chunked fetch

2006-06-30 09:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Delete compiled VCL file after we tried to load it.

2006-06-29 19:19  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Log objects banned to shmlog

2006-06-29 19:06  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Track objects heap-position

2006-06-29 17:09  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_ban.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c:

   Add the ability to instantly ban/purge all cached objects matching
   a given regexp.

2006-06-29 15:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Improve shm-logging of VCL activity

2006-06-29 14:37  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Tag objects with their origin session xid and log it when we clean up.

2006-06-29 13:04  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Add a unique transaction-ID to each request, and register it in the
   shmlog so we can match backend transactions with client transactions.

2006-06-28 21:38  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Convince flexelint that we know what we do with some asserts

2006-06-28 21:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_shmlog.c:

   Put a mutex around the shmlog writes, I've seen my first race.

2006-06-28 21:18  phk

 * trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Add a -o argument which sorts the log into transactions before output,
   this is a fair bit easier to chew through than the raw log (the default)

2006-06-28 21:03  phk

 * trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Use shmlog api from libvarnishapi

2006-06-28 20:58  phk

 * trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Use SHMLOG api in libvarnishapi

2006-06-28 20:58  phk

 * trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/Makefile.am:

   Add SHMLOG opening and walking functions to libvarnishapi

2006-06-28 17:46  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Be more consistent about which headers we send back.
   
   Start 5 threads in the worker pool.

2006-06-28 16:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Construct our own Content-length header, no matter which of the
   three (straight, chunked, eof) modes we used to fetch the object.

2006-06-28 16:58  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Don't finish the sbuf in mode 3

2006-06-28 16:57  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Assert that the lengths of the storage for the object add up.

2006-06-28 16:57  phk

 * trunk/varnish-cache/include/http_headers.h:

   Don't pass Content-Lenght through, we build it ourselves

2006-06-28 16:20  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Pass fd to shmemlog

2006-06-28 16:19  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   add tag for generated headers

2006-06-28 16:19  phk

 * trunk/varnish-cache/include/http_headers.h:

   Don't pass If-* headers to backend

2006-06-28 16:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c:

   Apply correct fd in Shmemlog

2006-06-28 16:04  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Fix buglets, include test-driver.

2006-06-28 11:29  phk

 * trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c:

   Give varnishstat a "-c" option to use curses to continously refresh

2006-06-28 11:21  phk

 * trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishstat,
   trunk/varnish-cache/bin/varnishstat/Makefile.am,
   trunk/varnish-cache/bin/varnishstat/varnishstat.c,
   trunk/varnish-cache/configure.ac:

   Add varnishstat program

2006-06-28 10:31  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   304's don't have a body

2006-06-28 10:30  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Implement ->trim()

2006-06-28 09:39  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/stat_field.h:

   More stats counters

2006-06-28 09:21  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/stat_field.h,
   trunk/varnish-cache/include/stats.h:

   Add statistics counter support.
   
   stat_field.h defines the counter fields with name, type, (printf)format
   and description.
   
   stats.h defines a structure with these fields.
   
   shmlog.h makes the structure part of the shared memory logs header.
   
   Implent the "stats" CLI word in the management process.

2006-06-26 19:25  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c:

   Call VCL to decide discard/prefetch for near-expiry objects.
   
   Put discard objects on deathrow where they will be culled from
   in sequence.
   
   (prefetch not implemented yet)

2006-06-26 19:24  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   A temporary hack to deal with very old Date: headers until we figure
   out what's going on.

2006-06-26 19:23  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Implement HTTP/1.0 style fetching.

2006-06-26 17:06  phk

 * trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Another little tweak

2006-06-26 16:31  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Dump numeric handling also, until we figure out trouble.

2006-06-26 16:30  phk

 * trunk/varnish-cache/bin/varnishd/cache_hash.c:

   typo

2006-06-26 16:19  phk

 * trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Make this work again: record the stevedore in the storage object.

2006-06-26 14:33  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c:

   Start releasing objects when they expire

2006-06-26 14:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c:

   Move a bit more responsibility into the hash-slinger to get a cleaner
   interface.

2006-06-26 08:58  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_hash.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c:

   Now that we approach the time where objects have to be destroyed again,
   we need to move the data structures into the right shape.
   
   Push hashing into cache_hash.c
   
   Add objhead structure to hold the various hits for "Vary:" headers.

2006-06-24 22:11  phk

 * trunk/varnish-cache/bin/varnishd/cache_expire.c:

   A little bit more work on the expiry/prefetch thing.

2006-06-24 21:54  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Use ttl=0 as a "invalid TTL" flag.
   
   Mark objects with ttl=0 uncachable.
   
   Add cacheable objects to the expiry heap
   
   Start an expiry thread which polls the root element once per second

2006-06-24 21:42  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Truncate TTLs in the past to now.

2006-06-24 21:09  phk

 * trunk/varnish-cache/bin/varnishd/cache.h:

   Autogenerate prototypes for method calling functions

2006-06-24 21:07  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Add a "timeout" method to VCL, it can return "fetch" or "discard".

2006-06-24 20:50  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Add a token type "METHOD", we use it for reference counting.
   
   Add a reference to the first backend {} we encounter, it is the default.
   Add a reference to all backends assigned explicitly.
   Add a reference to all methods.
   
   Enable reference check, complain if: backend, function or acl is defined
   but not used, or used but not defined.

2006-06-24 20:12  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Collapse multiline Fc and Fh calls where they fit

2006-06-24 20:09  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   More printf sanitation: Create to convenience functions for output to the
   fh and fc sbufs.

2006-06-24 19:50  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Cave in and use printf format extensions for printing tokens.
   Both Linux and FreeBSD supports them anyway.

2006-06-24 19:41  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add more shmemlog tags:
   one for each VCL method to record the return
   one for errors
   one for linking a client session to a backend connection
   Use them sensibly.
   Put VCL name of backend into struct backend to improve log messages

2006-06-22 16:17  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_returns.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Improve the VCL compiler in various ways:
   
   Generate the methods and their legal returns with the tcl script.
   
   Add consistency checks to make sure methods don't use illegal returns,
   and also check called subrourtines.
   
   Add consistency check to complain about recursive subroutine calls.
   
   Add consistency check to complain about unused or undefined subroutines.

2006-06-21 10:28  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_expire.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c:

   Add (empty) source file for expiry/pretech code

2006-06-21 10:21  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   Start to respect TTL

2006-06-21 10:13  phk

 * trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add "-t default_ttl" option. 120 seconds by default.

2006-06-21 09:58  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Quench some debugging

2006-06-21 08:09  phk

 * trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/binary_heap.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/binary_heap.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add a binary heap implementation for keeping track of objects expiry time.

2006-06-20 19:49  phk

 * trunk/varnish-cache/include/vrt.h:

   typo

2006-06-20 19:38  phk

 * trunk/varnish-cache/lib/libvcl/flint.lnt,
   trunk/varnish-cache/lib/libvcl/flint.sh:

   FlexeLint files

2006-06-20 19:37  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   FlexeLint cleanups

2006-06-20 19:31  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Polish things to silence FlexeLint a bit

2006-06-20 11:39  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/rfc2616.c,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/vcl.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl:

   Rename vcl_lang.h to vcl.h and include practically nowhere.
   
   Remove #include bogohandling in vcl_gen_fixed_token.tcl

2006-06-20 10:31  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   At the expense of some complexity and a small runtime overhead,
   isolate the compiled code from the internal structures of the cache
   process through of VRT functions.

2006-06-20 09:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Work towards making struct sess opaque to the generated code.

2006-06-20 09:28  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Rename the VCL compilers public functions to VCC prefix

2006-06-20 09:25  phk

 * trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Get rid of VCL_FARGS and VCL_PASS_ARGS macros.
   
   Generate VGC prefixes instead of VCL.

2006-06-20 09:15  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cache_vrt.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/include/vrt.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl:

   Start putting some structure in the sources relating to VCL handling:
   
   Split the runtime support for compiled varnish programs out and give it the
   prefix "VRT".
   
   Start using the prefix "VGC" for generated code.
   
   Prefix "VCC" will be for the compiler and "VCL" for calling the
   compiled and
   loaded functions.

2006-06-18 10:28  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Output line+pos for counts.

2006-06-18 10:19  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Insert a count-point after each conditional.

2006-06-18 10:16  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Get the sense of string compares right.

2006-06-18 10:12  phk

 * trunk/varnish-cache/bin/varnishd/rfc2616.c:

   debug printf for max-age

2006-06-18 10:10  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Implement req.request properly

2006-06-18 10:04  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Pass if we spot an Authenticate or Cookie header

2006-06-18 10:03  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Add VCL function for getting HTTP header

2006-06-18 10:02  phk

 * trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add support for investigating random HTTP headers.

2006-06-18 09:16  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Add wrappers around VCL methos so logging and checking of returned handling
   can be centralized.
   
   Remove old handling callbacks.
   
   Call hit/miss methods instead of lookup method.

2006-06-18 09:14  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   add explicit "lookup" to recv method

2006-06-18 09:11  phk

 * trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Correctly handle \ sequences in .h files in vcl_gen_fixed_token.tcl
   
   Make handling a named enum, and use it as a bitmap.
   
   Add "lookup" reserved word
   
   Add VCL_done() macro to use in compiled code to set handling and drop
   the per-handling callbacks (apart from VCL_error())

2006-06-18 07:28  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Add "deliver" keyword to VCL compiler.
   
   Split vcl_lookup() in vcl_hit() and vcl_miss()

2006-06-16 10:22  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Initial http_GetHdrField() function.
   
   Improve chunked encoding, allocate big storage chunks and trim the
   last one at the end, instead of one storage chunk for each chunk
   the remote server sends.
   
   Call RFC2616 policy code.
   
   Store headers from backend in cache and return to client.

2006-06-16 10:20  phk

 * trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add header field to object

2006-06-16 10:19  phk

 * trunk/varnish-cache/include/http_headers.h:

   Supress Transfer-Encoding

2006-06-16 10:18  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/rfc2616.c:

   The beginnings of rfc2616 policy implemenation.

2006-06-16 10:17  phk

 * trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Add trim method to storage backends so chunked encoding can be
   stored efficiently.

2006-06-16 10:16  phk

 * trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/time.c:

   Add time parse/format functions to libvarnish

2006-06-15 08:04  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   less noise

2006-06-15 08:04  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c:

   Less noise

2006-06-14 09:57  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   start examining HTTP status codes from backend

2006-06-14 09:39  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Add vca_write_obj() which writes an sbuf (as) HTTP header and the
   object from the sessions to the client.

2006-06-14 09:25  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Clean up session messages a bit

2006-06-14 09:23  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Add HttpError tag

2006-06-14 09:03  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Sanitize close/recycle session logic a bit.

2006-06-14 08:53  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c:

   Initialize the cache_acceptor.c/VCA in the same manner as other parts.

2006-06-14 07:21  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/stevedore.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c:

   Give storage backends a "send" method.
   
   Let storage_file use sendfile(2) for it.

2006-06-14 06:58  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Complete the storage_file method.

2006-06-13 20:09  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Default to "file" stevedore from now on.

2006-06-13 20:06  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Be more aggressive about mmap'ing memory. The size_t thing is a bogus
   constraint in FreeBSD and we shouldn't really listen to it.
   
   On my laptop I can mmap 2422MB file this way.
   
   This may be so aggressive that it leaves insufficient address space for
   malloc/threadstacks and other issues.
   
   If we find a way to pick up a platform/architecture specific limit, we
   can enforce that along the way.
   
   For now people can just specify a saner and smaller "-sfile" size.

2006-06-13 13:47  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   mmap as much as the file as we are able to when the cache process opens
   the stevedore.
   
   This should probably be (fine-)tuned later on as it might be too aggressive
   when faced with user errors.
   
   Also, might it be possible to mmap() more than MAX_SIZE_T bytes if
   it is done in multiple calls ?

2006-06-13 13:14  phk

 * trunk/varnish-cache/bin/varnishd/storage_file.c:

   Calculate the size of the backing store file.
   
   A size can be specified in absolute terms (suffix: k, m, g, t supported),
   but also as a percentage of the filesystems free space (suffix '%').
   
   If the specified size is larger than an off_t can cope, we bisect
   repeatedly until it can.
   
   If the size exceeds the available space of the filesystem, we truncate
   to 80% of the free space.
   
   Then round down to an integral number of blocks, sized by the larger
   of the filesystem blocksize and the pagesize.
   
   This was tricker than I'd expected...

2006-06-13 13:10  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Clone the stevedore before calling its init function and be more precise
   about any optional arguments.

2006-06-13 08:05  phk

 * trunk/varnish-cache/bin/varnishd/_stevedore.h,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/stevedore.h:

   After having a strong cup of tea: don't name files with leading underscore
   even though that's how FreeBSD's kernel does it. In my private world
   a leading underscore means "junk file, remove at your pleasure".

2006-06-13 08:02  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/storage_file.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Clone the malloc stevedore to the file stevedore

2006-06-13 07:59  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Remember to tell getopt about -s

2006-06-13 07:57  phk

 * trunk/varnish-cache/bin/varnishd/_stevedore.h,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Put more meat on the stevedore (storage backend) interface:
   
   Pull the struct definition into _stevedore.h and include this from
   cache.h and mgt.h, they both need to be able to see it.
   
   Add the stevedore pointer as an argument to the stevedore alloc function
   so multiple stevedores is possible later on.
   
   Add the stevedore pointer to the storage object, so freeing it again is
   possible.
   
   Add -s argument processing to select a given stevedore, call it's ->init
   method and pass the stevedore in the heritage.
   
   In the cache process pick stevedore out from heritage, call its open
   method.

2006-06-13 07:26  phk

 * trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Use NULL init method

2006-06-13 07:25  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c:

   Allow for NULL init methods for hash and stevedore

2006-05-01 12:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Use vca_write/vca_flush

2006-05-01 12:59  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Use vca_write/vca_flush

2006-05-01 12:51  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Use vca_write/vca_flush

2006-05-01 12:45  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Add vca_write() and vca_flush(), two functions which will attempt to
   use writev() if possible.
   
   vca_flush() must be called before any memory previosly given to
   vca_write is overwritten, and after the last call to vca_write()

2006-05-01 12:28  phk

 * trunk/varnish-cache/bin/varnishd/flint.lnt,
   trunk/varnish-cache/bin/varnishd/flint.sh:

   Add FlexeLint files

2006-05-01 12:27  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   bandaid for name-clash

2006-05-01 12:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Keep track of how many connections we have open

2006-05-01 12:27  phk

 * trunk/varnish-cache/bin/varnishd/cache.h:

   add missing extern

2006-05-01 10:55  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Add INCOMPL() macro to mark missing code.
   
   Add http_HdrIs() to check if we have a given header and if we do
   if it has a given value.
   
   Use it.
   
   Ignore SIGPIPE since SO_NOSIGPIPE doesn't work reliably, (but set
   it on accepted TCP connections anyway).
   
   Update passing to match fetching, including a chunked encoding method.

2006-05-01 07:54  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Add yet another thread with an event engine to monitor idle backend
   connections and clean them out if the backend closes.

2006-05-01 07:53  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Centralize "Connection: close" handling from the backend.
   
   Loop until we have the entire chunk in chunked encoding

2006-04-25 09:32  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c:

   test backend connections at allocation time.
   
   General bush-wacking in the fetch code.

2006-04-25 09:31  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Fix argument to http_BuildSbuf

2006-04-25 09:30  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Keep alive often enough

2006-04-25 08:17  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Make width colum wider and decimal

2006-04-25 08:17  phk

 * trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add new shmlog tags and handling states

2006-04-25 08:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Implement a rudimentary chunked Transfer-Encoding

2006-04-25 07:10  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   reset header count before we dissect

2006-04-25 07:04  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Track backend connections in shmem log

2006-04-25 06:52  phk

 * trunk/varnish-cache/bin/varnishd/cache_http.c:

   Add an end pointer so allocation size can be changed on the fly

2006-04-25 06:48  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Move shmlog entry, remove debugging

2006-04-25 06:16  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_http.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Redo http header storage and processing

2006-04-24 19:10  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add an indecisive comment

2006-04-24 19:09  phk

 * trunk/varnish-cache/include/http_headers.h:

   Sort and annotate

2006-04-19 06:38  phk

 * trunk/varnish-cache/bin/varnishd/cache_fetch.c:

   Loop until we have read it all

2006-04-19 06:34  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_fetch.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Implement enough of FetchSession and DeliverSession that we can actually
   deliver a cached object.

2006-04-18 08:23  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add busyflag and strorage link to objects.
   
   Initialize default hasher and stevedore.
   
   Give each workerthread an object pointer to be kept populated with
   a template object for when lookups miss and need to insert one.
   
   Add libmd to get MD5, (choice of hash-algorithm to be revisited later)
   
   Implement lookup, begin on fetch.

2006-04-18 07:34  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/storage_malloc.c:

   Add trivial malloc backed storage backend.

2006-04-12 08:58  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/libvcl.h,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_priv.h,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Implement the three function VCL model in the compiler.

2006-04-12 08:56  phk

 * trunk/varnish-cache/include/http_headers.h:

   Add ETag: header

2006-04-11 08:28  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/cli_event.h,
   trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/tcp.c:

   Beginnings of the object lookup stuff: A simple list based
   implementation to get things moving.

2006-04-06 10:01  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Close or recycle backend connections as appropriate

2006-04-06 10:00  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c:

   Add VBE_RecycleFd() function to recycle backend connections

2006-04-06 09:59  phk

 * trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Pass Content-Encoding header

2006-04-06 09:38  phk

 * trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   Output the fd in decimal instead of hex.
   
   Do Id Keyword

2006-04-06 09:33  phk

 * trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Rename hdr_end to a more sensible rcv_ptr which points to the first
   unaccounted for character in the buffer.
   
   Do Id Keyword

2006-04-06 09:30  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Add shmlog tags for pipe and pass handling

2006-04-06 09:11  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Log tag for session reuse.
   
   Do Id Keyword

2006-04-06 09:10  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Recycle sessions instead of retiring them.

2006-04-06 09:09  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   Prune the bits we used from the input buffer before we recycle the
   session.

2006-04-06 09:09  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c:

   Add a vca_recycle_session() function which sticks a session back into
   the acceptors event engine.
   
   Do Id keyword

2006-04-06 09:08  phk

 * trunk/varnish-cache/bin/varnishd/cache_httpd.c:

   Don't log the terminating NUL on response proto field.

2006-04-06 08:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_httpd.c:

   Add an assert, remove debugging.

2006-04-06 08:18  phk

 * trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Respect VCL choice of handling
   
   Do Id keyword

2006-04-06 08:16  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Don't attempt to restart child process (yet).
   
   Add Id Keyword handling

2006-04-06 08:15  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c:

   It's cheaper to pipe than to pass, so if the client indicates
   "Connection: close", pipe instead of passing.

2006-04-06 07:50  phk

 * trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c:

   Use HttpdBuildSbuf()
   
   Enable Id keyword

2006-04-06 07:50  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c:

   Add a function to (re)build a HTTP request or response into an sbuf.
   
   Enable Id keyword

2006-04-05 10:33  phk

 * trunk/varnish-cache/autogen.sh:

   Eliminate leaked developer hacks.

2006-04-05 09:40  phk

 * trunk/varnish-cache/autogen.sh,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c:

   Account for the last byte of the header.

2006-04-04 10:35  des

 * trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/strlcat.c,
   trunk/varnish-cache/lib/libcompat/strlcpy.c:

   I can't get AM_CONDITIONAL to work properly, so use a bigger hammer.

2006-04-04 10:09  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/mgt_child.c:

   More portability changes: include config.h and compat.h, get rid of
   __unused.

2006-04-04 10:08  des

 * trunk/varnish-cache/bin/varnishd/Makefile.am:

   Link in libcompat, and libsbuf is now static.

2006-04-04 10:08  des

 * trunk/varnish-cache/lib/libsbuf/Makefile.am:

   Make libsbuf static.

2006-04-04 10:07  des

 * trunk/varnish-cache/configure.ac,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/compat.h,
   trunk/varnish-cache/lib/Makefile.am,
   trunk/varnish-cache/lib/libcompat,
   trunk/varnish-cache/lib/libcompat/Makefile.am,
   trunk/varnish-cache/lib/libcompat/strlcat.c,
   trunk/varnish-cache/lib/libcompat/strlcpy.c:

   Add a libcompat with strlcat() and strlcpy() from OpenBSD.

2006-04-04 09:05  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Get pass-through working for the first request.
   
   Now we can start to play with multi-request sessions and all that.

2006-04-04 08:20  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add HTTP response headers and processing.

2006-04-04 07:46  phk

 * trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/cli.c:

   Reverse constification of Argv functions. After cascading through all
   the CLI functions we hit the fact that the evbuffer functions in libevent
   are not properly constified.
   
   It's better to deconst the error messages and just "let it be known" that
   argv[0] is const (or NULL).

2006-04-04 07:30  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_pass.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Get "Pass" mode moving

2006-04-04 07:29  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c:

   Make the "receive a HTTP protocol header" code generic

2006-04-04 07:27  phk

 * trunk/varnish-cache/include/vcl_lang.h:

   Add a session callback pointer to struct sess.

2006-04-04 07:26  phk

 * trunk/varnish-cache/bin/varnishd/cli_event.c:

   Use bufferevent_base_set() from libevent

2006-04-04 07:24  phk

 * trunk/varnish-cache/contrib/libevent/event.h:

   Add a missing prototype until libevent people catch up.

2006-04-04 07:24  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Add a Debug shmemlog tag.

2006-04-04 07:24  des

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Portability tweaks: use our own sbuf.h and queue.h; get rid of
   __DECONST; get
   rid of digittoint() (which is pointless since ISO C guarantees that digits
   are consecutive in the execution character set); get rid of __unused.
   
   Also fix a buglet in argv.c's BackSlash() (parsing of octal numbers), and
   constify the array passed around by ParseArgv() and FreeArgv().

2006-04-03 14:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_httpd.c:

   Move memset further up.

2006-04-03 14:20  des

 * trunk/varnish-cache/Makefile.am, trunk/varnish-cache/autogen.sh,
   trunk/varnish-cache/configure.ac, trunk/varnish-cache/contrib/Makefile.am:

   Hook up libevent to the build. Note that this should be made
   conditional at
   some later date.

2006-04-03 14:04  des

 * trunk/varnish-cache/contrib/libevent/WIN32-Code/provos@badschwartau.provos.org.12766:
   

   GC

2006-04-03 12:05  des

 * trunk/varnish-cache/contrib/libevent/sample/Makefile.in,
   trunk/varnish-cache/contrib/libevent/test/Makefile.in:

   Remove generated files which were committed by mistake.

2006-04-03 11:59  des

 * trunk/varnish-cache/contrib/libevent/Makefile.am,
   trunk/varnish-cache/contrib/libevent/README,
   trunk/varnish-cache/contrib/libevent/WIN32-Code/win32.c,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/libevent.dsp,
   trunk/varnish-cache/contrib/libevent/buffer.c,
   trunk/varnish-cache/contrib/libevent/configure.in,
   trunk/varnish-cache/contrib/libevent/devpoll.c,
   trunk/varnish-cache/contrib/libevent/epoll.c,
   trunk/varnish-cache/contrib/libevent/evbuffer.c,
   trunk/varnish-cache/contrib/libevent/event.3,
   trunk/varnish-cache/contrib/libevent/event.c,
   trunk/varnish-cache/contrib/libevent/event.h,
   trunk/varnish-cache/contrib/libevent/event_rpcgen.py,
   trunk/varnish-cache/contrib/libevent/event_tagging.c,
   trunk/varnish-cache/contrib/libevent/http.c,
   trunk/varnish-cache/contrib/libevent/http.h,
   trunk/varnish-cache/contrib/libevent/kqueue.c,
   trunk/varnish-cache/contrib/libevent/log.h,
   trunk/varnish-cache/contrib/libevent/poll.c,
   trunk/varnish-cache/contrib/libevent/rtsig.c,
   trunk/varnish-cache/contrib/libevent/select.c,
   trunk/varnish-cache/contrib/libevent/signal.c,
   trunk/varnish-cache/contrib/libevent/strlcpy.c,
   trunk/varnish-cache/contrib/libevent/test/Makefile.am,
   trunk/varnish-cache/contrib/libevent/test/regress.c,
   trunk/varnish-cache/contrib/libevent/test/regress.h,
   trunk/varnish-cache/contrib/libevent/test/regress.rpc,
   trunk/varnish-cache/contrib/libevent/test/regress_http.c,
   trunk/varnish-cache/contrib/libevent/test/test-weof.c,
   trunk/varnish-cache/contrib/libevent/test/test.sh:

   Update from libevent CVS trunk.

2006-04-03 11:05  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Segregate http header fields into a separate structure, we will
   reuse them a few places by the looks of it.
   
   Add VCA_UNKNOWNHDR (=10) fields for unknown HTTP headers.
   If more headers arrive than that, they're lost (and logged as such).

2006-04-03 11:03  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/cli_event.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   How I wish people would think more ahead when writing libraries like
   libevent. The entire "implicit event engine" api assumption stinks.
   
   Deal with it better.

2006-04-03 09:02  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_pipe.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   A little step for humanity but a big step for varnish:
   
   Implement pipe-through mode and see the first web-pages actually
   pass through varnish.

2006-04-03 07:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Call the init function when the VCL code is loaded.
   We may want to postpone this to use time later on.

2006-04-03 07:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/include/http_headers.h,
   trunk/varnish-cache/include/shmlog_tags.h,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add 5 dummy fields to the http headers, we will need them subsequently.

2006-03-31 08:27  phk

 * trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl:

   Use http_headers.h to define session fields for headers and to parse
   them out of the header.

2006-03-31 08:26  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c:

   Add missing pthread.h includes

2006-03-31 08:25  phk

 * trunk/varnish-cache/include/shmlog_tags.h:

   Use http_headers.h to define HTTP header tags for logging

2006-03-31 08:24  phk

 * trunk/varnish-cache/include/http_headers.h:

   Reusable macro definition of HTTP headers. We will need these
   several different places in the sources.

2006-03-30 11:16  phk

 * trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   get us closer to a connection to the backend

2006-03-30 10:56  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Rework the compilation of backend specifications in order to be able
   to check the provided hostname/portname at compile time.

2006-03-30 09:26  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_backend.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Add the beginning of a backend connection pool

2006-03-30 08:05  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Promote the poll mutex to be a session mutex so that we can use it
   for the VCL reference as well, this saves locking operations.
   
   Call the atual VCL code when we get the request.

2006-03-30 07:05  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_pool.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/include/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Integrate the VCL code closer in the cache process: The passed
   argument will be the session structure.
   
   Add the pool of worker threads (cache_pool). With a unitary nature
   of the VCL code, the HTTP parsing can be postponed to the worker thread.
   
   This actually helps us with CPU cache locality as it will reduce the
   amount of memory allocated on one CPU but freed on another.

2006-03-27 14:12  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add config.load, config.inline and config.use commands.

2006-03-27 14:11  phk

 * trunk/varnish-cache/include/libvcl.h:

   Forgot to add this one. Prototypes for the VCL compiler.

2006-03-27 14:10  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   Add VCL_CompileFile() function.

2006-03-27 13:59  phk

 * trunk/varnish-cache/bin/varnishd/mgt_child.c:

   Just return if there is nothing to wait for. We get SIGCHLD'ed on
   the popen child process.

2006-03-27 13:57  phk

 * trunk/varnish-cache/include/cli_priv.h:

   Add a macro which we can #ifdef

2006-03-27 12:27  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_vcl.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Build default VCL from "-b backend_IP" option and pass it to client
   via heritage.

2006-03-27 11:51  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c:

   edge closer towards being a nice member of society

2006-03-27 11:22  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Experimentally pull in VCL program

2006-03-27 11:21  phk

 * trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_priv.h:

   Actually generate a shared object

2006-03-27 11:21  phk

 * trunk/varnish-cache/include/vcl_lang.h:

   Stuff VCL programs needs to know about.

2006-03-27 09:02  phk

 * trunk/varnish-cache/configure.ac:

   add libvcl

2006-03-27 09:01  phk

 * trunk/varnish-cache/lib/libvcl/Makefile,
   trunk/varnish-cache/lib/libvcl/Makefile.am:

   Put under control of auto* tools

2006-03-27 09:01  phk

 * trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c:

   Newly generated code

2006-03-27 09:00  phk

 * trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl:

   Don't generate sparse array code.

2006-03-24 10:46  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   More complete HTTP parsing and logging.

2006-03-24 10:23  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_httpd.c:

   Change session memory management to avoid <event.h> pollution
   
   Add fledling httpd parsing

2006-03-24 10:22  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c:

   Add a VSLR() variant which logs a byte range without spending time in
   sprintf

2006-03-24 09:45  phk

 * trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/include/shmlog_tags.h:

   Log remote IP#:port on session open

2006-03-24 09:14  phk

 * trunk/varnish-cache/bin/varnishlog/varnishlog.c:

   put symbolic names on the tags

2006-03-24 09:05  phk

 * trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/bin/varnishlog,
   trunk/varnish-cache/bin/varnishlog/Makefile.am,
   trunk/varnish-cache/bin/varnishlog/varnishlog.c,
   trunk/varnish-cache/configure.ac:

   Add a minimal log tailer.

2006-03-24 08:43  phk

 * trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/shmlog.h,
   trunk/varnish-cache/include/shmlog_tags.h:

   Move the SHM tags into a resuable .h file.
   
   Minor nits

2006-03-23 15:31  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add shared memory log setup and stuffer function in the child process.
   
   Log whenever we get a CLI ping

2006-03-23 12:20  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache.h,
   trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Now we're starting to get somewhere: Accept connections and assemble
   a HTTP request.

2006-03-23 08:45  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/tcp.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Open TCP sockets

2006-03-17 13:41  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/cli_event.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Make it possible to suspend and resume a cli connection while we wait
   for response from the child (or otherwise).
   
   Add a generic "pass-through" handler for cli requests we just pass on
   to the child.

2006-03-17 10:03  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/mgt.h,
   trunk/varnish-cache/bin/varnishd/mgt_child.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add multiplexing for the mgt->child cli connection and get ping/pong
   working across it.
   
   The management process will now keep the child process watchdog from
   expiring.

2006-03-16 12:14  phk

 * trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/lib/libvarnish/argv.c,
   trunk/varnish-cache/lib/libvarnish/cli.c:

   cleanup

2006-03-16 10:48  phk

 * trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/cache_main.c,
   trunk/varnish-cache/bin/varnishd/heritage.h,
   trunk/varnish-cache/bin/varnishd/varnishd.c:

   Expand the empty shell a bit.
   
   Add CLI handler on stdin (for now, in production only if
   debug is specified).
   
   Implement help, verbos, ping and start.
   
   start forks the child process, sets up listeners on its stdout/stderr
   (where nothing should arrive in production).
   
   Add SIGCHLD handler to reap and restart the child.
   
   Add shell "main" for the child: Set up a CLI handler on the pipes
   passed as heritage.
   
   Add ping command and keepalive timeout.

2006-03-16 10:46  phk

 * trunk/varnish-cache/bin/varnishd/cli_event.c,
   trunk/varnish-cache/bin/varnishd/cli_event.h:

   Functions to handle the CLI with event(3)'s buffer events.
   
   This may eventually belong in a library for wider use.

2006-03-16 09:02  phk

 * trunk/varnish-cache/include/cli.h,
   trunk/varnish-cache/include/cli_priv.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/cli.c,
   trunk/varnish-cache/lib/libvcl/Makefile:

   Generic and public stuff for CLI protocol handling.

2006-03-16 08:30  phk

 * trunk/varnish-cache/include/cli.h:

   add min+max argument counts

2006-03-15 20:34  phk

 * trunk/varnish-cache/include/cli.h:

   Add definitions pertaining to the ascii-protocol which will be used
   multiple different places in the varnish architecture.

2006-03-14 12:54  des

 * trunk/varnish-cache/contrib, trunk/varnish-cache/contrib/libevent,
   trunk/varnish-cache/contrib/libevent/Makefile.am,
   trunk/varnish-cache/contrib/libevent/README,
   trunk/varnish-cache/contrib/libevent/WIN32-Code,
   trunk/varnish-cache/contrib/libevent/WIN32-Code/config.h,
   trunk/varnish-cache/contrib/libevent/WIN32-Code/misc.c,
   trunk/varnish-cache/contrib/libevent/WIN32-Code/misc.h,
   trunk/varnish-cache/contrib/libevent/WIN32-Code/provos@badschwartau.provos.org.12766,
   trunk/varnish-cache/contrib/libevent/WIN32-Code/win32.c,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/event_test,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/event_test/event_test.dsp,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/event_test/test.txt,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/libevent.dsp,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/libevent.dsw,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/signal_test,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/signal_test/signal_test.dsp,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/time_test,
   trunk/varnish-cache/contrib/libevent/WIN32-Prj/time_test/time_test.dsp,
   trunk/varnish-cache/contrib/libevent/acconfig.h,
   trunk/varnish-cache/contrib/libevent/buffer.c,
   trunk/varnish-cache/contrib/libevent/compat,
   trunk/varnish-cache/contrib/libevent/compat/sys,
   trunk/varnish-cache/contrib/libevent/compat/sys/_time.h,
   trunk/varnish-cache/contrib/libevent/compat/sys/queue.h,
   trunk/varnish-cache/contrib/libevent/compat/sys/tree.h,
   trunk/varnish-cache/contrib/libevent/configure.in,
   trunk/varnish-cache/contrib/libevent/devpoll.c,
   trunk/varnish-cache/contrib/libevent/epoll.c,
   trunk/varnish-cache/contrib/libevent/epoll_sub.c,
   trunk/varnish-cache/contrib/libevent/evbuffer.c,
   trunk/varnish-cache/contrib/libevent/event-internal.h,
   trunk/varnish-cache/contrib/libevent/event.3,
   trunk/varnish-cache/contrib/libevent/event.c,
   trunk/varnish-cache/contrib/libevent/event.h,
   trunk/varnish-cache/contrib/libevent/evsignal.h,
   trunk/varnish-cache/contrib/libevent/kqueue.c,
   trunk/varnish-cache/contrib/libevent/log.c,
   trunk/varnish-cache/contrib/libevent/log.h,
   trunk/varnish-cache/contrib/libevent/poll.c,
   trunk/varnish-cache/contrib/libevent/rtsig.c,
   trunk/varnish-cache/contrib/libevent/sample,
   trunk/varnish-cache/contrib/libevent/sample/Makefile.am,
   trunk/varnish-cache/contrib/libevent/sample/Makefile.in,
   trunk/varnish-cache/contrib/libevent/sample/event-test.c,
   trunk/varnish-cache/contrib/libevent/sample/signal-test.c,
   trunk/varnish-cache/contrib/libevent/sample/time-test.c,
   trunk/varnish-cache/contrib/libevent/select.c,
   trunk/varnish-cache/contrib/libevent/signal.c,
   trunk/varnish-cache/contrib/libevent/test,
   trunk/varnish-cache/contrib/libevent/test/Makefile.am,
   trunk/varnish-cache/contrib/libevent/test/Makefile.in,
   trunk/varnish-cache/contrib/libevent/test/bench.c,
   trunk/varnish-cache/contrib/libevent/test/regress.c,
   trunk/varnish-cache/contrib/libevent/test/test-eof.c,
   trunk/varnish-cache/contrib/libevent/test/test-init.c,
   trunk/varnish-cache/contrib/libevent/test/test-time.c,
   trunk/varnish-cache/contrib/libevent/test/test-weof.c,
   trunk/varnish-cache/contrib/libevent/test/test.sh:

   Add Niels Provos's libevent 1.1a.

2006-03-14 12:00  des

 * trunk/varnish-cache/include/hash.h,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/include/queue.h,
   trunk/varnish-cache/include/sbuf.h, trunk/varnish-cache/include/tree.h:

   Set the correct property (svn:keywords, not svn:keyword)

2006-03-14 11:57  des

 * trunk/varnish-cache/lib/libsbuf/Makefile.am,
   trunk/varnish-cache/lib/libsbuf/sbuf.3,
   trunk/varnish-cache/lib/libsbuf/sbuf.c:

   Add a man page, and set the correct property (svn:keywords, not
   svn:keyword)

2006-03-14 09:31  phk

 * trunk/varnish-cache/bin/varnishd/varnishd.c:

   Add some trivial bits while I think about the hard ones

2006-03-14 09:15  phk

 * trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/libvarnish.h,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnish/argv.c:

   Add a function to break a command line like string into an argv[].
   This will be useful for the various text based protocols etc.

2006-03-13 14:23  des

 * trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/hash.h,
   trunk/varnish-cache/include/queue.h, trunk/varnish-cache/include/tree.h:

   Add hash.h, queue.h and tree.h from NetBSD-CURRENT.

2006-03-13 14:14  des

 * trunk/varnish-cache/configure.ac, trunk/varnish-cache/include/sbuf.h,
   trunk/varnish-cache/lib/Makefile.am, trunk/varnish-cache/lib/libsbuf,
   trunk/varnish-cache/lib/libsbuf/Makefile.am,
   trunk/varnish-cache/lib/libsbuf/sbuf.c:

   Add libsbuf, based on the latest sbuf code from FreeBSD-CURRENT.

2006-03-13 13:30  phk

 * trunk/varnish-cache/autogen.sh:

   Pick up the gnu-autotools binary directory if we spot one. This
   makes life on FreeBSD somewhat easier.

2006-03-13 12:37  phk

 * trunk/varnish-cache/lib/Makefile.am, trunk/varnish-cache/lib/libvcl,
   trunk/varnish-cache/lib/libvcl/Makefile,
   trunk/varnish-cache/lib/libvcl/sample.vcl,
   trunk/varnish-cache/lib/libvcl/vcl_compile.c,
   trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
   trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
   trunk/varnish-cache/lib/libvcl/vcl_lang.h,
   trunk/varnish-cache/lib/libvcl/vcl_priv.h,
   trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:

   Add first cut of VCL compiler to the tree.
   
   The Makefile is a temporary shim until I get the auto* stuff working.
   
   The sample.vcl is a small mock-up to test the compiler.
   
   Some of the .h files needs to move other places in the fullness of time.
   
   But other than that...

2006-03-02 10:32  des

 * trunk/varnish-cache:

   Ignore generated files; generated with the following command:
   
   svk propset svn:ignore "$(svk status | awk '/^\?/ { print $2 }')" .

2006-03-02 10:31  des

 * trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/varnish,
   trunk/varnish-cache/include/varnish/assert.h,
   trunk/varnish-cache/include/varnishapi.h,
   trunk/varnish-cache/lib/libvarnishapi/Makefile.am,
   trunk/varnish-cache/lib/libvarnishapi/varnish_debug.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_log.c,
   trunk/varnish-cache/lib/libvarnishapi/varnish_util.c:

   Untested & undocumented login code. I don't have time to continue working
   on it right now, but I want it in the tree so phk doesn't start duplicating
   my effort.

2006-03-02 10:29  des

 * trunk/varnish-cache/bin/varnishd:

   Add varnishd to ignore list.

2006-02-27 14:21  des

 * trunk/varnish-cache/include:

   Ignore generated files.

2006-02-27 14:21  des

 * trunk/varnish-cache/lib, trunk/varnish-cache/lib/libvarnish,
   trunk/varnish-cache/lib/libvarnishapi:

   Ignore generated files.

2006-02-27 14:21  des

 * trunk/varnish-cache/bin, trunk/varnish-cache/bin/varnishd:

   Ignore generated files.

2006-02-27 11:10  des

 * trunk/varnish-cache/autogen.sh,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnishapi/Makefile.am:

   Correct libtool idiom: run libtoolize after aclocal, and use LTLIBRARIES
   instead of LIBRARIES.

2006-02-27 09:55  des

 * trunk/varnish-cache/LICENSE:

   Don't forget the license!

2006-02-24 14:35  des

 * trunk/varnish-cache/Makefile.am, trunk/varnish-cache/autogen.sh,
   trunk/varnish-cache/bin, trunk/varnish-cache/bin/Makefile.am,
   trunk/varnish-cache/bin/varnishd,
   trunk/varnish-cache/bin/varnishd/Makefile.am,
   trunk/varnish-cache/bin/varnishd/varnishd.c,
   trunk/varnish-cache/configure.ac, trunk/varnish-cache/include,
   trunk/varnish-cache/include/Makefile.am,
   trunk/varnish-cache/include/varnishapi.h, trunk/varnish-cache/lib,
   trunk/varnish-cache/lib/Makefile.am,
   trunk/varnish-cache/lib/libvarnish,
   trunk/varnish-cache/lib/libvarnish/Makefile.am,
   trunk/varnish-cache/lib/libvarnishapi,
   trunk/varnish-cache/lib/libvarnishapi/Makefile.am:

   Source tree structure as agreed.

2006-02-22 14:31  des

 * trunk/varnish-cache, trunk/varnish-doc, trunk/varnish-proto,
   trunk/varnish-tools:

   Additional subdivisions.

