Recent Releases
7.4.229 Jan 2024 13:44
major bugfix:
* The ``vcl_req_reset`` feature (controllable through the ``feature``
parameter, see `varnishd(1)`) has been added and enabled by default
to terminate client side VCL processing early when the client is
gone.
*req_reset* events trigger a VCL failure and are reported to
`vsl(7)` as ``Timestamp: Reset`` and accounted to ``main.req_reset``
in `vsc` as visible through ``varnishstat(1)``.
In particular, this feature is used to reduce resource consumption
of HTTP/2 "rapid reset" attacks (see below).
Note that *req_reset* events may lead to client tasks for which no
VCL is called ever. Presumably, this is thus the first time that
valid `vcl(7)` client transactions may not contain any ``VCL_call``
records.
* Added mitigation options and visibility for HTTP/2 "rapid reset"
attacks (CVE-2023-44487_, 3996_, 3997_, 3998_, 3999_).
Global rate limit controls have been added as parameters, which can
be overridden per HTTP/2 session from VCL using the new vmod ``h2``:
* The ``h2_rapid_reset`` parameter and ``h2.rapid_reset()`` function
define a threshold duration for an ``RST_STREAM`` to be classified
as "rapid": If an ``RST_STREAM`` frame is parsed sooner than this
duration after a ``HEADERS`` frame, it is accounted against the
rate limit described below.
The default is one second.
* The ``h2_rapid_reset_limit`` parameter and
``h2.rapid_reset_limit()`` function define how many "rapid" resets
may be received during the time span defined by the
``h2_rapid_reset_period`` parameter / ``h2.rapid_reset_period()``
function before the HTTP/2 connection is forcibly closed with a
``GOAWAY`` and all ongoing VCL client tasks of the connection are
aborted.
The defaults are 100 and 60 seconds, corresponding to an allowance
of 100 "rapid" resets per minute.
* The ``h2.rapid_reset_budget()`` function can be used to query the
number of currently allowed "rapid" resets.
* Sessions closed due to
7.4.029 Jan 2024 13:11
major bugfix:
* The ``VSB_quote_pfx()`` (and, consequently, ``VSB_quote()``) function
no longer produces `` v`` for a vertical tab. This improves
compatibility with JSON.
* The bundled *zlib* has been updated to match *zlib 1.3*.
* The ``VSHA256_*`` functions have been added to libvarnishapi (3946_).
* Tabulation of the ``vcl.list`` CLI output has been modified
slightly.
* VCL now supports "protected headers", which can neither be set nor unset.
* The ``Content-Length`` and ``Transfer-Encoding`` headers are now
protected. For the common use case of ``unset
xxx.http.Content-Length`` to dismiss a body, ``unset xxx.body``
should be used.
* Error handling of numeric literals in exponent notation has been
improved in the VCL compiler (3971_).
* Finalization of the storage private state of busy objects has been
fixed. This bug could trigger a panic when ``vcl_synth `` was used
to replace the object body and storage was changed from one of the
built-in storage engines to a storage engine from an extension (3953_).
* HTTP/2 header field validation is now more strict with respect to
allowed characters (3952_).
* A bug has been fixed in the filter handling code which could trigger
a panic when ``resp.filters`` was used from ``vcl_synth `` (3968_).
* The utility macros ``ALLOC_OBJ_EXTRA()`` and ``ALLOC_FLEX_OBJ()``
have been added to ``miniobj.h`` to simplify allocation of objects
larger than a struct and such with a flexible array.
* The ``varnishapi`` version has been increased to 3.1 and the
functions ``VENC_Encode_Base64()`` and ``VENC_Decode_Base64()`` are
now exposed.
* Two bugs in the ban expression parser have been fixed where one of them
could lead to a panic if a ban expression with an empty header name was
issued (3962_).
* The ``v_cold`` macro has been added to add ``__attribute__((cold))``
on compilers supporting it. It is used for ``VRT_fail()`` to mark
failure code paths as cold.
* ``varnishtest`` now generates ``User-
6.5.101 Oct 2020 17:05
minor feature:
Typo: client.ip equal remote.ip, not local.ip
.
Remove.
.
Bump the VRT major version.
.
up changes.rst heading for 6.5.0 release.
.
Add the VRT major bump to changes.rst.
.
Add two packaging related changes to upgrading-6.5.rst.
.
Prepare for 6.5.1.
6.5.016 Sep 2020 06:25
minor feature:
More deging
.
Even more deging.
.
cci Copy the.dsc file to the folder.
.
jail_subproc_e and jail_master_e to use distinct values.
.
jail enum assertions.
.
avoid = 0 comparison for enum which may be unsigned.
.
polish the jail enums some more.
.
VJ_make_subdir needs JAIL_MASTER_FILE.
.
we can not rmdir our current working directory (on solaris).
.
Rework the solaris jail code.
.
Revert temporary deging in u0.vtc.
.
Tolerate GCOV droppings in u0.vtc.
.
comment.
.
Solaris jail: mask available privileges.
.
polish.
.
Solaris jail: wrap setppriv(PRIV_ON...).
.
Solaris jail: manage INHERITABLE for JAIL_MASTER.
.
add JAIL_MASTER_SYSTEM for system() calls from master.
.
post-push posh polish.
.
Solaris jail: Allow to pass a privilege specification for the worker.
.
changelog solaris jail.
.
names, names, names.
.
(SP TAB) is rightfully called OWS in RFC7230.
.
Make VJSN able to cope with u0000.
.
the GCOV workaround in u0.vtc.
.
Test coverage for VCL "weak" symbols.
.
Constify struct symtab.
.
Stop VCL processing if vcl_recv failed.
.
Failure coverage for vcl_recv.
.
Copy-pasta typo.
.
workspace VSB example.
.
Avoid a race by using syncvsl.
.
Use setrlimit(2) to disable core dumps.
.
Somewhere along the way we lost the "long description" of the.
.
Don't report coredumps if they were disabled.
.
object/stevedore: document required vs. optional callbacks.
.
shard director: retire canon_point.
.
shard director: add optional weight parameter to.add_backend().
.
- idx is unsigned, so cannot be 0 (and GCC sux).
.
One more time for VTEST.
.
Try to regain gcov for tests which panic.
.
Changed GCOV settings.
.
Try to force GCOV out another way before we call abort().
.
r to getting GCOV back on panics: Now try global __gcov_flush().
.
test polish suggested by Dridi, thank you.
.
signedness improvements.
.
flexelinting.
.
shard: VRT_fail for backend add/remove errors.
.
shard: VRT_fail for out-of-workspace errors.
.
shard: more
6.4.017 Mar 2020 06:05
minor feature:
Start skeleton release notes for the next version.
.
Include proper prototype for daemon().
.
test vmod_path for -C.
.
does the umem backend affect the amount of malloc NULL returns in vtest?.
.
Don't ignore OA_GZIPBITS if there is a boc.
.
Don't report send timeouts as REM_errors.
.
Revert "does the umem backend affect the amount of malloc NULL return .
.
try to narrow down a umem panic observed in vtest b00035.vtc.
.
allow bgthreads to terminate only during shutdown.
.
stop the expiry thread before closing stevedores.
.
avoid the STV_() race for now.
.
Assert.
.
Fetch thread reference count and keep cached request bodies.
.
Fail fetch retries when uncached request body has been released.
.
Whitespace OCD.
.
Remove varnishd -C coverage.
.
generalize the worker pool reserve to avoid deadlocks.
.
remove a now pointless vtc.
.
split out proxyv1 formatting.
.
split out proxyv2 formatting.
.
Add VPX_Format_Proxy.
.
wrap VPX_Format_Proxy for VRT.
.
add error checking and accounting for sending proxy headers.
.
format proxy header on the stack.
.
Add capability to send the authority TLV in the PROXY header.
.
Add information about vcl object instances to the panic output.
.
simplify as suggested by @Dridi.
.
stabilize test: the panic might take some time.
.
A request body now might have up to two references.
.
Add vcl control over timeout_linger, send_timeout, idle_send_timeout.
.
bump default workspace_session.
.
panic handling can take a couple seconds.
.
fiddling to bring back an overflow where we test for it.
.
s00010.vtc: lower pressure from timeout handling.
.
more numbers fiddling.
.
even more s00010.vtc tweaking.
.
even more session overflow test tweaking.
.
s00010: try a slight variation.
.
Stabilize s10, again.
.
more TAKE_OBJ_NOTNULLification.
.
TAKE_OBJ_NOTNULLification: cases with the first AN(objp) missing.
.
vcl temperature panic output.
.
missing initialization.
.
bad free of vsb on the stack.
.
return value of v
6.3.205 Feb 2020 11:45
minor feature:
I had a good idea.
.
Extend the syntax to 'import vmod as name from "path" ;'.
.
Add Deto the default VSL mask.
.
Guard against OA_GZIPBITS streaming race.
.
Skip magic check when on boc when gunzip streaming.
.
Don't defer an std.ip() failure to WS_Alloc'ate.
.
Extract the resolution logic to vss_resolve.
.
Add a VSS_ResolveFirst primitive as well.
.
Use AF_UNSPEC for the address family.
.
Add an optional default port argument to std.ip().
.
Missing de.sndbuf() documentation.
.
Increase std.ip() and std.port() coverage.
.
The fallback default port for std.ip() is always 80.
.
Add VCS_String() public function, which depending on the argument.
.
Fail on NULL IPs in VRT.
.
Typo.
.
Code style OCD.
.
Minor doc.
Add from-to variant named vjsn_parse_end().
.
Add convenience function VSB_tofile() to write a VSB to a fd.
.
Move the writing of the compiled C source to VCC.
.
Add a function to dump just a subtree.
.
Make VCC produce a "proper" symbol table for the compiled VCL.
.
Tolerate a null address string in std.ip().
.
Attribute import... as... to Dridi.
.
Plug minor leak.
.
Polish.
.
Revert "actually, the scope must not change either".
.
Prefer Python 3 tools.
.
Plug minor leak reported by coverity.
.
More work to turn our VCL dependency tracking into a proper symboltable.
.
Add a "vcl.symtab" decommand.
.
Introduce the new unified import structure.
.
Easier regression tracking with vtc-bisect.sh.
.
Avoid use after free.
.
Explain things for Coverity.
.
Purge VCL list from behind to tear down dependencies in order.
.
Dont trust the vcl list to be tsorted.
.
Drop the unified import structure, it doesnt make anything easier aft .
.
Implement a real DAG-loop detector for allowing VCL labels.
.
Shuffle things around.
.
Provide a function to get a symbols full name.
.
Get rid of a bothersome trailing '.'.
.
Split the symbol-table into a naming and a content layer.
.
Abstract wildcard'ing one level up.
.
Parse identifiers eleme
6.3.122 Oct 2019 09:45
minor feature:
Pick up default gcov processor from environment.
.
Switch gcov to LLVM 8.0.
.
Polish and more coverage.
.
Kill strcat and strcpy usage in VIN_n_Arg.
.
Unused include.
.
Un-special-case the 'default' more.
.
Sigh, last commit was from wrong subdirectory.
.
Make r02433.vtc relevant again.
.
Cover double import.
.
Copyediting.
.
Introduce a "reserved" symboltype and wrangle an error message or two.
.
Make vcc typenames available in lower-case as well.
.
Create VCC_SymbolGetTok() variant.
.
Use vmod symbol instead of vmod name.
.
Found a sneaky way to tests VCC's vmod-tasting code.
.
I had a good idea.
.
Extend the syntax to 'import vmod as name from "path" ;'.
.
Add Deto the default VSL mask.
.
Guard against OA_GZIPBITS streaming race.
.
Skip magic check when on boc when gunzip streaming.
.
Don't defer an std.ip() failure to WS_Alloc'ate.
.
Extract the resolution logic to vss_resolve.
.
Add a VSS_ResolveFirst primitive as well.
.
Use AF_UNSPEC for the address family.
.
Add an optional default port argument to std.ip().
.
Missing de.sndbuf() documentation.
.
Increase std.ip() and std.port() coverage.
.
The fallback default port for std.ip() is always 80.
.
Add VCS_String() public function, which depending on the argument.
.
Fail on NULL IPs in VRT.
.
Typo.
.
Code style OCD.
.
Minor doc.
Add from-to variant named vjsn_parse_end().
.
Add convenience function VSB_tofile() to write a VSB to a fd.
.
Move the writing of the compiled C source to VCC.
.
Add a function to dump just a subtree.
.
Make VCC produce a "proper" symbol table for the compiled VCL.
.
Tolerate a null address string in std.ip().
.
Attribute import... as... to Dridi.
.
Plug minor leak.
.
Polish.
.
Revert "actually, the scope must not change either".
.
Prefer Python 3 tools.
.
Plug minor leak reported by coverity.
.
More work to turn our VCL dependency tracking into a proper symboltable.
.
Add a "vcl.symtab" decommand.
.
Introduce the new unified import struc
6.3.017 Sep 2019 03:25
minor feature:
Make this test more patient for people silly enough to run it on an R
.
Try to make this test more stable on heavily loaded systems.
.
Pick up default gcov processor from environment.
.
Switch gcov to LLVM 8.0.
.
Polish and more coverage.
.
Kill strcat and strcpy usage in VIN_n_Arg.
.
Unused include.
.
Un-special-case the 'default' more.
.
Sigh, last commit was from wrong subdirectory.
.
Make r02433.vtc relevant again.
.
Cover double import.
.
Copyediting.
.
Introduce a "reserved" symboltype and wrangle an error message or two.
.
Make vcc typenames available in lower-case as well.
.
Create VCC_SymbolGetTok() variant.
.
Use vmod symbol instead of vmod name.
.
Found a sneaky way to tests VCC's vmod-tasting code.
.
I had a good idea.
.
Extend the syntax to 'import vmod as name from "path" ;'.
.
Add Deto the default VSL mask.
.
Guard against OA_GZIPBITS streaming race.
.
Skip magic check when on boc when gunzip streaming.
.
Don't defer an std.ip() failure to WS_Alloc'ate.
.
Extract the resolution logic to vss_resolve.
.
Add a VSS_ResolveFirst primitive as well.
.
Use AF_UNSPEC for the address family.
.
Add an optional default port argument to std.ip().
.
Missing de.sndbuf() documentation.
.
Increase std.ip() and std.port() coverage.
.
The fallback default port for std.ip() is always 80.
.
Add VCS_String() public function, which depending on the argument.
.
Fail on NULL IPs in VRT.
.
Typo.
.
Code style OCD.
.
Minor doc.
Add from-to variant named vjsn_parse_end().
.
Add convenience function VSB_tofile() to write a VSB to a fd.
.
Move the writing of the compiled C source to VCC.
.
Add a function to dump just a subtree.
.
Make VCC produce a "proper" symbol table for the compiled VCL.
.
Tolerate a null address string in std.ip().
.
Attribute import... as... to Dridi.
.
Plug minor leak.
.
Polish.
.
Revert "actually, the scope must not change either".
.
Prefer Python 3 tools.
.
Plug minor leak reported by coverity.
.
More work
6.2.104 Sep 2019 03:15
minor feature:
Fail VCL loading if VMOD objects are left uninitialized.
.
Report the VCL name of the uninitialized object.
.
vmodtool generated RST headers.
.
test that structural tags are included in a (-w)ritten log.
.
Test that director with sick backends only is shown as sick.
.
doc tlc.
.
Properly prethe arg structures.
.
Flexelinting.
.
Park in a XXX comment, pending API renovation.
.
Test that NULL-object handling also copes with 2297.
.
Kill redundant redundant null checks.
.
Reduce -margin over highest known filedescriptor.
.
Null check.
.
Null check.
.
Null check, hat trick.
.
Null check.
.
Report what we did get, if we EOF while receiving header.
.
Make this test more resistant to machine overload.
.
Allow non-fatal (usually server) rxhdrs to fail silently.
.
Stabilize this test under heavy system loads.
.
Show VDPs if present during a panic.
.
Guard all the VDP_Push calls.
.
Consume less random bits, and don't pace after ramp-up.
.
Optimize varnishtests central scheduler.
.
Implement an optional high performance "cleaner".
.
The GCC people are getting ridiculous.
.
add debit to count contended locks.
.
oversight from previous commit.
.
Don't increment the contested counter until we have the lock.
.
Typo.
.
Typo in my typo.
Improse FetchError on first byte timeout.
.
Insist that VCL_RET_FAIL goes through VRT_fail() and not VRT_handling().
.
Refactor our "call into VCL" code a little.
.
stop using "purge" in the context of bans.
.
Don't panic if you try to relabel a VCL with the same label.
.
improve beresp.filters doc.
.
I forgot the simplest of them all.
.
VDP_Push itself is not fail-safe.
.
retire undocumented backend.list -v option.
.
b00016.vtc.
.
Add bans on obj.ttl, obj.age, obj.grace and obj.keep.
.
changelog.
.
6.2.016 Mar 2019 11:45
minor feature:
Flexelinting
.
Filter all but the interface symbol out of vmod shlibs.
.
slink assures me that blobs can use size_t for - len, and that this.
.
Revert printf format to match size_t.
.
cli backend.list -p / backend.list -p -j.
.
sync vrt changelog.
.
centralize definition of backend.list fields width.
.
widen the Probe field of the backend.list CLI command.
.
do we want to retire backend.list -v ?.
.
Fail VCL loading if VMOD objects are left uninitialized.
.
Report the VCL name of the uninitialized object.
.
vmodtool generated RST headers.
.
test that structural tags are included in a (-w)ritten log.
.
Test that director with sick backends only is shown as sick.
.
doc tlc.
.
Properly prethe arg structures.
.
Flexelinting.
.
Park in a XXX comment, pending API renovation.
.
Test that NULL-object handling also copes with 2297.
.
Kill redundant redundant null checks.
.
Reduce -margin over highest known filedescriptor.
.
Null check.
.
Null check.
.
Null check, hat trick.
.
Null check.
.
Report what we did get, if we EOF while receiving header.
.
Make this test more resistant to machine overload.
.
Allow non-fatal (usually server) rxhdrs to fail silently.
.
Stabilize this test under heavy system loads.
.
Show VDPs if present during a panic.
.
Guard all the VDP_Push calls.
.
Consume less random bits, and don't pace after ramp-up.
.
Optimize varnishtests central scheduler.
.
Implement an optional high performance "cleaner".
.
The GCC people are getting ridiculous.
.
add debit to count contended locks.
.
oversight from previous commit.
.
Don't increment the contested counter until we have the lock.
.
Typo.
.
Typo in my typo.
Improse FetchError on first byte timeout.
.
Insist that VCL_RET_FAIL goes through VRT_fail() and not VRT_handling().
.
Refactor our "call into VCL" code a little.
.
stop using "purge" in the context of bans.
.
Don't panic if you try to relabel a VCL with the same label.
.
improve beresp.filters doc.
.
I forgot
6.0.320 Feb 2019 10:25
minor feature:
Whitespace
.
Formatting.
.
Collect and make explicit where we enter and leave "tasks" for.
.
Removing deging.
.
Make each event sent to compiled VCL a separate task as far as.
.
Privatize stuff.
.
initialize PRIV_TASK and PRIV_TOP vmod arguments once per subroutine.
.
add a test for task_priv allocation in the function prologue.
.
Only dl() Vmods after all "fini" processing.
.
Test that vmod code is still present when calling a task_priv.fini.
.
varnishtest: add -keepalive to repeat on a single connection.
.
check if this stabilizes the test.
.
Stabilize b000064.vtc for real.
.
Make the vmod- file_id a hash over the.vcc file.
.
vmodtool with python3.
.
Improve long desc a little bit.
.
vtc syntax cleanup.
.
logexpect syntax in some vtcs.
.
comment.
.
side effect of staring at code not worth a.
Return the old hit-for-miss object so we can expire it.
.
Move boc check before boc- state is dereferenced.
.
Test more of varnishadms error handling.
.
Document -need-bytes and implement an optional '+' preto.
.
Oops, accidentally commited test-patch from #2760.
.
Test more of varnishtop.
.
Test strtoul() result comprehensively.
.
Tweak the -p test slightly.
.
Deref the objhead if we don't return a busy object.
.
Polish.
.
cleanup.
.
Test a few lines more.
.
Rely only on error messages we format ourselves.
.
Sanitize H2_Send_Frame error handling.
.
Flexelinting.
.
Fail object delivery little earlier if the session-fd is dead.
.
Polishing.
.
Spend a void for GCC's -Werror=pointer-sign.
.
Use a dedicated short-TTL'ed FQDN for testing if DNS works.
.
Don't attempt to normalize.vcc file encoding, just take the bytes.
.
Tighten an assert, and replicate it another place with similar.
.
Test more of varnishhist.
.
a race exposed on fast 32 bit FreeBSD.
.
Sync comment with reality.
.
Test varnishhist a little bit more.
.
Clear the IMS object attribute when copying from a stale object.
.
Ignore values non-positive values.
.
Test more dist
4.1.1114 Feb 2019 06:45
minor feature:
The parameter's name is timeout_linger
.
Add script to run Coverity.
.
Pointlessly a resource-leak in bail-out path, spotted by Coverity.
.
Make a workspace deging output more usable.
.
Check malloc return.
.
Typo.
.
Add useless break statement to please Coverity.
.
Check pthread_cond_signal returns.
.
Protect against use-after-free/unitialized.
.
Typo.
.
Insist that VCL events are only sent from CLI thread.
.
unchecked return.
.
Clarify what makes a VCL warm or cold.
.
Volatile read of the VCL temperature.
.
Add a read/write lock for VCL temperature.
.
Remove spurious assert on VCL release.
.
Non volatile reads/writes use the temperature lock.
.
Remove diagnostic check on active VCL, rather than increase.
.
Make sure the step numbes are decreasing.
.
Assign q, otherwise the whole check is useless.
.
misnomer in comment.
.
improve thread_pools documentation.
.
leave some comments pointing to the right locations.
.
old typo.
.
Clarify doc regarding -p with -1.
.
Minor polish while here anyway.
.
Bail out on this error.
.
Only update the active_vcl on successful VCL compiles.
.
Correct behavior when S_arg is the empty string.
.
Break EXTRA_DIST with one item per line.
.
mv varnish.m4 varnish-legacy.m4.
.
Define PKG_CHECK_VAR for legacy systems.
.
Introduce new macros for out-of-tree VMODs.
.
Changelog update.
.
Doc.
Remote variables not necessary to calculate the hit-rate.
.
Prepare for 4.1.4-beta1 release.
.
Document r behaviour.
.
test for duplicate links in vsl_dispatch.
.
Add error checking to confirm.
Move killing the child process into separate function.
.
New jail level - kill - used when killing is happening.
.
Updated error message in MGT_Child_Cli_Fail.
.
document bereq preparation in core.
.
Changelog update for 4.1.4-beta2.
.
Prepare for 4.1.4-beta2 release.
.
Make -msg an alias to -reason.
.
Kill any temporary vsm files on failure.
.
Bail out of CLI reads on signals.
.
Include the current time of the panic
6.0.208 Nov 2018 13:25
minor feature:
Don't transition to CLOS_REM state until we've seen END_STREAM
.
Proper END_STREAM handling.
.
Apply workaround for macos.
.
Accurate ban statistics except for a few remaining corner cases.
.
Shard director: add documentation from 9b8f6e2.
.
polish: use TAKE_OBJ_NOTNULL.
.
Use a separate condvar for connection-level flow control updates.
.
Ensure that only the rxthread gets to use h2- cond in h2_send_get.
.
tell the truth about vmod filenames.
.
Get the probe's VTP reference in the probe code.
.
Simplify memory handling around struct h2h_decode.
.
For backends with PROXYv1, send UNKNOWN in a probe if the backend's.
.
Reintroduce the req.grace variable, change keep behavior.
.
Undeprecate req.ttl.
.
Update the documentation on grace and keep.
.
Test case that shows return(abandon) to avoid cache insertion.
.
simplify cnt_lookup.
.
reshuffle HSH_Lookup() code a bit to condense and clarify.
.
Set the mode on the UDS socket, in case we are running as root.
.
Make sure the expiry is in the VSL before proceeding.
.
Remember to zero h2- mailcall on h2 rxbody vfp failure.
.
Polish.
.
Revert "Terminate varnishtop -d automatically".
.
varnishtop -d does not exit by itself.
.
Postpone conversion to BOOL until we absolutely have to.
.
Set the task arguments under the lock.
.
Set socket options correctly for the accepted socket.
.
Increase listen-depth to 100.
.
Test some out of workspace conditions for VMOD blob.
.
Remove logexpect from the tests for VMOD blob out-of-workspace.
.
the out-of-workspace tests for VMOD blob.
.
VMOD blob out-of-workspace tests with all encoding schemes.
.
Add an out-of-workspace test for VMOD blob's sub() function.
.
Retire the WB mini-interface used by VMOD blob.
.
VMOD blob encoder: don't forget the terminating null byte.
.
minor typo in upgrading-6.0.rst.
.
Accommodate musl libc that has a smaller stack.
.
Test adding (dynamic) backends with probe to already warm vcl.
.
Update doc.
.
varnishtest generate t
6.1.127 Oct 2018 09:05
minor feature:
I börked varnishhist by calling the lround function the wrong place.
.
trouble with 2GB+ VSB's on systems where int is 32 bit but.
.
Eliminated varnishd from these tests.
.
Mark our extension to ZLib and #ifdef the code in varnishtest which.
.
Get varnishd out of and varnishtest-tests into a*vtc.
.
A train-trip worth of python3 migration and other polishing.
.
Update Teken from FreeBSD source tree.
.
Implement and test ECMA-48 "REP" sequence.
.
Be Sun-c compiler compatible.
.
libvgz build error on gcc7.
.
Spelling.
.
Correct output.
.
No need to mark the overflow twice.
.
More spelling and consistency.
.
Always report the ws id in lowercase.
.
Document the 'changed' parameter for param.show.
.
Add missing copyright information.
.
Python 3 takes priority over python 2.
.
Cleanup travis' osx job and bump image.
.
Switch to clang 7 in our travis job.
.
varnish_vsc metrics type.
.
Dup(2) stderr before calling VCLS on -I argument.
.
Convert this test to UTF-8.
.
explain a relevant detail of the worker thread signaling.
.
VSC_Arg succeeds with non-zero.
.
Plug minor leak when we fail loading a vcl.
.
Only do the "feature dns" DNS-lookup if/when necessary.
.
Return a canned minimal 500 if we run out of ws in H2-deliver.
.
Add a watchdog to worker pools.
.
It's nice to know I'm still smarter than gcc.
.
Don't poll VSM_Status() while there is work to do and no interruptions.
.
restore vsl binary compatibility.
.
changelog tlc.
.
debloat the vtim test.
.
trivial vtim printf benchmark.
.
Don't use txprio to open streams in tests.
.
Move header block frame sequence check earlier.
.
Allow PRIORITY frames on streams.
.
Hardening of the h2_frame_f callbacks.
.
assertion for PUSH_PROMISE frames.
.
gethrtime() is now slower than clock_gettime() on modern Solarisen.
.
a minor oversight.
.
Polish.
.
add phk's suggestion to the micro-benchmark.
.
style(9).
.
Check we have space before adding the Date header.
.
typedefs for real/mono time a
6.1.018 Sep 2018 10:45
minor feature:
Skip this test if asan is used
.
Add a comment for future reference.
.
PROXY and HTTP/1 proto dissectors to not rely on space for an ext .
.
Whitespace OCD.
.
Handle the failure case correctly.
.
finalize task privs when rolling back workspaces.
.
Statistics for backend open errors.
.
holddown times for certain backend connection errors.
.
add the long missing per-backend busy and unhealthy counters.
.
Backend_health: report error details.
.
ups from 'PROXY and HTTP/1 proto dissectors'.
.
New for #2285 and #2624.
.
New take on #2624 after Martin's RxStuff overflow.
Minor polish.
.
Add asserts to ensure the (hypothetical?) race in #2528 doesn't happen.
.
Add missing VTCP_().
.
Remember to set the REQ_DONE state when we unset the bereq.body;.
.
Add JSON ping output.
.
a case I overlooked in the recent change to remove the NUL.
.
The backend probes can only access the backend under lock, because.
.
Check the backend connection failures get counted.
.
an h/2 thread leak.
.
h2: Avoid sending duplicate rst_stream frames on Pool_Task failure.
.
Stabilize r02679.
.
Remove unnecessary #includes.
.
Revert 88b2eb8 for now.
.
Decline DATA frames after seeing END_STREAM.
.
Also revert this as part of 44d2893.
.
Increasing libvarnishapi.so version from 1.0.6 to 2.0.0.
.
Revert "Decline DATA frames after seeing END_STREAM".
.
Don't transition to CLOS_REM state until we've seen END_STREAM.
.
Proper END_STREAM handling.
.
Apply workaround for macos.
.
Accurate ban statistics except for a few remaining corner cases.
.
Shard director: add documentation from 9b8f6e2.
.
shard director lifetime is not identical to the vcl object.
.
polish: use TAKE_OBJ_NOTNULL.
.
post-push style ocd.
.
vmod_directors: vmod object destruction vs. director destruction.
.
Use a separate condvar for connection-level flow control updates.
.
Ensure that only the rxthread gets to use h2- cond in h2_send_get.
.
tell the truth about vmod filenames.
.
Get the probe's VTP
6.0.130 Aug 2018 03:25
minor feature:
handle workspace overflow in V1F_Setup_Fetch()
.
Report cursor position in screen-dump, and add "-expect-cursor".
.
Test form-feed.
.
Clarify things for Coverity.
.
Redo struct h2_sess allocation/workspace snapshot.
.
Plug some leaks.
.
Whitespace and style OCD.
.
ASAN compilation under macaos.
.
Exercise the CONS25 code.
.
Plug a few more leaks.
.
Polish.
.
Try to appease Sun CC.
.
Just hide this whole thing from Sun CC for now.
.
Rework to avoid UB.
.
Add test for #2617.
.
More Teken coverage.
.
Tighten up checks.
.
More coverage.
.
Yet more Teken coverage.
.
Max 8 numerical arguments, but test overflow while at it.
.
Test for MAX_FRAME_SIZE in h2_frame_complete.
.
Test Teken responses.
.
Trust it to linux to break even tr(1).
.
Make the individual VFP- init()'s responsible for the objflags.
.
Let VPF's handle their own 206 policy.
.
Constify.
.
status code typo.
.
promote resp.body / beresp.body syntax a bit more.
.
vtc sweep through tight backend workspace conditions.
.
cache_vcl.c was getting too long, split along lines of "maintain.
.
Sync VJSN tests with Nicolas Seriots master list.
.
Whitespace ocd.
.
Minor FlexeLinting.
.
Whitespace OCD.
.
Scope the scope-enum, so it doesn't clash with "VCL" type.
.
lost workspace overflow markers.
.
Add a fuzzer for the ESI parser.
.
previous.
.
Bump osx image.
.
Plug more minor leaks.
.
add a noop VSLb_ts to the fuzzer.
.
Polish.
.
duh, travis-ci needs to join for this to work.
.
Panic reporting of backend health is a director function.
.
Add a VRT_CTX arg to vdir_new(), we will need it.
.
Complement VDP error handling.
.
add git.
.
Upgrade brew's Python to avoid linking errors.
.
regression from 1bb0688.
.
Make sure daemonized haproxy processes gets killed.
.
Ensure sphinx is in the PATH.
.
On startup, tell what varnish version this is.
.
Include header to support musl.
.
Tell which director the NULL backend was attempted on.
.
compiling under epel6.
.
vmodtool: requ
4.1.1026 Apr 2018 17:05
minor feature:
Be consistent wrt vsl_ts locking
.
Only update timestamp if we got a timestamp.
.
Revert "Add missing break to switch.".
.
Check the pthread functions returns in varnishhist.
.
Stop incorrectly reporting overflow on zeroed ws.
.
Go to v_b_e if we get a 304 without INM/IMS.
.
Lock when a backend is moved between lists.
.
Be consistent wrt vsl_ts locking.
.
redundant error message.
.
typo: actually save LIBS in save_LIBS.
.
When test-compiling to check for jit, also use CFLAGS and LIBS.
.
remove unused __VA_ARGS__.
.
Improve wording of do_stream documentation.
.
Counter documentation for sess_herd.
.
Further improve do_stream documentation.
.
The parameter's name is timeout_linger.
.
Add script to run Coverity.
.
Pointlessly a resource-leak in bail-out path, spotted by Coverity.
.
Make a workspace deging output more usable.
.
Check malloc return.
.
Typo.
.
Add useless break statement to please Coverity.
.
Check pthread_cond_signal returns.
.
Protect against use-after-free/unitialized.
.
Typo.
.
Insist that VCL events are only sent from CLI thread.
.
unchecked return.
.
Clarify what makes a VCL warm or cold.
.
Volatile read of the VCL temperature.
.
Add a read/write lock for VCL temperature.
.
Remove spurious assert on VCL release.
.
Non volatile reads/writes use the temperature lock.
.
Remove diagnostic check on active VCL, rather than increase.
.
Make sure the step numbes are decreasing.
.
Assign q, otherwise the whole check is useless.
.
misnomer in comment.
.
improve thread_pools documentation.
.
leave some comments pointing to the right locations.
.
old typo.
.
Clarify doc regarding -p with -1.
.
Minor polish while here anyway.
.
Bail out on this error.
.
Only update the active_vcl on successful VCL compiles.
.
Correct behavior when S_arg is the empty string.
.
Break EXTRA_DIST with one item per line.
.
mv varnish.m4 varnish-legacy.m4.
.
Define PKG_CHECK_VAR for legacy systems.
.
Introduce new macros for out-of-tree
6.0.016 Mar 2018 12:25
minor feature:
Verify outputs of varnishncsa -c when UDS addresses are in use.
.
Error messages from Resolve_Sockaddr(UDS) differ on different platforms.
.
Set the bogo-IP's socket type to SOCK_STREAM, to assuage Solaris.
.
EPIPE is a documented errno in tcp(7) on linux.
.
Document the use of UDS for -a addresses in man varnishd(1).
.
Document UDS -a addresses in the usage output of varnishd.
.
Don't test gunzip for partial responses.
.
Implement resp.do_esi.
.
Test resp.do_esi.
.
Make VCC report when symbols require a different syntax.
.
Give VMODs a wildcard toplevel symbol, and populate symbols on demand.
.
mark a tbd: For background fetches from vcl_hit, should we go to vcl_ .
.
Flexelinting.
.
Flexelinting.
.
Explicitly set malloc storage in the regression test for #2530.
.
that's what the vtc stats glob wildcards are for.
.
Document the non-effect of TCP-related -p params on UDS in.
.
Document that the tcp_keep params are ignored for UDSen.
.
Grammar.
.
Fail if ESI is attempted on partial (206) objects. Ignore gzipery on .
.
Add H/2 binary dumps to the default vsl_mask.
.
Add H/2 stream timeouts.
.
Always use HTTP/1.1 on backend connections for pass fetch.
.
Add the listener endpoint name as a third field to ReqStart.
.
Update docs for ReqStart in vsl(7), adding the listener name field.
.
Mention the change to ReqStart in "Upgrading to 6.0".
.
ws ocd.
.
varnishd synopsis: -l ,vsm has been removed.
.
Document UDS addressing for server -listen and client -connect in vtc .
.
Document the vtc extensions for UDS in "Upgrading to 6.0".
.
Change VCL_Check signature to return enum vcl_check.
.
in vtx_append(), assert that we do not try to buffer an invalid chunk.
.
gc unused struct member.
.
Change return value of VSL_Next()-ish functions to enum vsl_status.
.
reserve the error value from VSL_Write() and friends.
.
use enum vsl_status in VUT_Main().
.
For a log overrun, we need to get a fresh VSL cursor also.
.
drop some insights from workin
5.2.121 Nov 2017 18:05
minor feature:
Add UBSAN visibility and tighten ASAN up
.
Teach ASAN where the symbolizer lives.
.
Also install the llvm package, tsk tsk.
.
Try again now that llvm is installed.
.
Enable deging and warnings for the clan-4.0 job.
.
Expose the hash via bereq,req .hash.
.
Extend coverage and supress known with UBSAN.
.
Document what f stands for.
.
Test bereq,req .hash and some cleanup.
.
And the actual *req.hash test.
.
White-space OCD.
.
Enable LSAN and use-after-scope checks.
.
More functions to ignore.
.
And two more.
.
Plug minor leak when we cancel a loading VCL.
.
Polish.
.
Add the TTL, grace and keep to Hit log records.
.
start generalizing the signal handler.
.
use an alternative stack for SIGSEGV and test for stack overflow.
.
This MegaCommit replaces the VSM implementation.
.
Centralize the compat-defines of MAP_NOSYNC and MAP_HASSEMAPHORE.
.
Add include for time(3).
.
Use stat::st_mtime instead of st_mtim for OS/X.
.
s/ / /.
.
Polish.
.
Whitespace OCD.
.
Update docs.
.
Restore SIGSEGV and SIGABRT to SIG_DFL in child_signal_handler().
.
Test the panic-buffer so we know it works.
.
Make the new VSM code work with VJails.
.
Always munmap(2) segments when we delete them.
.
Dont leak - class.
.
Document status quo regarding req.backend_hint and restarts.
.
Spelling.
.
GC unneeded include.
.
Minor nits spotted by PC-Lint-Plus test version.
.
Moving these to vdef.h was a silly idea, they need to come after.
.
improve ban_cutoff documentation based on a question on -misc.
.
Test case from #2157.
.
Free the remaining arguments.
.
Free struct vjsn.
.
Always unmap in VSM_Unmap when refs reaches zero.
.
Initialise screen on startup.
.
Make sure the panic string is empty.
.
Initialise the VSC levels.
.
Compare the state of a pool with the parameters.
.
Refuse streams that can't be scheduled.
.
New req_dropped counter similar to sess_dropped.
.
Give VSL/VSC back their individual VSMs to avoid locking VSM_Status().
.
Minor flexelinter
4.1.915 Nov 2017 07:05
minor feature:
make Tcheck a macro so assertions fail with more helpful __FILE__ and?
.
Make req reachable from the pipe code.
.
build after recent merge.
.
A `cmd` feature for custom shell-based checks.
.
Iterate without an extra variable.
.
Don't skip all tests depending on features.
.
Fail tests which ask for features we have not heard about.
.
Make life easier for vim/syntastic users.
.
Revert to wrlock to avoid vd- vbm trampling.
.
Use "none" to disable authentication.
.
Backport m00025.vtc.
.
vut clients: consistently mark all .
.
Mark some more non-literal options.
.
Let varnishhist see the backend side and add some profiles.
.
remove duplicate init.
.
draw a y axis scale.
.
refresh period: missing option, sub-second, allow inc/dec.
.
timebend option: allow to specify how fast time passes.
.
Move the profile definition into a tbl file and generate the docs fro?.
.
Forgot to include client/backend profile info in the man page.
.
try to help the release manager.
.
typo.
.
put options in phonebook order again.
.
remove extra in the usage.
.
more typos.
Typo.
.
Polish.
.
Whitespace and format OCD.
.
Be consistent wrt vsl_ts locking.
.
Only update timestamp if we got a timestamp.
.
Revert "Add missing break to switch.".
.
Check the pthread functions returns in varnishhist.
.
Stop incorrectly reporting overflow on zeroed ws.
.
Go to v_b_e if we get a 304 without INM/IMS.
.
Lock when a backend is moved between lists.
.
Be consistent wrt vsl_ts locking.
.
redundant error message.
.
typo: actually save LIBS in save_LIBS.
.
When test-compiling to check for jit, also use CFLAGS and LIBS.
.
remove unused __VA_ARGS__.
.
Improve wording of do_stream documentation.
.
Counter documentation for sess_herd.
.
Further improve do_stream documentation.
.
The parameter's name is timeout_linger.
.
Add script to run Coverity.
.
Pointlessly a resource-leak in bail-out path, spotted by Coverity.
.
Make a workspace deging output more usable.
.
Check ma
5.2.016 Sep 2017 03:25
minor feature:
Remove unneeded #include.
Make VSC not own the VSM it operates on.
No quoting needed.
Yeah, so I forgot: includes in.h files is still a bad idea.
Spell __FreeBSD_version correctly.
Argument constification polishing.
Add necessary include.
Add necessary include.
Remove old decode.
Add necessary #include.
decorate with prototypes.
First part of VSC API rework to capitalize on VSM improvements.
Try to get the VSM ownership right.
Rototill the last bit of the VSC-api and simplify varnishstat_curses.
Only react on kill(2) if process doesn't exist.
Change the jail-API so we can get the vsm dir permissions right.
Properly implement VSC_Destroy().
Only use the kill(pid,0) test to detect dead process if it has.
Make vxp_test at least compile, while pondering if it should be removed.
Add VSM_NOPID environment variable to disable pid-based tests.
bring back mlock() of vsm mappings.
Some progress with the vsm docs for new world order.
Remove blob operations from vmod-de.
Update the travis-ci build.
Rewrite the.map file and only expose LIBVARNISHAPI_2.0.
Fail the test if we panic when stopping the child.
Clean up and systematize our blessed vmod's Makefile.am.
Dont filter VMOD symbols just yet.
Update stale comment.
Pack prototypes in the order they are used.
Whitespace OCD.
Simplify VUT options initialization.
Help flexelint find the path of this VUT_Arg call.
Assert when an optarg is expected.
Remove the VUT_g_Arg special case.
Merge VUT signal handlers together.
Move the sigaltstack init to a generic THR_Init() and use it for all ?.
try to stabilize this test.
De-boilerplate the "normal" vmods in the tree.
Now filter the vmods symbols, and make libvmod_deexercise the.
Ignore req.ttl when keeping track of epired objects.
Build generated sources before anything else.
VMOD blob tests: add vcl.discard to test freeing cached encodings of.
VMOD blob: correct a special case in object finalization.
Move the cli buffer to VSB.
Test case for #2422.
Staticize.
We don't actually have VM
5.2.0-rc209 Sep 2017 20:45
minor feature:
rename - this function is specific to the hash.
vrt_hash_blob: fail gracefully for out-of-workspace conditions.
set the sigaltstack for each thread - SunOS needs it.
Use a separate segment for the sigaltstack.
Make SunCC happy.
VMOD blob: explicitly cast negative int8_t constants.
remove unused variable from auto-generated code.
VMOD blob: increase workspace for a couple of vtc tests.
VMOD blob: use sentinel values that are strictly signed char in the.
Remove blob operations from vmod-vtc.
Whitespace.
Polish.
Add missing changelogs.
Correct function names on diagnostic messages.
Always initialise vd- dname.
Accept a negative TTL with purge.soft.
Polish.
Whitespace OCD.
Minor flexelintery.
Accommodate older python version.
Remove irrelevant limits that were caused by VSC.
Drop the incestous relationship between VSM and VSC, and stack.
Whitespace OCD.
Don't fail at jailing if vcache user does not exist.
Prepare for 5.2.0-rc1 release.
5.2.0-rc105 Sep 2017 20:45
minor feature:
First babystep of the new selfdocumenting VSC counters.
Also move VSC::LCK to The New World Order.
Move VBE stats to New World Order.
Move the remaining VSC's to The New World Order.
We need VSM_Alloc() for test c00083 for now.
Add a tiny JSON parser for private use by libvarnishapi.
Try to solaris compile nit.
Revert deging which snug into previous commit.
Take the 'zero' element out of the VSC structures again, and syntax.
polish.
Polish for sunos compiler.
make check under osx while VSC work is ongoing.
Run Nicolas Seriot's JSON test-cases.
Retire the VSC_Mgt() and VSC_Main() functions.
Polish a little bit.
building with sanitizers.
Update and some housekeeping.
Correct check.
And now using the correct variable, tsk tsk.
Polish for flexelint.
Join the long-doc strings with " n".
Confine the VSC_C structs to vsc.c.
Privatize VSC_level_desc_ VSC_type_desc_ and VSC_desc_ to vsc.c.
Simplify.
Remove the unused type_desc.
File more bits off the VSC api.
Internalize the VSC levels, and expose a function to increase/decrease.
Support for optional Summing function.
This file is now surplus to requirements.
Hide struct dstat from vmods.
For now substitute VSC_main for dstat. We will circle back to this.
Make options control what is emitted.
Make vsctool.py produce the VSC.rst doc.
Make C11 _Static_assert() available if we have it.
Use _Static_assert to ensure we know how the struct is packed.
Check VSC parameters harder.
Use -match instead of -expect.
Add :order: parameters to match vsc_types.h ordering.
Retire the old VSC field definitions entirely.
Never trust the values of VSC-counters: They are mmap'ed in other.
Fold generated lines.
Rename VSM_common to CVSM and hide it from vmods.
Forgot to add this one.
Move VSC_ Alloc Destroy () into common.
destroy arguments.
Add the new VSM writer bits. Not used yet.
Include stdint.
Corrected grammar for install.rst.
Typo.
Remove duplicated test.
Undefined behaviour is undefined.
Always initialise err.
If pipe'ing, unset any exis
5.1.303 Aug 2017 16:05
minor feature:
Move the VMOD caching from worker to master to avoid too many.
Check -T and -M arguments sooner.
Ok, not quite _that_ early, we need to have access to SHM.
Typo.
an off-by-one error in the place-holder VSLbin().
Deal with WINDOWS_UPDATES on streams.
Hold lock over h2req- vsl.
Improve test coverage.
Send a PROXY v1 line with backend probes.
Send PROXY v2 LOCAL header with probes.
Tautological assert.
Client delivery decides solely whether to set client response 304.
More coverage.
Log all received frames, even if we throw them away.
Make H2_F_ a self-describing object and ditch the enum.
Add transmit properties to the frame descriptors.
Due to the incompetent H2 protocol design, we also need to keep track of.
Overhaul H2 Settings handling.
Missed these in previous commit.
Don't use symbolic names for flags, GCC and Sun's C-compiler are.
Make this test jail-compatible.
v1 actually forwards traffic for v2.
Document the change regarding 304 responses and pass in What's New fo?.
Update docs in spots to use the hit-for-miss and -pass terminology.
Update hit-for-miss/-pass terminology in the long description for n_o?.
hit-for-miss/-pass terminology OCD in vtc varnishtest lines.
hit-for-miss/-pass terminology in the comments of builtin.vcl.
Introduce VSC stat cache_hitmiss, to count hits on hit-for-miss.
Document changes to varnishlog and varnishstat regarding hit-for-miss?.
More test coverage.
Ok, drop that test, it's not portable.
Add "-hdrlen ".
Add a deoption for setting bogus H2 settings so VTC's dont.
Test H2 Continuation headers.
Move H2 Rx buf onto srq- ws.
The beginnings of a TX-scheduling facility.
Update docs for *.uncacheable in generate.py regarding hit-for-miss/-?.
race in the VSL segment counter initialization.
Revive use of the VSL HitPass tag.
Add SLT tag HitMiss to log hits on hit-for-miss objects.
Simplify the H2:body delivery.
Document the use of HitMiss and HitPass in VSL in What's New for 5.1.
Add an HFP record example.
This test requires 64bits.
Miss
4.1.729 Jun 2017 03:25
minor feature:
Ignore missing reason in probe responses.
typo in lib/libvarnish/vtim.c.
Adapt r02069.vtc to 4.1.
Only root can jail.
Corrected grammar for install.rst.
If pipe'ing, unset any existing Connection headers.
Polish.
Further cleanup.
Rework the shell command, so that expected exit code and pattern to.
Add regexp matching support to the shell command.
Shuffle things around in prep for upcoming work.
Add record-presupport to varnishncsa.
Polish.
More cleanup.
Polish.
More cleanup.
add WS_Assert_Allocated: assert that ws- s f.
an off-by-one error in WS_Assert_Allocated().
Make param::nuke_limit a total count of nukes allowed for each.
Add 1764 to the changelog.
Switch to globbing on the whole string.
Ident and type are optional.
Rework -f option.
Add 2320 to the changelog.
Allow newlines in long strings to sendhex.
Remember to reset the workspace.
add 2219 to changelog.
Document varnish.
Add -stop doc, and be more detailed.
Add a vsl_catchup varnishtest function.
Make -vsl_catchup bail on test-failure or child death.
Update changelog.
Prepare for 4.1.7-beta1 release.
Prevent storage backends name collisions.
the std.getenv example.
Add extra locking to protect the pools list and refcounts.
Don't panic on a null ban.
Update changelog.
Prepare for 4.1.7 release.
4.1.627 Apr 2017 08:45
minor feature:
Remove ancient outdated comment.
Add another new output formatter. typo.
Minor.
distcheck on FreeBSD and possible other BSDs.
Add a bunch of protective asserts on vcl- conf, to help flush out.
Insist that tests start out with the magic string "varnishtest :white?.
Remove initial line feed.
Remove superflous calls to WS_Assert().
Mostly whitespace OCD.
dont panic on pthread_cond_timedwait being interrupted.
document the default probe.
allow whitespace and comments before the varnishtest marker.
Revert "Remove initial line feed.".
document what the default backend is.
Remove unneeded checks.
Add a VSL variant that takes uses stdarg(3).
Make std.log() work from vcl_ init,fini .
Make std.syslog() work from vcl_ init,fini .
Add #1924 to changelog.
invalidate the cli_fd of dead varnishds.
Save the VCL syntax version, we will need it later on.
Clarify the help text for d_opt/-d.
Eliminate a NULL pointer with empty (apart from comments and.
Log an error if we fail to get storage.
Minor OCD here and there.
Correct instructions to disable THP permanently.
Adopt to 4.1.
Improve output on PRIV_TASK/TOP in init/fini.
Implement atomic creation of output files.
Output to the correct file name.
Create the temporary files in the same dir.
At least one platform has a backtrace(3) which returns -1 in a size_t?.
Make the santity check of backtrace(3) returns even more robust.
This shows why having both BE and LE test-boxes is important.
With FreeBSD 10.3 on a BeagleBone PCRE JIT explodes in the pcre_study().
Check pcre_study() is working in configure.
Simplify r01941.vtc a bit.
comment.
Add -h and use different exit status.
Exit with 0 if -h was used.
Correct parameter name.
Finally some instructions for building on SmartOS (for a start).
typo.
Add forgotten link.
In probes treat a poll timeout as a recv error.
Dump more VCL info in panic, and add a general macro for checking.
Teach VSB_quote() to hexdump. All zero bits will be elided to "0x0...0".
Only... hexdumps if they are longer t
5.1.209 Apr 2017 02:45
minor feature:
This assert will not hold in all error situations.
Add a H1 testcase which exercises the single like of code which.
Allow EPIPE in VTCP_Check().
Add a xport- req_fail() for H2.
sync VRB_Ignore() comment with reality.
Add panic function for vrt vmod _privs.
Also release the req0.
Move a bunch of SES_ functions to cache_transport.h, they are not.
to and better test-coverage of exception paths in H2 upgrade.
Generalize HPACK length encoding.
Add a couple of commits to try to catch #2257.
I want to find this vtc when grepping for waitinglist.
Do all of the vfc setup and init in one place and only when needed.
If the client workspace is almost, but not quite exhaused, we may.
FlexeLinting: Avoid cpp macro argument names inside strings.
Flexelinting: initialize variable flexelint cannot see through.
Add parenthesis to clearify code.
Do not update mgt's mirrored VCL temp state on child temp state failures.
Log VSM/VSL errors in varnishtest.
Add a vsl_catchup varnishtest function.
Tune for 32 bit machines also.
Merge branch 'master' of github.com:varnishcache/varnish-cache.
Negative SIZE to de.workspace_allocate() now means.
Add testcase for #2275.
Don't append newline for varnishtest -p.
Use the new "allocate all but" de.workspace_allocate() feature.
Change/simplify the V1L logic for chunked encoding.
Put a priority block in a HEADERS frame.
Make -vsl_catchup bail on test-failure or child death.
Try to push H2 into even weirder corners.
Handle RST_STREAM on completed streams.
Give this test 8 bytes more to succeed in.
Avoid sign-extension in hexdump.
A LOT more H2 plumbing.
How to report signal panics.
Slightly more coverage.
Whitespace OCD.
attempt to get more helpful reports.
no deinfo packages on packagecloud.io.
Support multi-lib systems for out-of-tree builds.
Log the remote address to make it easier to cross-ref to VSL.
When the client abandons a fetch we the connection to the.
Check backend existence when reading proxy_header.
It is more robust to wait for the clie
5.1.118 Mar 2017 09:45
minor feature:
Back to trunk.
in H1 session cleanup.
One more H1 session cleanup and a lot more asserts.
Explain why 5.1.1 is necessary.
Prepare for 5.1.1 final.
5.1.017 Mar 2017 17:25
minor feature:
Dogfooding.
try to stabilize this test.
Revert "Document VRT_ipcmp wrt bumping VRT API version".
Move "older version" VRT changes where they belong.
Inaugurate ongoing VRT changes after 5.0.
Use fd() throughout, take 2.
Restore regression test for #2184.
Restore missing newline (follow up to 497b076).
Attempt a succinct explanation of test gunzip.
Use fd() throughout, take 3.
Introduce a ZERO_OBJ macro similar to bzero.
Polish.
add WS_Assert_Allocated: assert that ws- s f.
Keep track of WS_Assert_Allocated.
Make this test less sensitive to scheduling order.
Allow user defined sub 's to return without specifing a handling.
Reintroduce hit-for-pass with new and better syntax:
Track VRT_hit_for_pass.
Add a couple of (needless) asserts for Coveritys sake.
Introduce a `vxid` LHS for VSL queries.
s/VXID/vxid/.
Use code litterals for the grouping modes.
Document vxid VSL queries.
Ignore HUB and PIPE signals before starting child.
Typo.
Rename t.vcl to bad.vcl.
Test multiple -f options for varnishd.
Test multiple -f options with a bad VCL.
Test multiple -f options with an empty value.
Move minimal reponses to the transport level and use them for H1 100/?.
Send 100-continue after vcl_recv or when caching the request body.
cases when we do not want to send a 100 Continue.
Add std.late_100_continue to postpone sending a 100 Continue response.
Plug leak.
Give more room to slower platforms.
Uneeded returns are unneeded.
Also add more delay for the first varnishd.
Add missing newline, move thread/errno info after backtrace.
Point out upper-case characters, I'm sure this will be a common mistake.
Forgot this part of last commit.
Remove duplicated asserts.
Ignore upper/lower case when comparing header names.
Make a hole through H2 POST.
Add a deoption to slow down acceptor threads so that we.
Polish.
Allow and ignore a leading '-' on cli commands.
Implement varnishd -I .
Add test case for -I cli_file.
Use different workdirs to avoid old SHMfiles confusing varnishadm.
Don't start va
4.1.5-beta210 Feb 2017 08:25
minor feature:
Mention the join character.
Allow INT and REAL to be negative.
Increment fetch_failed for all causes.
Insert space around '+' and '-' in generated C code.
Update devicedetect.vcl to current upstream.
beresp.backend.ip is only available while the connection is open.
Document workuser and minor improvements.
Update changelog.
Repair formatting mistake.
Prepare for 4.1.5-beta2 release.
4.1.5-beta104 Feb 2017 12:45
minor feature:
Add an assert preventing buffer overflows.
buffer overflow in HTC_RxInit on workspace exhaustion.
Increase delay in r02035.vtc.
Whitespace after colon is optional.
Unbreak test from incomplete backport.
Disable Nagle's algorithm on the backend as well.
Limit VSL size to 4G-1b.
race condition on HTTP1 session step counter.
Correct number.
Update changelog.
Update changelog again.
Revert "Limit VSL size to 4G-1b".
Make 4.1 compile on !linux again.
Document default timeout for varnishtest.
Handle comparison between backend and different things.
vsm_free (never incremented).
Clarify r formatter wrt multiple Host headers.
Change assert to proper error message and test it.
Clarify description of fetch_failed counter.
vmoddir when using --preat configure time.
Update changelog.
Prepare for 4.1.5-beta1 release.
4.1.402 Dec 2016 23:45
minor feature:
Changelog entry for 1883.
Remove temporary directory iff called with -C.
Add changelog entry for #1869.
Add changelog entry for #1918.
Polish.
Correct ParseError output.
Method names should start with a period.
Be more clear wrt function vs method.
Add changelog entry for #1885.
Add varnishncsa backend mode to changelog.
Add #1912 to changelog.
Backfill with forgotten changelog entries.
Don't allow partial allocation of stevedore space for ESI.
req- task members must be set in case we get onto the waitinglist.
Add #1928 to changelog.
Truncate output if it's wider than 12 chars.
Add #1855 to the changelog.
Don't emit multiple Age or Accept-Ranges headers.
Add #1955 to the changelog.
Add 1806 to changelog.
check for overrun before looking at the next vsm record.
Add 1873 to changelog.
Add #1847 (https_scheme) properly to changelog.
Correctly handle HTTP/1.1 EOF response.
missing Wait_HeapDelete.
Current SmartOS also has epoll(), so we need to prefer ports.
Remove implicit line feed when using formatfile.
Add support for TCP Fast Open extension.
Allow VCL set Last-Modified to be used for I-M-S processing.
Bring changelog up to speed.
Backfill more changelog entries.
Make it more easily readable on Github.
Update copyright.
Clarified the documentation on vsm_overflow ed .
Invert desc/explanation in varnish-counters.7.
Update instructions on port change with systemd.
Add an "expect_pattern" verb, which expects a "01234567012345...".
Update to 4.1 vtc syntax.
Add missing call to VSL_Match.
Spelling.
Introduce barriers in varnishtest.
Barriers can be cyclic but not like semaphores.
Barriers can only be created on the top thread.
Implement socket barriers (shared between processes).
Teach vmod-dehow to sync with varnishtest.
the socket.
Add vtc barriers to changelog.
Enable make clean target in man/.
Use the proper VSL record.
Method names should start with a period.
minor leak spotted by Coverity Scan.
Turn false-positive INCOMPL macros into WRONG ones.
varnishtest barrier
4.0.402 Dec 2016 06:25
minor feature:
Remove duplicated line.
reference.
Start ignoring lower case ctags file.
clarify that we will not see piped connections ever again.
Harden vtcp_sa_to_ascii.
Bail out on workspace exhaustion in VRT_IP_string.
Delay allocating log line data until it's known to be needed in varni?.
Keep two trees in varnishtop, one for order and one for uniqueness.
remove some unused declarations.
add VCL_BYTES for vmods.
Oops, forgot this bit of previous commit.
Try again to make server.hostname and server.identity available.
add std.strstr.
Nitpicks.
Use a bigger buffer for the stdout/stderr to avoid annoying.
Revert "Tweak size-sensitive test case for 32bit systems".
Don't mix const and non-const pointers. This should make jenkins happ?.
If workspace_thread is not be big enough to hold all the objcore poin?.
Ensure that we never call a VDP with a zero length unless we are done.
Make a dedicated cleanup function for req- vary_? to match the.
Prepare for 4.0.2-rc1 release.
Prevent a segfault on varnish reconnect in the varnishstat hitrate.
Add list of changes.
Remove incorrect changelog entry.
Update copyright statement.
Unhide vcl.show from 'help' output, it was hidden due to overzealous.
varnishlog -k argument.
Prepare 4.0.2.
Add forgotten to list.
Only override CFLAGS on RHEL6.
a cornercase related to empty pass objects.
Check for multiple Content-Length headers.
Make it possible to receive resphdrs and respbody separately.
a couple of for the detached rx*body functions.
Add a defacility to force a WRW_Flush after the headers.
Don't needlessly throw away Content-Length from backend, but assume.
Delay HSH_Complete() until the storage sanity functions has finished.
Document -v param in vcl.show.
Document how comments work in VCL.
Spelling.
document bereq.uncacheable and beresp.uncacheable.
document keep.
document some more object variables.
make bereq.uncacheable read-only outside backend_fetch.
Include the Varnish version on panic.
vcl_pass might return fetch, not pass.
Skip the arg
4.1.4-beta326 Nov 2016 07:25
minor feature:
ban lurker: the olist can be empty when all bans got dup'ed.
Zero overflow VSM allocations.
Correctly handle EOF responses with HTTP/1.1.
Only accept C identifiers as acls.
Changelog entry for 1883.
Remove temporary directory iff called with -C.
Add changelog entry for #1869.
Add changelog entry for #1918.
Polish.
Correct ParseError output.
Method names should start with a period.
Be more clear wrt function vs method.
Add changelog entry for #1885.
Add varnishncsa backend mode to changelog.
Add #1912 to changelog.
Backfill with forgotten changelog entries.
Don't allow partial allocation of stevedore space for ESI.
req- task members must be set in case we get onto the waitinglist.
Add #1928 to changelog.
Truncate output if it's wider than 12 chars.
Add #1855 to the changelog.
Don't emit multiple Age or Accept-Ranges headers.
Add #1955 to the changelog.
Add 1806 to changelog.
check for overrun before looking at the next vsm record.
Add 1873 to changelog.
Add #1847 (https_scheme) properly to changelog.
Correctly handle HTTP/1.1 EOF response.
missing Wait_HeapDelete.
Current SmartOS also has epoll(), so we need to prefer ports.
Remove implicit line feed when using formatfile.
Add support for TCP Fast Open extension.
Allow VCL set Last-Modified to be used for I-M-S processing.
Bring changelog up to speed.
Backfill more changelog entries.
Make it more easily readable on Github.
Update copyright.
Clarified the documentation on vsm_overflow ed .
Invert desc/explanation in varnish-counters.7.
Update instructions on port change with systemd.
Add an "expect_pattern" verb, which expects a "01234567012345...".
Update to 4.1 vtc syntax.
Add missing call to VSL_Match.
Spelling.
Introduce barriers in varnishtest.
Barriers can be cyclic but not like semaphores.
Barriers can only be created on the top thread.
Implement socket barriers (shared between processes).
Teach vmod-dehow to sync with varnishtest.
the socket.
Add vtc barriers to changelog.
Enable make clean target in man/.
Use
4.0.4-beta125 Oct 2016 23:45
minor feature:
Update references to vcl_error.
Spelling.
Remove duplicated line.
reference.
Start ignoring lower case ctags file.
clarify that we will not see piped connections ever again.
Harden vtcp_sa_to_ascii.
Bail out on workspace exhaustion in VRT_IP_string.
Delay allocating log line data until it's known to be needed in varni?.
Keep two trees in varnishtop, one for order and one for uniqueness.
remove some unused declarations.
add VCL_BYTES for vmods.
Oops, forgot this bit of previous commit.
Try again to make server.hostname and server.identity available.
add std.strstr.
Nitpicks.
Use a bigger buffer for the stdout/stderr to avoid annoying.
Revert "Tweak size-sensitive test case for 32bit systems".
Don't mix const and non-const pointers. This should make jenkins happ?.
If workspace_thread is not be big enough to hold all the objcore poin?.
Ensure that we never call a VDP with a zero length unless we are done.
Make a dedicated cleanup function for req- vary_? to match the.
Prepare for 4.0.2-rc1 release.
Prevent a segfault on varnish reconnect in the varnishstat hitrate.
Add list of changes.
Remove incorrect changelog entry.
Update copyright statement.
Unhide vcl.show from 'help' output, it was hidden due to overzealous.
varnishlog -k argument.
Prepare 4.0.2.
Add forgotten to list.
Only override CFLAGS on RHEL6.
a cornercase related to empty pass objects.
Check for multiple Content-Length headers.
Make it possible to receive resphdrs and respbody separately.
a couple of for the detached rx*body functions.
Add a defacility to force a WRW_Flush after the headers.
Don't needlessly throw away Content-Length from backend, but assume.
Delay HSH_Complete() until the storage sanity functions has finished.
Document -v param in vcl.show.
Document how comments work in VCL.
Spelling.
document bereq.uncacheable and beresp.uncacheable.
document keep.
document some more object variables.
make bereq.uncacheable read-only outside backend_fetch.
Include the Varnish version on panic.
vcl_pass
4.1.4-beta214 Oct 2016 04:05
minor feature:
Add an entry to the changelog.
Stop cleaning the svg files.
a ESI+gzip corner case which had escaped notice until now.
Add missing description.
Update changelog.
Revive the backend_conn counter.
Sync changelog.
Maintain `-d` behaviour when log is overrun and reacquired.
Release memory instead of crashing on malformed ESI.
Add simple error checking in ESI processing.
Add a SLT_BackendStart log tag, and log address and port on backend req.
Backend mode in varnishncsa.
(insignificant) memory leak with mal-formed ESI directives.
Extended formatters in varnishncsa.
New format of VSL formatter in varnishncsa.
Tiny doc for varnishncsa.
Postpone calling VBT_wait until after V1P_Process.
ban lurker: the olist can be empty when all bans got dup'ed.
Zero overflow VSM allocations.
Correctly handle EOF responses with HTTP/1.1.
Only accept C identifiers as acls.
Changelog entry for 1883.
Remove temporary directory iff called with -C.
Add changelog entry for #1869.
Add changelog entry for #1918.
Polish.
Correct ParseError output.
Method names should start with a period.
Be more clear wrt function vs method.
Add changelog entry for #1885.
Add varnishncsa backend mode to changelog.
Add #1912 to changelog.
Backfill with forgotten changelog entries.
Don't allow partial allocation of stevedore space for ESI.
req- task members must be set in case we get onto the waitinglist.
Add #1928 to changelog.
Truncate output if it's wider than 12 chars.
Add #1855 to the changelog.
Don't emit multiple Age or Accept-Ranges headers.
Add #1955 to the changelog.
Add 1806 to changelog.
check for overrun before looking at the next vsm record.
Add 1873 to changelog.
Add #1847 (https_scheme) properly to changelog.
Correctly handle HTTP/1.1 EOF response.
missing Wait_HeapDelete.
Current SmartOS also has epoll(), so we need to prefer ports.
Remove implicit line feed when using formatfile.
Add support for TCP Fast Open extension.
Allow VCL set Last-Modified to be used for I-M-S processing.
Bring changelog up
5.0.017 Sep 2016 20:39
major feature:
Documentation updates, especially the what's new and upgrade sections.
Via: header made by Varnish now says 5.0.
VMOD VRT ABI level increased.
vcl obj.(ttl age grace keep) is now readable in vcl_deliver.
Latest devicedetect.vcl imported from upstream.
New system wide VCL directory: /usr/share/varnish/vcl/
std.integer() can now convert from REAL.
Issues fixed:
2086 - Ignore H2 upgrades if the feature is not enabled.
2054 - Introduce new macros for out-of-tree VMODs
2022 - varnishstat -1 -f field inclusion glob doesn't allow VBE backend fields
2008 - Panic: Assert error in VBE_Delete()
1800 - PRIV_TASK in vcl_init/fini