]>
err.no Git - varnish/log
phk [Fri, 30 Jun 2006 11:20:10 +0000 (11:20 +0000)]
Fix object length double accounting in chunked fetch
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@272
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 30 Jun 2006 09:14:51 +0000 (09:14 +0000)]
Delete compiled VCL file after we tried to load it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@271
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 29 Jun 2006 19:19:18 +0000 (19:19 +0000)]
Log objects banned to shmlog
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@270
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 29 Jun 2006 19:06:44 +0000 (19:06 +0000)]
Track objects heap-position
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@269
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 29 Jun 2006 17:09:24 +0000 (17:09 +0000)]
Add the ability to instantly ban/purge all cached objects matching
a given regexp.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@268
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 29 Jun 2006 15:14:15 +0000 (15:14 +0000)]
Improve shm-logging of VCL activity
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@267
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 29 Jun 2006 14:37:15 +0000 (14:37 +0000)]
Tag objects with their origin session xid and log it when we clean up.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@266
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 29 Jun 2006 13:04:55 +0000 (13:04 +0000)]
Add a unique transaction-ID to each request, and register it in the
shmlog so we can match backend transactions with client transactions.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@265
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 21:38:20 +0000 (21:38 +0000)]
Convince flexelint that we know what we do with some asserts
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@264
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 21:33:06 +0000 (21:33 +0000)]
Put a mutex around the shmlog writes, I've seen my first race.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@263
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 21:18:00 +0000 (21:18 +0000)]
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)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@262
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 21:03:47 +0000 (21:03 +0000)]
Use shmlog api from libvarnishapi
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@261
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 20:58:36 +0000 (20:58 +0000)]
Use SHMLOG api in libvarnishapi
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@260
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 20:58:03 +0000 (20:58 +0000)]
Add SHMLOG opening and walking functions to libvarnishapi
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@259
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 17:46:04 +0000 (17:46 +0000)]
Be more consistent about which headers we send back.
Start 5 threads in the worker pool.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@258
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:59:07 +0000 (16:59 +0000)]
Construct our own Content-length header, no matter which of the
three (straight, chunked, eof) modes we used to fetch the object.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@257
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:58:21 +0000 (16:58 +0000)]
Don't finish the sbuf in mode 3
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@256
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:57:50 +0000 (16:57 +0000)]
Assert that the lengths of the storage for the object add up.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@255
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:57:07 +0000 (16:57 +0000)]
Don't pass Content-Lenght through, we build it ourselves
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@254
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:20:14 +0000 (16:20 +0000)]
Pass fd to shmemlog
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@253
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:19:21 +0000 (16:19 +0000)]
add tag for generated headers
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@252
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:19:08 +0000 (16:19 +0000)]
Don't pass If-* headers to backend
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@251
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:14:19 +0000 (16:14 +0000)]
Apply correct fd in Shmemlog
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@250
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 16:04:33 +0000 (16:04 +0000)]
Fix buglets, include test-driver.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@249
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 11:29:36 +0000 (11:29 +0000)]
Give varnishstat a "-c" option to use curses to continously refresh
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@248
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 11:21:06 +0000 (11:21 +0000)]
Add varnishstat program
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@247
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 10:31:29 +0000 (10:31 +0000)]
304's don't have a body
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@246
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 10:30:57 +0000 (10:30 +0000)]
Implement ->trim()
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@245
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 09:39:25 +0000 (09:39 +0000)]
More stats counters
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@244
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 28 Jun 2006 09:21:15 +0000 (09:21 +0000)]
Add statistics counter support.
stat_field.h defines the counter fields with name, type, (printf)format
and description.
stats.h defines a structure with these fields.
shmlog.h makes the structure part of the shared memory logs header.
Implent the "stats" CLI word in the management process.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@243
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 19:25:09 +0000 (19:25 +0000)]
Call VCL to decide discard/prefetch for near-expiry objects.
Put discard objects on deathrow where they will be culled from
in sequence.
(prefetch not implemented yet)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@242
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 19:24:03 +0000 (19:24 +0000)]
A temporary hack to deal with very old Date: headers until we figure
out what's going on.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@241
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 19:23:24 +0000 (19:23 +0000)]
Implement HTTP/1.0 style fetching.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@240
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 17:06:50 +0000 (17:06 +0000)]
Another little tweak
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@239
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 16:31:32 +0000 (16:31 +0000)]
Dump numeric handling also, until we figure out trouble.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@238
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 16:30:56 +0000 (16:30 +0000)]
typo
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@237
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 16:19:14 +0000 (16:19 +0000)]
Make this work again: record the stevedore in the storage object.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@236
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 14:33:49 +0000 (14:33 +0000)]
Start releasing objects when they expire
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@235
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 14:00:40 +0000 (14:00 +0000)]
Move a bit more responsibility into the hash-slinger to get a cleaner
interface.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@234
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 26 Jun 2006 08:58:08 +0000 (08:58 +0000)]
Now that we approach the time where objects have to be destroyed again,
we need to move the data structures into the right shape.
Push hashing into cache_hash.c
Add objhead structure to hold the various hits for "Vary:" headers.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@233
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 22:11:55 +0000 (22:11 +0000)]
A little bit more work on the expiry/prefetch thing.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@232
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 21:54:54 +0000 (21:54 +0000)]
Use ttl=0 as a "invalid TTL" flag.
Mark objects with ttl=0 uncachable.
Add cacheable objects to the expiry heap
Start an expiry thread which polls the root element once per second
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@231
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 21:42:27 +0000 (21:42 +0000)]
Truncate TTLs in the past to now.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@230
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 21:09:07 +0000 (21:09 +0000)]
Autogenerate prototypes for method calling functions
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@229
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 21:07:18 +0000 (21:07 +0000)]
Add a "timeout" method to VCL, it can return "fetch" or "discard".
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@228
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 20:50:17 +0000 (20:50 +0000)]
Add a token type "METHOD", we use it for reference counting.
Add a reference to the first backend {} we encounter, it is the default.
Add a reference to all backends assigned explicitly.
Add a reference to all methods.
Enable reference check, complain if: backend, function or acl is defined
but not used, or used but not defined.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@227
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 20:12:26 +0000 (20:12 +0000)]
Collapse multiline Fc and Fh calls where they fit
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@226
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 20:09:07 +0000 (20:09 +0000)]
More printf sanitation: Create to convenience functions for output to the
fh and fc sbufs.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@225
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 19:50:56 +0000 (19:50 +0000)]
Cave in and use printf format extensions for printing tokens.
Both Linux and FreeBSD supports them anyway.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@224
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sat, 24 Jun 2006 19:41:55 +0000 (19:41 +0000)]
Add more shmemlog tags:
one for each VCL method to record the return
one for errors
one for linking a client session to a backend connection
Use them sensibly.
Put VCL name of backend into struct backend to improve log messages
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@223
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 22 Jun 2006 16:17:10 +0000 (16:17 +0000)]
Improve the VCL compiler in various ways:
Generate the methods and their legal returns with the tcl script.
Add consistency checks to make sure methods don't use illegal returns,
and also check called subrourtines.
Add consistency check to complain about recursive subroutine calls.
Add consistency check to complain about unused or undefined subroutines.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@222
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 21 Jun 2006 10:28:26 +0000 (10:28 +0000)]
Add (empty) source file for expiry/pretech code
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@221
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 21 Jun 2006 10:21:14 +0000 (10:21 +0000)]
Start to respect TTL
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@220
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 21 Jun 2006 10:13:53 +0000 (10:13 +0000)]
Add "-t default_ttl" option. 120 seconds by default.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@219
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 21 Jun 2006 09:58:06 +0000 (09:58 +0000)]
Quench some debugging
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@218
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 21 Jun 2006 08:09:02 +0000 (08:09 +0000)]
Add a binary heap implementation for keeping track of objects expiry time.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@217
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 19:49:28 +0000 (19:49 +0000)]
typo
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@216
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 19:38:04 +0000 (19:38 +0000)]
FlexeLint files
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@215
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 19:37:46 +0000 (19:37 +0000)]
FlexeLint cleanups
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@214
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 19:31:46 +0000 (19:31 +0000)]
Polish things to silence FlexeLint a bit
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@213
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 11:39:20 +0000 (11:39 +0000)]
Rename vcl_lang.h to vcl.h and include practically nowhere.
Remove #include bogohandling in vcl_gen_fixed_token.tcl
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@212
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 10:31:50 +0000 (10:31 +0000)]
At the expense of some complexity and a small runtime overhead,
isolate the compiled code from the internal structures of the cache
process through of VRT functions.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@211
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 09:41:43 +0000 (09:41 +0000)]
Work towards making struct sess opaque to the generated code.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@210
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 09:28:00 +0000 (09:28 +0000)]
Rename the VCL compilers public functions to VCC prefix
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@209
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 09:25:21 +0000 (09:25 +0000)]
Get rid of VCL_FARGS and VCL_PASS_ARGS macros.
Generate VGC prefixes instead of VCL.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@208
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 20 Jun 2006 09:15:39 +0000 (09:15 +0000)]
Start putting some structure in the sources relating to VCL handling:
Split the runtime support for compiled varnish programs out and give it the
prefix "VRT".
Start using the prefix "VGC" for generated code.
Prefix "VCC" will be for the compiler and "VCL" for calling the compiled and
loaded functions.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@207
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:28:11 +0000 (10:28 +0000)]
Output line+pos for counts.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@206
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:19:54 +0000 (10:19 +0000)]
Insert a count-point after each conditional.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@205
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:16:38 +0000 (10:16 +0000)]
Get the sense of string compares right.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@204
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:12:38 +0000 (10:12 +0000)]
debug printf for max-age
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@203
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:10:45 +0000 (10:10 +0000)]
Implement req.request properly
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@202
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:04:09 +0000 (10:04 +0000)]
Pass if we spot an Authenticate or Cookie header
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@201
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:03:43 +0000 (10:03 +0000)]
Add VCL function for getting HTTP header
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@200
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 10:02:35 +0000 (10:02 +0000)]
Add support for investigating random HTTP headers.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@199
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 09:16:26 +0000 (09:16 +0000)]
Add wrappers around VCL methos so logging and checking of returned handling
can be centralized.
Remove old handling callbacks.
Call hit/miss methods instead of lookup method.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@198
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 09:14:12 +0000 (09:14 +0000)]
add explicit "lookup" to recv method
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@197
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 09:11:59 +0000 (09:11 +0000)]
Correctly handle \ sequences in .h files in vcl_gen_fixed_token.tcl
Make handling a named enum, and use it as a bitmap.
Add "lookup" reserved word
Add VCL_done() macro to use in compiled code to set handling and drop
the per-handling callbacks (apart from VCL_error())
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@196
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Sun, 18 Jun 2006 07:28:19 +0000 (07:28 +0000)]
Add "deliver" keyword to VCL compiler.
Split vcl_lookup() in vcl_hit() and vcl_miss()
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@195
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 16 Jun 2006 10:22:40 +0000 (10:22 +0000)]
Initial http_GetHdrField() function.
Improve chunked encoding, allocate big storage chunks and trim the
last one at the end, instead of one storage chunk for each chunk
the remote server sends.
Call RFC2616 policy code.
Store headers from backend in cache and return to client.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@194
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 16 Jun 2006 10:20:12 +0000 (10:20 +0000)]
Add header field to object
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@193
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 16 Jun 2006 10:19:44 +0000 (10:19 +0000)]
Supress Transfer-Encoding
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@192
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 16 Jun 2006 10:18:08 +0000 (10:18 +0000)]
The beginnings of rfc2616 policy implemenation.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@191
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 16 Jun 2006 10:17:25 +0000 (10:17 +0000)]
Add trim method to storage backends so chunked encoding can be
stored efficiently.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@190
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 16 Jun 2006 10:16:00 +0000 (10:16 +0000)]
Add time parse/format functions to libvarnish
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@189
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 15 Jun 2006 08:04:46 +0000 (08:04 +0000)]
less noise
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@188
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 15 Jun 2006 08:04:19 +0000 (08:04 +0000)]
Less noise
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@187
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 09:57:19 +0000 (09:57 +0000)]
start examining HTTP status codes from backend
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@186
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 09:39:31 +0000 (09:39 +0000)]
Add vca_write_obj() which writes an sbuf (as) HTTP header and the
object from the sessions to the client.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@185
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 09:25:13 +0000 (09:25 +0000)]
Clean up session messages a bit
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@184
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 09:23:50 +0000 (09:23 +0000)]
Add HttpError tag
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@183
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 09:03:45 +0000 (09:03 +0000)]
Sanitize close/recycle session logic a bit.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@182
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 08:53:21 +0000 (08:53 +0000)]
Initialize the cache_acceptor.c/VCA in the same manner as other parts.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@181
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 07:21:48 +0000 (07:21 +0000)]
Give storage backends a "send" method.
Let storage_file use sendfile(2) for it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@180
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 14 Jun 2006 06:58:55 +0000 (06:58 +0000)]
Complete the storage_file method.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@179
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 13 Jun 2006 20:09:29 +0000 (20:09 +0000)]
Default to "file" stevedore from now on.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@178
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 13 Jun 2006 20:06:45 +0000 (20:06 +0000)]
Be more aggressive about mmap'ing memory. The size_t thing is a bogus
constraint in FreeBSD and we shouldn't really listen to it.
On my laptop I can mmap 2422MB file this way.
This may be so aggressive that it leaves insufficient address space for
malloc/threadstacks and other issues.
If we find a way to pick up a platform/architecture specific limit, we
can enforce that along the way.
For now people can just specify a saner and smaller "-sfile" size.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@177
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 13 Jun 2006 13:47:51 +0000 (13:47 +0000)]
mmap as much as the file as we are able to when the cache process opens
the stevedore.
This should probably be (fine-)tuned later on as it might be too aggressive
when faced with user errors.
Also, might it be possible to mmap() more than MAX_SIZE_T bytes if
it is done in multiple calls ?
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@176
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 13 Jun 2006 13:14:12 +0000 (13:14 +0000)]
Calculate the size of the backing store file.
A size can be specified in absolute terms (suffix: k, m, g, t supported),
but also as a percentage of the filesystems free space (suffix '%').
If the specified size is larger than an off_t can cope, we bisect
repeatedly until it can.
If the size exceeds the available space of the filesystem, we truncate
to 80% of the free space.
Then round down to an integral number of blocks, sized by the larger
of the filesystem blocksize and the pagesize.
This was tricker than I'd expected...
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@175
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 13 Jun 2006 13:10:09 +0000 (13:10 +0000)]
Clone the stevedore before calling its init function and be more precise
about any optional arguments.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@174
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 13 Jun 2006 08:05:33 +0000 (08:05 +0000)]
After having a strong cup of tea: don't name files with leading underscore
even though that's how FreeBSD's kernel does it. In my private world
a leading underscore means "junk file, remove at your pleasure".
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@173
d4fa192b -c00b-0410-8231-
f00ffab90ce4