[RELEASE] Released version 1.5-dev22
Released version 1.5-dev22 with the following main changes :
- MEDIUM: tcp-check new feature: connect
- MEDIUM: ssl: Set verify 'required' as global default for servers side.
- MINOR: ssl: handshake optim for long certificate chains.
- BUG/MINOR: pattern: pattern comparison executed twice
- BUG/MEDIUM: map: segmentation fault with the stats's socket command "set map ..."
- BUG/MEDIUM: pattern: Segfault in binary parser
- MINOR: pattern: move functions for grouping pat_match_* and pat_parse_* and add documentation.
- MINOR: standard: The parse_binary() returns the length consumed and his documentation is updated
- BUG/MINOR: payload: the patterns of the acl "req.ssl_ver" are no parsed with the good function.
- BUG/MEDIUM: pattern: "pat_parse_dotted_ver()" set bad expect_type.
- BUG/MINOR: sample: The c_str2int converter does not fail if the entry is not an integer
- BUG/MEDIUM: http/auth: Sometimes the authentication credentials can be mix between two requests
- MINOR: doc: Bad cli function name.
- MINOR: http: smp_fetch_capture_header_* fetch captured headers
- BUILD: last release inadvertently prepended a "+" in front of the date
- BUG/MEDIUM: stream-int: fix the keep-alive idle connection handler
- BUG/MEDIUM: backend: do not re-initialize the connection's context upon reuse
- BUG: Revert "OPTIM/MEDIUM: epoll: fuse active events into polled ones during polling changes"
- BUG/MINOR: checks: successful check completion must not re-enable MAINT servers
- MINOR: http: try to stick to same server after status 401/407
- BUG/MINOR: http: always disable compression on HTTP/1.0
- OPTIM: poll: restore polling after a poll/stop/want sequence
- OPTIM: http: don't stop polling for read on the client side after a request
- BUG/MEDIUM: checks: unchecked servers could not be enabled anymore
- BUG/MEDIUM: stats: the web interface must check the tracked servers before enabling
- BUG/MINOR: channel: CHN_INFINITE_FORWARD must be unsigned
- BUG/MINOR: stream-int: do not clear the owner upon unregister
- MEDIUM: stats: add support for HTTP keep-alive on the stats page
- BUG/MEDIUM: stats: fix HTTP/1.0 breakage introduced in previous patch
- Revert "MEDIUM: stats: add support for HTTP keep-alive on the stats page"
- MAJOR: channel: add a new flag CF_WAKE_WRITE to notify the task of writes
- OPTIM: session: set the READ_DONTWAIT flag when connecting
- BUG/MINOR: http: don't clear the SI_FL_DONT_WAKE flag between requests
- MINOR: session: factor out the connect time measurement
- MEDIUM: session: prepare to support earlier transitions to the established state
- MEDIUM: stream-int: make si_connect() return an established state when possible
- MINOR: checks: use an inline function for health_adjust()
- OPTIM: session: put unlikely() around the freewheeling code
- MEDIUM: config: report a warning when multiple servers have the same name
- BUG: Revert "OPTIM: poll: restore polling after a poll/stop/want sequence"
- BUILD/MINOR: listener: remove a glibc warning on accept4()
- BUG/MAJOR: connection: fix mismatch between rcv_buf's API and usage
- BUILD: listener: fix recent accept4() again
- BUG/MAJOR: ssl: fix breakage caused by recent fix abf08d9
- BUG/MEDIUM: polling: ensure we update FD status when there's no more activity
- MEDIUM: listener: fix polling management in the accept loop
- MINOR: protocol: improve the proto->drain() API
- MINOR: connection: add a new conn_drain() function
- MEDIUM: tcp: report in tcp_drain() that lingering is already disabled on close
- MEDIUM: connection: update callers of ctrl->drain() to use conn_drain()
- MINOR: connection: add more error codes to report connection errors
- MEDIUM: tcp: report connection error at the connection level
- MEDIUM: checks: make use of chk_report_conn_err() for connection errors
- BUG/MEDIUM: unique_id: HTTP request counter is not stable
- DOC: fix misleading information about SIGQUIT
- BUG/MAJOR: fix freezes during compression
- BUG/MEDIUM: stream-interface: don't wake the task up before end of transfer
- BUILD: fix VERDATE exclusion regex
- CLEANUP: polling: rename "spec_e" to "state"
- DOC: add a diagram showing polling state transitions
- REORG: polling: rename "spec_e" to "state" and "spec_p" to "cache"
- REORG: polling: rename "fd_spec" to "fd_cache"
- REORG: polling: rename the cache allocation functions
- REORG: polling: rename "fd_process_spec_events()" to "fd_process_cached_events()"
- MAJOR: polling: rework the whole polling system
- MAJOR: connection: remove the CO_FL_WAIT_{RD,WR} flags
- MEDIUM: connection: remove conn_{data,sock}_poll_{recv,send}
- MEDIUM: connection: add check for readiness in I/O handlers
- MEDIUM: stream-interface: the polling flags must always be updated in chk_snd_conn
- MINOR: stream-interface: no need to call fd_stop_both() on error
- MEDIUM: connection: no need to recheck FD state
- CLEANUP: connection: use conn_ctrl_ready() instead of checking the flag
- CLEANUP: connection: use conn_xprt_ready() instead of checking the flag
- CLEANUP: connection: fix comments in connection.h to reflect new behaviour.
- OPTIM: raw-sock: don't speculate after a short read if polling is enabled
- MEDIUM: polling: centralize polled events processing
- MINOR: polling: create function fd_compute_new_polled_status()
- MINOR: cli: add more information to the "show info" output
- MEDIUM: listener: add support for limiting the session rate in addition to the connection rate
- MEDIUM: listener: apply a limit on the session rate submitted to SSL
- REORG: stats: move the stats socket states to dumpstats.c
- MINOR: cli: add the new "show pools" command
- BUG/MEDIUM: counters: flush content counters after each request
- BUG/MEDIUM: counters: fix stick-table entry leak when using track-sc2 in connection
- MINOR: tools: add very basic support for composite pointers
- MEDIUM: counters: stop relying on session flags at all
- BUG/MINOR: cli: fix missing break in command line parser
- BUG/MINOR: config: correctly report when log-format headers require HTTP mode
- MAJOR: http: update connection mode configuration
- MEDIUM: http: make keep-alive + httpclose be passive mode
- MAJOR: http: switch to keep-alive mode by default
- BUG/MEDIUM: http: fix regression caused by recent switch to keep-alive by default
- BUG/MEDIUM: listener: improve detection of non-working accept4()
- BUILD: listener: add fcntl.h and unistd.h
- BUG/MINOR: raw_sock: correctly set the MSG_MORE flag
diff --git a/CHANGELOG b/CHANGELOG
index 7335898..0b14460 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,103 @@
ChangeLog :
===========
+2014/02/03 : 1.5-dev22
+ - MEDIUM: tcp-check new feature: connect
+ - MEDIUM: ssl: Set verify 'required' as global default for servers side.
+ - MINOR: ssl: handshake optim for long certificate chains.
+ - BUG/MINOR: pattern: pattern comparison executed twice
+ - BUG/MEDIUM: map: segmentation fault with the stats's socket command "set map ..."
+ - BUG/MEDIUM: pattern: Segfault in binary parser
+ - MINOR: pattern: move functions for grouping pat_match_* and pat_parse_* and add documentation.
+ - MINOR: standard: The parse_binary() returns the length consumed and his documentation is updated
+ - BUG/MINOR: payload: the patterns of the acl "req.ssl_ver" are no parsed with the good function.
+ - BUG/MEDIUM: pattern: "pat_parse_dotted_ver()" set bad expect_type.
+ - BUG/MINOR: sample: The c_str2int converter does not fail if the entry is not an integer
+ - BUG/MEDIUM: http/auth: Sometimes the authentication credentials can be mix between two requests
+ - MINOR: doc: Bad cli function name.
+ - MINOR: http: smp_fetch_capture_header_* fetch captured headers
+ - BUILD: last release inadvertently prepended a "+" in front of the date
+ - BUG/MEDIUM: stream-int: fix the keep-alive idle connection handler
+ - BUG/MEDIUM: backend: do not re-initialize the connection's context upon reuse
+ - BUG: Revert "OPTIM/MEDIUM: epoll: fuse active events into polled ones during polling changes"
+ - BUG/MINOR: checks: successful check completion must not re-enable MAINT servers
+ - MINOR: http: try to stick to same server after status 401/407
+ - BUG/MINOR: http: always disable compression on HTTP/1.0
+ - OPTIM: poll: restore polling after a poll/stop/want sequence
+ - OPTIM: http: don't stop polling for read on the client side after a request
+ - BUG/MEDIUM: checks: unchecked servers could not be enabled anymore
+ - BUG/MEDIUM: stats: the web interface must check the tracked servers before enabling
+ - BUG/MINOR: channel: CHN_INFINITE_FORWARD must be unsigned
+ - BUG/MINOR: stream-int: do not clear the owner upon unregister
+ - MEDIUM: stats: add support for HTTP keep-alive on the stats page
+ - BUG/MEDIUM: stats: fix HTTP/1.0 breakage introduced in previous patch
+ - Revert "MEDIUM: stats: add support for HTTP keep-alive on the stats page"
+ - MAJOR: channel: add a new flag CF_WAKE_WRITE to notify the task of writes
+ - OPTIM: session: set the READ_DONTWAIT flag when connecting
+ - BUG/MINOR: http: don't clear the SI_FL_DONT_WAKE flag between requests
+ - MINOR: session: factor out the connect time measurement
+ - MEDIUM: session: prepare to support earlier transitions to the established state
+ - MEDIUM: stream-int: make si_connect() return an established state when possible
+ - MINOR: checks: use an inline function for health_adjust()
+ - OPTIM: session: put unlikely() around the freewheeling code
+ - MEDIUM: config: report a warning when multiple servers have the same name
+ - BUG: Revert "OPTIM: poll: restore polling after a poll/stop/want sequence"
+ - BUILD/MINOR: listener: remove a glibc warning on accept4()
+ - BUG/MAJOR: connection: fix mismatch between rcv_buf's API and usage
+ - BUILD: listener: fix recent accept4() again
+ - BUG/MAJOR: ssl: fix breakage caused by recent fix abf08d9
+ - BUG/MEDIUM: polling: ensure we update FD status when there's no more activity
+ - MEDIUM: listener: fix polling management in the accept loop
+ - MINOR: protocol: improve the proto->drain() API
+ - MINOR: connection: add a new conn_drain() function
+ - MEDIUM: tcp: report in tcp_drain() that lingering is already disabled on close
+ - MEDIUM: connection: update callers of ctrl->drain() to use conn_drain()
+ - MINOR: connection: add more error codes to report connection errors
+ - MEDIUM: tcp: report connection error at the connection level
+ - MEDIUM: checks: make use of chk_report_conn_err() for connection errors
+ - BUG/MEDIUM: unique_id: HTTP request counter is not stable
+ - DOC: fix misleading information about SIGQUIT
+ - BUG/MAJOR: fix freezes during compression
+ - BUG/MEDIUM: stream-interface: don't wake the task up before end of transfer
+ - BUILD: fix VERDATE exclusion regex
+ - CLEANUP: polling: rename "spec_e" to "state"
+ - DOC: add a diagram showing polling state transitions
+ - REORG: polling: rename "spec_e" to "state" and "spec_p" to "cache"
+ - REORG: polling: rename "fd_spec" to "fd_cache"
+ - REORG: polling: rename the cache allocation functions
+ - REORG: polling: rename "fd_process_spec_events()" to "fd_process_cached_events()"
+ - MAJOR: polling: rework the whole polling system
+ - MAJOR: connection: remove the CO_FL_WAIT_{RD,WR} flags
+ - MEDIUM: connection: remove conn_{data,sock}_poll_{recv,send}
+ - MEDIUM: connection: add check for readiness in I/O handlers
+ - MEDIUM: stream-interface: the polling flags must always be updated in chk_snd_conn
+ - MINOR: stream-interface: no need to call fd_stop_both() on error
+ - MEDIUM: connection: no need to recheck FD state
+ - CLEANUP: connection: use conn_ctrl_ready() instead of checking the flag
+ - CLEANUP: connection: use conn_xprt_ready() instead of checking the flag
+ - CLEANUP: connection: fix comments in connection.h to reflect new behaviour.
+ - OPTIM: raw-sock: don't speculate after a short read if polling is enabled
+ - MEDIUM: polling: centralize polled events processing
+ - MINOR: polling: create function fd_compute_new_polled_status()
+ - MINOR: cli: add more information to the "show info" output
+ - MEDIUM: listener: add support for limiting the session rate in addition to the connection rate
+ - MEDIUM: listener: apply a limit on the session rate submitted to SSL
+ - REORG: stats: move the stats socket states to dumpstats.c
+ - MINOR: cli: add the new "show pools" command
+ - BUG/MEDIUM: counters: flush content counters after each request
+ - BUG/MEDIUM: counters: fix stick-table entry leak when using track-sc2 in connection
+ - MINOR: tools: add very basic support for composite pointers
+ - MEDIUM: counters: stop relying on session flags at all
+ - BUG/MINOR: cli: fix missing break in command line parser
+ - BUG/MINOR: config: correctly report when log-format headers require HTTP mode
+ - MAJOR: http: update connection mode configuration
+ - MEDIUM: http: make keep-alive + httpclose be passive mode
+ - MAJOR: http: switch to keep-alive mode by default
+ - BUG/MEDIUM: http: fix regression caused by recent switch to keep-alive by default
+ - BUG/MEDIUM: listener: improve detection of non-working accept4()
+ - BUILD: listener: add fcntl.h and unistd.h
+ - BUG/MINOR: raw_sock: correctly set the MSG_MORE flag
+
2013/12/17 : 1.5-dev21
- MINOR: stats: don't use a monospace font to report numbers
- MINOR: session: remove debugging code
diff --git a/README b/README
index 6641f7b..0f3a1f9 100644
--- a/README
+++ b/README
@@ -1,9 +1,9 @@
----------------------
HAProxy how-to
----------------------
- version 1.5-dev21
+ version 1.5-dev22
willy tarreau
- 2013/12/17
+ 2014/02/03
1) How to build it
diff --git a/VERDATE b/VERDATE
index f897dc8..2c5006a 100644
--- a/VERDATE
+++ b/VERDATE
@@ -1,2 +1,2 @@
$Format:%ci$
-2013/12/17
+2014/02/03
diff --git a/VERSION b/VERSION
index 6c116a8..632d623 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.5-dev21
+1.5-dev22
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 524b83d..95f8eec 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -4,7 +4,7 @@
----------------------
version 1.5
willy tarreau
- 2013/12/17
+ 2014/02/03
This document covers the configuration language as implemented in the version
diff --git a/examples/haproxy.spec b/examples/haproxy.spec
index f2811f9..ec6f2a0 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.5-dev21
+Version: 1.5-dev22
Release: 1
License: GPL
Group: System Environment/Daemons
@@ -76,6 +76,9 @@
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
%changelog
+* Mon Feb 3 2014 Willy Tarreau <w@1wt.eu>
+- updated to 1.5-dev22
+
* Tue Dec 17 2013 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev21
diff --git a/src/haproxy.c b/src/haproxy.c
index 442d16a..4bd30a1 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1,6 +1,6 @@
/*
* HA-Proxy : High Availability-enabled HTTP/TCP proxy
- * Copyright 2000-2013 Willy Tarreau <w@1wt.eu>.
+ * Copyright 2000-2014 Willy Tarreau <w@1wt.eu>.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -211,7 +211,7 @@
void display_version()
{
printf("HA-Proxy version " HAPROXY_VERSION " " HAPROXY_DATE"\n");
- printf("Copyright 2000-2013 Willy Tarreau <w@1wt.eu>\n\n");
+ printf("Copyright 2000-2014 Willy Tarreau <w@1wt.eu>\n\n");
}
void display_build_opts()