Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: tags/varnish-0…
Fetching contributors…

Cannot retrieve contributors at this time

6807 lines (4275 sloc) 190.047 kb
2006-08-11 08:40 des
* trunk/varnish-cache/svn2cl.xsl:
Widen left and right margins, and add a blank line between the paths and
the message.
2006-08-11 08:35 des
* trunk/varnish-cache/svn2cl.xsl:
Print the message separately from the paths to avoid strange wrapping.
2006-08-11 08:34 des
* trunk/varnish-cache/svn2cl.xsl:
This is the XSL stylesheet used to generate the ChangeLog.
2006-08-11 08:25 des
* trunk/varnish-cache/Makefile.am:
Include LICENSE and autogen.sh in the dist tarball.
2006-08-11 08:25 des
* trunk/varnish-cache/lib/libcompat/Makefile.am:
Don't install libcompat.a.
2006-08-11 08:24 des
* trunk/varnish-cache/INSTALL, trunk/varnish-cache/README:
Add a README and installation instructions.
2006-08-11 07:35 phk
* trunk/varnish-cache/include/http_headers.h:
Don't filter Cache-Control out in replies from backend.
2006-08-11 07:35 phk
* trunk/varnish-cache/bin/varnishd/tcp.c:
Fix protocol family selection logic to also work on
a FreeBSD machine with now IPv6.
Remember to also free the addrinfo in case of success.
2006-08-11 07:33 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Bail if we don't get a listening socket.
2006-08-11 07:12 phk
* trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
Missed one: Only include compat headers if necessary
2006-08-11 07:11 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/flint.lnt,
trunk/varnish-cache/bin/varnishd/flint.sh,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/tcp.c:
Pull in ../../config.h when running flexelint.
Only include compat headers if we need them.
2006-08-11 07:03 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Fix indentation
2006-08-11 07:02 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Remove unused variable.
2006-08-11 07:01 phk
* trunk/varnish-cache/bin/varnishd/flint.sh:
Point at KQUEUE version of acceptor by default.
2006-08-11 07:01 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
Fix an assert so it actually has a chance of firing: (an unsigned is
always >= 0)
2006-08-10 13:03 des
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
Rewrite pass_chunked().
2006-08-10 11:48 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Got the requesttime right this time.
I am noticing free()'s that are freeing empty variables/pointers. Have
to find where is happens.
Also noticing IP adresses not set correctly.
Still load of debugcode.
2006-08-10 11:10 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Updated to work with new inner workings (ReqStart, ReqEnd, sbuf
replacement etc).
Code now compiles.
2006-08-10 08:56 des
* trunk/varnish-cache/bin/varnishd/tcp.c:
FreeBSD needs <netinet/in.h> for IPPROTO_IPV6 and IPV6_V6ONLY.
2006-08-10 07:38 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Added some more meat to the program. Loads of debug code still on.
Next step is to add the correct time. It's a bit tricky, and I haven't
gotten it right just yet.
2006-08-09 14:49 des
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/configure.ac:
Add an epoll()-based acceptor for Linux 2.6. Simple empirical tests
indicate
that epoll() performs significantly better than poll() (less CPU usage).
2006-08-09 12:38 des
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Clear reference to backend when we release our VCL reference.
2006-08-09 11:24 des
* trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/include/vcl_returns.h,
trunk/varnish-cache/include/vrt_obj.h,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
trunk/varnish-cache/lib/libvcl/vcc_obj.c:
Add support for using separate backends for separate virtual hosts:
- remove the obj.backend variable, which is not connected to anything.
- define a req.backend variable and implement l/r functions for it
- complete / correct support for setting / comparing backend values
2006-08-09 11:22 des
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c:
Cosmetic: redefine HTTP_HDR_* as an enum and rename MAX_HTTP_HDRS to
HTTP_HDR_MAX.
2006-08-09 09:36 des
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/tcp.c:
Rewrite open_tcp(): use only one listening socket. Try for a combined
IPv6 / IPv4 socket; if IPv6 is not available, fall back to an IPv4 socket.
2006-08-08 14:52 des
* trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
While FreeBSD defaults to MAP_SHARED, Linux requires either MAP_SHARED or
MAP_PRIVATE to be specified. Do so.
2006-08-08 14:00 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/configure.ac:
Autodetect the need to link against libdl for dlopen().
2006-08-08 12:57 des
* trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/configure.ac,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/include/compat/setproctitle.h,
trunk/varnish-cache/lib/libcompat/Makefile.am,
trunk/varnish-cache/lib/libcompat/setproctitle.c:
Add a setproctitle() stub to libcompat.
2006-08-08 12:57 des
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
#include "compat/srandomdev.h" for srandomdev()
2006-08-08 12:55 des
* trunk/varnish-cache/include/compat/vis.h,
trunk/varnish-cache/lib/libcompat/vis.c:
Expand keywords.
2006-08-08 12:46 des
* trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/configure.ac:
#include <sys/vfs.h> for fstatfs if it is available.
2006-08-08 12:45 des
* trunk/varnish-cache/configure.ac:
Now that we define _GNU_SOURCE, the asprintf() / vasprintf() hack is no
longer required.
2006-08-08 12:42 des
* trunk/varnish-cache/configure.ac:
Defining _GNU_SOURCE gives us native asprintf() and strptime() on glibc
systems, and has no effect on FreeBSD.
2006-08-08 12:31 des
* trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/bin/varnishstat/Makefile.am,
trunk/varnish-cache/bin/varnishtop/Makefile.am,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/configure.ac,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/include/compat/vis.h,
trunk/varnish-cache/lib/libcompat/Makefile.am,
trunk/varnish-cache/lib/libcompat/vis.c:
Bring in FreeBSD's version of vis(3), strvis(3) and strvisx(3).
2006-08-08 12:15 des
* trunk/varnish-cache/configure.ac,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/include/compat/srandomdev.h,
trunk/varnish-cache/lib/libcompat/Makefile.am,
trunk/varnish-cache/lib/libcompat/srandomdev.c:
Add a simple srandomdev() implementation inspired by the one in FreeBSD.
2006-08-08 09:15 des
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
The correct header for poll() is <poll.h>, not <sys/poll.h> like the Linux
man page says (poll() is an XSI extension in SUSv[23])
2006-08-08 07:47 des
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/configure.ac:
Autodetect the availability of kqueue() and / or poll().
2006-08-08 07:47 des
* trunk/varnish-cache/bin/varnishstat/varnishstat.c:
#include "libvarnish.h" for varnish_version().
2006-08-08 07:36 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Add back sendfile support (under #ifdef HAVE_SENDFILE) but don't engage
it for small objects on the suspicion that it has highish setup cost.
2006-08-08 07:17 des
* trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/tcp.c,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/include/compat,
trunk/varnish-cache/include/compat.h,
trunk/varnish-cache/include/compat/asprintf.h,
trunk/varnish-cache/include/compat/strlcat.h,
trunk/varnish-cache/include/compat/strlcpy.h,
trunk/varnish-cache/include/compat/vasprintf.h,
trunk/varnish-cache/lib/libcompat/asprintf.c,
trunk/varnish-cache/lib/libcompat/strlcat.c,
trunk/varnish-cache/lib/libcompat/strlcpy.c,
trunk/varnish-cache/lib/libcompat/vasprintf.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c:
Split compat.h into one header per function to avoid issues with e.g. the
vasprintf() prototype needing <stdarg.h> even when it isn't used.
2006-08-08 07:15 des
* trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishstat/Makefile.am:
varnish{ncsa,stat} also need librt.
2006-08-08 07:03 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/hash_classic.c,
trunk/varnish-cache/configure.ac:
Attempt to detect the availability of RSA's MD5 implementation, and the
need to link against libmd to get it.
Attempt to detect the need for linking against librt to get
clock_gettime().
2006-08-08 07:01 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Fix braino
2006-08-08 06:39 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Default to 4096 buckets and 256 mutexes
2006-08-08 06:38 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Use crc32 hash by default, MD5 is a compile time option
2006-08-08 06:37 phk
* trunk/varnish-cache/bin/varnishd/flint.lnt:
lbv_assert never returns
2006-08-07 21:08 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_token.c:
64bit changes
2006-08-07 21:01 phk
* trunk/varnish-cache/configure.ac:
Add -Wformat and remove -fno-inline which disables it.
2006-08-07 21:01 phk
* trunk/varnish-cache/lib/libvarnish/assert.c:
Fix printf format error
2006-08-07 20:50 phk
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/configure.ac:
Update to new shmlog tag
2006-08-07 20:47 phk
* trunk/varnish-cache/lib/libvcl/vcc_acl.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_priv.h,
trunk/varnish-cache/lib/libvcl/vcc_token.c:
Eliminate use of extensible printf
2006-08-07 20:24 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Improve the "-d" and "-d -d" facilities.
When we close a CLI and it had fd# 0 and/or fd#1, reopen these
as /dev/null so the will not be reused for the CLI pipe to the
child on next restart, otherwise stdout/stderr output from the
manager would get sent there and confuse the clients CLI reader.
Don't double free a pointer to the CLI buffer.
Accept non-zero results from cli_readres() errors are non-fatal.
Use stderr more consistently for manager debugging.
2006-08-07 18:33 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
An assert to catch silly errors.
2006-08-07 17:27 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/include/shmlog_tags.h:
Rename SHMlog tags for consistency
XID -> ReqStart
ReqServTime -> ReqEnd
2006-08-07 17:18 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Remove printf extensions used for development debugging
2006-08-07 17:18 phk
* trunk/varnish-cache/include/libvarnish.h:
Make assert do the right thing
2006-08-07 17:15 phk
* trunk/varnish-cache/lib/libvcl/vcc_token.c:
Clean up #includes
2006-08-07 17:10 phk
* trunk/varnish-cache/include/libvarnish.h,
trunk/varnish-cache/lib/libvarnish/assert.c:
Call __assert() lbv_assert() instead.
2006-08-07 17:08 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/lib/libvarnish/assert.c:
quench warnings related to libvarnish.h
2006-08-07 16:45 des
* trunk/varnish-cache/configure.ac:
Don't trust the documentation - when it says "additional headers", it
actually means "additional code to place before main() in the test program"
2006-08-07 16:42 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/bin/varnishd/hash_classic.c,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/bin/varnishd/shmlog.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/tcp.c,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/bin/varnishtester/varnishtester.c,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/include/libvarnish.h,
trunk/varnish-cache/lib/libvarnish/Makefile.am,
trunk/varnish-cache/lib/libvarnish/argv.c,
trunk/varnish-cache/lib/libvarnish/assert.c:
Add our own assert in libvarnish.h
Include libvarnish.h from cache.h and mgt.h
2006-08-07 16:29 des
* trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
#include "libvarnish.h" for varnish_version().
2006-08-07 16:26 des
* trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c:
#include "compat.h" for asprintf().
2006-08-07 16:24 des
* trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/lib/libvcl/vcc_acl.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_token.c:
vsb.h is not a system header.
2006-08-07 16:23 des
* trunk/varnish-cache/bin/varnishtop/varnishtop.c:
#include "libvarnish.h" for varnish_version().
2006-08-07 16:23 des
* trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
#include "compat.h" for asprintf(). Sort includes.
2006-08-07 16:20 des
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Define INFTIM if it isn't already.
2006-08-07 16:20 des
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Spell SIZE_MAX correctly.
2006-08-07 16:17 des
* trunk/varnish-cache/bin/varnishd/mgt_event.c:
Define INFTIM if it isn't already.
2006-08-07 16:17 des
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
#include <compat.h> for asprintf().
2006-08-07 16:15 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Handle CLI trouble with the childproc
2006-08-07 16:14 phk
* trunk/varnish-cache/include/cli.h,
trunk/varnish-cache/lib/libvarnish/cli_common.c:
Add CLIS_COMMS errno (400) and return an error text as well.
2006-08-07 16:11 des
* trunk/varnish-cache/bin/varnishd/tcp.c, trunk/varnish-cache/configure.ac:
Check whether we have accept filters before trying to use them.
2006-08-07 16:05 phk
* trunk/varnish-cache/lib/libvarnish/cli_common.c:
Handle read errors on the cli pipes.
2006-08-07 15:54 des
* trunk/varnish-cache/configure.ac:
Improve descriptions of HAVE_ASPRINTF / HAVE_VASPRINTF.
2006-08-07 15:54 phk
* trunk/varnish-cache/lib/libvarnish/vsb.c:
Quench warnings.
2006-08-07 15:51 des
* trunk/varnish-cache/include/compat.h,
trunk/varnish-cache/lib/libcompat/vasprintf.c:
My idiocy knows no bounds. Make sure this actually builds.
2006-08-07 15:47 des
* trunk/varnish-cache/configure.ac:
Improve detection of the presence and usability of asprintf() /
vasprintf().
2006-08-07 15:42 des
* trunk/varnish-cache/include/compat.h:
paste-o.
2006-08-07 15:24 des
* trunk/varnish-cache/configure.ac,
trunk/varnish-cache/include/compat.h,
trunk/varnish-cache/lib/libcompat/Makefile.am,
trunk/varnish-cache/lib/libcompat/asprintf.c,
trunk/varnish-cache/lib/libcompat/strlcat.c,
trunk/varnish-cache/lib/libcompat/strlcpy.c,
trunk/varnish-cache/lib/libcompat/vasprintf.c:
Add implementations of asprintf(3) and vasprintf(3).
2006-08-07 15:09 des
* trunk/varnish-cache/include/libvarnish.h:
Relucantly include <time.h> for time_t. We'll have to clean up our header
files at some point.
2006-08-07 15:08 des
* trunk/varnish-cache/bin/varnishd/shmlog.c:
Remove redundant definition of __assert().
2006-08-07 15:00 des
* trunk/varnish-cache/include/libvarnish.h:
TIM_{format,parse}() are used unconditionally, so declare them
unconditionally.
2006-08-07 15:00 des
* trunk/varnish-cache/bin/varnishd/cache.h:
Sort includes, add <stdint.h> for uint64_t.
2006-08-07 14:55 des
* trunk/varnish-cache/lib/libvcl/vcc_compile.c:
Eliminate __unused.
2006-08-07 14:52 des
* trunk/varnish-cache/lib/libvarnish/cli_common.c:
Sort includes, add <stdint.h> for uintptr_t.
2006-08-07 12:42 des
* trunk/varnish-cache/lib/libvarnish/vsb.3:
Define str-Lb-libvarnish so ".Lb libvarnish" will work. This should be in
a shared file somewhere with some soelim magic in the Makefile, but don't
bother right now - the file isn't installed anyway.
2006-08-07 12:35 des
* trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/bin/varnishstat/Makefile.am,
trunk/varnish-cache/bin/varnishstat/varnishstat.c,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/include/libvarnish.h,
trunk/varnish-cache/lib/libvarnish/Makefile.am,
trunk/varnish-cache/lib/libvarnish/version.c:
Add a -V option (display version and exit) to all programs.
2006-08-07 11:09 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
trunk/varnish-cache/bin/varnishd/flint.lnt,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/bin/varnishtop/Makefile.am,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/configure.ac,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/include/cli_common.h,
trunk/varnish-cache/include/libvcl.h,
trunk/varnish-cache/include/sbuf.h, trunk/varnish-cache/include/vrt.h,
trunk/varnish-cache/include/vsb.h,
trunk/varnish-cache/lib/Makefile.am, trunk/varnish-cache/lib/libsbuf,
trunk/varnish-cache/lib/libvarnish/Makefile.am,
trunk/varnish-cache/lib/libvarnish/cli_common.c,
trunk/varnish-cache/lib/libvarnish/vsb.3,
trunk/varnish-cache/lib/libvarnish/vsb.c,
trunk/varnish-cache/lib/libvcl/vcc_acl.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcc_token.c:
Fold libsbuf into libvarnish, with s/sbuf/vsb/g.
2006-08-07 10:46 phk
* trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Timeout pipe connections after 600 seconds.
2006-08-07 10:40 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Use a 600 second timeout, 120 second is too little.
2006-08-07 09:21 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Set SO_SNDTIMEO to 120 seconds
2006-08-07 08:42 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/stevedore.h,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/storage_malloc.c:
First step of slow client handling: Lose the stevedore function
for sending and instead record the fd+off_t in the storage object.
This eliminates sendfile from storage_file.c, next step is to put
it back in the generic code in cache_response.c
2006-08-07 05:52 des
* trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/lib/libvarnish/cli_common.c:
Update #include directives.
2006-08-07 05:49 des
* trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.h,
trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/include/binary_heap.h,
trunk/varnish-cache/include/cli_priv.h,
trunk/varnish-cache/include/miniobj.h,
trunk/varnish-cache/include/stats.h,
trunk/varnish-cache/include/varnish/assert.h,
trunk/varnish-cache/include/vrt.h,
trunk/varnish-cache/lib/libvarnish/argv.c,
trunk/varnish-cache/lib/libvarnish/binary_heap.c,
trunk/varnish-cache/lib/libvarnish/cli.c,
trunk/varnish-cache/lib/libvarnish/time.c,
trunk/varnish-cache/lib/libvarnishapi/varnish_debug.c,
trunk/varnish-cache/lib/libvarnishapi/varnish_log.c,
trunk/varnish-cache/lib/libvarnishapi/varnish_util.c:
Expand keywords.
2006-08-07 05:49 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/common_cli.c,
trunk/varnish-cache/bin/varnishd/common_cli.h,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/include/cli_common.h,
trunk/varnish-cache/lib/libvarnish/Makefile.am,
trunk/varnish-cache/lib/libvarnish/cli_common.c:
Move common_cli.[ch] out of varnishd, and rename them to cli_common.[ch].
2006-08-07 05:47 des
* trunk/varnish-cache/bin/varnishd/Makefile.am:
List headers in noinst_HEADERS instead of SOURCES.
2006-08-07 00:21 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Fresh start after study of output from varnishlog -o.
First off is IP adress logging and clearing.
2006-08-06 17:00 des
* trunk/varnish-cache:
Add compile to svn:ignore.
2006-08-06 16:55 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Make
-w -
work as expected.
2006-08-06 15:02 des
* trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishstat/Makefile.am,
trunk/varnish-cache/bin/varnishtester/Makefile.am,
trunk/varnish-cache/bin/varnishtop/Makefile.am,
trunk/varnish-cache/lib/libcompat/Makefile.am,
trunk/varnish-cache/lib/libsbuf/Makefile.am,
trunk/varnish-cache/lib/libvarnish/Makefile.am,
trunk/varnish-cache/lib/libvarnishapi/Makefile.am,
trunk/varnish-cache/lib/libvcl/Makefile.am:
Systematically include config.h.
2006-08-06 14:33 des
* trunk/varnish-cache/bin/varnishd/Makefile.am:
Forcibly include config.h.
2006-08-06 13:51 des
* trunk/varnish-cache/configure.ac:
Change version to "trunk" until I can figure out a way to have it reflect
the current date.
2006-08-06 13:49 des
* trunk/varnish-cache/configure.ac:
Include -pipe in CFLAGS.
Reduce optimization level to -O when debugging.
2006-08-06 12:51 des
* trunk/varnish-cache:
Adjust directory properties.
2006-08-06 12:49 des
* trunk/varnish-cache/bin/varnishlog,
trunk/varnish-cache/bin/varnishncsa,
trunk/varnish-cache/bin/varnishstat,
trunk/varnish-cache/bin/varnishtester,
trunk/varnish-cache/bin/varnishtop, trunk/varnish-cache/lib/libcompat,
trunk/varnish-cache/lib/libsbuf, trunk/varnish-cache/lib/libvcl:
Adjust directory properties.
2006-08-06 12:26 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishstat/Makefile.am:
Add missing headers and man pages.
2006-08-06 12:26 des
* trunk/varnish-cache/autogen.sh:
We no longer have any CONFIG_SUBDIRS.
2006-08-06 12:25 des
* trunk/varnish-cache/include/Makefile.am:
Add missing headers.
2006-08-06 12:23 des
* trunk/varnish-cache/Makefile.am:
Umm, *really* retire libevent.
2006-08-06 12:23 des
* trunk/varnish-cache/Makefile.am, trunk/varnish-cache/configure.ac,
trunk/varnish-cache/contrib:
Retire libevent.
2006-08-06 12:20 des
* trunk/varnish-cache/bin/Makefile.am, trunk/varnish-cache/configure.ac:
Fully disconnect varnishtester.
2006-08-06 00:44 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
I have realized that I have major structure problems. I will have to
study varnishlog output a bit more to understand it better.
May wanna start clean again, and use hardearned knowledge to make
better and more robust structure.
2006-08-05 22:43 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Checks show that my IP adress checker is very restrictive and probably
deletes other loglines. We still bleeds null lines also.
This will have to be cleaned up.
2006-08-05 22:12 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Loglines with no IP should no longer appear. That also cleared all
lines containing a null. Not sure if my check for IP is to harsly
implemented and cleans to much.
2006-08-05 21:35 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Centralized the stringwriting at last, also started memory cleanup.
2006-08-05 21:11 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Added user, loginname, statuscode (200, 304 etc.), byte and referer to
make a logline compliant. User and loginname is hardcoded. Referer and
User-agen is unclean. Timecode is not working. This version leaks
memory bigtime, and is not ready for alpha yet.
2006-08-05 20:52 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
For consistency: Go to deliver state instead of delivering locally.
2006-08-05 18:11 phk
* trunk/varnish-cache/include/vcl.h,
trunk/varnish-cache/include/vcl_returns.h,
trunk/varnish-cache/include/vrt.h,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:
Make vcl methods call their defaults as a last resort.
Fix the location table so it knows about the default code too.
2006-08-05 17:30 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c:
And that is not a good idea either.
2006-08-05 17:30 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c:
This was not a valid test.
2006-08-05 17:04 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Add some undocumented code to look for something that worries me.
2006-08-05 16:41 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c:
Issue error message for CLI::start and CLI::stop if child is
not in a legal state for command.
2006-08-05 16:32 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c:
Also trap SIGTERM
2006-08-05 16:31 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
More work on the debug stunt
2006-08-05 15:55 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
Plug memory leaks related to starting/stopping child.
2006-08-05 15:40 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c:
Replace client_should_run with a 5 state enum to avoid races if multiple
CLI sources yell at the same time.
2006-08-05 15:38 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Bail if the cli pipe is not ready
2006-08-05 15:38 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Polish the debugstunt and make it possible to avoid it.
2006-08-05 15:35 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c:
We don't disturb ourselves.
2006-08-05 14:24 phk
* trunk/varnish-cache/bin/varnishd/common_cli.c,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
More defensive coding and a couple of bugs less.
2006-08-05 14:22 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
More defensive coding.
2006-08-05 12:45 phk
* trunk/varnish-cache/bin/varnishd/common_cli.c,
trunk/varnish-cache/bin/varnishd/common_cli.h,
trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Add a timeout to reads from the child CLI pipe so we don't hang
for ever.
2006-08-05 12:24 phk
* trunk/varnish-cache/bin/varnishd/flint.lnt:
Improve.
2006-08-05 12:24 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c:
Style cleanup.
remove two unused variables.
2006-08-05 12:24 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Remove unused include
Fix function arg type
2006-08-05 12:23 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
Make sanity check of binheap permanent and fix style accordingly.
2006-08-05 12:23 phk
* trunk/varnish-cache/bin/varnishd/common_cli.c:
Remove unused include
free buffer on error.
2006-08-05 12:22 phk
* trunk/varnish-cache/bin/varnishd/cache_cli.c:
Make sure we don't overflow the line buffer
Remove unused #include
2006-08-05 12:20 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_vcl.c:
Remove unused "ip" from backend.
Make VCL_Load static, and give it a NULL check.
2006-08-05 12:19 phk
* trunk/varnish-cache/bin/varnishd/common_cli.h:
Cleanup unused stuff
2006-08-05 12:19 phk
* trunk/varnish-cache/bin/varnishd/mgt.h:
Remove prototypes for no longer existing functions
2006-08-05 12:18 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Remove unused includes
2006-08-05 12:17 phk
* trunk/varnish-cache/bin/varnishd/flint.sh:
don't search libevent for includes
2006-08-05 12:17 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c:
style fix
2006-08-05 12:16 phk
* trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
Rename struct vcls to vclprog
2006-08-05 11:44 phk
* trunk/varnish-cache/bin/varnishd/cli_common.c:
remove old file
2006-08-05 11:16 phk
* trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
Change manager to use mgt_event.h instead of threads to be lazy thread
developer compatible.
POSIX, no surprise, doesn't really tell what should happen to a threaded
process which forks and consequently implemenations vary somewhat,
from Solaris which seems to Do The Right Thing, via Linux where it
works "most of the time" and to FreeBSD which more or less actively
sabotages any such attempt.
Grin and live with it...
2006-08-05 11:13 phk
* trunk/varnish-cache/bin/varnishd/cache_cli.c:
Remove pthread.h include, it's included in cache.h
2006-08-05 11:12 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c:
Remove debugging printfs
2006-08-05 11:08 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c:
More bugfixes
2006-08-05 11:07 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
Add assert
2006-08-05 10:31 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_event.h:
bugfixes
2006-08-05 09:27 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_event.h:
Add signal support.
2006-08-05 08:49 phk
* trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_event.h:
bugfixes
2006-08-05 08:19 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/mgt_event.c,
trunk/varnish-cache/bin/varnishd/mgt_event.h:
Add a miniature event engine based on poll(2).
It's general enough to find other uses, but right now it's only for
the manager process.
2006-08-05 01:17 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Got the IP, Request and User-Agent sorted out. Working on the time
2006-08-04 20:03 phk
* trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Initialize all directions to "opposite" for -b and -c to avoid
spurious first entries.
2006-08-04 19:42 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Use id for printing
2006-08-04 19:36 phk
* trunk/varnish-cache/include/stat_field.h:
Stats field changes
2006-08-04 19:36 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_session.c:
More comprehensive performance stats and a few asserts, just in case.
2006-08-04 11:10 phk
* trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.h,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c:
Now that we keep track of loaded VCLs in the manager, we might
as well allow their manipulation also when the child is not
running.
2006-08-04 10:54 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.h,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/include/cli.h, trunk/varnish-cache/include/vcl.h,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl:
Redo VCL program handling.
Keep track of all loaded VCL programs in the manager and tell the
child to load them via VCL.
Don't start he acceptor thread until a "start" command cones down
the CLI.
XXX: Right now we leak stuff when a VCL program is dicarded
2006-08-04 10:23 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.h,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Redo our management of compiled VCL programs:
Take default_vcl out of heritage.
Keep track of all compiled VCL files and delete them at
exit.
After starting child, use CLI to load all vcl programs
and then issue "start" via the CLI.
In the cacher, don't start the acceptor until we get
a start command.
2006-08-04 09:19 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_vcc.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Move VCL compiler related stuff to mgt_vcc.c
2006-08-04 09:06 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Remove old cli related stuff, it now lives elsewhere
2006-08-04 09:06 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
reimplement CLI stats
2006-08-04 07:21 phk
* trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Implement CLI ping in manager, this is a "per hop" command.
Add mgt_cli_askchild() function to poke the CLI interface to
the child.
Use it to ping the child every second.
2006-08-04 07:20 phk
* trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/common_cli.c,
trunk/varnish-cache/bin/varnishd/common_cli.h:
Move cli_func_ping to common_cli
2006-08-04 07:19 phk
* trunk/varnish-cache/bin/varnishd/cache_main.c:
SIGCHLD has already been taken care of earlier.
2006-08-04 06:53 phk
* trunk/varnish-cache/bin/varnishd/common_cli.c,
trunk/varnish-cache/bin/varnishd/common_cli.h,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/include/cli.h:
Change the CLI protocol in a subtle but useful way:
The first line of the response has a fixed format ("%-3d %-8u\n")
and consequently fixed length (CLI_LINE0_LEN == 13).
This makes parsing responses more efficient. Add a function
in common_cli to do so.
2006-08-04 06:23 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
(Re)Implement passthru of cli commands, we can now talk with the
cache process again.
2006-08-04 06:21 phk
* trunk/varnish-cache/include/cli.h:
Add CLIS_CANT status code for when something is valid but currently
impossible.
2006-08-04 06:21 phk
* trunk/varnish-cache/bin/varnishd/cache_cli.c:
Typo: write cli result to correct pipe.
2006-08-03 23:42 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Placed a new sbuf_clear at a more strategic place. It got cluttered
when a host left without SessionClose of SessionReuse.
2006-08-03 22:01 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Got a workaround for IP adress fetching. If we connect logger while
Varnish is running, we won't catch the IP from SessionOpen since it's
already done that. Workaround is to catch the IP from SessionReuse if
IP of session is NULL
2006-08-03 19:21 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Fix copy&paste bug in fetch_chunked.
2006-08-03 19:20 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Sanitycheck that the length of an object adds up, right when we
fetch it.
2006-08-03 11:46 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c:
Imlement stopping and restarting of child process.
Not as useful as it will be yet, see ticket 22
2006-08-03 11:45 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Make the pipe-stunt debug process smarter.
2006-08-03 10:37 phk
* trunk/varnish-cache/bin/Makefile.am:
Take varnishtester out of the loop until it can be de-libevented
2006-08-03 10:37 phk
* trunk/varnish-cache/bin/varnishd/mgt_cli.c:
Add stop command as well.
2006-08-03 10:16 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Think I have found a program structure that works. Filling in bits to
build logline.
2006-08-03 09:45 phk
* trunk/varnish-cache/Makefile.am, trunk/varnish-cache/autogen.sh,
trunk/varnish-cache/bin/varnishtester/Makefile.am:
Remove libevent from the picture.
2006-08-03 09:45 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cli_common.c,
trunk/varnish-cache/bin/varnishd/cli_event.c,
trunk/varnish-cache/bin/varnishd/cli_event.h,
trunk/varnish-cache/bin/varnishd/common_cli.c,
trunk/varnish-cache/bin/varnishd/common_cli.h,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/mgt_cli.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Rip out the old CLI handling and start over, more or less.
Still bits missing.
2006-08-03 06:45 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_cli.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cli_event.h:
Rework the cache process CLI handling:
We are only accepting CLI from the pipes in heritage, so simply
run a loop reading those, dispatching lines as we see them.
Export CLI_cmds[] so that the management process can see it,
we might as well take advantage of the shared binary where we can.
2006-08-02 22:53 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Added SessionReuse so I now write a logline for SessionClose and
SessionReuse.
2006-08-02 22:33 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Starting to get the structure right (I think). Thx for the NULL on
each string Poul-Hennning :)
2006-08-02 20:59 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
Add an assert, just in case.
2006-08-02 20:54 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
Fix a bug when deleting items in the binheap
2006-08-02 19:12 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
log StatAddr with fd=0 to avoid out-of-order confusion
2006-08-02 18:17 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Allow ENOENT on removing kqueue events, a close will have drained
them already.
2006-08-02 18:12 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Tell daemon(3) to not chdir in debugging mode so we can find our core
dumps.
2006-08-02 17:45 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Enter pass mode through the front door.
2006-08-02 17:27 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
More asserts, sp->vbc this time.
2006-08-02 15:55 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
Remember to clear sp->vbc
2006-08-02 13:28 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Don my plumbers outfit and twist a lot of pipes into shape:
When -d(ebug) is specified we fork before calling daemon.
The parent process becomes a miniature cat(1) program which connects
stdin/stdout with the management process stdin/stdout.
It also knows that SIGINT should be passed on to the management process
in order to make it DTRT.
Any other cause of death for this "debugger" process will (once I
teach the CLI about it) not affect the running varnish and therefore
it will be possible to start varnish in debugging mode, tweak things
a bit and CTRL-D and leave it running in the properly daemon(3)'ed
background.
The reason for this rather complicated bit of pipework is that we
can not call daemon(3) once we have started any threads (only the
calling thread survives) and we would loose our parent relationship
to the cache process also.
2006-08-02 12:05 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Typo: Also monitor remote sockets with the poll based acceptor.
2006-08-02 11:58 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c:
Remove the libevent from the backend pool manager.
Simplify the logic here while we're at it.
2006-08-02 11:18 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Add <stdarg.h> include
2006-08-02 11:17 phk
* trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Remove unused struct.
2006-08-02 10:53 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c:
Simplify backend connection memory management.
2006-08-02 10:40 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Replace libevent based acceptor with poll(2) based acceptor.
2006-08-02 09:34 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_http.c:
Bite the bullet and write an alternate acceptor which uses kqueue
directly instead of libevent.
Degeneralize the header reading code in cache_http.c which seems to
be cleaner anyway.
An #ifdef at the top of cache_acceptor.c selects which implementation
you want: libevent or kqueue.
2006-08-02 07:23 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Convert pipe to use poll(2) on the two filedescriptors it cares about
and eliminate the per-workerthread event engine entirely.
2006-08-02 07:07 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c:
I have nothing but circumstantial evidence that libevent is involved
in the current stack corruption I see, but we might as well avoid
using it where we can:
Don't engage the eventengine when we talk to the backend, just call
read(2) directly.
2006-08-02 04:57 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/hash_classic.c:
More miniobj paranoia
2006-08-01 19:48 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
More miniobj checks
2006-08-01 17:54 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
More miniobj checks
2006-08-01 16:42 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/flint.lnt:
More miniobj checks
2006-08-01 16:26 phk
* trunk/varnish-cache/bin/varnishd/cache_response.c:
more miniobj checks
2006-08-01 15:09 phk
* trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
trunk/varnish-cache/bin/varnishd/cache_vrt_re.c:
Flinting.
2006-08-01 15:08 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Make 32bit limitation work better.
2006-08-01 15:08 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Fixx off by one error.
2006-08-01 14:53 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/storage_file.c:
Add miniobj checks om SMF and STORAGE
2006-08-01 12:38 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c:
This is getting too longhaired: Give backend connections another
http header which we can use to build the object headers in.
2006-08-01 12:04 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Experiment: don't use req's workspace to build object http header.
2006-08-01 09:39 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/include/shmlog_tags.h:
Record timestamp when we have received completed HTTP request header,
and define this as the "start of request timestamp".
Define "end of request timestamp" as when we are ready to transmit
HTTP header back.
SHMlog the start and difference between start and stop with ReqServTime
tag.
Keep track of idle sessions using CLOCK_MONOTONIC to avoid trouble
here should our clock get stepped.
2006-07-31 22:21 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Added some more toying with the data. All is still a mess, and I am
not sure of structure yet. PHK is also doing changes in areas that
will be needed.
2006-07-31 22:09 phk
* trunk/varnish-cache/bin/varnishd/shmlog.c,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Always NUL terminate shmlog entries.
2006-07-31 21:49 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/include/shmlog_tags.h:
Create three groups of seven SHMlog tags:
{Rx,Tx,Obj}{Request,Response,Status,URL,Protocol,Header,LostHeader}
And log http header munching accordingly.
2006-07-31 21:46 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Remove unused variable
2006-07-31 21:37 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
addr might be NULL if we are called from the prefetcher.
2006-07-31 21:04 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Add http_ClrHeader() and cure an unintended bug-oid its use exposes:
we checked if the request is a GET long after we should have.
2006-07-31 20:38 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Add a http_SetResp() function for constructing HTTP responses (like 304).
Eliminate the header index from http_SetHeader() which is no unused.
2006-07-31 20:27 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/include/shmlog_tags.h:
Log the headers we store in the object under ObjHeader so that
we don't get two confusing batches of TxHeader in the sessions logentries.
2006-07-31 19:18 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Fix the dot-graph
2006-07-31 14:50 andersb
* trunk/varnish-cache/bin/varnishncsa/varnishncsa.c:
Initial commit of real structure. This code will print the User-Agent.
2006-07-31 07:26 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Introduce http_SetHeader() for setting a http header to a const string,
no need to waste time printf'ing in this case, and no need to waste
workspace.
2006-07-31 07:13 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Don't fill more than half the workspace with received data, we need to
have space for composing the reply as well.
Without this fix, the entire workspace could be filled with pipelined
requests and we would have no space to compose the reply.
2006-07-31 06:36 des
* trunk/varnish-cache/bin/Makefile.am,
trunk/varnish-cache/bin/varnishncsa,
trunk/varnish-cache/bin/varnishncsa/Makefile.am,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.1,
trunk/varnish-cache/bin/varnishncsa/varnishncsa.c,
trunk/varnish-cache/configure.ac:
Clone varnishncsa off of varnishlog. Anders will hack on it to produce
NCSA-style (common / combined) logs.
2006-07-31 06:24 des
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Unbreak build.
2006-07-28 13:41 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
"HEAD" has 4 characters.
2006-07-24 10:13 phk
* trunk/varnish-cache/lib/libvcl/vcl_compile.c:
remove this file (again)
2006-07-22 22:01 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
reorg a little bit.
2006-07-22 21:20 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/stevedore.h,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/storage_malloc.c:
Eliminate redundant args from stevedore->send()
Have WRK_Write() and friends return number of bytes (we can't use
WRK_Flush() as that may act on both header and body).
Collect more stats.
2006-07-22 20:57 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/include/shmlog_tags.h,
trunk/varnish-cache/include/stat_field.h:
Add per address, per session and total statistics.
We (will) collect data in unlocked per workerthread accumulators
and whenever the workerthread leaves the session, we charge the
bill to the srcaddr (issuing a StatAddr shmrecord), to the session
and to the global counters in the stats struct.
When sessions die we issue a StatSess shmrecord.
StatAddr and StatSess has the same format:
address
port (always zero for StatAddr)
duration (seconds)
#sessions
#requests
#pipe
#pass
#fetch
#hdrbytes
#bodybytes
2006-07-22 16:55 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Make sure there always is a Host: header in fetch requests.
We fill it in with backend.hostname, but this may not be optimal
(direct IP# etc etc) so VCL should be able to override it.
2006-07-22 16:26 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Action pass from vcl_hit() needs to go to STP_PASS
2006-07-22 16:15 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c:
Always use GET and HTTP/1.1 against the backend for fetch
2006-07-22 13:58 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
exit after error
2006-07-22 12:00 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache_vrt_re.c,
trunk/varnish-cache/include/vrt.h,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:
Implement regexp matching of strings in VCL.
For now we default to REG_EXTENDED, but it might make sense
to let the user control this flag and the case sensitivity.
Another concern is the stringification of regexps, it may lead
to backslash madness. Maybe we should define '...' string types
also and do no backslash substitution in those at all.
2006-07-22 10:41 phk
* trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
trunk/varnish-cache/include/shmlog_tags.h,
trunk/varnish-cache/include/vcl_returns.h,
trunk/varnish-cache/include/vrt.h,
trunk/varnish-cache/lib/libvcl/vcc_acl.c,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c:
Change the acl syntax slightly: the ( ... ) should enclose all of
the rule (ie: also ! and /mask if present).
Implement matching for IPv4.
Acl tests are shmlogged as follows (doc candidate):
shmlog tag: VCL_actl
"NO_MATCH $acl"
client did not match access list $acl
"FAIL $acl $rule"
getaddrinfo(3) failed on $rule which had a '!'
"MATCH $acl $rule"
client matched $rule
"NEG_MATCH $acl $rule"
client matched negated (!) $rule
2006-07-22 10:35 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_session.c:
Store the socket address in the session
2006-07-22 09:38 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/cache_vrt_acl.c,
trunk/varnish-cache/include/vcl.h,
trunk/varnish-cache/include/vcl_returns.h,
trunk/varnish-cache/include/vrt.h,
trunk/varnish-cache/include/vrt_obj.h,
trunk/varnish-cache/lib/libvcl/vcc_acl.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl:
VCL compiler:
add two sbufs for "init" and "fini" actions.
VCL ACLs: Change syntax and implementation as follows.
ACL Syntax now works the following way:
acl $name {
! ( "myhost.com" ) ;
"10.0.0.1" /8 ;
}
The '!' means not. If the address matches the rest of the rule
the address does NOT match the acl and the search terminates here.
Enclosing the string in paranthesis means that the rule will be ignored
if the string cannot be converted to an address (with getaddrinfo).
When a string can not be looked up, and is not enclosed in a
paranthesis, a positive rule (ie: without !) will not match and a
negative rule (with !) will match.
A mask can always be supplied, no matter the style of the string
given, so it is possible to do things like:
{ "fw.ourcompany.dom" / 24 }
Which means "any host on the same /24 subnet as fw.ourcompany.dom".
Unfortunately getaddrinfo() does not return a TTL for the results,
in the future we may want to use some kind of timeout to refresh
the lookups.
2006-07-22 08:02 phk
* trunk/varnish-cache/include/vrt_obj.h,
trunk/varnish-cache/lib/libvcl/Makefile.am,
trunk/varnish-cache/lib/libvcl/vcc_acl.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
trunk/varnish-cache/lib/libvcl/vcc_obj.c:
Split IP/ACL compilation into vcc_acl.c
2006-07-21 22:12 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/storage_file.c:
Unless the user specifies an explicit size, don't use more than 2GB
on 32 bit architectures to avoid running out of address room
Make FlexeLint happy.
2006-07-21 21:57 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/include/vcl_returns.h,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
trunk/varnish-cache/lib/libvcl/vcc_token.c:
Make FlexeLint happier
2006-07-21 21:42 phk
* trunk/varnish-cache/autogen.phk:
Drop this one now.
2006-07-21 21:28 phk
* trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c:
Implement TTL adjustment from VCL
Log in shmem where the TTL came from (doc-candidate):
696613561 RFC 900 1153517009 1153517014 1153517914 900 0
| | | | | | | |
| | | | | | | age
| | | | | | max-age
| | | | | Expires: header
| | | | Date: header
| | | "now"
| | TTL relative to "now"
| who set the TTL
xid of object
or
696613561 VCL 20 1153517009
| | | |
| | | "now"
| | TTL relative to "now"
| who set the TTL
xid of object
2006-07-21 21:13 phk
* trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/include/vrt_obj.h,
trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
trunk/varnish-cache/lib/libvcl/vcc_obj.c:
More VRT work.
Use macros for trivial objects which are just a field in a struct.
2006-07-21 21:01 phk
* trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/include/vrt.h:
Update VRT to minimal functional level again
2006-07-21 20:51 phk
* trunk/varnish-cache/include/vrt_obj.h,
trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
trunk/varnish-cache/lib/libvcl/vcc_obj.c:
Use const char* for safety
2006-07-21 20:45 phk
* trunk/varnish-cache/include/binary_heap.h,
trunk/varnish-cache/include/miniobj.h,
trunk/varnish-cache/include/stat_field.h,
trunk/varnish-cache/include/stats.h,
trunk/varnish-cache/include/vcl.h,
trunk/varnish-cache/include/vcl_returns.h:
Update
2006-07-21 20:44 phk
* trunk/varnish-cache/include/vrt_obj.h:
This file is generated.
2006-07-21 20:43 phk
* trunk/varnish-cache/lib/libvcl/Makefile.am,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl,
trunk/varnish-cache/lib/libvcl/vcc_obj.c,
trunk/varnish-cache/lib/libvcl/vcc_token.c:
Automate generation of tables and prototypes for the objects which
VCL programs can manipulate.
2006-07-21 18:12 phk
* trunk/varnish-cache/lib/libvcl/Makefile.am,
trunk/varnish-cache/lib/libvcl/vcc_compile.c,
trunk/varnish-cache/lib/libvcl/vcc_compile.h,
trunk/varnish-cache/lib/libvcl/vcc_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcc_gen_fixed_token.tcl,
trunk/varnish-cache/lib/libvcl/vcc_obj.c,
trunk/varnish-cache/lib/libvcl/vcc_priv.h,
trunk/varnish-cache/lib/libvcl/vcc_token.c,
trunk/varnish-cache/lib/libvcl/vcc_token_defs.h,
trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
trunk/varnish-cache/lib/libvcl/vcl_priv.h,
trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:
Move things over to the correct "VCC" prefix.
Split some stuff into separate files while we're at it.
2006-07-21 16:25 phk
* trunk/varnish-cache/include/http_headers.h:
update comment
2006-07-21 16:15 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/include/shmlog_tags.h:
Properly log TTL calculation to shmem
2006-07-21 16:06 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Fix formatting of responses.
2006-07-21 16:05 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c:
Log TTL calculation on the right fd
2006-07-21 15:25 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/include/varnishapi.h,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Work on logtailer api a bit:
By default, start at the last entry in shared memory. To dump the
entire segment from the start, specify '-d' option.
Terminate programs when '-r $file' reaches EOF
2006-07-21 12:18 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/bin/varnishd/flint.lnt:
Cleanup
2006-07-21 12:08 phk
* trunk/varnish-cache/bin/varnishd/cache_backend.c:
Magic check on struct vbe
2006-07-21 12:06 phk
* trunk/varnish-cache/bin/varnishd/cache_backend.c:
Better name
2006-07-21 11:55 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/include/http_headers.h,
trunk/varnish-cache/include/stat_field.h:
Convert fetch, insert and deliver to use new HTTP header munging code.
Remove sbuf from workerthread, it is only used in the Error handling
now and it will probably not even survive that in the long run.
2006-07-21 10:44 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Make pipe use the new http manipulation.
2006-07-21 09:32 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/include/http_headers.h:
HTTP header munging part (N of M)
NB: Only pass mode (lightly) tested right now.
Give up on the three element array per header and use a two element struct
instead, it reduces obfuscation and removes risk of pointer fandango.
Introduce #defined filtercontrol in http_headers.h, use them in a new
field. Only Pass is there for now.
Use the http-workspace for building headers instead of sbuf.
Move uiovec handling to cache_pool.c where it more naturally belongs
and so we can use it on both backends and sessions.
Add http header munging functiosn for copying, printf'ing, filtering and
writing headers.
2006-07-21 07:18 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/include/shmlog_tags.h:
Rename shmlog tags for headers to RxHeader and TxHeader that's more
logical.
Rename http_Init() to http_Setup() to avoid clash with HTTP_Init().
Remove unused variable
2006-07-20 22:08 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/include/shmlog_tags.h,
trunk/varnish-cache/lib/libvcl/vcl_compile.c:
Yet another refinement to the way we store and deal with HTTP headers.
Record a triplet of {start, data, end} for all HTTP data items.
This represents a regrettable uglification of the sourcecode, but
most of it compiles out to constants and the runtime benefits will
be worth it.
Generate H_FOO magic strings for all the headers we know about.
These strings have a length as first char and always ends in ':'.
Also genereate H_FOO format strings in VCL compiler.
Mandate (with assert) that header references happen using H_FOO strings.
Make number of allowed HTTP headers a compile time constant (32)
but make the workspace a run-time variable (4096).
Introduce new SHM tag for dumping aborted HTTP protocol requests.
2006-07-20 15:10 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
Add XXX comment
2006-07-20 14:46 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/include/stat_field.h:
Keep an eye on deathrow
2006-07-20 14:40 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
More asserts
2006-07-20 14:23 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c:
We need to check the TTL here also, if a (sequence of) slow client(s)
manages to hold the document referenced, the prefetcher may never
get lucky with it and it will linger here much past last sell date.
2006-07-20 13:42 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Only reference srcaddr on first request on session
2006-07-20 13:39 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
Be more paranoid about srcaddr
2006-07-20 13:33 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
upd
2006-07-20 13:29 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/include/stat_field.h:
Keep track of active source addresses
2006-07-20 12:03 phk
* trunk/varnish-cache/bin/varnishtop/varnishtop.c:
Add -1 option that stops comparison after first field.
Useful with commands like:
varnishtop -i header -1
varnishtop -i srcaddr -1
where the variable part of the entry is less relevant.
2006-07-20 10:10 phk
* trunk/varnish-cache/bin/varnishstat/varnishstat.c:
Show also average since start
2006-07-20 09:58 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Hmm, that was a bad idea.
2006-07-20 09:42 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Loop till we have everything.
2006-07-20 09:29 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Implement "If-Modified-Since" conditional queries
2006-07-20 08:29 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Remove explicit worker thread arguments.
2006-07-20 08:25 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Move the delivery functions from acceptor to response
2006-07-19 21:16 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/include/stat_field.h:
Rework the worker thread pool logic slightly, we were leaking
threads before.
2006-07-19 21:14 phk
* trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/shmlog.c,
trunk/varnish-cache/bin/varnishstat/varnishstat.c,
trunk/varnish-cache/include/stats.h:
Include a "start_time" timestamp in the stats and teach varnishstats
to print it in curses mode.
Some polishing and cleanup.
2006-07-19 20:07 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Use insert_pass in vcl_fetch() so we cache the uncacheability.
2006-07-19 20:06 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Don't explode on trim's to zero size.
Real fix should (maybe) be to callers
2006-07-19 19:49 phk
* trunk/varnish-cache/bin/varnishtop/varnishtop.c:
Update only once per second.
2006-07-19 19:48 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Make sure width and precision arguments to printf %*.*s are ints.
2006-07-19 19:47 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
Don't panic on NULL srcaddr, but revisit later when we know the
details. Is it the Prefetcher ?
2006-07-19 19:45 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
Delete the right list item.
2006-07-19 19:45 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Don't bother determining if we should close if we already have done so.
Also: we may not have valid headers if cache_http.c threw a 400.
2006-07-19 19:43 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Make sure hp->v is NUL terminated.
2006-07-19 12:37 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/hash_classic.c:
Use miniobj.h to catch pointer trouble
2006-07-19 12:36 phk
* trunk/varnish-cache/include/miniobj.h:
Add miniobj.h for debugging
2006-07-19 11:53 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c:
Avoid the Error path for now.
2006-07-19 11:11 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c:
handle 302 for now.
2006-07-19 08:33 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c:
Properly zero the worker structure when we start a thread.
2006-07-18 13:47 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
eliminate debugging
2006-07-18 13:19 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
Delete binheap root by it's index.
Expect a refcount of one (the one holding the object in the hash)
2006-07-18 13:18 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
Fix the Parent calculation
2006-07-18 12:46 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
Set the index of deleted elements to zero
2006-07-18 12:40 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
Move the root index from zero to one
2006-07-18 12:29 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Remove the deref/unbusy stuff from FetchBody() it's done in central.c
2006-07-18 12:28 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c:
Assert that object is busy when we call unbusy
2006-07-18 12:27 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c:
Use a void * for http_Read()'s buffer
2006-07-18 10:48 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
Braino this time.
2006-07-18 10:45 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
typo
2006-07-18 10:45 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Add http_Read() which reads from a socket but soaks up any prefeched
tail first and use it all the places where this logic was explicit
before.
Fix Refcounting on objects when we insert/deliver
2006-07-18 10:32 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
Use bigger buffersizes for pass mode
Terminate the sbuf with the reply headers properly.
2006-07-18 09:02 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c:
Retire the http_GetReq(), http_GetURL() and http_GetProto() accessor
functions now that struct http is out of the closet.
2006-07-18 08:52 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
polish
2006-07-18 08:51 phk
* trunk/varnish-cache/bin/varnishd/cache_pipe.c:
zero means 'all' to http_GetTail()
2006-07-14 13:54 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
use space to separate host and port in -b
2006-07-14 13:52 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Use space to separate host and port in backend spec.
Polish usage message a bit.
2006-07-14 13:33 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/steps.h:
When during a lookup we encounter a busy object, queue the session on
the objects waitinglist and disembark the worker thread so it can do
something sensible in the mean time.
This feature is unimportant in normal operation, but crucial to
resource management if a popular URL suddenly takes a long time to
reply from the backend.
Without this bit if semi-nasty code, we would tie up one worker
thread per client while waiting for the backend to come to it's
senses.
2006-07-14 12:47 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c:
Have the acceptor launch the session into STP_RECV
2006-07-14 12:45 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Use the fact that we have the worker thread in struct sess now.
Move initial and final processing into cnt_recv() and cnt_done()
2006-07-14 12:30 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Have the states tell us if we are done yet with their return value,
so that we can implement disembarking the worker thread of the object
is busy.
2006-07-14 12:22 phk
* trunk/varnish-cache/bin/varnishd/shmlog.c,
trunk/varnish-cache/include/shmlog.h:
Put a starttime in shmem so varnishstat can show average rates.
2006-07-14 12:12 phk
* trunk/varnish-cache/bin/varnishd/shmlog.c:
Flexelint'ing, found a spurious ';'
2006-07-14 12:05 phk
* trunk/varnish-cache/bin/varnishd/shmlog.c,
trunk/varnish-cache/include/shmlog.h:
More SHM creation polishing
2006-07-14 11:44 phk
* trunk/varnish-cache/bin/varnishd/shmlog.c:
Better and more paranoid SHMEM creation logic
2006-07-14 11:42 phk
* trunk/varnish-cache/bin/varnishd/cache_session.c:
propset Id
2006-07-14 11:20 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_session.c,
trunk/varnish-cache/include/shmlog_tags.h,
trunk/varnish-cache/include/stat_field.h:
Change "client" to "srcaddr", it's more descriptive.
Add srcaddr management and start charging bytes to the srcaddr.
2006-07-14 10:34 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/common.h,
trunk/varnish-cache/bin/varnishd/tcp.c:
Rework the way we do ascii representations of addresses
2006-07-14 10:16 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_session.c:
Move session management to new file (cache_session, SES prefix) in
preparation of adding client tracking.
Move the iovec's from the session to the worker and give the session
a pointer to the worker so we can avoid passing it around as argument.
2006-07-12 23:30 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/cli_event.c,
trunk/varnish-cache/bin/varnishd/flint.lnt,
trunk/varnish-cache/bin/varnishd/flint.sh,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/bin/varnishd/shmlog.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
More Flexelinting
2006-07-12 22:52 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_ban.c,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/flint.lnt,
trunk/varnish-cache/bin/varnishd/mgt_child.c:
More flexelinting.
No bugs so far.
2006-07-12 22:07 phk
* trunk/varnish-cache/bin/varnishd/cache_backend.c:
Flexelint harder.
2006-07-12 22:01 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/flint.lnt,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Give this file a flexelinting
2006-07-12 22:01 phk
* trunk/varnish-cache/bin/varnishd/cache.h:
Improve the INCOMPL() macro.
2006-07-12 20:21 phk
* trunk/varnish-cache/bin/varnishd/cache_vcl.c:
More polishing.
2006-07-12 19:28 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c:
Move sessmtx to cache_vcl.c and call it vcl_mtx.
Clean up naming for consistency while here.
2006-07-12 15:07 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/include/shmlog_tags.h,
trunk/varnish-cache/include/stat_field.h:
Implement "insert_pass" mode where we cache that an entity must be passed.
2006-07-12 14:13 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Make Pass possible from vcl_hit()
2006-07-12 13:28 phk
* trunk/varnish-cache/bin/varnishd/cache_ban.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_response.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/common.h,
trunk/varnish-cache/bin/varnishd/hash_classic.c,
trunk/varnish-cache/bin/varnishd/hash_slinger.h,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/bin/varnishd/steps.h,
trunk/varnish-cache/bin/varnishd/stevedore.h,
trunk/varnish-cache/bin/varnishd/storage_file.c:
Enable Id keyword
2006-07-12 13:28 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
First stab at implementing pass in vcl_miss()
2006-07-12 13:27 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c:
Add explanation for locking, some minor polishing.
2006-07-12 12:04 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/hash_classic.c,
trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
trunk/varnish-cache/bin/varnishd/hash_slinger.h:
Hash on both URL and Host header. If no host header, hash on URL twice.
2006-07-12 11:48 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c:
Make Pass work again
2006-07-12 11:45 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Make pipe work again
2006-07-12 08:56 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c:
Fix CLI "config.load"
2006-07-12 08:44 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
Always insert a backend when vcl is compiled.
Respect '#' comments in script file.
2006-07-12 08:34 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/include/libvcl.h,
trunk/varnish-cache/lib/libvcl/vcl_compile.c:
Teach the VCL compiler about default functions, so that users will
not have to copy&paste the default methods if they have no special
requirements for a particular method.
No such facility exists for backends, so a backend description is
now the minumum VCL program.
When we initialize the VCL compiler we hand it a piece of source code
with the "default code", this must include definitions of all methods
named with a "default_" prefix (ie: "default_vcl_recv" etc).
During compilation we always compile this piece of source code in (after
the user supplied VCL source).
If the user did not provide a particular method, the default method is
used instead. The user can also call the default method directly,
for instance by:
sub vcl_recv {
if (req.http.Expect) {
error;
}
call default_vcl_recv;
}
Later on, this could be expanded to allow other subroutines to be
included in the default VCL for the users calling convenience.
2006-07-12 07:45 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
Pause after 'vcl' command
2006-07-11 21:35 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
EOF detection in libevent is buggy ?? Add exit cmd.
Pause after cli until we see "OK"
2006-07-11 21:30 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
add a req command, various adjustments
2006-07-11 21:04 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
Add Pause() and Resume() to pace script execution
2006-07-11 21:01 phk
* trunk/varnish-cache/bin/varnishd/cache_main.c:
Add a printf when cached is ready for the benefit of varnishtester
2006-07-11 20:49 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
open and close commands
2006-07-11 20:37 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
A vcl keyword for loading a new config
2006-07-11 19:29 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
Add "cli" to tell varnishd things
2006-07-11 19:16 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
If the first char of the serve string is '!', close connection after
sending string.
2006-07-11 19:10 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
Add a server facility to act as backend for varnish
2006-07-11 18:21 phk
* trunk/varnish-cache/bin/varnishtester/varnishtester.c:
Minimal ability to start and stop a varnishd
2006-07-11 18:16 phk
* trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Give 'exit' CLI command some bite. we may want to be more careful
later on.
2006-07-11 17:53 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Unbuffer stdout/stderr
2006-07-11 17:23 phk
* trunk/varnish-cache/bin/Makefile.am,
trunk/varnish-cache/bin/varnishtester,
trunk/varnish-cache/bin/varnishtester/Makefile.am,
trunk/varnish-cache/bin/varnishtester/varnishtester.c,
trunk/varnish-cache/configure.ac:
Add stub varnishtester program
2006-07-11 16:31 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Start the cache process automatically, I've gotten tired of typing
"start" :-)
2006-07-11 16:25 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Allow backend to be specified as "host:port" to -b
2006-07-11 16:17 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
add short descriptive comments to each state
2006-07-11 16:10 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Distribute code from FetchSession almost correctly
2006-07-11 16:03 phk
* trunk/varnish-cache/include/vcl_returns.h,
trunk/varnish-cache/lib/libvcl/vcl_fixed_token.c,
trunk/varnish-cache/lib/libvcl/vcl_gen_fixed_token.tcl,
trunk/varnish-cache/lib/libvcl/vcl_token_defs.h:
Add "insert_pass" action in VCL
2006-07-11 15:54 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
Make things work again by stuffing the old functions into the new
state engine.
2006-07-11 15:18 phk
* trunk/varnish-cache/bin/varnishd/cache_center.c:
This commit breaks warnish temporarily:
Insert the new master state engine.
A dot(1) graph is embedded in the source code and can be extracted
with:
sed -n '/^DOT/s///p' cache_center.c | dot -Tps > /tmp/_.ps
2006-07-11 13:31 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/steps.h:
Add enum for major procesing steps
2006-07-11 12:31 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_center.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Start centralizing the flow of requests through varnish so we get
one source file with the highest level of policy.
2006-07-11 12:30 phk
* trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Make -b and -c less nonsensical when not specified
2006-07-11 12:00 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Pipe requests which come with an Expect header.
XXX: document that
error 417 "expectation failed"
might be a more sensible policy.
2006-07-11 11:41 des
* trunk/varnish-cache/bin/varnishlog/varnishlog.1:
Document -b and -c, and bump date.
2006-07-11 11:36 phk
* trunk/varnish-cache/include/varnishapi.h,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Add -b[ackend] and -c[lient] generic options to logtailers
2006-07-11 07:38 phk
* trunk/varnish-cache/bin/varnishd/cache_response.c:
Add 500 messages.
2006-07-11 07:30 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/include/stat_field.h:
Split http_Dissect() into http_DissectRequest() and http_DissectResponse()
2006-07-11 06:30 des
* trunk/varnish-cache/bin/varnishd/varnishd.1:
Add cross-references and a commented-out STANDARDS section.
2006-07-11 06:28 des
* trunk/varnish-cache/include/shmlog_tags.h:
Add a note to update varnishlog(1) whenever this list changes.
2006-07-11 06:27 des
* trunk/varnish-cache/bin/varnishstat/varnishstat.1:
Add cross-references.
2006-07-11 06:26 des
* trunk/varnish-cache/bin/varnishlog/varnishlog.1:
Document the -C, -I, -X, -i, -x options.
Add a list of log entry tags.
Add cross-references to varnishd(1) and varnishstat(1).
2006-07-10 21:54 phk
* trunk/varnish-cache/bin/Makefile.am,
trunk/varnish-cache/bin/varnishtop,
trunk/varnish-cache/bin/varnishtop/Makefile.am,
trunk/varnish-cache/bin/varnishtop/varnishtop.c,
trunk/varnish-cache/configure.ac:
Add varnishtop log-tailer.
Try these:
varnishtop -i url
varhishtop -i header -C -I '^user-agent:'
varhishtop -i header -C -I '^user-agent:' -X MSIE
varhishtop -i header -C -I '^user-agent:.*MSIE'
varhishtop -i header -C -I '^user-agent:.*java'
You can also run them on the logfiles from the live test:
zcat _vlog21.gz | varnishtop -r - -i header ...
2006-07-10 21:49 phk
* trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Fix so that both -I and -X can be specified
2006-07-10 20:49 phk
* trunk/varnish-cache/include/varnishapi.h,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Implement -C, -I <regex> and -X <regex> generic options
2006-07-10 20:27 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/include/varnishapi.h,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Add tag names array to libvarnishapi, everybody is going to need it.
Implement -i tag[,tag ...] and -x tag[,tag ...] generic arguments.
2006-07-10 19:54 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/bin/varnishstat/varnishstat.c,
trunk/varnish-cache/include/varnishapi.h,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Improve libvarnishapi interface to shared memory:
Add function VSL_OpenStats() which directly returns a pointer
to the varnish_stats structure.
Add opaque VSL_data structure as handle to the log-tailer functions.
Add generic argument parsing function for all log-tailers.
Add support for generic "-r <file>" option.
2006-07-10 15:02 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/include/stat_field.h:
More statistics about worker threads.
2006-07-10 14:52 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/include/shmlog_tags.h,
trunk/varnish-cache/include/stat_field.h:
Rewrite the worker thread pool code.
Assign prefix WRK to the worker pool.
Introduce a struct workreq since the prefetcher (when it happens) will
not have a session to pass in.
The worker threads get a cond_var each and are hung from a list in
most recently used order.
When a request is queued and the worker thread list is not empty,
tickle the cond_var of the first one.
If no threads were availble the max number of threads is not reached,
try to start another worker thread.
If the max was reached or the start filed (likely due to out of memory)
indicate overflow and let the existing pool deal with it.
Create only the minimum requested number of threads initially.
Allow specification of the timeout before a dynamic worker thread commits
suicide to be specified with -w.
Default parameters are -w1,UINT_MAX,10 {min, max, timeout}
2006-07-10 13:59 phk
* trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
use explicit eventbase.
2006-07-10 13:58 phk
* trunk/varnish-cache/contrib/libevent/event.c:
Don't ever set current_base in our version of libevent in order to flush
out any bugs it might cause.
2006-07-10 13:48 phk
* trunk/varnish-cache/bin/varnishd/shmlog.c:
Dump errno and strerror in assert
2006-07-10 12:00 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c:
Rework the "connect to backend logic".
Avoid calling getaddrinfo() for every connect by catching the result
in the backend structure.
Minimize number of socket/connect calls by caching the last good
address in the backend structure.
If all addresses in the cached getaddrinfo() result fails, call
getaddrinfo() again (to catch DNS changes) and try the list again.
2006-07-10 11:24 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/common.h,
trunk/varnish-cache/bin/varnishd/tcp.c:
Move sockaddr->ascii conversion to tcp.c
shmlog both ends of backend connections.
2006-07-10 10:56 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
trunk/varnish-cache/bin/varnishd/cache_shmlog.h,
trunk/varnish-cache/bin/varnishd/common.h,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/shmlog.c:
Be more consistent.
cache_shmlog.c contains stuff for both cache and mgt, so remove the
cache_ prefix.
Rename cache_shmlog.h to common.h and put joint stuff there.
2006-07-10 10:31 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c:
put backend session linkage in shmemlog for pipe and pass
2006-07-10 10:06 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Polish HTTP reception a little bit
2006-07-10 10:05 phk
* trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Drop the max length of first line, it's too expensive to enforce.
2006-07-10 09:52 phk
* trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Fix cosmetic warning
2006-07-10 09:51 phk
* trunk/varnish-cache/bin/varnishstat/varnishstat.c:
Silence cosmetic warning.
2006-07-10 09:48 phk
* trunk/varnish-cache/lib/libvarnish/time.c,
trunk/varnish-cache/lib/libvcl/vcl_compile.c:
Fix cosmetic warnings
2006-07-10 09:47 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_ban.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
trunk/varnish-cache/bin/varnishd/cache_shmlog.h,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/cli_event.c,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/tcp.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Fix a bunch warnings, all cosmetic.
I'm using __unused for now, if we need to use something different
we can do a find/replace.
2006-07-10 09:28 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Silence some warnings
2006-07-10 09:07 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/include/stat_field.h:
Allocate struct http as part of the session allocation.
Remove http_New() and http_Delete()
2006-07-10 08:41 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Add heritage.mem_http_headers which is the maximum number of headers
we recognize.
Add http_Init() which initializes struct http given sufficient space.
Respect heritage mem_* values in http_New() (while we still have it)
Allocate backend connections (vbe_conn) with super allocation with
space for http and workspace.
2006-07-10 08:10 phk
* trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Put three memory allocation hints into heritage:
mem_http_1_line (512)
Maximum length of the reqeust/response line of a HTTP message
There is no point in filling the entire buffer with junk if
we get a preposterously long first line.
mem_http_header (4096)
Maximum length of entire HTTP header. If we overflow this
we return 400.
mem_workspace (currently 0)
In the future this will be the space we use for constructing
headers to send and edits done from VCL.
2006-07-10 07:54 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Take the vbe_conn (backend connection) structure out of the closet.
2006-07-10 07:07 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Turn a comment into english
2006-07-10 07:04 phk
* trunk/varnish-cache/bin/varnishd/cache.h:
More sensible order of pointers
2006-07-09 21:21 phk
* trunk/varnish-cache/include/http_headers.h:
Don't pass cache-control through.
2006-07-09 21:01 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Add a -h opt which modifies -o to remove "trivial" entries.
Trivial are
{GET,HEAD} which gets a hit and returns 200
{GET,HEAD} which gets a miss, fetches, inserts and returns 200
2006-07-09 09:16 des
* trunk/varnish-cache/configure.ac:
Don't use braces where they aren't needed.
Let automake know about config.h.
Bump version number to mark that we have passed the first live test.
2006-07-09 07:13 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/include/Makefile.am,
trunk/varnish-cache/lib/libvcl/Makefile.am:
List header files so they are included in the distribution tarball.
2006-07-09 06:35 des
* trunk/varnish-cache/configure.ac:
Use the modern version of AM_INIT_AUTOMAKE, allowing automake to deduce the
correct distribution name.
2006-07-08 20:29 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_shmlog.c:
A few edits for FlexeLint
2006-07-08 20:19 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_ban.c,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_main.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/hash_classic.c,
trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/storage_malloc.c:
Sanitize #includes a bit in the cache process by moving fundamental
#includes to cache.h
2006-07-08 20:18 phk
* trunk/varnish-cache/bin/varnishd/flint.lnt:
Silence a bogus warning
2006-07-08 19:54 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c:
Move struct http into cache.h
The original reasoning for having it private to cache_http.c was
to avoid pollution with event.h related structures but since that
pollution is happening other ways anyway, the cost is too high.
Include pthread.h, sys/time.h, and event.h from cache.h
2006-07-08 19:46 des
* trunk/varnish-cache/configure.ac:
Add --enable-debugging-symbols which enables debugging sysmbols and
disables
inlining and builtins.
2006-07-08 19:27 des
* trunk/varnish-cache/lib/libvcl/vcl_compile.c:
Fix "set backend.port".
2006-07-08 19:25 des
* trunk/varnish-cache/autogen.des:
My version.
2006-07-08 19:25 des
* trunk/varnish-cache/autogen.phk:
Expand keywords.
2006-07-07 08:40 phk
* trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Close gracefully in pipe mode
2006-07-07 07:48 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Set SO_LINGER to zero
2006-07-07 07:25 phk
* trunk/varnish-cache/bin/varnishd/tcp.c:
Tell why bind(2) fails
2006-07-07 07:22 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Pipe anything different from HEAD & GET
2006-07-07 07:22 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Don't filter headers in Pipe mode
2006-07-07 07:22 phk
* trunk/varnish-cache/bin/varnishd/cache_pipe.c:
Fix pipe mode
2006-07-07 07:22 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Remove debugging printf
2006-07-07 07:15 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Time idle TCP connections out after 30 seconds
2006-07-07 06:29 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Dump our buffer as Debug if we have HTTP header trouble.
Issue 400 for HTTP header buffer overflow.
2006-07-07 06:27 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Strvis(3) debug data.
2006-07-06 22:33 phk
* trunk/varnish-cache/include/http_headers.h:
Filter out Content-Range headers.
2006-07-06 21:57 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Always log the numeric code as "Status"
2006-07-06 21:57 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c:
Log the found objects XID when we have a hash-hit.
2006-07-06 21:56 phk
* trunk/varnish-cache/include/shmlog_tags.h:
Add shmem tag for Hits
2006-07-06 21:47 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Refuse all requests without a protocol field with a 400
Implement a function to say "400" with.
2006-07-06 21:04 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache_response.c:
Add cache_response for yelling at clients
2006-07-06 21:03 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Also flush ordered after the long timeout.
2006-07-06 21:00 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Strengthen HTTP parsing
2006-07-06 20:29 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
Make sure the grim reaper doesn't touch busy objects either.
2006-07-06 20:26 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
The grim reaper needs to wait for objects refcount to drop to zero.
2006-07-06 20:23 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Improvements to flush things at timeout and at the end etc.
2006-07-06 13:40 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Silence typical broken client connection messages and move the
interesting ones to shmem
2006-07-06 13:33 phk
* trunk/varnish-cache/bin/varnishd/cache_pass.c:
Fix braino in Pass handling
2006-07-06 13:27 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Skip space before request/response
2006-07-06 13:02 des
* trunk/varnish-cache/bin/varnishstat/Makefile.am,
trunk/varnish-cache/bin/varnishstat/varnishstat.1:
Add a rudimentary man page.
2006-07-06 11:18 phk
* trunk/varnish-cache/autogen.phk:
My version.
2006-07-06 10:18 phk
* trunk/varnish-cache/bin/varnishstat/varnishstat.c:
Add exponential hitrate displays (with -c)
2006-07-06 09:31 des
* trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishlog/varnishlog.1:
Add a rudimentary man page.
2006-07-06 09:31 des
* trunk/varnish-cache/bin/varnishd/varnishd.1:
Expand keywords
2006-07-06 09:13 des
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/varnishd.1:
Add a rudimentary man page.
2006-07-06 09:08 phk
* trunk/varnish-cache/bin/varnishd/tcp.c:
Only complain if accept_filters fail
2006-07-06 09:06 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Remove debugging code.
2006-07-06 09:00 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Add -r file and -w file options.
These read/write from/to a binary file.
2006-07-06 08:45 phk
* trunk/varnish-cache/bin/varnishd/varnishd.c:
Increas shmem size to 8M
2006-07-06 08:45 phk
* trunk/varnish-cache/bin/varnishd/tcp.c:
Add accept filters
2006-07-06 08:43 des
* trunk/varnish-cache/bin/varnishd/cache_shmlog.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Portability: don't use non-portable mmap(2) flags.
2006-07-06 08:43 des
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Portability: Linux does not have SO_NOSIGPIPE.
2006-07-06 08:41 des
* trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/mgt_child.c,
trunk/varnish-cache/bin/varnishd/varnishd.c,
trunk/varnish-cache/lib/libvarnish/argv.c:
Portability: cast unused parameters to void instead of marking them
__unused.
2006-07-06 08:32 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c:
404 handling
2006-07-06 08:07 des
* trunk/varnish-cache/bin/varnishd/cache_backend.c:
Use <sys/ioctl.h> instead of <sys/filio.h> to get both the prototype for
ioctl(2) and the definition of FIONREAD.
2006-07-05 14:40 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Fix off by one
2006-07-05 14:40 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
printf format
2006-07-05 13:54 phk
* trunk/varnish-cache/bin/varnishstat/varnishstat.c:
Calculate rate as signed.
2006-07-05 13:44 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Assert non-null first
2006-07-05 13:19 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Send "Connection: close" if not HTTP/1.1
2006-07-05 13:13 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/include/stat_field.h:
Add more stats
2006-07-05 13:09 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Some asserts to guard against trouble.
2006-07-05 12:17 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Another pipeline fix: don't clobber a pipelined partial header
2006-07-05 11:42 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Don't lead http header
2006-07-05 11:09 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Free the session memory correctly
2006-07-05 10:59 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c:
Free the right header.
2006-07-05 10:55 phk
* trunk/varnish-cache/bin/varnishd/cache_hash.c:
Don't leak objects headers
2006-07-05 10:01 phk
* trunk/varnish-cache/include/http_headers.h:
Suppress Accept-Ranges for now.
2006-07-05 09:59 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Create an X-Varnish header and put the XID there.
2006-07-05 09:56 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/stevedore.h,
trunk/varnish-cache/bin/varnishd/storage_file.c:
Send headers with sendfile
2006-07-05 09:44 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c:
Add Age and Via header to responses.
Change arguments to vca_write_obj() (It should really be
"send_repsonse()" ?)
Store received age and time entered into cache in object.
Generate Age: and Via: headers as part of response.
2006-07-05 09:32 phk
* trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Unify logging in the response handling
2006-07-05 09:11 phk
* trunk/varnish-cache/bin/varnishd/cache_pool.c:
log responsecode and length
2006-07-05 09:10 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c:
Log reponse code and object length
2006-07-05 09:08 phk
* trunk/varnish-cache/include/shmlog_tags.h:
Add Length tag
2006-07-05 08:08 phk
* trunk/varnish-cache/bin/varnishstat/varnishstat.c:
Show also rate in curses display
2006-07-05 07:45 phk
* trunk/varnish-cache/bin/varnishd/cache_shmlog.c:
Be more conservative about wraparound and take them up front in all cases.
2006-07-04 22:08 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c:
Implement our TTL calculation.
A first quick check against the weird timestamps from the VG frontend
squids indicates sensible behaviour.
2006-07-04 21:34 phk
* trunk/varnish-cache/bin/varnishd/rfc2616.c:
Long comment describing how TTL calculation will be done.
Review encouraged.
2006-07-04 20:00 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/cache_shmlog.c:
Fix HEAD requests:
Make modes to http_BuildSbuf descriptive enums.
Send GET to backend also for HEAD requests.
Don't return body for HEAD requests.
2006-07-04 19:36 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Fix pipelining.
A braino in http_Dissect() resulted in an off-by-one error
(protected with assert now)
Move any remaning bytes in buffer to front and check for
a complete header before arming the eventloop on the
session.
2006-07-04 14:45 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c:
Make room for protective terminating NUL
2006-07-04 14:19 phk
* trunk/varnish-cache/bin/varnishd/cache_backend.c:
retry backend open, log diagnostics
2006-07-04 14:18 phk
* trunk/varnish-cache/bin/varnishd/cache_main.c:
load VCL earlier
2006-07-04 14:18 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
Lock with a mutex
2006-07-04 13:45 phk
* trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Shorter sleeps: 1s -> 50msec
2006-07-04 13:44 phk
* trunk/varnish-cache/bin/varnishd/cache_shmlog.c:
Fix off by one error during wraparound.
2006-07-04 09:28 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Close non HTTP/1.1 request connections
2006-07-04 09:21 phk
* trunk/varnish-cache/lib/libvcl/vcl_compile.c:
Add missing '%'
2006-07-03 19:45 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c:
My workaround for the missing OFF_T_MAX definition was not safe,
use a hardcoded "1<<30" which is.
2006-07-03 19:35 phk
* trunk/varnish-cache/contrib/libevent/event.c:
I have grumbled about the evilness of "current_base" before, and this just
proves the point: If two threads call event_init() at the same time,
they will both stomp on the same memory via current_base, and in all
likelyhood, neither of them will manage to get the job done properly.
Instead work on a local variable and don't assign to current_base
until the setup is complete.
This should be submitted to Niels Provos
2006-07-03 18:35 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
Handle IPv6 address -> string conversion too
2006-07-03 18:03 phk
* trunk/varnish-cache/bin/varnishd/cache_expire.c:
Close race condition
2006-07-03 17:59 phk
* trunk/varnish-cache/bin/varnishd/hash_classic.c:
Better arg checking
2006-07-03 15:01 phk
* trunk/varnish-cache/lib/libvarnish/binary_heap.c:
more asserts
2006-07-03 14:39 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c:
avoid const poison
2006-07-03 14:39 phk
* trunk/varnish-cache/bin/varnishd/cache_ban.c:
Include pthread.h
2006-07-03 14:37 phk
* trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/storage_malloc.c:
s/unsigned/size_t/
2006-07-03 14:36 phk
* trunk/varnish-cache/bin/varnishd/hash_simple_list.c:
s/init/start/
2006-07-03 12:41 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/bin/varnishd/hash_classic.c,
trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
trunk/varnish-cache/bin/varnishd/hash_slinger.h,
trunk/varnish-cache/bin/varnishd/heritage.h,
trunk/varnish-cache/bin/varnishd/mgt.h,
trunk/varnish-cache/bin/varnishd/rfc2616.c,
trunk/varnish-cache/bin/varnishd/varnishd.c:
Add another hash-method with better real-world survival chances: A classic
bucketed hash table of lists. Hash is MD5. Number of buckets and number
of mutexes can be configured at command line.
2006-07-03 08:30 des
* trunk/varnish-cache/configure.ac:
Replace --enable-wall and --enable-pedantic with
--enable-developer-warnings,
which is roughly equivalent to FreeBSD's WARNS level 5 or 6.
2006-07-01 05:44 phk
* trunk/varnish-cache/include/http_headers.h:
Mark more headers as not end-to-end
2006-06-30 20:22 phk
* trunk/varnish-cache/lib/libvarnishapi/shmlog.c:
Forgot to add shmlog.c (reminded by des@)
2006-06-30 20:21 phk
* trunk/varnish-cache/include/queue.h:
Add TAILQ_FOREACH_SAFE()
2006-06-30 20:17 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/rfc2616.c:
move all policy to rfc2616.c
2006-06-30 13:44 des
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishd/hash_simple_list.c,
trunk/varnish-cache/bin/varnishd/storage_file.c,
trunk/varnish-cache/bin/varnishd/storage_malloc.c,
trunk/varnish-cache/include/stats.h:
Consistently use our own copy of queue.h.
2006-06-30 11:20 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Fix object length double accounting in chunked fetch
2006-06-30 09:14 phk
* trunk/varnish-cache/bin/varnishd/cache_vcl.c:
Delete compiled VCL file after we tried to load it.
2006-06-29 19:19 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/include/shmlog_tags.h:
Log objects banned to shmlog
2006-06-29 19:06 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_expire.c:
Track objects heap-position
2006-06-29 17:09 phk
* trunk/varnish-cache/bin/varnishd/Makefile.am,
trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_ban.c,
trunk/varnish-cache/bin/varnishd/cache_hash.c,
trunk/varnish-cache/bin/varnishd/cache_main.c:
Add the ability to instantly ban/purge all cached objects matching
a given regexp.
2006-06-29 15:14 phk
* trunk/varnish-cache/bin/varnishd/cache_vcl.c,
trunk/varnish-cache/bin/varnishd/cache_vrt.c,
trunk/varnish-cache/bin/varnishlog/varnishlog.c,
trunk/varnish-cache/include/shmlog_tags.h:
Improve shm-logging of VCL activity
2006-06-29 14:37 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_expire.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/include/shmlog_tags.h:
Tag objects with their origin session xid and log it when we clean up.
2006-06-29 13:04 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_backend.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_http.c,
trunk/varnish-cache/bin/varnishd/cache_pass.c,
trunk/varnish-cache/bin/varnishd/cache_pipe.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c,
trunk/varnish-cache/include/shmlog_tags.h:
Add a unique transaction-ID to each request, and register it in the
shmlog so we can match backend transactions with client transactions.
2006-06-28 21:38 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Convince flexelint that we know what we do with some asserts
2006-06-28 21:33 phk
* trunk/varnish-cache/bin/varnishd/cache_shmlog.c:
Put a mutex around the shmlog writes, I've seen my first race.
2006-06-28 21:18 phk
* trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Add a -o argument which sorts the log into transactions before output,
this is a fair bit easier to chew through than the raw log (the default)
2006-06-28 21:03 phk
* trunk/varnish-cache/bin/varnishstat/Makefile.am,
trunk/varnish-cache/bin/varnishstat/varnishstat.c:
Use shmlog api from libvarnishapi
2006-06-28 20:58 phk
* trunk/varnish-cache/bin/varnishlog/Makefile.am,
trunk/varnish-cache/bin/varnishlog/varnishlog.c:
Use SHMLOG api in libvarnishapi
2006-06-28 20:58 phk
* trunk/varnish-cache/include/varnishapi.h,
trunk/varnish-cache/lib/libvarnishapi/Makefile.am:
Add SHMLOG opening and walking functions to libvarnishapi
2006-06-28 17:46 phk
* trunk/varnish-cache/bin/varnishd/cache.h,
trunk/varnish-cache/bin/varnishd/cache_acceptor.c,
trunk/varnish-cache/bin/varnishd/cache_fetch.c,
trunk/varnish-cache/bin/varnishd/cache_pool.c:
Be more consistent about which headers we send back.
Start 5 threads in the worker pool.
2006-06-28 16:59 phk
* trunk/varnish-cache/bin/varnishd/cache_fetch.c:
Construct our own Content-length header, no matter which of the
three (straight, chunked, eof) modes we used to fetch the object.
2006-06-28 16:58 phk
* trunk/varnish-cache/bin/varnishd/cache_http.c: