From 1f44589b7109b07f8845b430fa031a6762923c03 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 3 Jan 2010 23:23:36 +0100 Subject: [PATCH] [RELEASE] Released version 1.4-dev5 Released version 1.4-dev5 with the following main changes : - [MINOR] server tracking: don't care about the tracked server's mode - [MEDIUM] appsession: add "len", "prefix" and "mode" options - [MEDIUM] appsession: add the "request-learn" option - [BUG] Configuration parser bug when escaping characters - [MINOR] CSS & HTML fun - [MINOR] Collect & provide http response codes received from servers - [BUG] Fix silly typo: hspr_other -> hrsp_other - [MINOR] Add "a name" to stats page - [MINOR] add additional "a href"s to stats page - [MINOR] Collect & provide http response codes for frontends, fix backends - [DOC] some small spell fixes and unifications - [MEDIUM] Decrease server health based on http responses / events, version 3 - [BUG] format '%d' expects type 'int', but argument 5 has type 'long int' - [BUG] config: fix erroneous check on cookie domain names, again - [BUG] Healthchecks: get a proper error code if connection cannot be completed immediately - [DOC] trivial fix for man page - [MINOR] config: report all supported options for the "bind" keyword - [MINOR] tcp: add support for the defer_accept bind option - [MINOR] unix socket: report the socket path in case of bind error - [CONTRIB] halog: support searching by response time - [DOC] add a reminder about obsolete documents - [DOC] point to 1.4 doc, not 1.3 - [DOC] option tcp-smart-connect was missing from index - [MINOR] http: detect connection: close earlier - [CLEANUP] sepoll: clean up the fd_clr/fd_set functions - [OPTIM] move some rarely used fields out of fdtab - [MEDIUM] fd: merge fd_list into fdtab - [MAJOR] buffer: flag BF_DONT_READ to disable reads when not required - [MINOR] http: add new transaction flags for keep-alive and content-length - [MEDIUM] http request: parse connection, content-length and transfer-encoding - [MINOR] http request: update the TX_SRV_CONN_KA flag on rewrite - [MINOR] http request: simplify the test of no-data - [MEDIUM] http request: simplify POST length detection - [MEDIUM] http request: make use of pre-parsed transfer-encoding header - [MAJOR] http: create the analyser which waits for a response - [MINOR] http: pre-set the persistent flags in the transaction - [MEDIUM] http response: check body length and set transaction flags - [MINOR] http response: update the TX_CLI_CONN_KA flag on rewrite - [MINOR] http: remove the last call to stream_int_return - [IMPORT] import ebtree v5.0 into directory ebtree/ - [MEDIUM] build: switch ebtree users to use new ebtree version - [CLEANUP] ebtree: remove old unused files - [BUG] definitely fix regparm issues between haproxy core and ebtree - [CLEANUP] ebtree: cast to char * to get rid of gcc warning - [BUILD] missing #ifndef in ebmbtree.h - [BUILD] missing #ifndef in ebsttree.h - [MINOR] tools: add hex2i() function to convert hex char to int - [MINOR] http: create new MSG_BODY sub-states - [BUG] stream_sock: BUF_INFINITE_FORWARD broke splice on 64-bit platforms - [DOC] option is "defer-accept", not "defer_accept" - [MINOR] http: keep pointer to beginning of data - [BUG] x-original-to: name was not set in default instance - [MINOR] http: detect tunnel mode and set it in the session - [BUG] config: fix error message when config file is not found - [BUG] config: fix wrong handling of too large argument count - [BUG] config: disable 'option httplog' on TCP proxies - [BUG] config: fix erroneous check on cookie domain names - [BUG] config: cookie domain was ignored in defaults sections - [MINOR] config: support passing multiple "domain" statements to cookies - [MINOR] ebtree: add functions to lookup non-null terminated strings - [MINOR] config: don't report error on all subsequent files on failure - [BUG] second fix for the printf format warning - [BUG] check_post: limit analysis to the buffer length - [MEDIUM] http: process request body in a specific analyser - [MEDIUM] backend: remove HTTP POST parsing from get_server_ph_post() - [MAJOR] http: completely process the "connection" header - [MINOR] http: only consider chunk encoding with HTTP/1.1 - [MAJOR] buffers: automatically compute the maximum buffer length - [MINOR] http: move the http transaction init/cleanup code to proto_http - [MINOR] http: move 1xx handling earlier to eliminate a lot of ifs - [MINOR] http: introduce a new synchronisation state : HTTP_MSG_DONE - [MEDIUM] http: rework chunk-size parser - [MEDIUM] http: add a new transaction flags indicating if we know the transfer length - [MINOR] buffers: add buffer_ignore() to skip some bytes - [BUG] http: offsets are relative to the buffer, not to ->som - [MEDIUM] http: automatically re-aling request buffer - [BUG] http: body parsing must consider the start of message - [MINOR] new function stream_int_cond_close() - [MAJOR] http: implement body parser - [BUG] http: typos on several unlikely() around header insertion - [BUG] stream_sock: wrong max computation on recv - [MEDIUM] http: rework the buffer alignment logic - [BUG] buffers: wrong size calculation for displaced data - [MINOR] stream_sock: prepare for closing when all pending data are sent - [MEDIUM] http: add two more states for the closing period - [MEDIUM] http: properly handle "option forceclose" - [MINOR] stream_sock: add SI_FL_NOLINGER for faster close - [MEDIUM] http: make forceclose use SI_FL_NOLINGER - [MEDIUM] session: set SI_FL_NOLINGER when aborting on write timeouts - [MEDIUM] http: add some SI_FL_NOLINGER around server errors - [MINOR] config: option forceclose is valid in frontends too - [BUILD] halog: insufficient include path in makefile - [MEDIUM] http: make the analyser not rely on msg being initialized anymore - [MEDIUM] http: make the parsers able to wait for a buffer flush - [MAJOR] http: add support for option http-server-close - [BUG] http: ensure we abort data transfer on write error - [BUG] last fix was overzealous and disabled server-close - [BUG] http: fix erroneous trailers size computation - [MINOR] stream_sock: enable MSG_MORE when forwarding finite amount of data - [OPTIM] http: set MSG_MORE on response when a pipelined request is pending - [BUG] http: redirects were broken by chunk changes - [BUG] http: the request URI pointer is relative to the buffer - [OPTIM] http: don't immediately enable reading on request - [MINOR] http: move redirect messages to HTTP/1.1 with a content-length - [BUG] http: take care of errors, timeouts and aborts during the data phase - [MINOR] http: don't wait for sending requests to the server - [MINOR] http: make the conditional redirect support keep-alive - [BUG] http: fix cookie parser to support spaces and commas in values - [MINOR] config: some options were missing for "redirect" - [MINOR] redirect: add support for unconditional rules - [MINOR] config: centralize proxy struct initialization - [MEDIUM] config: remove the limitation of 10 reqadd/rspadd statements - [MEDIUM] config: remove the limitation of 10 config files - [CLEANUP] http: remove a remaining impossible condition - [OPTIM] http: optimize a bit the construct of the forward loops --- CHANGELOG | 117 ++++++++++++++++++++++++++++++++++++++++++ VERDATE | 2 +- VERSION | 2 +- doc/configuration.txt | 2 +- examples/haproxy.spec | 5 +- 5 files changed, 124 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index bd5937dab..2f353a00c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,123 @@ ChangeLog : =========== +2010/01/03 : 1.4-dev5 + - [MINOR] server tracking: don't care about the tracked server's mode + - [MEDIUM] appsession: add "len", "prefix" and "mode" options + - [MEDIUM] appsession: add the "request-learn" option + - [BUG] Configuration parser bug when escaping characters + - [MINOR] CSS & HTML fun + - [MINOR] Collect & provide http response codes received from servers + - [BUG] Fix silly typo: hspr_other -> hrsp_other + - [MINOR] Add "a name" to stats page + - [MINOR] add additional "a href"s to stats page + - [MINOR] Collect & provide http response codes for frontends, fix backends + - [DOC] some small spell fixes and unifications + - [MEDIUM] Decrease server health based on http responses / events, version 3 + - [BUG] format '%d' expects type 'int', but argument 5 has type 'long int' + - [BUG] config: fix erroneous check on cookie domain names, again + - [BUG] Healthchecks: get a proper error code if connection cannot be completed immediately + - [DOC] trivial fix for man page + - [MINOR] config: report all supported options for the "bind" keyword + - [MINOR] tcp: add support for the defer_accept bind option + - [MINOR] unix socket: report the socket path in case of bind error + - [CONTRIB] halog: support searching by response time + - [DOC] add a reminder about obsolete documents + - [DOC] point to 1.4 doc, not 1.3 + - [DOC] option tcp-smart-connect was missing from index + - [MINOR] http: detect connection: close earlier + - [CLEANUP] sepoll: clean up the fd_clr/fd_set functions + - [OPTIM] move some rarely used fields out of fdtab + - [MEDIUM] fd: merge fd_list into fdtab + - [MAJOR] buffer: flag BF_DONT_READ to disable reads when not required + - [MINOR] http: add new transaction flags for keep-alive and content-length + - [MEDIUM] http request: parse connection, content-length and transfer-encoding + - [MINOR] http request: update the TX_SRV_CONN_KA flag on rewrite + - [MINOR] http request: simplify the test of no-data + - [MEDIUM] http request: simplify POST length detection + - [MEDIUM] http request: make use of pre-parsed transfer-encoding header + - [MAJOR] http: create the analyser which waits for a response + - [MINOR] http: pre-set the persistent flags in the transaction + - [MEDIUM] http response: check body length and set transaction flags + - [MINOR] http response: update the TX_CLI_CONN_KA flag on rewrite + - [MINOR] http: remove the last call to stream_int_return + - [IMPORT] import ebtree v5.0 into directory ebtree/ + - [MEDIUM] build: switch ebtree users to use new ebtree version + - [CLEANUP] ebtree: remove old unused files + - [BUG] definitely fix regparm issues between haproxy core and ebtree + - [CLEANUP] ebtree: cast to char * to get rid of gcc warning + - [BUILD] missing #ifndef in ebmbtree.h + - [BUILD] missing #ifndef in ebsttree.h + - [MINOR] tools: add hex2i() function to convert hex char to int + - [MINOR] http: create new MSG_BODY sub-states + - [BUG] stream_sock: BUF_INFINITE_FORWARD broke splice on 64-bit platforms + - [DOC] option is "defer-accept", not "defer_accept" + - [MINOR] http: keep pointer to beginning of data + - [BUG] x-original-to: name was not set in default instance + - [MINOR] http: detect tunnel mode and set it in the session + - [BUG] config: fix error message when config file is not found + - [BUG] config: fix wrong handling of too large argument count + - [BUG] config: disable 'option httplog' on TCP proxies + - [BUG] config: fix erroneous check on cookie domain names + - [BUG] config: cookie domain was ignored in defaults sections + - [MINOR] config: support passing multiple "domain" statements to cookies + - [MINOR] ebtree: add functions to lookup non-null terminated strings + - [MINOR] config: don't report error on all subsequent files on failure + - [BUG] second fix for the printf format warning + - [BUG] check_post: limit analysis to the buffer length + - [MEDIUM] http: process request body in a specific analyser + - [MEDIUM] backend: remove HTTP POST parsing from get_server_ph_post() + - [MAJOR] http: completely process the "connection" header + - [MINOR] http: only consider chunk encoding with HTTP/1.1 + - [MAJOR] buffers: automatically compute the maximum buffer length + - [MINOR] http: move the http transaction init/cleanup code to proto_http + - [MINOR] http: move 1xx handling earlier to eliminate a lot of ifs + - [MINOR] http: introduce a new synchronisation state : HTTP_MSG_DONE + - [MEDIUM] http: rework chunk-size parser + - [MEDIUM] http: add a new transaction flags indicating if we know the transfer length + - [MINOR] buffers: add buffer_ignore() to skip some bytes + - [BUG] http: offsets are relative to the buffer, not to ->som + - [MEDIUM] http: automatically re-aling request buffer + - [BUG] http: body parsing must consider the start of message + - [MINOR] new function stream_int_cond_close() + - [MAJOR] http: implement body parser + - [BUG] http: typos on several unlikely() around header insertion + - [BUG] stream_sock: wrong max computation on recv + - [MEDIUM] http: rework the buffer alignment logic + - [BUG] buffers: wrong size calculation for displaced data + - [MINOR] stream_sock: prepare for closing when all pending data are sent + - [MEDIUM] http: add two more states for the closing period + - [MEDIUM] http: properly handle "option forceclose" + - [MINOR] stream_sock: add SI_FL_NOLINGER for faster close + - [MEDIUM] http: make forceclose use SI_FL_NOLINGER + - [MEDIUM] session: set SI_FL_NOLINGER when aborting on write timeouts + - [MEDIUM] http: add some SI_FL_NOLINGER around server errors + - [MINOR] config: option forceclose is valid in frontends too + - [BUILD] halog: insufficient include path in makefile + - [MEDIUM] http: make the analyser not rely on msg being initialized anymore + - [MEDIUM] http: make the parsers able to wait for a buffer flush + - [MAJOR] http: add support for option http-server-close + - [BUG] http: ensure we abort data transfer on write error + - [BUG] last fix was overzealous and disabled server-close + - [BUG] http: fix erroneous trailers size computation + - [MINOR] stream_sock: enable MSG_MORE when forwarding finite amount of data + - [OPTIM] http: set MSG_MORE on response when a pipelined request is pending + - [BUG] http: redirects were broken by chunk changes + - [BUG] http: the request URI pointer is relative to the buffer + - [OPTIM] http: don't immediately enable reading on request + - [MINOR] http: move redirect messages to HTTP/1.1 with a content-length + - [BUG] http: take care of errors, timeouts and aborts during the data phase + - [MINOR] http: don't wait for sending requests to the server + - [MINOR] http: make the conditional redirect support keep-alive + - [BUG] http: fix cookie parser to support spaces and commas in values + - [MINOR] config: some options were missing for "redirect" + - [MINOR] redirect: add support for unconditional rules + - [MINOR] config: centralize proxy struct initialization + - [MEDIUM] config: remove the limitation of 10 reqadd/rspadd statements + - [MEDIUM] config: remove the limitation of 10 config files + - [CLEANUP] http: remove a remaining impossible condition + - [OPTIM] http: optimize a bit the construct of the forward loops + 2009/10/12 : 1.4-dev4 - [DOC] add missing rate_lim and rate_max - [MAJOR] struct chunk rework diff --git a/VERDATE b/VERDATE index 7c402ee4b..906faf58f 100644 --- a/VERDATE +++ b/VERDATE @@ -1 +1 @@ -2009/10/12 +2010/01/03 diff --git a/VERSION b/VERSION index 33505f0ac..d34c0ce3a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.4-dev4 +1.4-dev5 diff --git a/doc/configuration.txt b/doc/configuration.txt index b5d1fda18..0fa20025c 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -4,7 +4,7 @@ ---------------------- version 1.4 willy tarreau - 2009/10/12 + 2010/01/03 This document covers the configuration language as implemented in the version diff --git a/examples/haproxy.spec b/examples/haproxy.spec index 5529a3cbf..b7a4c4661 100644 --- a/examples/haproxy.spec +++ b/examples/haproxy.spec @@ -1,6 +1,6 @@ Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments Name: haproxy -Version: 1.4-dev4 +Version: 1.4-dev5 Release: 1 License: GPL Group: System Environment/Daemons @@ -76,6 +76,9 @@ fi %attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name} %changelog +* Sun Jan 3 2010 Willy Tarreau +- updated to 1.4-dev5 + * Mon Oct 12 2009 Willy Tarreau - updated to 1.4-dev4