mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-04 05:21:21 +02:00
Released version 1.5-dev12 with the following main changes : - CONTRIB: halog: sort URLs by avg bytes_read or total bytes_read - MEDIUM: ssl: add support for prefer-server-ciphers option - MINOR: IPv6 support for transparent proxy - MINOR: protocol: add SSL context to listeners if USE_OPENSSL is defined - MINOR: server: add SSL context to servers if USE_OPENSSL is defined - MEDIUM: connection: add a new handshake flag for SSL (CO_FL_SSL_WAIT_HS). - MEDIUM: ssl: add new files ssl_sock.[ch] to provide the SSL data layer - MEDIUM: config: add the 'ssl' keyword on 'bind' lines - MEDIUM: config: add support for the 'ssl' option on 'server' lines - MEDIUM: ssl: protect against client-initiated renegociation - BUILD: add optional support for SSL via the USE_OPENSSL flag - MEDIUM: ssl: add shared memory session cache implementation. - MEDIUM: ssl: replace OpenSSL's session cache with the shared cache - MINOR: ssl add global setting tune.sslcachesize to set SSL session cache size. - MEDIUM: ssl: add support for SNI and wildcard certificates - DOC: Typos cleanup - DOC: fix name for "option independant-streams" - DOC: specify the default value for maxconn in the context of a proxy - BUG/MINOR: to_log erased with unique-id-format - LICENSE: add licence exception for OpenSSL - BUG/MAJOR: cookie prefix doesn't support cookie-less servers - BUILD: add an AIX 5.2 (and later) target. - MEDIUM: fd/si: move peeraddr from struct fdinfo to struct connection - MINOR: halog: use the more recent dual-mode fgets2 implementation - BUG/MEDIUM: ebtree: ebmb_insert() must not call cmp_bits on full-length matches - CLEANUP: halog: make clean should also remove .o files - OPTIM: halog: make use of memchr() on platforms which provide a fast one - OPTIM: halog: improve cold-cache behaviour when loading a file - BUG/MINOR: ACL implicit arguments must be created with unresolved flag - MINOR: replace acl_fetch_{path,url}* with smp_fetch_* - MEDIUM: pattern: add the "base" sample fetch method - OPTIM: i386: make use of kernel-mode-linux when available - BUG/MINOR: tarpit: fix condition to return the HTTP 500 message - BUG/MINOR: polling: some events were not set in various pollers - MINOR: http: add the urlp_val ACL match - BUG: stktable: tcp_src_to_stktable_key() must return NULL on invalid families - MINOR: stats/cli: add plans to support more stick-table actions - MEDIUM: stats/cli: add support for "set table key" to enter values - REORG/MEDIUM: fd: remove FD_STCLOSE from struct fdtab - REORG/MEDIUM: fd: remove checks for FD_STERROR in ev_sepoll - REORG/MEDIUM: fd: get rid of FD_STLISTEN - REORG/MINOR: connection: move declaration to its own include file - REORG/MINOR: checks: put a struct connection into the server - MINOR: connection: add flags to the connection struct - MAJOR: get rid of fdtab[].state and use connection->flags instead - MINOR: fd: add a new I/O handler to fdtab - MEDIUM: polling: prepare to call the iocb() function when defined. - MEDIUM: checks: make use of fdtab->iocb instead of cb[] - MEDIUM: protocols: use the generic I/O callback for accept callbacks - MINOR: connection: add a handler for fd-based connections - MAJOR: connection: replace direct I/O callbacks with the connection callback - MINOR: fd: make fdtab->owner a connection and not a stream_interface anymore - MEDIUM: connection: remove the FD_POLL_* flags only once - MEDIUM: connection: extract the send_proxy callback from proto_tcp - MAJOR: tcp: remove the specific I/O callbacks for TCP connection probes - CLEANUP: remove the now unused fdtab direct I/O callbacks - MAJOR: remove the stream interface and task management code from sock_* - MEDIUM: stream_interface: pass connection instead of fd in sock_ops - MEDIUM: stream_interface: centralize the SI_FL_ERR management - MAJOR: connection: add a new CO_FL_CONNECTED flag - MINOR: rearrange tcp_connect_probe() and fix wrong return codes - MAJOR: connection: call data layer handshakes from the handler - MEDIUM: fd: remove the EV_FD_COND_* primitives - MINOR: sock_raw: move calls to si_data_close upper - REORG: connection: replace si_data_close() with conn_data_close() - MEDIUM: sock_raw: introduce a read0 callback that is different from shutr - MAJOR: stream_int: use a common stream_int_shut*() functions regardless of the data layer - MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls - MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required - MEDIUM: connection: add definitions for dual polling mechanisms - MEDIUM: connection: make use of the new polling functions - MAJOR: make use of conn_{data|sock}_{poll|stop|want}* in connection handlers - MEDIUM: checks: don't use FD_WAIT_* anymore - MINOR: fd: get rid of FD_WAIT_* - MEDIUM: stream_interface: offer a generic function for connection updates - MEDIUM: stream-interface: offer a generic chk_rcv function for connections - MEDIUM: stream-interface: add a snd_buf() callback to sock_ops - MEDIUM: stream-interface: provide a generic stream_int_chk_snd_conn() function - MEDIUM: stream-interface: provide a generic si_conn_send_cb callback - MEDIUM: stream-interface: provide a generic stream_sock_read0() function - REORG/MAJOR: use "struct channel" instead of "struct buffer" - REORG/MAJOR: extract "struct buffer" from "struct channel" - MINOR: connection: provide conn_{data|sock}_{read0|shutw} functions - REORG: sock_raw: rename the files raw_sock* - MAJOR: raw_sock: extract raw_sock_to_buf() from raw_sock_read() - MAJOR: raw_sock: temporarily disable splicing - MINOR: stream-interface: add an rcv_buf callback to sock_ops - REORG: stream-interface: move sock_raw_read() to si_conn_recv_cb() - MAJOR: connection: split the send call into connection and stream interface - MAJOR: stream-interface: restore splicing mechanism - MAJOR: stream-interface: make conn_notify_si() more robust - MEDIUM: proxy-proto: don't use buffer flags in conn_si_send_proxy() - MAJOR: stream-interface: don't commit polling changes in every callback - MAJOR: stream-interface: fix splice not to call chk_snd by itself - MEDIUM: stream-interface: don't remove WAIT_DATA when a handshake is in progress - CLEANUP: connection: split sock_ops into data_ops, app_cp and si_ops - REORG: buffers: split buffers into chunk,buffer,channel - MAJOR: channel: remove the BF_OUT_EMPTY flag - REORG: buffer: move buffer_flush, b_adv and b_rew to buffer.h - MINOR: channel: rename bi_full to channel_full as it checks the whole channel - MINOR: buffer: provide a new buffer_full() function - MAJOR: channel: stop relying on BF_FULL to take action - MAJOR: channel: remove the BF_FULL flag - REORG: channel: move buffer_{replace,insert_line}* to buffer.{c,h} - CLEANUP: channel: usr CF_/CHN_ prefixes instead of BF_/BUF_ - CLEANUP: channel: use "channel" instead of "buffer" in function names - REORG: connection: move the target pointer from si to connection - MAJOR: connection: move the addr field from the stream_interface - MEDIUM: stream_interface: remove CAP_SPLTCP/CAP_SPLICE flags - MEDIUM: proto_tcp: remove any dependence on stream_interface - MINOR: tcp: replace tcp_src_to_stktable_key with addr_to_stktable_key - MEDIUM: connection: add an ->init function to data layer - MAJOR: session: introduce embryonic sessions - MAJOR: connection: make the PROXY decoder a handshake handler - CLEANUP: frontend: remove the old proxy protocol decoder - MAJOR: connection: rearrange the polling flags. - MEDIUM: connection: only call tcp_connect_probe when nothing was attempted yet - MEDIUM: connection: complete the polling cleanups - MEDIUM: connection: avoid calling handshakes when polling is required - MAJOR: stream_interface: continue to update data polling flags during handshakes - CLEANUP: fd: remove fdtab->flags - CLEANUP: fdtab: flatten the struct and merge the spec struct with the rest - CLEANUP: includes: fix includes for a number of users of fd.h - MINOR: ssl: disable TCP quick-ack by default on SSL listeners - MEDIUM: config: add a "ciphers" keyword to set SSL cipher suites - MEDIUM: config: add "nosslv3" and "notlsv1" on bind and server lines - BUG: ssl: mark the connection as waiting for an SSL connection during the handshake - BUILD: http: rename error_message http_error_message to fix conflicts on RHEL - BUILD: ssl: fix shctx build on RHEL with futex - BUILD: include sys/socket.h to fix build failure on FreeBSD - BUILD: fix build error without SSL (ssl_cert) - BUILD: ssl: use MAP_ANON instead of MAP_ANONYMOUS - BUG/MEDIUM: workaround an eglibc bug which truncates the pidfiles when nbproc > 1 - MEDIUM: config: support per-listener backlog and maxconn - MINOR: session: do not send an HTTP/500 error on SSL sockets - MEDIUM: config: implement maxsslconn in the global section - BUG: tcp: close socket fd upon connect error - MEDIUM: connection: improve error handling around the data layer - MINOR: config: make the tasks "nice" value configurable on "bind" lines. - BUILD: shut a gcc warning introduced by commit 269ab31 - MEDIUM: config: centralize handling of SSL config per bind line - BUILD: makefile: report USE_OPENSSL status in build options - BUILD: report openssl build settings in haproxy -vv - MEDIUM: ssl: add sample fetches for is_ssl, ssl_has_sni, ssl_sni_* - DOC: add a special acknowledgement for the stud project - DOC: add missing SSL options for servers and listeners - BUILD: automatically add -lcrypto for SSL - DOC: add some info about openssl build in the README
286 lines
7.1 KiB
RPMSpec
286 lines
7.1 KiB
RPMSpec
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
|
|
Name: haproxy
|
|
Version: 1.5-dev12
|
|
Release: 1
|
|
License: GPL
|
|
Group: System Environment/Daemons
|
|
URL: http://haproxy.1wt.eu/
|
|
Source0: http://haproxy.1wt.eu/download/1.5/src/devel/%{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
|
|
* Mon Sep 10 2012 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev12
|
|
|
|
* Mon Jun 4 2012 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev11
|
|
|
|
* Mon May 14 2012 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev10
|
|
|
|
* Tue May 8 2012 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev9
|
|
|
|
* Mon Mar 26 2012 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev8
|
|
|
|
* Sat Sep 10 2011 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev7
|
|
|
|
* Fri Apr 8 2011 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev6
|
|
|
|
* Tue Mar 29 2011 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev5
|
|
|
|
* Sun Mar 13 2011 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev4
|
|
|
|
* Thu Nov 11 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev3
|
|
|
|
* Sat Aug 28 2010 Willy Tarreau <w@1wt.eu>
|
|
- updated to 1.5-dev2
|
|
|
|
* 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
|