Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: tags/varnish-0…
Fetching contributors…

Cannot retrieve contributors at this time

6013 lines (4262 sloc) 187.221 kb
2006-08-10 14:04 des
* branches/0.9, branches/0.9/varnish-cache/configure.ac: Fork 0.9.
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