forked from pool/haproxy
Accepting request 203204 from network:ha-clustering:Factory
Resubmit of haproxy after applying license patch from legal. OBS-URL: https://build.opensuse.org/request/show/203204 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/haproxy?expand=0&rev=1
This commit is contained in:
commit
75e24e96f9
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
32
haproxy-1.2.16_config_haproxy_user.patch
Normal file
32
haproxy-1.2.16_config_haproxy_user.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
Index: examples/examples.cfg
|
||||||
|
===================================================================
|
||||||
|
--- examples/examples.cfg.orig
|
||||||
|
+++ examples/examples.cfg
|
||||||
|
@@ -3,8 +3,8 @@
|
||||||
|
# log 127.0.0.1 local1
|
||||||
|
maxconn 4000
|
||||||
|
ulimit-n 8000
|
||||||
|
- uid 0
|
||||||
|
- gid 0
|
||||||
|
+ user haproxy
|
||||||
|
+ group haproxy
|
||||||
|
# chroot /tmp
|
||||||
|
# nbproc 2
|
||||||
|
# daemon
|
||||||
|
Index: examples/haproxy.cfg
|
||||||
|
===================================================================
|
||||||
|
--- examples/haproxy.cfg.orig
|
||||||
|
+++ examples/haproxy.cfg
|
||||||
|
@@ -5,9 +5,9 @@
|
||||||
|
log 127.0.0.1 local1 notice
|
||||||
|
#log loghost local0 info
|
||||||
|
maxconn 4096
|
||||||
|
- chroot /usr/share/haproxy
|
||||||
|
- uid 99
|
||||||
|
- gid 99
|
||||||
|
+ chroot /var/lib/haproxy
|
||||||
|
+ user haproxy
|
||||||
|
+ group haproxy
|
||||||
|
daemon
|
||||||
|
#debug
|
||||||
|
#quiet
|
3
haproxy-1.4.24.tar.gz
Normal file
3
haproxy-1.4.24.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:680928f4d001be3b59b69d4501f41aeea69e7e56bf183fa032ad6144cf97c7ef
|
||||||
|
size 836768
|
13
haproxy-makefile_lib.patch
Normal file
13
haproxy-makefile_lib.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: Makefile
|
||||||
|
===================================================================
|
||||||
|
--- Makefile.orig
|
||||||
|
+++ Makefile
|
||||||
|
@@ -460,7 +460,7 @@ ifneq ($(USE_PCRE)$(USE_STATIC_PCRE),)
|
||||||
|
PCREDIR := $(shell pcre-config --prefix 2>/dev/null || echo /usr/local)
|
||||||
|
ifneq ($(PCREDIR),)
|
||||||
|
PCRE_INC := $(PCREDIR)/include
|
||||||
|
-PCRE_LIB := $(PCREDIR)/lib
|
||||||
|
+PCRE_LIB := $(PCREDIR)/$(LIB)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(USE_STATIC_PCRE),)
|
2
haproxy-rpmlintrc
Normal file
2
haproxy-rpmlintrc
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
addFilter('wrong-file-end-of-line-encoding .*/examples/errorfiles/.*\.http$')
|
||||||
|
addFilter('file-contains-current-date /usr/share/doc/packages/haproxy/examples/haproxy.spec')
|
591
haproxy.changes
Normal file
591
haproxy.changes
Normal file
@ -0,0 +1,591 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 10 15:16:32 UTC 2013 - cdenicolo@suse.com
|
||||||
|
|
||||||
|
- license update: GPL-2.0+ and LGPL-2.1+
|
||||||
|
only header files are LGPL, the rest is still GPL
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 18 09:14:13 UTC 2013 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.24 (bnc#825412)
|
||||||
|
- BUG/MAJOR: backend: consistent hash can loop forever in certain
|
||||||
|
circumstances
|
||||||
|
- BUG/MEDIUM: checks: disable TCP quickack when pure TCP checks
|
||||||
|
are used
|
||||||
|
- MEDIUM: protocol: implement a "drain" function in protocol
|
||||||
|
layers
|
||||||
|
- BUG/CRITICAL: fix a possible crash when using negative header
|
||||||
|
occurrences CVE-2013-2175
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 3 14:47:43 UTC 2013 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.23 CVE-2013-1912
|
||||||
|
- CONTRIB: halog: sort URLs by avg bytes_read or total bytes_read
|
||||||
|
- BUG: fix garbage data when http-send-name-header replaces an
|
||||||
|
existing header
|
||||||
|
- BUG/MEDIUM: remove supplementary groups when changing gid
|
||||||
|
- BUG/MINOR: Correct logic in cut_crlf()
|
||||||
|
- BUG/MINOR: config: use a copy of the file name in proxy
|
||||||
|
configurations
|
||||||
|
- BUG/MINOR: epoll: correctly disable FD polling in fd_rem()
|
||||||
|
- MINOR: halog: sort output by cookie code
|
||||||
|
- BUG/MINOR: halog: -ad/-ac report the correct number of output
|
||||||
|
lines
|
||||||
|
- BUG/MINOR: halog: fix help message for -ut/-uto
|
||||||
|
- BUG/MEDIUM: http: set DONTWAIT on data when switching to tunnel
|
||||||
|
mode
|
||||||
|
- BUG/MEDIUM: command-line option -D must have precedence over
|
||||||
|
"debug"
|
||||||
|
- OPTIM: halog: keep a fast path for the lines-count only
|
||||||
|
- MINOR: halog: add a parameter to limit output line count
|
||||||
|
- BUG: halog: fix broken output limitation
|
||||||
|
- MEDIUM: checks: avoid accumulating TIME_WAITs during checks
|
||||||
|
- MEDIUM: checks: prevent TIME_WAITs from appearing also on
|
||||||
|
timeouts
|
||||||
|
- BUG/MAJOR: cli: show sess <id> may randomly corrupt the
|
||||||
|
back-ref list
|
||||||
|
- BUG/MINOR: http: don't report client aborts as server errors
|
||||||
|
- BUG/MINOR: http: don't log a 503 on client errors while waiting
|
||||||
|
for requests
|
||||||
|
- BUG/MEDIUM: tcp: process could theorically crash on lack of
|
||||||
|
source ports
|
||||||
|
- BUG/MINOR: http: don't abort client connection on premature
|
||||||
|
responses
|
||||||
|
- BUILD: no need to clean up when making git-tar
|
||||||
|
- MINOR: http: always report PR-- flags for redirect rules
|
||||||
|
- BUG/MINOR: time: frequency counters are not totally accurate
|
||||||
|
- BUG/MINOR: http: don't process abortonclose when request was
|
||||||
|
sent
|
||||||
|
- 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/MEDIUM: checks: ensure the health_status is always within
|
||||||
|
bounds
|
||||||
|
- CLEANUP: http: remove a useless null check
|
||||||
|
- BUG/MEDIUM: signal: signal handler does not properly check for
|
||||||
|
signal bounds
|
||||||
|
- BUG/MEDIUM: uri_auth: missing NULL check and memory leak on
|
||||||
|
memory shortage
|
||||||
|
- CLEANUP: config: slowstart is never negative
|
||||||
|
- BUILD: improve the makefile's support for libpcre
|
||||||
|
- BUG/MINOR: checks: fix an warning introduced by commit 2f61455a
|
||||||
|
- MEDIUM: halog: add support for counting per source address
|
||||||
|
(-ic)
|
||||||
|
- DOC: mention the new HTTP 307 and 308 redirect statues
|
||||||
|
(cherry picked from commit
|
||||||
|
b67fdc4cd8bde202f2805d98683ddab929469a05)
|
||||||
|
- MEDIUM: poll: do not use FD_* macros anymore
|
||||||
|
- BUG/MAJOR: ev_select: disable the select() poller if maxsock >
|
||||||
|
FD_SETSIZE
|
||||||
|
- BUILD: enable poll() by default in the makefile
|
||||||
|
- BUILD: add explicit support for Mac OS/X
|
||||||
|
- BUG/CRITICAL: using HTTP information in tcp-request content may
|
||||||
|
crash the process CVE-2013-1912
|
||||||
|
- MEDIUM: http: implement redirect 307 and 308
|
||||||
|
- MINOR: http: status 301 should not be marked non-cacheable
|
||||||
|
- adapt haproxy-makefile_lib.patch to the rewritten Makefile
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 12 14:10:33 UTC 2012 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- switch license tag to spdx format.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 12 13:50:46 UTC 2012 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.22
|
||||||
|
- BUG/MEDIUM: option forwardfor if-none doesn't work with some
|
||||||
|
configurations
|
||||||
|
- MINOR: balance uri: added 'whole' parameter to include query
|
||||||
|
string in hash calculation
|
||||||
|
- DOC: specify the default value for maxconn in the context of a
|
||||||
|
proxy
|
||||||
|
- BUG/MINOR: checks: expire on timeout.check if smaller than
|
||||||
|
timeout.connect
|
||||||
|
- REORG/MINOR: use dedicated proxy flags for the cookie handling
|
||||||
|
- BUG/MINOR: config: do not report twice the incompatibility
|
||||||
|
between cookie and non-http
|
||||||
|
- MINOR: http: add support for "httponly" and "secure" cookie
|
||||||
|
attributes
|
||||||
|
- MEDIUM: stats: add support for soft stop/soft start in the
|
||||||
|
admin interface
|
||||||
|
- BUILD: add support for linux kernels >= 2.6.28
|
||||||
|
- MINOR: contrib/iprange: add a network IP range to mask
|
||||||
|
converter
|
||||||
|
- BUILD: add an AIX 5.2 (and later) target.
|
||||||
|
- 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
|
||||||
|
(cherry picked from commit
|
||||||
|
8ad4193100aafa19f04929670371bf823dbe11d0)
|
||||||
|
- OPTIM: halog: make use of memchr() on platforms which provide a
|
||||||
|
fast one
|
||||||
|
- OPTIM: halog: improve cold-cache behaviour when loading a file
|
||||||
|
- [MINOR] config: make it possible to specify a cookie even
|
||||||
|
without a server
|
||||||
|
- MINOR: config: tolerate server "cookie" setting in non-HTTP
|
||||||
|
mode
|
||||||
|
- BUG/MINOR: tarpit: fix condition to return the HTTP 500 message
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 30 16:02:03 UTC 2012 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- fix description in the init script
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 22 16:47:45 UTC 2012 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.21 (bnc#763833) CVE-2012-2391
|
||||||
|
- MINOR: patch for minor typo (ressources/resources)
|
||||||
|
- CLEANUP: fix typo in findserver() log message
|
||||||
|
- DOC: cleanup indentation, alignment, columns and chapters
|
||||||
|
- DOC: fix some keywords arguments documentation
|
||||||
|
- MINOR: stats admin: allow unordered parameters in POST requests
|
||||||
|
- MINOR: stats admin: use the backend id instead of its name in
|
||||||
|
the form
|
||||||
|
- BUG/MAJOR: trash must always be the size of a buffer
|
||||||
|
- DOC: fix minor regex example issue and improve doc on stats
|
||||||
|
- BUG/MAJOR: possible crash when using capture headers on TCP
|
||||||
|
frontends
|
||||||
|
- MINOR: config: disable header captures in TCP mode and complain
|
||||||
|
- BUG/MEDIUM: balance source did not properly hash IPv6 addresses
|
||||||
|
- CLEANUP: http: message parser must ignore HTTP_MSG_ERROR
|
||||||
|
- CLEANUP: remove a few warning about unchecked return values in
|
||||||
|
debug code
|
||||||
|
- CLEANUP: http: remove unused http_msg->col
|
||||||
|
- BUG/MINOR: http: error snapshots are wrong if buffer wraps
|
||||||
|
- BUG/MAJOR: checks: don't call set_server_status_* when no LB
|
||||||
|
algo is set
|
||||||
|
- MINOR: proxy: make findproxy() return proxies from numeric IDs
|
||||||
|
too
|
||||||
|
- BUILD: http: stop gcc-4.1.2 from complaining about possibly
|
||||||
|
uninitialized values
|
||||||
|
- BUG/MINOR: stop connect timeout when connect succeeds
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Mar 11 19:16:20 UTC 2012 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.20:
|
||||||
|
- BUG/MINOR: fix typo in processing of http-send-name-header
|
||||||
|
- BUG/MEDIUM: correctly disable servers tracking another disabled servers.
|
||||||
|
- BUG/MEDIUM: zero-weight servers must not dequeue requests from the backend
|
||||||
|
- MINOR: halog: add some help on the command line (cherry picked from
|
||||||
|
commit 615674cdec067066a42f53f5d55628ab7b207e6c)
|
||||||
|
- BUG: queue: fix dequeueing sequence on HTTP keep-alive sessions
|
||||||
|
- BUG: http: disable TCP delayed ACKs when forwarding content-length data
|
||||||
|
- BUG: checks: fix server maintenance exit sequence
|
||||||
|
- BUG/MINOR: stream_sock: don't remove BF_EXPECT_MORE and BF_SEND_DONTWAIT on
|
||||||
|
partial writes
|
||||||
|
- DOC: enumerate valid status codes for "observe layer7"
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 8 15:30:58 UTC 2012 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.19
|
||||||
|
- MEDIUM: http: add support for sending the server's name in the
|
||||||
|
outgoing request
|
||||||
|
- BUG/MINOR: fix options forwardfor if-none when an alternative
|
||||||
|
header name is specified
|
||||||
|
- MINOR: task: new function task_schedule() to schedule a wake up
|
||||||
|
- BUG/MEDIUM: checks: fix slowstart behaviour when server
|
||||||
|
tracking is in use
|
||||||
|
- BUG: tcp: option nolinger does not work on backends
|
||||||
|
- BUG: ebtree: ebst_lookup() could return the wrong entry
|
||||||
|
- BUG: http: re-enable TCP quick-ack upon incomplete HTTP
|
||||||
|
requests
|
||||||
|
- CLEANUP: ebtree: remove a few annoying signedness warnings
|
||||||
|
- CLEANUP: ebtree: remove 4-year old harmless typo in duplicates
|
||||||
|
insertion code
|
||||||
|
- CLEANUP: ebtree: remove another typo, a wrong initialization in
|
||||||
|
insertion code
|
||||||
|
- BUG: proto_tcp: set AF_INET on tproxy for use with recent
|
||||||
|
kernels
|
||||||
|
- MINOR: halog: add support for matching queued requests
|
||||||
|
- BUG: http: tighten the list of allowed characters in a URI
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 9 12:09:33 UTC 2011 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.18
|
||||||
|
- [MINOR] http: *_dom matching header functions now also split on
|
||||||
|
":"
|
||||||
|
- [MINOR] halog: support backslash-escaped quotes
|
||||||
|
- BUILD/MINOR: fix the source URL in the spec file
|
||||||
|
- DOC: acl is http_first_req, not http_req_first
|
||||||
|
- BUG/MEDIUM: don't trim last spaces from headers consisting only
|
||||||
|
of spaces
|
||||||
|
- MINOR: acl: add new matches for header/path/url length
|
||||||
|
- [MINOR] halog: do not consider byte 0x8A as end of line
|
||||||
|
- [OPTIM] halog: make fgets parse more bytes by blocks
|
||||||
|
- [OPTIM] halog: add assembly version of the field lookup code
|
||||||
|
- [CLEANUP] startup: report only the basename in the usage
|
||||||
|
message
|
||||||
|
- [DOC] update the README file to reflect new naming rules for
|
||||||
|
patches
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 05 22:26:59 UTC 2011 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.17:
|
||||||
|
- [MINOR] halog: add support for termination code matching (-tcn/-TCN)
|
||||||
|
- [MINOR] halog: make SKIP_CHAR stop on field delimiters
|
||||||
|
- [MINOR] halog: add support for HTTP log matching (-H)
|
||||||
|
- [MINOR] halog: gain back performance before SKIP_CHAR fix
|
||||||
|
- [OPTIM] halog: cache some common fields positions
|
||||||
|
- [OPTIM] halog: check once for correct line format and reuse the pointer
|
||||||
|
- [OPTIM] halog: remove many 'if' by using a function pointer for the filters
|
||||||
|
- [OPTIM] halog: remove support for tab delimiters in input data
|
||||||
|
- [MINOR] halog: add -hs/-HS to filter by HTTP status code range
|
||||||
|
- [CLEANUP] update the year in the copyright banner
|
||||||
|
- [BUG] check: http-check expect + regex would crash in defaults section
|
||||||
|
- [MEDIUM] http: make x-forwarded-for addition conditional
|
||||||
|
- [DOC] fixed a few "sensible" -> "sensitive" errors
|
||||||
|
- [MINOR] stats: display "<NONE>" instead of the frontend name when unknown
|
||||||
|
- [BUG] http: trailing white spaces must also be trimmed after headers
|
||||||
|
- [MINOR] http: take a capture of too large requests and responses
|
||||||
|
- [MINOR] http: take a capture of truncated responses
|
||||||
|
- [MINOR] http: take a capture of bad content-lengths.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 13 22:49:36 UTC 2011 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to version 1.4.16
|
||||||
|
- [BUG] checks: fix support of Mysqld >= 5.5 for mysql-check
|
||||||
|
- [DOC] Minor spelling fixes and grammatical enhancements
|
||||||
|
- [CLEANUP] Remove assigned but unused variables
|
||||||
|
- [BUG] checks: http-check expect could fail a check on
|
||||||
|
multi-packet responses
|
||||||
|
- [DOC] fix minor typo in the "dispatch" doc
|
||||||
|
- [MINOR] http: make the "HTTP 200" status code configurable.
|
||||||
|
- [MINOR] http: partially revert the chunking optimization for
|
||||||
|
now
|
||||||
|
- [MINOR] stream_sock: always clear BF_EXPECT_MORE upon complete
|
||||||
|
transfer
|
||||||
|
- [CLEANUP] stream_sock: remove unneeded FL_TCP and factor out
|
||||||
|
test
|
||||||
|
- [MEDIUM] http: add support for "http-no-delay"
|
||||||
|
- [OPTIM] http: optimize chunking again in non-interactive mode
|
||||||
|
- [OPTIM] stream_sock: avoid fast-forwarding of partial data
|
||||||
|
- [OPTIM] stream_sock: don't use splice on too small payloads
|
||||||
|
- [BUG] stats: support url-encoded forms
|
||||||
|
- [BUG] halog: correctly handle truncated last line
|
||||||
|
- [DOC] fix typos, "#" is a sharp, not a dash
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 15 22:14:24 UTC 2011 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- revert splitting out the documentation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 14 19:18:45 UTC 2011 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- split out documentation and examples into haproxy-doc
|
||||||
|
- add rpmlintrc to suppress false positive warnings about
|
||||||
|
script examples in documentation files (without exec flag)
|
||||||
|
- fix license
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 12 15:31:38 UTC 2011 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to version 1.4.15
|
||||||
|
- [CRITICAL] fix risk of crash when dealing with space in
|
||||||
|
response cookies
|
||||||
|
- additional changes from 1.4.14
|
||||||
|
- [MINOR] config: fix endianness of server check port
|
||||||
|
- [BUG] http: fix possible incorrect forwarded wrapping chunk
|
||||||
|
size (take 2)
|
||||||
|
- [MINOR] tools: add two macros MID_RANGE and MAX_RANGE
|
||||||
|
- [BUG] http: fix content-length handling on 32-bit platforms
|
||||||
|
- [OPTIM] buffers: uninline buffer_forward()
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 9 12:00:23 UTC 2011 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.13
|
||||||
|
- config: don't crash on empty pattern files.
|
||||||
|
- additional changes from 1.4.12
|
||||||
|
- stats: add support for several packets in stats admin
|
||||||
|
- stats: admin commands must check the proxy state
|
||||||
|
- stats: admin web interface must check the proxy state
|
||||||
|
- http: update the header list's tail when removing the last
|
||||||
|
header
|
||||||
|
- fix typos (http-request instead of http-check) (cherry
|
||||||
|
picked from commit 8f2a1e72bebea700f37add40997b716fdfd86b9c)
|
||||||
|
- http: use correct ACL pointer when evaluating authentication
|
||||||
|
- cfgparse: correctly count one socket per port in ranges
|
||||||
|
- startup: set the rlimits before binding ports, not after.
|
||||||
|
- acl: srv_id must return no match when the server is NULL
|
||||||
|
- acl: fd leak when reading patterns from file
|
||||||
|
- fix minor typo in "usesrc"
|
||||||
|
- http: fix possible incorrect forwarded wrapping chunk size
|
||||||
|
- http: fix computation of message body length after forwarding
|
||||||
|
has started
|
||||||
|
- http: balance url_param did not work with first parameters on
|
||||||
|
POST
|
||||||
|
- update the url_param regression test to test check_post too
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
>>>>>>> ./haproxy.changes.r40
|
||||||
|
Tue Feb 15 14:30:53 UTC 2011 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.11
|
||||||
|
- cfgparse: Check whether the path given for the stats socket
|
||||||
|
actually fits into the sockaddr_un structure to avoid
|
||||||
|
truncation.
|
||||||
|
- fix a minor typo
|
||||||
|
- fix ignore-persist documentation
|
||||||
|
- http: fix http-pretend-keepalive and httpclose/tunnel mode
|
||||||
|
- add warnings on features not compatible with multi-process mode
|
||||||
|
- acl: add be_id/srv_id to match backend's and server's id
|
||||||
|
- log: add support for passing the forwarded hostname
|
||||||
|
- log: ability to override the syslog tag
|
||||||
|
- fix minor typos in the doc
|
||||||
|
- fix another typo in the doc
|
||||||
|
- http chunking: don't report a parsing error on connection
|
||||||
|
errors
|
||||||
|
- stream_interface: truncate buffers when sending error messages
|
||||||
|
- http: fix incorrect error reporting during data transfers
|
||||||
|
- session: correctly leave turn-around and queue states on abort
|
||||||
|
- session: release slot before processing pending connections
|
||||||
|
- stats: report HTTP message state and buffer flags in error
|
||||||
|
dumps
|
||||||
|
- http: support wrapping messages in error captures
|
||||||
|
- http: capture incorrectly chunked message bodies
|
||||||
|
- stats: add global event ID and count
|
||||||
|
- http: don't send each chunk in a separate packet
|
||||||
|
- acl: fix handling of empty lines in pattern files
|
||||||
|
- ebtree: fix ebmb_lookup() with len smaller than the tree's keys
|
||||||
|
- ebtree: ebmb_lookup: reduce stack usage by moving the return
|
||||||
|
code out of the loop
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 29 13:57:37 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.10:
|
||||||
|
* a possible crash when using Cookie-based persistence with
|
||||||
|
appsessions was fixed
|
||||||
|
* header processing could become wrong after a single reqidel
|
||||||
|
rule removed exactly two headers
|
||||||
|
* some out-of-memory conditions were not correctly handled in
|
||||||
|
appsession or cookie captures
|
||||||
|
* users of appsessions are strongly encouraged to upgrade
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 2 13:11:15 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.9:
|
||||||
|
* the Web interface now allows you to enable or disable servers
|
||||||
|
* the ECV and LDAPv3 checks were merged
|
||||||
|
* the MySQL check was improved to support a real login sequence
|
||||||
|
* persistence cookies can now be timestamped to support a maximum
|
||||||
|
idle time and a maximum life time, and can be removed by the
|
||||||
|
server if needed (e.g. logout)
|
||||||
|
* the SNMP plugin was improved to report socket stats
|
||||||
|
* some Cacti templates were merged
|
||||||
|
* the halog tool can now instantly report per-URL response times
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 17 15:46:13 UTC 2010 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- implement graceful restart in the init script
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 22 14:49:12 UTC 2010 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.4.8:
|
||||||
|
* mention 'option http-server-close' effect in Tq section
|
||||||
|
* summarize and highlight persistent connections behaviour
|
||||||
|
* add configuration samples
|
||||||
|
* stick_table: the fix for the memory leak caused a regression
|
||||||
|
* client: don't add a new session to the list too early
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 10 09:03:34 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.7:
|
||||||
|
* fixes problems where consistent hashing was broken when no
|
||||||
|
server ID was specified in the configuration
|
||||||
|
* some errors were incorrectly reported as failed instead of
|
||||||
|
denied in the statistics
|
||||||
|
* the dispatch and http_proxy modes were fixed
|
||||||
|
* a few termination flags in the logs used for troubleshooting
|
||||||
|
were corrected
|
||||||
|
* a few other minor issues were fixed
|
||||||
|
* upgrading is recommended
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 17 20:29:02 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.6:
|
||||||
|
* a minor precision about RDP cookies was added to the
|
||||||
|
documentation
|
||||||
|
* a new ACL keyword was added
|
||||||
|
* those who had no problem building and running 1.4.5 don't need
|
||||||
|
to upgrade
|
||||||
|
|
||||||
|
- drop haproxy-fix_dprintf.patch, merged upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 14 07:18:03 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.5:
|
||||||
|
* Haproxy can now read huge ACL pattern lists from files and
|
||||||
|
match inputs against them without any noticeable performance
|
||||||
|
impact, making geolocation possible
|
||||||
|
* adds a new "ignore-persist" directive, allowing it to ignore
|
||||||
|
the persistence cookie if an ACL-based condition is matched
|
||||||
|
(which is useful for static objects in stateful farms)
|
||||||
|
* a few other minor improvements
|
||||||
|
* a nice performance boost of the log analyzer, which can now
|
||||||
|
process more than 1 GB of logs per second and report request
|
||||||
|
counts by status codes
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 8 09:41:51 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.4:
|
||||||
|
* brings a new option to work around optimization issues with
|
||||||
|
Tomcat and Jetty in server close mode, and for a bug in Jetty's
|
||||||
|
handling of Expect: 100-continue
|
||||||
|
* a very old appsession unexpected match of shorter cookie names
|
||||||
|
was also fixed
|
||||||
|
* a new feature to make it possible to connect to a server from
|
||||||
|
an IP found in a header was merged: it allows you to run
|
||||||
|
stunnel+haproxy in transparent mode together
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 2 23:42:44 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.3:
|
||||||
|
* fxes a regression introduced in 1.4.2 which could cause a
|
||||||
|
connection to still be attempted on the server side in case of
|
||||||
|
an error on the client side; this issue could even lead to a
|
||||||
|
crash if a Layer7 hash algorithm was used, so this code was
|
||||||
|
strengthened
|
||||||
|
* the configuration parser now detects many more inappropriate
|
||||||
|
options in TCP mode and emits related warnings
|
||||||
|
* it is now possible to indicate in the configuration that a
|
||||||
|
server will start in the "disabled" state
|
||||||
|
* other very minor issues were fixed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 18 12:00:49 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.2:
|
||||||
|
* fixes a very rare case of stuck client sessions when using
|
||||||
|
keep-alive
|
||||||
|
* fixes a url_param hash bug which could result in a dead server
|
||||||
|
in very rare situations
|
||||||
|
* fixes status codes 501 and 505 which could cause a server to be
|
||||||
|
marked down if on-error was used
|
||||||
|
* fixes a risk of getting truncated HTTP responses when
|
||||||
|
chunk-encoding was used
|
||||||
|
* fixes an issue with anonymous ACLs
|
||||||
|
* improvements on health checks
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 5 00:45:12 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.1:
|
||||||
|
* some errors were incorrectly reported as 502 with the flags
|
||||||
|
"SL" in the logs; this is now fixed
|
||||||
|
* other minor issues were fixed
|
||||||
|
* documentation was updated
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 26 20:44:34 UTC 2010 - pascal.bleser@opensuse.org
|
||||||
|
|
||||||
|
- update to 1.4.0:
|
||||||
|
* new features:
|
||||||
|
+ keep-alive
|
||||||
|
+ IP-based stickiness
|
||||||
|
+ consistent hashing
|
||||||
|
+ support for the RDP protocol
|
||||||
|
+ a much nicer stats interface
|
||||||
|
+ a much-improved performance level
|
||||||
|
* add -fno-strict-aliasing
|
||||||
|
|
||||||
|
- changes from 1.4rc1:
|
||||||
|
* new features:
|
||||||
|
+ server maintenance mode
|
||||||
|
+ HTTP authentication (server and proxy)
|
||||||
|
+ secure passwords
|
||||||
|
+ conditional request/response header rewriting using ACLs
|
||||||
|
+ anonymous ACLs that can be declared inline
|
||||||
|
+ support for HTTP/1.1 101+Upgrade status code to support non-
|
||||||
|
HTTP protocols such as WebSocket
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 11 15:20:01 UTC 2010 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.23
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 15 14:09:34 CEST 2009 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.20
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 3 13:54:40 CEST 2009 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.17
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 9 16:40:38 CET 2009 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.15.8
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 4 15:13:15 CET 2009 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.15.7
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 15 15:52:45 CEST 2008 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.15.4
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 4 21:21:35 CET 2007 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.3.13.1:
|
||||||
|
too many changes see changelog file
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 2 00:53:38 CEST 2007 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- prepared spec for easy split out of -snapshot packages.
|
||||||
|
- added vim syntax file
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 19 17:50:33 CET 2007 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 1.2.17:
|
||||||
|
- replaced the linked-list with a faster rbtree in the scheduler
|
||||||
|
- add user/group support (Marcus Rueckert)
|
||||||
|
- add the "except" keyword to the "forwardfor" option (Bryan
|
||||||
|
Germann)
|
||||||
|
- re-implemented support for multi-line headers (was
|
||||||
|
incidently reverted)
|
||||||
|
- fixed possible crash when no cookie was set on a server
|
||||||
|
- fixed various length checks in appsession
|
||||||
|
- fixed unlikely memory leak in appsession in case of memory
|
||||||
|
shortage
|
||||||
|
- updates to the architecture guide
|
||||||
|
- remove haproxy-1.2.16_username_groupname_support.patch:
|
||||||
|
patch included upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 8 00:27:17 CET 2007 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- initial package of 1.2.16
|
||||||
|
- added 2 patches:
|
||||||
|
haproxy-1.2.16_config_haproxy_user.patch
|
||||||
|
haproxy-1.2.16_username_groupname_support.patch
|
||||||
|
the patches allow to specify username and groupname instead of
|
||||||
|
uid/gid. The patches are needed as we do not have a static
|
||||||
|
uid/gid for the haproxy user/group.
|
||||||
|
|
248
haproxy.init
Normal file
248
haproxy.init
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: haproxy
|
||||||
|
# Required-Start: $syslog $remote_fs
|
||||||
|
# Should-Start: $time ypbind sendmail
|
||||||
|
# Required-Stop: $syslog $remote_fs
|
||||||
|
# Should-Stop: $time ypbind sendmail
|
||||||
|
# Default-Start: 3 5
|
||||||
|
# Default-Stop: 0 1 2 6
|
||||||
|
# Short-Description: haproxy
|
||||||
|
# Description: Start haproxy a reliable, high performance TCP/HTTP load balancer
|
||||||
|
### END INIT INFO
|
||||||
|
#
|
||||||
|
# Any extensions to the keywords given above should be preceeded by
|
||||||
|
# X-VendorTag- (X-UnitedLinux- X-SuSE- for us) according to LSB.
|
||||||
|
#
|
||||||
|
# Notes on Required-Start/Should-Start:
|
||||||
|
# * There are two different issues that are solved by Required-Start
|
||||||
|
# and Should-Start
|
||||||
|
# (a) Hard dependencies: This is used by the runlevel editor to determine
|
||||||
|
# which services absolutely need to be started to make the start of
|
||||||
|
# this service make sense. Example: nfsserver should have
|
||||||
|
# Required-Start: $portmap
|
||||||
|
# Also, required services are started before the dependent ones.
|
||||||
|
# The runlevel editor will warn about such missing hard dependencies
|
||||||
|
# and suggest enabling. During system startup, you may expect an error,
|
||||||
|
# if the dependency is not fulfilled.
|
||||||
|
# (b) Specifying the init script ordering, not real (hard) dependencies.
|
||||||
|
# This is needed by insserv to determine which service should be
|
||||||
|
# started first (and at a later stage what services can be started
|
||||||
|
# in parallel). The tag Should-Start: is used for this.
|
||||||
|
# It tells, that if a service is available, it should be started
|
||||||
|
# before. If not, never mind.
|
||||||
|
# * When specifying hard dependencies or ordering requirements, you can
|
||||||
|
# use names of services (contents of their Provides: section)
|
||||||
|
# or pseudo names starting with a $. The following ones are available
|
||||||
|
# according to LSB (1.1):
|
||||||
|
# $local_fs all local file systems are mounted
|
||||||
|
# (most services should need this!)
|
||||||
|
# $remote_fs all remote file systems are mounted
|
||||||
|
# (note that /usr may be remote, so
|
||||||
|
# many services should Require this!)
|
||||||
|
# $syslog system logging facility up
|
||||||
|
# $network low level networking (eth card, ...)
|
||||||
|
# $named hostname resolution available
|
||||||
|
# $netdaemons all network daemons are running
|
||||||
|
# The $netdaemons pseudo service has been removed in LSB 1.2.
|
||||||
|
# For now, we still offer it for backward compatibility.
|
||||||
|
# These are new (LSB 1.2):
|
||||||
|
# $time the system time has been set correctly
|
||||||
|
# $portmap SunRPC portmapping service available
|
||||||
|
# UnitedLinux extensions:
|
||||||
|
# $ALL indicates that a script should be inserted
|
||||||
|
# at the end
|
||||||
|
# * The services specified in the stop tags
|
||||||
|
# (Required-Stop/Should-Stop)
|
||||||
|
# specify which services need to be still running when this service
|
||||||
|
# is shut down. Often the entries there are just copies or a subset
|
||||||
|
# from the respective start tag.
|
||||||
|
# * Should-Start/Stop are now part of LSB as of 2.0,
|
||||||
|
# formerly SUSE/Unitedlinux used X-UnitedLinux-Should-Start/-Stop.
|
||||||
|
# insserv does support both variants.
|
||||||
|
# * X-UnitedLinux-Default-Enabled: yes/no is used at installation time
|
||||||
|
# (%fillup_and_insserv macro in %post of many RPMs) to specify whether
|
||||||
|
# a startup script should default to be enabled after installation.
|
||||||
|
# It's not used by insserv.
|
||||||
|
#
|
||||||
|
# Note on runlevels:
|
||||||
|
# 0 - halt/poweroff 6 - reboot
|
||||||
|
# 1 - single user 2 - multiuser without network exported
|
||||||
|
# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm)
|
||||||
|
#
|
||||||
|
# Note on script names:
|
||||||
|
# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html
|
||||||
|
# A registry has been set up to manage the init script namespace.
|
||||||
|
# http://www.lanana.org/
|
||||||
|
# Please use the names already registered or register one or use a
|
||||||
|
# vendor prefix.
|
||||||
|
|
||||||
|
|
||||||
|
# Check for missing binaries (stale symlinks should not happen)
|
||||||
|
# Note: Special treatment of stop for LSB conformance
|
||||||
|
HAPROXY_BIN=/usr/sbin/haproxy
|
||||||
|
test -x $HAPROXY_BIN || { echo "$HAPROXY_BIN not installed";
|
||||||
|
if [ "$1" = "stop" ]; then exit 0;
|
||||||
|
else exit 5; fi; }
|
||||||
|
HAPROXY_PID="/var/run/haproxy.pid"
|
||||||
|
HAPROXY_CONF="/etc/haproxy/haproxy.cfg"
|
||||||
|
## Check for existence of needed config file and read it
|
||||||
|
#HAPROXY_CONFIG=/etc/sysconfig/haproxy
|
||||||
|
#test -r $HAPROXY_CONFIG || { echo "$HAPROXY_CONFIG not existing";
|
||||||
|
# if [ "$1" = "stop" ]; then exit 0;
|
||||||
|
# else exit 6; fi; }
|
||||||
|
#
|
||||||
|
## Read config
|
||||||
|
#. $HAPROXY_CONFIG
|
||||||
|
|
||||||
|
# Source LSB init functions
|
||||||
|
# providing start_daemon, killproc, pidofproc,
|
||||||
|
# log_success_msg, log_failure_msg and log_warning_msg.
|
||||||
|
# This is currently not used by UnitedLinux based distributions and
|
||||||
|
# not needed for init scripts for UnitedLinux only. If it is used,
|
||||||
|
# the functions from rc.status should not be sourced or used.
|
||||||
|
#. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
# Shell functions sourced from /etc/rc.status:
|
||||||
|
# rc_check check and set local and overall rc status
|
||||||
|
# rc_status check and set local and overall rc status
|
||||||
|
# rc_status -v be verbose in local rc status and clear it afterwards
|
||||||
|
# rc_status -v -r ditto and clear both the local and overall rc status
|
||||||
|
# rc_status -s display "skipped" and exit with status 3
|
||||||
|
# rc_status -u display "unused" and exit with status 3
|
||||||
|
# rc_failed set local and overall rc status to failed
|
||||||
|
# rc_failed <num> set local and overall rc status to <num>
|
||||||
|
# rc_reset clear both the local and overall rc status
|
||||||
|
# rc_exit exit appropriate to overall rc status
|
||||||
|
# rc_active checks whether a service is activated by symlinks
|
||||||
|
. /etc/rc.status
|
||||||
|
|
||||||
|
# Reset status of this service
|
||||||
|
rc_reset
|
||||||
|
|
||||||
|
# Return values acc. to LSB for all commands but status:
|
||||||
|
# 0 - success
|
||||||
|
# 1 - generic or unspecified error
|
||||||
|
# 2 - invalid or excess argument(s)
|
||||||
|
# 3 - unimplemented feature (e.g. "reload")
|
||||||
|
# 4 - user had insufficient privileges
|
||||||
|
# 5 - program is not installed
|
||||||
|
# 6 - program is not configured
|
||||||
|
# 7 - program is not running
|
||||||
|
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
|
||||||
|
#
|
||||||
|
# Note that starting an already running service, stopping
|
||||||
|
# or restarting a not-running service as well as the restart
|
||||||
|
# with force-reload (in case signaling is not supported) are
|
||||||
|
# considered a success.
|
||||||
|
|
||||||
|
function haproxy_check() {
|
||||||
|
HAPROXY_CONFIG_CHECK="$($HAPROXY_BIN -c -q -f $HAPROXY_CONF 2>&1)"
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
echo "" >&2
|
||||||
|
echo "$HAPROXY_CONFIG_CHECK" >&2
|
||||||
|
rc_failed
|
||||||
|
rc_status -v
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo -n "Starting haproxy "
|
||||||
|
## Start daemon with startproc(8). If this fails
|
||||||
|
## the return value is set appropriately by startproc.
|
||||||
|
haproxy_check
|
||||||
|
/sbin/startproc $HAPROXY_BIN -D -f $HAPROXY_CONF -p $HAPROXY_PID
|
||||||
|
# Remember status and be verbose
|
||||||
|
rc_status -v
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo -n "Shutting down haproxy "
|
||||||
|
## Stop daemon with killproc(8) and if this fails
|
||||||
|
## killproc sets the return value according to LSB.
|
||||||
|
|
||||||
|
/sbin/killproc -TERM $HAPROXY_BIN
|
||||||
|
|
||||||
|
# Remember status and be verbose
|
||||||
|
rc_status -v
|
||||||
|
;;
|
||||||
|
try-restart|condrestart)
|
||||||
|
## Do a restart only if the service was active before.
|
||||||
|
## Note: try-restart is now part of LSB (as of 1.9).
|
||||||
|
## RH has a similar command named condrestart.
|
||||||
|
if test "$1" = "condrestart"; then
|
||||||
|
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
|
||||||
|
fi
|
||||||
|
$0 status
|
||||||
|
if test $? = 0; then
|
||||||
|
# we us reload here for a graceful restart during update
|
||||||
|
$0 reload
|
||||||
|
else
|
||||||
|
rc_reset # Not running is not a failure.
|
||||||
|
fi
|
||||||
|
# Remember status and be quiet
|
||||||
|
rc_status
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
## Stop the service and regardless of whether it was
|
||||||
|
## running or not, start it again.
|
||||||
|
haproxy_check
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
|
||||||
|
# Remember status and be quiet
|
||||||
|
rc_status
|
||||||
|
;;
|
||||||
|
check)
|
||||||
|
## Stop the service and regardless of whether it was
|
||||||
|
## running or not, start it again.
|
||||||
|
echo -n "Checking config of haproxy "
|
||||||
|
haproxy_check
|
||||||
|
rc_status -v
|
||||||
|
;;
|
||||||
|
reload|force-reload)
|
||||||
|
## Like force-reload, but if daemon does not support
|
||||||
|
## signaling, do nothing (!)
|
||||||
|
|
||||||
|
haproxy_check
|
||||||
|
# If it supports signaling:
|
||||||
|
echo -n "Reload service haproxy "
|
||||||
|
$HAPROXY_BIN -p $HAPROXY_PID -D -f $HAPROXY_CONF -sf $(cat $HAPROXY_PID)
|
||||||
|
rc_status -v
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
echo -n "Checking for service haproxy "
|
||||||
|
## Check status with checkproc(8), if process is running
|
||||||
|
## checkproc will return with exit status 0.
|
||||||
|
|
||||||
|
# Return value is slightly different for the status command:
|
||||||
|
# 0 - service up and running
|
||||||
|
# 1 - service dead, but /var/run/ pid file exists
|
||||||
|
# 2 - service dead, but /var/lock/ lock file exists
|
||||||
|
# 3 - service not running (unused)
|
||||||
|
# 4 - service status unknown :-(
|
||||||
|
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
|
||||||
|
|
||||||
|
# NOTE: checkproc returns LSB compliant status values.
|
||||||
|
/sbin/checkproc $HAPROXY_BIN
|
||||||
|
# NOTE: rc_status knows that we called this init script with
|
||||||
|
# "status" option and adapts its messages accordingly.
|
||||||
|
rc_status -v
|
||||||
|
;;
|
||||||
|
probe)
|
||||||
|
## Optional: Probe for the necessity of a reload, print out the
|
||||||
|
## argument to this init script which is required for a reload.
|
||||||
|
## Note: probe is not (yet) part of LSB (as of 1.9)
|
||||||
|
|
||||||
|
test $HAPROXY_CONF -nt $HAPROXY_PID && echo reload
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
rc_exit
|
107
haproxy.spec
Normal file
107
haproxy.spec
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#
|
||||||
|
# spec file for package haproxy
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
|
||||||
|
Name: haproxy
|
||||||
|
Version: 1.4.24
|
||||||
|
Release: 0
|
||||||
|
#
|
||||||
|
License: GPL-2.0+ and LGPL-2.1+
|
||||||
|
Group: Productivity/Networking/Web/Proxy
|
||||||
|
#
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildRequires: pcre-devel libgcrypt-devel
|
||||||
|
BuildRequires: udev
|
||||||
|
%define pkg_name haproxy
|
||||||
|
%define pkg_home /var/lib/%{pkg_name}
|
||||||
|
#
|
||||||
|
Url: http://haproxy.1wt.eu/
|
||||||
|
Source: http://haproxy.1wt.eu/download/1.4/src/haproxy-%{version}.tar.gz
|
||||||
|
Source1: %{pkg_name}.init
|
||||||
|
Source2: http://haproxy.1wt.eu/download/contrib/haproxy.vim
|
||||||
|
Patch1: haproxy-1.2.16_config_haproxy_user.patch
|
||||||
|
Patch2: haproxy-makefile_lib.patch
|
||||||
|
Source99: haproxy-rpmlintrc
|
||||||
|
#
|
||||||
|
Summary: The Reliable, High Performance TCP/HTTP Load Balancer
|
||||||
|
Provides: %{name}-doc = %{version}
|
||||||
|
Obsoletes: %{name}-doc < %{version}
|
||||||
|
|
||||||
|
%description
|
||||||
|
HAProxy implements an event-driven, mono-process model which enables support
|
||||||
|
for very high number of simultaneous connections at very high speeds.
|
||||||
|
Multi-process or multi-threaded models can rarely cope with thousands of
|
||||||
|
connections because of memory limits, system scheduler limits, and lock
|
||||||
|
contention everywhere. Event-driven models do not have these problems because
|
||||||
|
implementing all the tasks in user-space allows a finer resource and time
|
||||||
|
management. The down side is that those programs generally don't scale well on
|
||||||
|
multi-processor systems. That's the reason why they must be optimized to get
|
||||||
|
the most work done from every CPU cycle.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch1
|
||||||
|
%patch2
|
||||||
|
|
||||||
|
%build
|
||||||
|
%{__make} \
|
||||||
|
TARGET=linux26 \
|
||||||
|
CPU="%{_target_cpu}" \
|
||||||
|
USE_PCRE=1 \
|
||||||
|
USE_LIBCRYPT=1 \
|
||||||
|
LIB="%{_lib}" \
|
||||||
|
DEBUG="%{optflags} -fno-strict-aliasing"
|
||||||
|
|
||||||
|
%install
|
||||||
|
%{__install} -D -m 0755 %{pkg_name} %{buildroot}%{_sbindir}/%{pkg_name}
|
||||||
|
%{__install} -D -m 0644 examples/%{pkg_name}.cfg %{buildroot}%{_sysconfdir}/%{pkg_name}/%{pkg_name}.cfg
|
||||||
|
%{__install} -D -m 0755 %{S:1} %{buildroot}%{_sysconfdir}/init.d/%{pkg_name}
|
||||||
|
%{__ln_s} -f %{_sysconfdir}/init.d/%{pkg_name} %{buildroot}%{_sbindir}/rc%{pkg_name}
|
||||||
|
%{__install} -d -m 0755 %{buildroot}%{pkg_home}
|
||||||
|
%{__install} -D -m 0644 %{S:2} %{buildroot}%{_datadir}/%{pkg_name}/%{pkg_name}.vim
|
||||||
|
%{__install} -D -m 0644 doc/%{pkg_name}.1 %{buildroot}%{_mandir}/man1/%{pkg_name}.1
|
||||||
|
gzip %{buildroot}%{_mandir}/man1/%{pkg_name}.1
|
||||||
|
|
||||||
|
%clean
|
||||||
|
%{?buildroot:%{__rm} -rf %{buildroot}}
|
||||||
|
|
||||||
|
%pre
|
||||||
|
/usr/sbin/groupadd -r %{pkg_name} &>/dev/null ||:
|
||||||
|
/usr/sbin/useradd -g %{pkg_name} -s /bin/false -r -c "user for %{pkg_name}" -d %{pkg_home} %{pkg_name} &>/dev/null ||:
|
||||||
|
|
||||||
|
%post
|
||||||
|
%fillup_and_insserv %{pkg_name}
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%stop_on_removal %{pkg_name}
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%restart_on_update %{pkg_name}
|
||||||
|
%{insserv_cleanup}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc CHANGELOG README LICENSE
|
||||||
|
%doc ROADMAP TODO doc/* examples
|
||||||
|
%dir %{_sysconfdir}/%{pkg_name}
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{pkg_name}/%{pkg_name}.cfg
|
||||||
|
%config(noreplace) %{_sysconfdir}/init.d/%{pkg_name}
|
||||||
|
%{_sbindir}/haproxy
|
||||||
|
%{_sbindir}/rchaproxy
|
||||||
|
%{pkg_home}
|
||||||
|
%doc %{_mandir}/man1/%{pkg_name}.1.gz
|
||||||
|
%{_datadir}/%{pkg_name}
|
||||||
|
|
||||||
|
%changelog
|
164
haproxy.vim
Normal file
164
haproxy.vim
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: HAproxy
|
||||||
|
" Maintainer: Bruno Michel <brmichel@free.fr>
|
||||||
|
" Last Change: Mar 30, 2007
|
||||||
|
" Version: 0.3
|
||||||
|
" URL: http://haproxy.1wt.eu/
|
||||||
|
" URL: http://vim.sourceforge.net/scripts/script.php?script_id=1845
|
||||||
|
|
||||||
|
" It is suggested to add the following line to $HOME/.vimrc :
|
||||||
|
" au BufRead,BufNewFile haproxy* set ft=haproxy
|
||||||
|
|
||||||
|
" For version 5.x: Clear all syntax items
|
||||||
|
" For version 6.x: Quit when a syntax file was already loaded
|
||||||
|
if version < 600
|
||||||
|
syntax clear
|
||||||
|
elseif exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if version >= 600
|
||||||
|
setlocal iskeyword=_,-,a-z,A-Z,48-57
|
||||||
|
else
|
||||||
|
set iskeyword=_,-,a-z,A-Z,48-57
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
" Escaped chars
|
||||||
|
syn match hapEscape +\\\(\\\| \|n\|r\|t\|#\|x\x\x\)+
|
||||||
|
|
||||||
|
" Comments
|
||||||
|
syn match hapComment /#.*$/ contains=hapTodo
|
||||||
|
syn keyword hapTodo contained TODO FIXME XXX
|
||||||
|
syn case ignore
|
||||||
|
|
||||||
|
" Sections
|
||||||
|
syn match hapSection /^\s*\(global\|defaults\)/
|
||||||
|
syn match hapSection /^\s*\(listen\|frontend\|backend\|ruleset\)/ skipwhite nextgroup=hapSectLabel
|
||||||
|
syn match hapSectLabel /\S\+/ skipwhite nextgroup=hapIp1 contained
|
||||||
|
syn match hapIp1 /\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\?:\d\{1,5}/ nextgroup=hapIp2 contained
|
||||||
|
syn match hapIp2 /,\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\?:\d\{1,5}/hs=s+1 nextgroup=hapIp2 contained
|
||||||
|
|
||||||
|
" Parameters
|
||||||
|
syn keyword hapParam chroot cliexp clitimeout contimeout
|
||||||
|
syn keyword hapParam daemon debug disabled
|
||||||
|
syn keyword hapParam enabled
|
||||||
|
syn keyword hapParam fullconn
|
||||||
|
syn keyword hapParam gid grace
|
||||||
|
syn keyword hapParam maxconn monitor-uri
|
||||||
|
syn keyword hapParam nbproc noepoll nopoll
|
||||||
|
syn keyword hapParam pidfile
|
||||||
|
syn keyword hapParam quiet
|
||||||
|
syn keyword hapParam redispatch retries
|
||||||
|
syn keyword hapParam reqallow reqdel reqdeny reqpass reqtarpit skipwhite nextgroup=hapRegexp
|
||||||
|
syn keyword hapParam reqiallow reqidel reqideny reqipass reqitarpit skipwhite nextgroup=hapRegexp
|
||||||
|
syn keyword hapParam rspdel rspdeny skipwhite nextgroup=hapRegexp
|
||||||
|
syn keyword hapParam rspidel rspideny skipwhite nextgroup=hapRegexp
|
||||||
|
syn keyword hapParam reqsetbe reqisetbe skipwhite nextgroup=hapRegexp2
|
||||||
|
syn keyword hapParam reqadd reqiadd rspadd rspiadd
|
||||||
|
syn keyword hapParam server source srvexp srvtimeout
|
||||||
|
syn keyword hapParam uid ulimit-n
|
||||||
|
syn keyword hapParam reqrep reqirep rsprep rspirep skipwhite nextgroup=hapRegexp
|
||||||
|
syn keyword hapParam errorloc errorloc302 errorloc303 skipwhite nextgroup=hapStatus
|
||||||
|
syn keyword hapParam default_backend skipwhite nextgroup=hapSectLabel
|
||||||
|
syn keyword hapParam appsession skipwhite nextgroup=hapAppSess
|
||||||
|
syn keyword hapParam bind skipwhite nextgroup=hapIp1
|
||||||
|
syn keyword hapParam balance skipwhite nextgroup=hapBalance
|
||||||
|
syn keyword hapParam cookie skipwhite nextgroup=hapCookieNam
|
||||||
|
syn keyword hapParam capture skipwhite nextgroup=hapCapture
|
||||||
|
syn keyword hapParam dispatch skipwhite nextgroup=hapIpPort
|
||||||
|
syn keyword hapParam source skipwhite nextgroup=hapIpPort
|
||||||
|
syn keyword hapParam mode skipwhite nextgroup=hapMode
|
||||||
|
syn keyword hapParam monitor-net skipwhite nextgroup=hapIPv4Mask
|
||||||
|
syn keyword hapParam option skipwhite nextgroup=hapOption
|
||||||
|
syn keyword hapParam stats skipwhite nextgroup=hapStats
|
||||||
|
syn keyword hapParam server skipwhite nextgroup=hapServerN
|
||||||
|
syn keyword hapParam source skipwhite nextgroup=hapServerEOL
|
||||||
|
syn keyword hapParam log skipwhite nextgroup=hapGLog,hapLogIp
|
||||||
|
|
||||||
|
" Options and additional parameters
|
||||||
|
syn keyword hapAppSess contained len timeout
|
||||||
|
syn keyword hapBalance contained roundrobin source
|
||||||
|
syn keyword hapLen contained len
|
||||||
|
syn keyword hapGLog contained global
|
||||||
|
syn keyword hapMode contained http tcp health
|
||||||
|
syn keyword hapOption contained abortonclose allbackups checkcache clitcpka dontlognull forceclose forwardfor
|
||||||
|
syn keyword hapOption contained httpchk httpclose httplog keepalive logasap persist srvtcpka ssl-hello-chk
|
||||||
|
syn keyword hapOption contained tcplog tcpka tcpsplice
|
||||||
|
syn keyword hapOption contained except skipwhite nextgroup=hapIPv4Mask
|
||||||
|
syn keyword hapStats contained uri realm auth scope enable
|
||||||
|
syn keyword hapLogFac contained kern user mail daemon auth syslog lpr news nextgroup=hapLogLvl skipwhite
|
||||||
|
syn keyword hapLogFac contained uucp cron auth2 ftp ntp audit alert cron2 nextgroup=hapLogLvl skipwhite
|
||||||
|
syn keyword hapLogFac contained local0 local1 local2 local3 local4 local5 local6 local7 nextgroup=hapLogLvl skipwhite
|
||||||
|
syn keyword hapLogLvl contained emerg alert crit err warning notice info debug
|
||||||
|
syn keyword hapCookieKey contained rewrite insert nocache postonly indirect prefix nextgroup=hapCookieKey skipwhite
|
||||||
|
syn keyword hapCapture contained cookie nextgroup=hapNameLen skipwhite
|
||||||
|
syn keyword hapCapture contained request response nextgroup=hapHeader skipwhite
|
||||||
|
syn keyword hapHeader contained header nextgroup=hapNameLen skipwhite
|
||||||
|
syn keyword hapSrvKey contained backup cookie check inter rise fall port source minconn maxconn weight usesrc
|
||||||
|
syn match hapStatus contained /\d\{3}/
|
||||||
|
syn match hapIPv4Mask contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\(\/\d\{1,2}\)\?/
|
||||||
|
syn match hapLogIp contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/ nextgroup=hapLogFac skipwhite
|
||||||
|
syn match hapIpPort contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}:\d\{1,5}/
|
||||||
|
syn match hapServerAd contained /\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\(:[+-]\?\d\{1,5}\)\?/ nextgroup=hapSrvEOL skipwhite
|
||||||
|
syn match hapNameLen contained /\S\+/ nextgroup=hapLen skipwhite
|
||||||
|
syn match hapCookieNam contained /\S\+/ nextgroup=hapCookieKey skipwhite
|
||||||
|
syn match hapServerN contained /\S\+/ nextgroup=hapServerAd skipwhite
|
||||||
|
syn region hapSrvEOL contained start=/\S/ end=/$/ contains=hapSrvKey
|
||||||
|
syn region hapRegexp contained start=/\S/ end=/\(\s\|$\)/ skip=/\\ / nextgroup=hapRegRepl skipwhite
|
||||||
|
syn region hapRegRepl contained start=/\S/ end=/$/ contains=hapComment,hapEscape,hapBackRef
|
||||||
|
syn region hapRegexp2 contained start=/\S/ end=/\(\s\|$\)/ skip=/\\ / nextgroup=hapSectLabel skipwhite
|
||||||
|
syn match hapBackref contained /\\\d/
|
||||||
|
|
||||||
|
|
||||||
|
" Transparent is a Vim keyword, so we need a regexp to match it
|
||||||
|
syn match hapParam +transparent+
|
||||||
|
syn match hapOption +transparent+ contained
|
||||||
|
|
||||||
|
|
||||||
|
" Define the default highlighting.
|
||||||
|
" For version 5.7 and earlier: only when not done already
|
||||||
|
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||||
|
if version < 508
|
||||||
|
command -nargs=+ HiLink hi link <args>
|
||||||
|
else
|
||||||
|
command -nargs=+ HiLink hi def link <args>
|
||||||
|
endif
|
||||||
|
|
||||||
|
HiLink hapEscape SpecialChar
|
||||||
|
HiLink hapBackRef Special
|
||||||
|
HiLink hapComment Comment
|
||||||
|
HiLink hapTodo Todo
|
||||||
|
HiLink hapSection Constant
|
||||||
|
HiLink hapSectLabel Identifier
|
||||||
|
HiLink hapParam Keyword
|
||||||
|
|
||||||
|
HiLink hapRegexp String
|
||||||
|
HiLink hapRegexp2 hapRegexp
|
||||||
|
HiLink hapIp1 Number
|
||||||
|
HiLink hapIp2 hapIp1
|
||||||
|
HiLink hapLogIp hapIp1
|
||||||
|
HiLink hapIpPort hapIp1
|
||||||
|
HiLink hapIPv4Mask hapIp1
|
||||||
|
HiLink hapServerAd hapIp1
|
||||||
|
HiLink hapStatus Number
|
||||||
|
|
||||||
|
HiLink hapOption Operator
|
||||||
|
HiLink hapAppSess hapOption
|
||||||
|
HiLink hapBalance hapOption
|
||||||
|
HiLink hapCapture hapOption
|
||||||
|
HiLink hapCookieKey hapOption
|
||||||
|
HiLink hapHeader hapOption
|
||||||
|
HiLink hapGLog hapOption
|
||||||
|
HiLink hapLogFac hapOption
|
||||||
|
HiLink hapLogLvl hapOption
|
||||||
|
HiLink hapMode hapOption
|
||||||
|
HiLink hapStats hapOption
|
||||||
|
HiLink hapLen hapOption
|
||||||
|
HiLink hapSrvKey hapOption
|
||||||
|
|
||||||
|
|
||||||
|
delcommand HiLink
|
||||||
|
|
||||||
|
let b:current_syntax = "haproxy"
|
||||||
|
" vim: ts=8
|
Loading…
Reference in New Issue
Block a user