Planning for 1.0.4

Dag-Erling Smørgrav des at linpro.no
Mon Apr 30 18:19:27 CEST 2007


There are a number of improvements in trunk (and branches/1.0) which I
would like to release as 1.0.4.

I am thinking primarily of trunk as of r1288 (or branches/1.0 as of
r1331, no thanks to svk).  However, I'd like to ask you if there are
any newer changes you think should be included.  I think r1364-r1369
(autoconf cleanup + missing include) are good candidates.  So are the
varnishncsa changes I made last week, but they need a shakedown.

I've included a log of all the changes in trunk since r1288.

Other priorities for 1.0.4: unify init scripts and out-of-the-box
configurations across distributions, and include an init script for
varnishlog.

The target date is May 20, which is exactly three weeks from today.

DES
-- 
Dag-Erling Smørgrav
Senior Software Developer
Linpro AS - www.linpro.no

-------------- next part --------------
------------------------------------------------------------------------
r1289 | phk | 2007-03-30 21:11:15 +0000 (Fri, 30 Mar 2007) | 21 lines

Overhaul compiler to get rid of memory leaks and other bogons.

Add a memlist to the tokenlist and a function which allocates
with malloc(3) and hangs the piece on the memlist of tokenlist.
At the end of compilation, we ditch everything on the list.

Handle vrt_obj.h like the other #includes, and stuff these
into a vsb instead of directly to a file.

Free decoded token string, if any.

Pull creation and destruction of tokenlist into separate functions
for code clarity.  Remember to destry everything in the tokenlist.

Pull invocation of cc(1) into a separate function and change the
way we do it, so we get any cc(1) groans and whines back in the
vsb so a CLI user will see them.  More errorchecks than before.

More comments throughout.


------------------------------------------------------------------------
r1290 | phk | 2007-03-31 07:43:05 +0000 (Sat, 31 Mar 2007) | 2 lines

Improve error message layout and information.

------------------------------------------------------------------------
r1291 | phk | 2007-03-31 08:36:31 +0000 (Sat, 31 Mar 2007) | 8 lines

Overhaul cross reference checks in vcc compiler

Move and isolate cross reference stuff to it's own source file
(vcc_xref.c) and use vcc_ prefix as originally intended.

Also warn about multiple definitions of objects.


------------------------------------------------------------------------
r1292 | phk | 2007-03-31 18:19:07 +0000 (Sat, 31 Mar 2007) | 2 lines

Pidgin BNF syntax of VCL

------------------------------------------------------------------------
r1293 | phk | 2007-03-31 18:20:33 +0000 (Sat, 31 Mar 2007) | 3 lines

Fix typo, so we correctly recognize '-=' as T_DECR token.


------------------------------------------------------------------------
r1294 | phk | 2007-03-31 18:21:14 +0000 (Sat, 31 Mar 2007) | 4 lines

Better syntax checking of "set" statements.

Remove inapplicable comment.

------------------------------------------------------------------------
r1295 | phk | 2007-04-01 08:23:48 +0000 (Sun, 01 Apr 2007) | 3 lines

I got confused about the terminology.  An action is something we do
in the program, a "return" is when we quit the program.

------------------------------------------------------------------------
r1296 | phk | 2007-04-01 08:37:52 +0000 (Sun, 01 Apr 2007) | 7 lines

Split the parsing of actions into a separate file, this is the bit
I expect to grow the most in the near future and all actions have
a lot more in common, than they have with conditionals etc.

Apply more vcc_ prefixes.


------------------------------------------------------------------------
r1297 | phk | 2007-04-01 08:48:08 +0000 (Sun, 01 Apr 2007) | 6 lines

Introduce table based search for actions, and make "set" the first one.

This eliminates the need to have the identifier "set" be its own token
rather than being a simple ID.


------------------------------------------------------------------------
r1298 | phk | 2007-04-01 09:07:44 +0000 (Sun, 01 Apr 2007) | 3 lines

Implement the returns with the new ID based table and eliminate their
corresponding dedicated tokens.

------------------------------------------------------------------------
r1299 | phk | 2007-04-01 09:17:52 +0000 (Sun, 01 Apr 2007) | 3 lines

Eliminate the "proof of concept" tokens that were never implemented
at runtime.

------------------------------------------------------------------------
r1300 | phk | 2007-04-01 09:34:28 +0000 (Sun, 01 Apr 2007) | 4 lines

Move backend parsing into a separate file.
Eliminate a bunch of of unnecessary #includes.


------------------------------------------------------------------------
r1301 | phk | 2007-04-01 15:33:56 +0000 (Sun, 01 Apr 2007) | 9 lines

Remove unused METHOD token.

Improve error handling for unterminated /* ... */ comments.

Add undocumented and unsupported facility for inline C source code
in VCL programs.  The syntax is "C{ getpid(); }C" and you are on
your own if you use this.


------------------------------------------------------------------------
r1302 | phk | 2007-04-01 15:34:24 +0000 (Sun, 01 Apr 2007) | 2 lines

Update

------------------------------------------------------------------------
r1303 | phk | 2007-04-01 18:18:54 +0000 (Sun, 01 Apr 2007) | 4 lines

Fix char position in error messages to be [1...] instead of [0...]

Fix typo in /* ... */ handling

------------------------------------------------------------------------
r1304 | phk | 2007-04-01 19:01:38 +0000 (Sun, 01 Apr 2007) | 2 lines

Various nitpicking prompted by flexelint

------------------------------------------------------------------------
r1305 | phk | 2007-04-01 19:13:07 +0000 (Sun, 01 Apr 2007) | 2 lines

