Commit bb2d4695 authored by Dag Erling Smørgrav's avatar Dag Erling Smørgrav

regen


git-svn-id: http://www.varnish-cache.org/svn/branches/1.1@2326 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 560d07df
Change log for Varnish 1.1.1 Change log for Varnish 1.1.2
Changes between 1.1 and 1.1.1 Changes between 1.1.1 and 1.1.2
varnishd varnishd
• The code required to allow VCL to read obj.status, which had accidentally • When switching to a new VCL configuration, a race condition exists which
been left out, has now been added. may cause Varnish to reference a backend which no longer exists (see ticket
#144). This race condition has not been entirely eliminated, but it should
occur less frequently.
• Varnish will now always include a Connection: header in its reply to the • When dropping a TCP session before any requests were processed, an
client, to avoid possible misunderstandings. assertion would be triggered due to an uninitialized timestamp (see ticket
#132). The timestamp is now correctly initialized.
A bug that triggered an assertion failure when generating synthetic error Varnish will now correctly generate a Date: header for every response
documents has been corrected. instead of copying the one it got from the backend (see ticket #157).
• A new VCL function, purge_url, provides the same functionality as the • Comparisons in VCL which involve a non-existent string (usually a header
url.purge management command. which is not present in the request or object being processed) would cause
a NULL pointer dereference; now the comparison will simply fail.
• Previously, Varnish assumed that the response body should be sent only if • A bug in the VCL compiler which would cause a double-free when processing
the request method was GET. This was a problem for custom request methods include directives has been fixed.
(such as PURGE), so the logic has been changed to always send the response
body except in the specific case of a HEAD request.
• Changes to run-time parameters are now correctly propagated to the child • A resource leak in the worker thread management code has been fixed.
process.
• Due to the way run-time parameters are initialized at startup, varnishd • When connecting to a backend, Varnish will usually get the address from a
previously required the nobody user and the nogroup group to exist even if cache. When the cache is refreshed, existing connections may end up with a
a different user and group were specified on the command line. This has reference to an address structure which no longer exists, resulting in a
been corrected. crash. This race condition has been somewhat mitigated, but not entirely
eliminated (see ticket #144.)
• Under certain conditions, the VCL compiler would carry on after a syntax • Varnish will now pass the correct protocol version in pipe mode: the
error instead of exiting after reporting the error. This has been backend will get what the client sent, and vice versa.
corrected.
• The manner in which the hash string is assembled has been modified to • The core of the pipe mode code has been rewritten to increase robustness
reduce memory usage and memory-to-memory copying. and eliminate spurious error messages when either end closes the connection
in a manner Varnish did not anticipate.
• Before calling vcl_miss, Varnish assembles a tentative request object for • A memory leak in the backend code has been plugged.
the backend request which will usually follow. This object would be leaked
if vcl_miss returned anything else than fetch. This has been corrected.
• The code necessary to handle an error return from vcl_fetch and vcl_deliver • When using the kqueue acceptor, if a client shuts down the request side of
had inadvertantly been left out. This has been corrected. the connection (as many clients do after sending their final request), it
was possible for the acceptor code to receive the EOF event and recycle the
session while the last request was still being serviced, resulting in a
assertion failure and a crash when the worker thread later tried to delete
the session. This should no longer happen (see ticket #162.)
• Varnish no longer prints a spurious "child died" message (the result of • A mismatch between the recorded length of a cached object and the amount of
reaping the compiler process) after compiling a new VCL configuration. data actually present in cache for that object can occasionally occur (see
ticket #167.) This has been partially fixed, but may still occur for error
pages generated by Varnish when a problem arises while retrieving an object
from the backend.
• Under some circumstances, due to an error in the workspace management code, varnishhist
Varnish would lose the "tail" of a request, i.e. the part of the request
that has been received from the client but not yet processed. The most
obvious symptom of this was that POST requests would work with some
browsers but not others, depending on details of the browser's HTTP
implementation. This has been corrected.
• On some platforms, due to incorrect assumptions in the CLI code, the • Pressing 0 though 9 while varnishhist is running will change the refresh
management process would crash while processing commands received over the interval to the corresponding power of two, in seconds.
management port. This has been corrected.
Build system varnishncsa
• The varnishncsa tool can now daemonize and write a PID file like
varnishlog, using the same command-line options. It will also reopen its
output upon receipt of a SIGHUP if invoked with -w.
• The top-level Makefile will now honor $DESTDIR when creating the state varnishstat
directory.
• The Debian and RedHat packages are now split into three (main / lib / • Pressing 0 though 9 while varnishstat is running will change the refresh
devel) as is customary. interval to the corresponding power of two, in seconds.
Build system
• A number of compile-time and run-time portability issues have been • Varnish's <queue.h> has been modified to avoid conflicts with <sys/queue.h>
addressed. on platforms where the latter is included indirectly through system
headers.
The autogen.sh script had workarounds for problems with the GNU autotools Several steps have been taken towards Solaris support, but this is not yet
on FreeBSD; these are no longer needed and have been removed. complete.
The libcompat library has been renamed to libvarnishcompat and is now When configure was run without an explicit prefix, Varnish's idea of the
dynamic rather than static. This simplifies the build process and resolves default state directory would be garbage and a state directory would have
an issue with the Mac OS X linker. to be specified manually with -n. This has been corrected.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment