haproxy/examples/haproxy.spec
Willy Tarreau 289dd92a64 [RELEASE] Released version 1.5-dev18
Released version 1.5-dev18 with the following main changes :
    - DOCS: Add explanation of intermediate certs to crt paramater
    - DOC: typo and minor fixes in compression paragraph
    - MINOR: config: http-request configuration error message misses new keywords
    - DOC: minor typo fix in documentation
    - BUG/MEDIUM: ssl: ECDHE ciphers not usable without named curve configured.
    - MEDIUM: ssl: add bind-option "strict-sni"
    - MEDIUM: ssl: add mapping from SNI to cert file using "crt-list"
    - MEDIUM: regex: Use PCRE JIT in acl
    - DOC: simplify bind option "interface" explanation
    - DOC: tfo: bump required kernel to linux-3.7
    - BUILD: add explicit support for TFO with USE_TFO
    - MEDIUM: New cli option -Ds for systemd compatibility
    - MEDIUM: add haproxy-systemd-wrapper
    - MEDIUM: add systemd service
    - BUG/MEDIUM: systemd-wrapper: don't leak zombie processes
    - BUG/MEDIUM: remove supplementary groups when changing gid
    - BUG/MEDIUM: config: fix parser crash with bad bind or server address
    - BUG/MINOR: Correct logic in cut_crlf()
    - CLEANUP: checks: Make desc argument to set_server_check_status const
    - CLEANUP: dumpstats: Make cli_release_handler() static
    - MEDIUM: server: Break out set weight processing code
    - MEDIUM: server: Allow relative weights greater than 100%
    - MEDIUM: server: Tighten up parsing of weight string
    - MEDIUM: checks: Add agent health check
    - BUG/MEDIUM: ssl: openssl 0.9.8 doesn't open /dev/random before chroot
    - BUG/MINOR: time: frequency counters are not totally accurate
    - BUG/MINOR: http: don't process abortonclose when request was sent
    - BUG/MEDIUM: stream_interface: don't close outgoing connections on shutw()
    - BUG/MEDIUM: checks: ignore late resets after valid responses
    - DOC: fix bogus recommendation on usage of gpc0 counter
    - BUG/MINOR: http-compression: lookup Cache-Control in the response, not the request
    - MINOR: signal: don't block SIGPROF by default
    - OPTIM: epoll: make use of EPOLLRDHUP
    - OPTIM: splice: detect shutdowns and avoid splice() == 0
    - OPTIM: splice: assume by default that splice is working correctly
    - BUG/MINOR: log: temporary fix for lost SSL info in some situations
    - BUG/MEDIUM: peers: only the last peers section was used by tables
    - BUG/MEDIUM: config: verbosely reject peers sections with multiple local peers
    - BUG/MINOR: epoll: use a fix maxevents argument in epoll_wait()
    - BUG/MINOR: config: fix improper check for failed memory alloc in ACL parser
    - BUG/MINOR: config: free peer's address when exiting upon parsing error
    - BUG/MINOR: config: check the proper variable when parsing log minlvl
    - BUG/MEDIUM: checks: ensure the health_status is always within bounds
    - BUG/MINOR: cli: show sess should always validate s->listener
    - BUG/MINOR: log: improper NULL return check on utoa_pad()
    - CLEANUP: http: remove a useless null check
    - CLEANUP: tcp/unix: remove useless NULL check in {tcp,unix}_bind_listener()
    - BUG/MEDIUM: signal: signal handler does not properly check for signal bounds
    - BUG/MEDIUM: tools: off-by-one in quote_arg()
    - BUG/MEDIUM: uri_auth: missing NULL check and memory leak on memory shortage
    - BUG/MINOR: unix: remove the 'level' field from the ux struct
    - CLEANUP: http: don't try to deinitialize http compression if it fails before init
    - CLEANUP: config: slowstart is never negative
    - CLEANUP: config: maxcompcpuusage is never negative
    - BUG/MEDIUM: log: emit '-' for empty fields again
    - BUG/MEDIUM: checks: fix a race condition between checks and observe layer7
    - BUILD: fix a warning emitted by isblank() on non-c99 compilers
    - BUILD: improve the makefile's support for libpcre
    - MEDIUM: halog: add support for counting per source address (-ic)
    - MEDIUM: tools: make str2sa_range support all address syntaxes
    - MEDIUM: config: make use of str2sa_range() instead of str2sa()
    - MEDIUM: config: use str2sa_range() to parse server addresses
    - MEDIUM: config: use str2sa_range() to parse peers addresses
    - MINOR: tests: add a config file to ease address parsing tests.
    - MINOR: ssl: add a global tunable for the max SSL/TLS record size
    - BUG/MINOR: syscall: fix NR_accept4 system call on sparc/linux
    - BUILD/MINOR: syscall: add definition of NR_accept4 for ARM
    - MINOR: config: report missing peers section name
    - BUG/MEDIUM: tools: fix bad character handling in str2sa_range()
    - BUG/MEDIUM: stats: never apply "unix-bind prefix" to the global stats socket
    - MINOR: tools: prepare str2sa_range() to return an error message
    - BUG/MEDIUM: checks: don't call connect() on unsupported address families
    - MINOR: tools: prepare str2sa_range() to accept a prefix
    - MEDIUM: tools: make str2sa_range() parse unix addresses too
    - MEDIUM: config: make str2listener() use str2sa_range() to parse unix addresses
    - MEDIUM: config: use a single str2sa_range() call to parse bind addresses
    - MEDIUM: config: use str2sa_range() to parse log addresses
    - CLEANUP: tools: remove str2sun() which is not used anymore.
    - MEDIUM: config: add complete support for str2sa_range() in dispatch
    - MEDIUM: config: add complete support for str2sa_range() in server addr
    - MEDIUM: config: add complete support for str2sa_range() in 'server'
    - MEDIUM: config: add complete support for str2sa_range() in 'peer'
    - MEDIUM: config: add complete support for str2sa_range() in 'source' and 'usesrc'
    - CLEANUP: minor cleanup in str2sa_range() and str2ip()
    - CLEANUP: config: do not use multiple errmsg at once
    - MEDIUM: tools: support specifying explicit address families in str2sa_range()
    - MAJOR: listener: support inheriting a listening fd from the parent
    - MAJOR: tools: support environment variables in addresses
    - BUG/MEDIUM: http: add-header should not emit "-" for empty fields
    - BUG/MEDIUM: config: ACL compatibility check on "redirect" was wrong
    - BUG/MEDIUM: http: fix another issue caused by http-send-name-header
    - DOC: mention the new HTTP 307 and 308 redirect statues
    - MEDIUM: poll: do not use FD_* macros anymore
    - BUG/MAJOR: ev_select: disable the select() poller if maxsock > FD_SETSIZE
    - BUG/MINOR: acl: ssl_fc_{alg,use}_keysize must parse integers, not strings
    - BUG/MINOR: acl: ssl_c_used, ssl_fc{,_has_crt,_has_sni} take no pattern
    - BUILD: fix usual isdigit() warning on solaris
    - BUG/MEDIUM: tools: vsnprintf() is not always reliable on Solaris
    - OPTIM: buffer: remove one jump in buffer_count()
    - OPTIM: http: improve branching in chunk size parser
    - OPTIM: http: optimize the response forward state machine
    - BUILD: enable poll() by default in the makefile
    - BUILD: add explicit support for Mac OS/X
    - BUG/MAJOR: http: use a static storage for sample fetch context
    - BUG/MEDIUM: ssl: improve error processing and reporting in ssl_sock_load_cert_list_file()
    - BUG/MAJOR: http: fix regression introduced by commit a890d072
    - BUG/MAJOR: http: fix regression introduced by commit d655ffe
    - BUG/CRITICAL: using HTTP information in tcp-request content may crash the process
    - MEDIUM: acl: remove flag ACL_MAY_LOOKUP which is improperly used
    - MEDIUM: samples: use new flags to describe compatibility between fetches and their usages
    - MINOR: log: indicate it when some unreliable sample fetches are logged
    - MEDIUM: samples: move payload-based fetches and ACLs to their own file
    - MINOR: backend: rename sample fetch functions and declare the sample keywords
    - MINOR: frontend: rename sample fetch functions and declare the sample keywords
    - MINOR: listener: rename sample fetch functions and declare the sample keywords
    - MEDIUM: http: unify acl and sample fetch functions
    - MINOR: session: rename sample fetch functions and declare the sample keywords
    - MAJOR: acl: make all ACLs reference the fetch function via a sample.
    - MAJOR: acl: remove the arg_mask from the ACL definition and use the sample fetch's
    - MAJOR: acl: remove fetch argument validation from the ACL struct
    - MINOR: http: add new direction-explicit sample fetches for headers and cookies
    - MINOR: payload: add new direction-explicit sample fetches
    - CLEANUP: acl: remove ACL hooks which were never used
    - MEDIUM: proxy: remove acl_requires and just keep a flag "http_needed"
    - MINOR: sample: provide a function to report the name of a sample check point
    - MAJOR: acl: convert all ACL requires to SMP use+val instead of ->requires
    - CLEANUP: acl: remove unused references to ACL_USE_*
    - MINOR: http: replace acl_parse_ver with acl_parse_str
    - MEDIUM: acl: move the ->parse, ->match and ->smp fields to acl_expr
    - MAJOR: acl: add option -m to change the pattern matching method
    - MINOR: acl: remove the use_count in acl keywords
    - MEDIUM: acl: have a pointer to the keyword name in acl_expr
    - MEDIUM: acl: support using sample fetches directly in ACLs
    - MEDIUM: http: remove val_usr() to validate user_lists
    - MAJOR: sample: maintain a per-proxy list of the fetch args to resolve
    - MINOR: ssl: add support for the "alpn" bind keyword
    - MINOR: http: status code 303 is HTTP/1.1 only
    - MEDIUM: http: implement redirect 307 and 308
    - MINOR: http: status 301 should not be marked non-cacheable
2013-04-03 02:26:31 +02:00

304 lines
7.5 KiB
RPMSpec

Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
Name: haproxy
Version: 1.5-dev18
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
* Wed Apr 3 2013 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev18
* Fri Dec 28 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev17
* Mon Dec 24 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev16
* Wed Dec 12 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev15
* Mon Nov 26 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev14
* Thu Nov 22 2012 Willy Tarreau <w@1wt.eu>
- updated to 1.5-dev13
* 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