remove XXX comment which no longer applies

------------------------------------------------------------------------
r1306 | phk | 2007-04-09 20:28:08 +0000 (Mon, 09 Apr 2007) | 11 lines

Move the function that pushes the compiled VCL programs C source through
the systems cc(1) from the VCL compiler library to the varnishd process.

This reduces the VCL-compiler library to a text-procesing functionality
and makes it easier to build other tools, including test-suites,
around the VCL-compiler.

It also moves the actual compiler invocation string into the varnishd
sources, where it can be handled appropriately, possibly as a paramter.


------------------------------------------------------------------------
r1307 | phk | 2007-04-09 20:30:05 +0000 (Mon, 09 Apr 2007) | 2 lines

<queue.h> is a local #include in varnish, so use "queue.h"

------------------------------------------------------------------------
r1308 | phk | 2007-04-09 20:34:14 +0000 (Mon, 09 Apr 2007) | 2 lines

Two missing NULL initializations.

------------------------------------------------------------------------
r1309 | phk | 2007-04-09 20:50:12 +0000 (Mon, 09 Apr 2007) | 4 lines

Add a -C argument, which compiles the VCL (either default with -b
or user specified with -f) and outputs the C source on the stdout.


------------------------------------------------------------------------
r1310 | phk | 2007-04-09 21:03:12 +0000 (Mon, 09 Apr 2007) | 2 lines

Fix stylistic Flexelint unhappiness with the compiled C source.

------------------------------------------------------------------------
r1311 | phk | 2007-04-09 21:08:21 +0000 (Mon, 09 Apr 2007) | 2 lines

Add scripts to run flexelint over VCL compiler output

------------------------------------------------------------------------
r1312 | phk | 2007-04-11 09:09:00 +0000 (Wed, 11 Apr 2007) | 2 lines

Remember to initialize C_flag and don't exit in far away code.

------------------------------------------------------------------------
r1313 | phk | 2007-04-11 09:16:13 +0000 (Wed, 11 Apr 2007) | 2 lines

Need to find other way to shut up flexelint.

------------------------------------------------------------------------
r1314 | phk | 2007-04-19 09:34:45 +0000 (Thu, 19 Apr 2007) | 3 lines

Standards compliance: fputs(3) returns non-negative on success.


------------------------------------------------------------------------
r1315 | phk | 2007-04-19 10:00:37 +0000 (Thu, 19 Apr 2007) | 2 lines

Emit acl matching code to the function body.

------------------------------------------------------------------------
r1359 | phk | 2007-04-19 15:17:35 +0000 (Thu, 19 Apr 2007) | 9 lines

When we have some amount of a chunk header, but not all of it, we
need to read more from the fd.  The semantics we _really_ want for
that read operation is "wait until at least one char is available,
then return as many as N to us".

This can be done with a combination of system calls, but it is likely
just as cheap to just read one char at a time, so we do that.


------------------------------------------------------------------------
r1360 | des | 2007-04-21 17:48:21 +0000 (Sat, 21 Apr 2007) | 2 lines

Clarify synopsis / description

------------------------------------------------------------------------
r1361 | des | 2007-04-21 17:52:44 +0000 (Sat, 21 Apr 2007) | 2 lines

Style and whitespace cleanup + clarify comment explaining the log format

------------------------------------------------------------------------
r1362 | des | 2007-04-21 21:48:56 +0000 (Sat, 21 Apr 2007) | 12 lines

Major rewrite of the VSL handler for increased robustness and clarity:

 - Treat all request fields in a similar manner.

 - Mostly eliminate fixed-size buffers.

 - Don't print or format anything until we see ReqEnd.

 - If we saw a Host: header, use it to generate an absolute URI,
   resulting in far more useful output when processing logs from a
   server which handles multiple virtual hosts.

------------------------------------------------------------------------
r1363 | des | 2007-04-22 13:09:59 +0000 (Sun, 22 Apr 2007) | 2 lines

Further eliminate fixed-size buffers.

------------------------------------------------------------------------
r1364 | des | 2007-04-24 09:39:12 +0000 (Tue, 24 Apr 2007) | 6 lines

Correctly detect the presence and location of all external library we use
(except for the C math library, which the C standard guarantees is always
available as -lm) and more importantly, use them only where needed.

This should fix the compilation issues on SuSE.

------------------------------------------------------------------------
r1365 | des | 2007-04-24 12:23:37 +0000 (Tue, 24 Apr 2007) | 3 lines

Move CFLAGS configuration to the bottom so it doesn't affect other tests.
This makes --enable-werror work again.

------------------------------------------------------------------------
r1366 | des | 2007-04-24 12:36:58 +0000 (Tue, 24 Apr 2007) | 3 lines

Move CFLAGS configuration to the bottom so it doesn't affect other tests.
This makes --enable-werror work again.

------------------------------------------------------------------------
r1367 | des | 2007-04-24 12:37:58 +0000 (Tue, 24 Apr 2007) | 2 lines

Eliminate warnings.

------------------------------------------------------------------------
r1368 | phk | 2007-04-26 06:54:58 +0000 (Thu, 26 Apr 2007) | 5 lines

Add compat trick for clock_gettime()

Submitted by:	Pierre Queinnec <pierre.queinnec at zenika.com>


------------------------------------------------------------------------
r1369 | des | 2007-04-26 10:39:19 +0000 (Thu, 26 Apr 2007) | 2 lines

Force CONFIG_SHELL to /bin/sh.

------------------------------------------------------------------------


More information about the varnish-dist mailing list