Hi all,

a number of old bugs were reported recently. Some of them are quite
problematic because they can lead to crashes while parsing configuration
or when starting up, which is even worse considering that startup scripts
will generally not notice it.

Among the bugs fixed in 1.4.21, we can enumerate :
  - risk of crash if using reqrep/rsprep and having tune.bufsize manually
    configured larger than what was compiled in. The cause is the trash
    buffer used for the replace was still static, and I believed this was
    fixed months ago but only my mailbox had the fix! Thanks to Dmitry
    Sivachenko for reporting this bug.

  - risk of crash when using header captures on a TCP frontend. This is a
    configuration issue, and this situation is now correctly detected and
    reported. Thanks to Olufemi Omojola for reporting this bug.

  - risk of crash when some servers are declared with checks in a farm which
    does not use an LB algorithm (eg: "option transparent" or "dispatch").
    This happens when a server state is updated and reported to the non-
    existing LB algorithm. Fortunately, this happens at start-up when
    reporting the servers either up or down, but still it's after the fork
    and too late for being easily recovered from by scripts. Thanks to David
    Touzeau for reporting this bug.

  - "balance source" did not correctly hash IPv6 addresses, so IPv4
    connections to IPv6 listeners would always get the same result. Thanks
    to Alex Markham for reporting this bug.

  - the connect timeout was not properly reset upon connection establishment,
    resulting in a retry if the timeout struck exactly at the same millisecond
    the connect succeeded. The effect is that if a request was sent as part of
    the connect hanshake, it is not available for resend during the retry and
    a response timeout is reported for the server. Note that in practice, this
    only happens with erroneous configurations. Thanks to Yehuda Sadeh for
    reporting this bug.

  - the error captures were wrong if the buffer wrapped, which happens when
    capturing incorrectly encoded chunked responses.

I also backported Cyril's work on the stats page to allow POST params to be
posted in any order, because I know there are people who script actions on
this page.

This release also includes doc cleanups from Cyril, Dmitry Sivachenko and
Adrian Bridgett.

Distro packagers will be happy to know that I added explicit checks to shut
gcc warnings about unchecked write() return value in the debug code.

While it's very likely that almost nobody is affected by the bugs above,
troubleshooting them is annoying enough to justify an upgrade.

Sources, Linux/x86 and Solaris/sparc binaries are at the usual location :

    site index : http://haproxy.1wt.eu/
    sources    : http://haproxy.1wt.eu/download/1.4/src/
    changelog  : http://haproxy.1wt.eu/download/1.4/src/CHANGELOG
    binaries   : http://haproxy.1wt.eu/download/1.4/bin/

Willy


Reply via email to