mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-16 08:24:42 +00:00
fc815fddd8
Released version 1.5-dev1 with the following main changes : - [BUG] stats: session rate limit gets garbaged in the stats - [DOC] mention 'option http-server-close' effect in Tq section - [DOC] summarize and highlight persistent connections behaviour - [DOC] add configuration samples - [BUG] http: dispatch and http_proxy modes were broken for a long time - [BUG] http: the transaction must be initialized even in TCP mode - [BUG] tcp: dropped connections must be counted as "denied" not "failed" - [BUG] consistent hash: balance on all servers, not only 2 ! - [CONTRIB] halog: report per-server status codes, errors and response times - [BUG] http: the transaction must be initialized even in TCP mode (part 2) - [BUG] client: always ensure to zero rep->analysers - [BUG] session: clear BF_READ_ATTACHED before next I/O - [BUG] http: automatically close response if req is aborted - [BUG] proxy: connection rate limiting was eating lots of CPU - [BUG] http: report correct flags in case of client aborts during body - [TESTS] refine non-regression tests and add 4 new tests - [BUG] debug: wrong pointer was used to report a status line - [BUG] debug: correctly report truncated messages - [DOC] document the "dispatch" keyword - [BUG] stick_table: fix possible memory leak in case of connection error - [CLEANUP] acl: use 'L6' instead of 'L4' in ACL flags relying on contents - [MINOR] accept: count the incoming connection earlier - [CLEANUP] tcp: move some non tcp-specific layer6 processing out of proto_tcp - [CLEANUP] client: move some ACLs away to their respective locations - [CLEANUP] rename client -> frontend - [MEDIUM] separate protocol-level accept() from the frontend's - [MINOR] proxy: add a list to hold future layer 4 rules - [MEDIUM] config: parse tcp layer4 rules (tcp-request accept/reject) - [MEDIUM] tcp: check for pure layer4 rules immediately after accept() - [OPTIM] frontend: tell the compiler that errors are unlikely to occur - [MEDIUM] frontend: check for LI_O_TCP_RULES in the listener - [MINOR] frontend: only check for monitor-net rules if LI_O_CHK_MONNET is set - [CLEANUP] buffer->cto is not used anymore - [MEDIUM] session: finish session establishment sequence in with I/O handlers - [MEDIUM] session: initialize server-side timeouts after connect() - [MEDIUM] backend: initialize the server stream_interface upon connect() - [MAJOR] frontend: don't initialize the server-side stream_int anymore - [MEDIUM] session: move the conn_retries attribute to the stream interface - [MEDIUM] session: don't assign conn_retries upon accept() anymore - [MINOR] frontend: rely on the frontend and not the backend for INDEPSTR - [MAJOR] frontend: reorder the session initialization upon accept - [MINOR] proxy: add an accept() callback for the application layer - [MAJOR] frontend: split accept() into frontend_accept() and session_accept() - [MEDIUM] stats: rely on the standard session_accept() function - [MINOR] buffer: refine the flags that may wake an analyser up. - [MINOR] stream_sock: don't dereference a non-existing frontend - [MINOR] session: differenciate between accepted connections and received connections - [MEDIUM] frontend: count the incoming connection earlier - [MINOR] frontend: count denied TCP requests separately - [CLEANUP] stick_table: add/clarify some comments - [BUILD] memory: add a few missing parenthesis to the pool management macros - [MINOR] stick_table: add support for variable-sized data - [CLEANUP] stick_table: rename some stksess struct members to avoid confusion - [CLEANUP] stick_table: move pattern to key functions to stick_table.c - [MEDIUM] stick_table: add room for extra data types - [MINOR] stick_table: add support for "conn_cum" data type. - [MEDIUM] stick_table: don't overwrite data when storing an entry - [MINOR] config: initialize stick tables after all the parsing - [MINOR] stick_table: provide functions to return stksess data from a type - [MEDIUM] stick_table: move the server ID to a generic data type - [MINOR] stick_table: enable it for frontends too - [MINOR] stick_table: export the stick_table_key - [MINOR] tcp: add per-source connection rate limiting - [MEDIUM] stick_table: separate storage and update of session entries - [MEDIUM] stick-tables: add a reference counter to each entry - [MINOR] session: add a pointer to the tracked counters for the source - [CLEANUP] proto_tcp: make the config parser a little bit more flexible - [BUG] config: report the correct proxy type in tcp-request errors - [MINOR] config: provide a function to quote args in a more friendly way - [BUG] stick_table: the fix for the memory leak caused a regression - [MEDIUM] backend: support servers on 0.0.0.0 - [BUG] stick-table: correctly refresh expiration timers - [MEDIUM] stream-interface: add a ->release callback - [MINOR] proxy: add a "parent" member to the structure - [MEDIUM] session: make it possible to call an I/O handler on both SI - [MINOR] tools: add a fast div64_32 function - [MINOR] freq_ctr: add new types and functions for periods different from 1s - [MINOR] errors: provide new status codes for config parsing functions - [BUG] http: denied requests must not be counted as denied resps in listeners - [MINOR] tools: add a get_std_op() function to parse operators - [MEDIUM] acl: make use of get_std_op() to parse intger ranges - [MAJOR] stream_sock: better wakeup conditions on read() - [BUG] session: analysers must be checked when SI state changes - [MINOR] http: reset analysers to listener's, not frontend's - [MEDIUM] session: support "tcp-request content" rules in backends - [BUILD] always match official tags when doing git-tar - [MAJOR] stream_interface: fix the wakeup conditions for embedded iohandlers - [MEDIUM] buffer: make buffer_feed* support writing non-contiguous chunks - [MINOR] tcp: src_count acl does not have a permanent result - [MAJOR] session: add track-counters to track counters related to the session - [MINOR] stick-table: provide a table lookup function - [MINOR] stick-table: use suffix "_cnt" for cumulated counts - [MEDIUM] session: move counter ACL fetches from proto_tcp - [MEDIUM] session: add concurrent connections counter - [MEDIUM] session: add data in and out volume counters - [MINOR] session: add the trk_conn_cnt ACL keyword to track connection counts - [MEDIUM] session-counters: automatically update tracked connection count - [MINOR] session: add the trk_conn_cur ACL keyword to track concurrent connection - [MINOR] session: add trk_kbytes_* ACL keywords to track data size - [MEDIUM] session: add a counter on the cumulated number of sessions - [MINOR] config: support a comma-separated list of store data types in stick-table - [MEDIUM] stick-tables: add support for arguments to data_types - [MEDIUM] stick-tables: add stored data argument type checking - [MEDIUM] session counters: add conn_rate and sess_rate counters - [MEDIUM] session counters: add bytes_in_rate and bytes_out_rate counters - [MINOR] stktable: add a stktable_update_key() function - [MINOR] session-counters: add a general purpose counter (gpc0) - [MEDIUM] session-counters: add HTTP req/err tracking - [MEDIUM] stats: add "show table [<name>]" to dump a stick-table - [MEDIUM] stats: add "clear table <name> key <value>" to clear table entries - [CLEANUP] stick-table: declare stktable_data_types as extern - [MEDIUM] stick-table: make use of generic types for stored data - [MINOR] stats: correctly report errors on "show table" and "clear table" - [MEDIUM] stats: add the ability to dump table entries matching criteria - [DOC] configuration: document all the new tracked counters - [DOC] stats: document "show table" and "clear table" - [MAJOR] session-counters: split FE and BE track counters - [MEDIUM] tcp: accept the "track-counters" in "tcp-request content" rules - [MEDIUM] session counters: automatically remove expired entries. - [MEDIUM] config: replace 'tcp-request <action>' with "tcp-request connection" - [MEDIUM] session-counters: make it possible to count connections from frontend - [MINOR] session-counters: use "track-sc{1,2}" instead of "track-{fe,be}-counters" - [MEDIUM] session-counters: correctly unbind the counters tracked by the backend - [CLEANUP] stats: use stksess_kill() to remove table entries - [DOC] update the references to session counters and to tcp-request connection - [DOC] cleanup: split a few long lines - [MEDIUM] http: forward client's close when abortonclose is set - [BUG] queue: don't dequeue proxy-global requests on disabled servers - [BUG] stats: global stats timeout may be specified before stats socket. - [BUG] conf: add tcp-request content rules to the correct list
253 lines
6.4 KiB
RPMSpec
253 lines
6.4 KiB
RPMSpec
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
|
|
Name: haproxy
|
|
Version: 1.5-dev1
|
|
Release: 1
|
|
License: GPL
|
|
Group: System Environment/Daemons
|
|
URL: http://haproxy.1wt.eu/
|
|
Source0: http://haproxy.1wt.eu/download/1.3/src/%{name}-%{version}.tar.gz
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
BuildRequires: pcre-devel
|
|
Requires: /sbin/chkconfig, /sbin/service
|
|
|
|
%description
|
|
HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited for high
|
|
availability environments. Indeed, it can:
|
|
- route HTTP requests depending on statically assigned cookies
|
|
- spread the load among several servers while assuring server persistence
|
|
through the use of HTTP cookies
|
|
- switch to backup servers in the event a main one fails
|
|
- accept connections to special ports dedicated to service monitoring
|
|
- stop accepting connections without breaking existing ones
|
|
- add/modify/delete HTTP headers both ways
|
|
- block requests matching a particular pattern
|
|
|
|
It needs very little resource. Its event-driven architecture allows it to easily
|
|
handle thousands of simultaneous connections on hundreds of instances without
|
|
risking the system's stability.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
# We don't want any perl dependecies in this RPM:
|
|
%define __perl_requires /bin/true
|
|
|
|
%build
|
|
%{__make} USE_PCRE=1 DEBUG="" ARCH=%{_target_cpu} TARGET=linux26
|
|
|
|
%install
|
|
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
|
|
|
|
%{__install} -d %{buildroot}%{_sbindir}
|
|
%{__install} -d %{buildroot}%{_sysconfdir}/rc.d/init.d
|
|
%{__install} -d %{buildroot}%{_sysconfdir}/%{name}
|
|
%{__install} -d %{buildroot}%{_mandir}/man1/
|
|
|
|
%{__install} -s %{name} %{buildroot}%{_sbindir}/
|
|
%{__install} -c -m 644 examples/%{name}.cfg %{buildroot}%{_sysconfdir}/%{name}/
|
|
%{__install} -c -m 755 examples/%{name}.init %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name}
|
|
%{__install} -c -m 755 doc/%{name}.1 %{buildroot}%{_mandir}/man1/
|
|
|
|
%clean
|
|
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
|
|
|
|
%post
|
|
/sbin/chkconfig --add %{name}
|
|
|
|
%preun
|
|
if [ $1 = 0 ]; then
|
|
/sbin/service %{name} stop >/dev/null 2>&1 || :
|
|
/sbin/chkconfig --del %{name}
|
|
fi
|
|
|
|
%postun
|
|
if [ "$1" -ge "1" ]; then
|
|
/sbin/service %{name} condrestart >/dev/null 2>&1 || :
|
|
fi
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc CHANGELOG TODO examples/*.cfg doc/haproxy-en.txt doc/haproxy-fr.txt doc/architecture.txt doc/configuration.txt
|
|
%doc %{_mandir}/man1/%{name}.1*
|
|
|
|
%attr(0755,root,root) %{_sbindir}/%{name}
|
|
%dir %{_sysconfdir}/%{name}
|
|
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.cfg
|
|
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
|
|
|
|
%changelog
|
|
* Wed Aug 25 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev1
|
|
|
|
* Sun May 23 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev0
|
|
|
|
* Sun May 16 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.6
|
|
|
|
* Thu May 13 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.5
|
|
|
|
* Wed Apr 7 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.4
|
|
|
|
* Tue Mar 30 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.3
|
|
|
|
* Wed Mar 17 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.2
|
|
|
|
* Thu Mar 4 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.1
|
|
|
|
* Fri Feb 26 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4.0
|
|
|
|
* Tue Feb 2 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-rc1
|
|
|
|
* Mon Jan 25 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev8
|
|
|
|
* Mon Jan 25 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev7
|
|
|
|
* Fri Jan 8 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev6
|
|
|
|
* Sun Jan 3 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev5
|
|
|
|
* Mon Oct 12 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev4
|
|
|
|
* Thu Sep 24 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev3
|
|
|
|
* Sun Aug 9 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev2
|
|
|
|
* Wed Jul 29 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev1
|
|
|
|
* Tue Jun 09 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.4-dev0
|
|
|
|
* Sun May 10 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.18
|
|
|
|
* Sun Mar 29 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.17
|
|
|
|
* Sun Mar 22 2009 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.16
|
|
|
|
* Sat Apr 19 2008 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.15
|
|
|
|
* Wed Dec 5 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.14
|
|
|
|
* Thu Oct 18 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.13
|
|
|
|
* Sun Jun 17 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.12
|
|
|
|
* Sun Jun 3 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.11.4
|
|
|
|
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.11.3
|
|
|
|
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.11.2
|
|
|
|
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.11.1
|
|
|
|
* Mon May 14 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.11
|
|
|
|
* Thu May 10 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.10.2
|
|
|
|
* Tue May 09 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.10.1
|
|
|
|
* Tue May 08 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.10
|
|
|
|
* Sun Apr 15 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.9
|
|
|
|
* Tue Apr 03 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.8.2
|
|
|
|
* Sun Apr 01 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.8.1
|
|
|
|
* Sun Mar 25 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.8
|
|
|
|
* Wed Jan 26 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.7
|
|
|
|
* Wed Jan 22 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.6
|
|
|
|
* Wed Jan 07 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.5
|
|
|
|
* Wed Jan 02 2007 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.4
|
|
|
|
* Wed Oct 15 2006 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.3
|
|
|
|
* Wed Sep 03 2006 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.2
|
|
|
|
* Wed Jul 09 2006 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.3.1
|
|
|
|
* Wed May 21 2006 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.14
|
|
|
|
* Wed May 01 2006 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.13
|
|
|
|
* Wed Apr 15 2006 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.12
|
|
|
|
* Wed Mar 30 2006 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.11.1
|
|
|
|
* Wed Mar 19 2006 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.10
|
|
|
|
* Wed Mar 15 2006 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.9
|
|
|
|
* Sat Jan 22 2005 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.2.3 (1.1.30)
|
|
|
|
* Sun Nov 14 2004 Willy Tarreau <w@w.ods.org>
|
|
- updated to 1.1.29
|
|
- fixed path to config and init files
|
|
- statically linked PCRE to increase portability to non-pcre systems
|
|
|
|
* Sun Jun 6 2004 Willy Tarreau <willy@w.ods.org>
|
|
- updated to 1.1.28
|
|
- added config check support to the init script
|
|
|
|
* Tue Oct 28 2003 Simon Matter <simon.matter@invoca.ch>
|
|
- updated to 1.1.27
|
|
- added pid support to the init script
|
|
|
|
* Wed Oct 22 2003 Simon Matter <simon.matter@invoca.ch>
|
|
- updated to 1.1.26
|
|
|
|
* Thu Oct 16 2003 Simon Matter <simon.matter@invoca.ch>
|
|
- initial build
|