./net/haproxy, Reliable, high performance TCP/HTTP load balancer

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.5.12, Package name: haproxy-1.5.12, Maintainer: morr

HAProxy is a free, very fast and reliable solution offering high
availability, load balancing, and proxying for TCP and HTTP-based
applications. It is particularly suited for web sites crawling under
very high loads while needing persistence or Layer7 processing.
Supporting tens of thousands of connections is clearly realistic with
todays hardware.

Required to run:

Package options: pcre, ssl

Master sites:

SHA1: c488f7f108ddefb558bd86e7cbc1b71636ada856
RMD160: b51fb65360e768c788324a02be773ab23946d430
Filesize: 1313.294 KB

Version history: (Expand)

CVS history: (Expand)

   2015-06-26 15:37:27 by Blue Rats | Files touched by this commit (2) | Package updated
Log message:
Update to 1.5.12. Fixes a pile of bugs. From CHANGELOG:

2015/05/02 : 1.5.12
    - BUG/MINOR: ssl: Display correct filename in error message
    - DOC: Fix L4TOUT typo in documentation
    - BUG/MEDIUM: Do not consider an agent check as failed on L7 error
    - BUG/MINOR: pattern: error message missing
    - BUG/MEDIUM: pattern: some entries are not deleted with case insensitive match
    - BUG/MEDIUM: buffer: one byte miss in buffer free space check
    - BUG/MAJOR: http: don't read past buffer's end in http_replace_value
    - BUG/MEDIUM: http: the function "(req|res)-replace-value" doesn't \ 
respect the HTTP syntax
    - BUG/MEDIUM: peers: correctly configure the client timeout
    - BUG/MINOR: compression: consider the expansion factor in init
    - BUG/MEDIUM: http: hdr_cnt would not count any header when called without name
    - BUG/MEDIUM: listener: don't report an error when resuming unbound listeners
    - BUG/MEDIUM: init: don't limit cpu-map to the first 32 processes only
    - BUG/MEDIUM: stream-int: always reset si->ops when si->end is nullified
    - BUG/MEDIUM: http: remove content-length from chunked messages
    - DOC: http: update the comments about the rules for determining transfer-length
    - BUG/MEDIUM: http: do not restrict parsing of transfer-encoding to HTTP/1.1
    - BUG/MEDIUM: http: incorrect transfer-coding in the request is a bad request
    - BUG/MEDIUM: http: remove content-length form responses with bad \ 
    - MEDIUM: http: restrict the HTTP version token to 1 digit as per RFC7230
    - MEDIUM: http: add option-ignore-probes to get rid of the floods of 408
    - BUG/MINOR: config: clear proxy->table.peers.p for disabled proxies
    - MINOR: stick-table: don't attach to peers in stopped state
    - MEDIUM: config: initialize stick-tables after peers, not before
    - MEDIUM: peers: add the ability to disable a peers section
    - DOC: document option http-ignore-probes
    - DOC: fix the comments about the meaning of msg->sol in HTTP
    - BUG/MEDIUM: http: wait for the exact amount of body bytes in \ 
    - BUG/MAJOR: http: prevent risk of reading past end with balance url_param
    - DOC: update the doc on the proxy protocol
   2015-03-14 21:36:23 by Blue Rats | Files touched by this commit (3) | Package updated
Log message:
Update to latest stable, 1.5.11. PKG_SUGGESTED_OPTIONS+=ssl. It's 2015.

ChangeLog :

2015/02/01 : 1.5.11
    - BUG/MEDIUM: backend: correctly detect the domain when use_domain_only is used
    - MINOR: ssl: load certificates in alphabetical order
    - BUG/MINOR: checks: prevent http keep-alive with http-check expect
    - BUG/MEDIUM: Do not set agent health to zero if server is disabled in config
    - MEDIUM/BUG: Only explicitly report "DOWN (agent)" if the agent \ 
health is zero
    - BUG/MINOR: stats:Fix incorrect printf type.
    - DOC: add missing entry for log-format and clarify the text
    - BUG/MEDIUM: http: fix header removal when previous header ends with pure LF
    - BUG/MEDIUM: channel: fix possible integer overflow on reserved size computation
    - BUG/MINOR: channel: compare to_forward with buf->i, not buf->size
    - MINOR: channel: add channel_in_transit()
    - MEDIUM: channel: make buffer_reserved() use channel_in_transit()
    - MEDIUM: channel: make bi_avail() use channel_in_transit()
    - BUG/MEDIUM: channel: don't schedule data in transit for leaving until connected
    - BUG/MAJOR: log: don't try to emit a log if no logger is set
    - BUG/MINOR: args: add missing entry for ARGT_MAP in arg_type_names
    - BUG/MEDIUM: http: make http-request set-header compute the string before \ 
    - BUG/MINOR: http: fix incorrect header value offset in replace-hdr/replace-value
    - BUG/MINOR: http: abort request processing on filter failure

2014/12/31 : 1.5.10
    - DOC: fix a few typos
    - BUG/MINOR: http: fix typo: "401 Unauthorized" => "407 \ 
    - BUG/MINOR: parse: refer curproxy instead of proxy
    - DOC: httplog does not support 'no'
    - MINOR: map/acl/dumpstats: remove the "Done." message
    - BUG/MEDIUM: sample: fix random number upper-bound
    - BUG/MEDIUM: patterns: previous fix was incomplete
    - BUG/MEDIUM: payload: ensure that a request channel is available
    - BUG/MINOR: tcp-check: don't condition data polling on check type
    - BUG/MEDIUM: tcp-check: don't rely on random memory contents
    - BUG/MEDIUM: tcp-checks: disable quick-ack unless next rule is an expect
    - BUG/MINOR: config: fix typo in condition when propagating process binding
    - BUG/MEDIUM: config: do not propagate processes between stopped processes
    - BUG/MAJOR: stream-int: properly check the memory allocation return
    - BUG/MEDIUM: memory: fix freeing logic in pool_gc2()
    - BUG/MEDIUM: compression: correctly report zlib_mem
   2014-11-30 16:51:15 by Blue Rats | Files touched by this commit (2)
Log message:
2014/11/26 : 1.5.9
    - BUILD: fix "make install" to support spaces in the install dirs
    - BUG/MEDIUM: checks: fix conflicts between agent checks and ssl healthcheck
    - BUG/MEDIUM: ssl: fix bad ssl context init can cause segfault in case of OO
    - BUG/MINOR: samples: fix unnecessary memcopy converting binary to string.
    - BUG/MEDIUM: connection: sanitize PPv2 header length before parsing address
    - BUG/MEDIUM: pattern: don't load more than once a pattern list.
    - BUG/MEDIUM: ssl: force a full GC in case of memory shortage
    - BUG/MINOR: config: don't inherit the default balance algorithm in frontend
    - BUG/MAJOR: frontend: initialize capture pointers earlier
    - BUG/MINOR: stats: correctly set the request/response analysers
    - DOC: fix typo in the body parser documentation for msg.sov
    - BUG/MINOR: peers: the buffer size is global.tune.bufsize, not trash.size
    - MINOR: sample: add a few basic internal fetches (nbproc, proc, stopping)
    - BUG/MAJOR: sessions: unlink session from list on out of memory
   2014-11-18 03:37:06 by Blue Rats | Files touched by this commit (2)
Log message:
ChangeLog :

2014/10/31 : 1.5.8
    - BUG/MAJOR: buffer: check the space left is enough or not when input data \ 
in a buffer is wrapped
    - BUG/BUILD: revert accidental change in the makefile from latest SSL fix

2014/10/30 : 1.5.7
    - BUG/MEDIUM: regex: fix pcre_study error handling
    - BUG/MINOR: log: fix request flags when keep-alive is enabled
    - MINOR: ssl: add fetchs 'ssl_c_der' and 'ssl_f_der' to return DER formatted \ 
    - MINOR: ssl: add statement to force some ssl options in global.
    - BUG/MINOR: ssl: correctly initialize ssl ctx for invalid certificates
    - BUG/MEDIUM: http: don't dump debug headers on MSG_ERROR
    - BUG/MAJOR: cli: explicitly call cli_release_handler() upon error
    - BUG/MEDIUM: tcp: fix outgoing polling based on proxy protocol
    - BUG/MEDIUM: tcp: don't use SO_ORIGINAL_DST on non-AF_INET sockets

2014/10/18 : 1.5.6
    - BUG/MEDIUM: systemd: set KillMode to 'mixed'
    - MINOR: systemd: Check configuration before start
    - BUG/MEDIUM: config: avoid skipping disabled proxies
    - BUG/MINOR: config: do not accept more track-sc than configured
    - BUG/MEDIUM: backend: fix URI hash when a query string is present

2014/10/08 : 1.5.5
    - DOC: Address issue where documentation is excluded due to a gitignore rule.
    - MEDIUM: Improve signal handling in systemd wrapper.
    - BUG/MINOR: config: don't propagate process binding for dynamic use_backend
    - MINOR: Also accept SIGHUP/SIGTERM in systemd-wrapper
    - DOC: clearly state that the "show sess" output format is not fixed
    - MINOR: stats: fix minor typo fix in stats_dump_errors_to_buffer()
    - DOC: indicate in the doc that track-sc* can wait if data are missing
    - MEDIUM: http: enable header manipulation for 101 responses
    - BUG/MEDIUM: config: propagate frontend to backend process binding again.
    - MEDIUM: config: properly propagate process binding between proxies
    - MEDIUM: config: make the frontends automatically bind to the listeners' \ 
    - MEDIUM: config: compute the exact bind-process before listener's maxaccept
    - MEDIUM: config: only warn if stats are attached to multi-process bind \ 
    - MEDIUM: config: report it when tcp-request rules are misplaced
    - MINOR: config: detect the case where a tcp-request content rule has no \ 
    - MEDIUM: systemd-wrapper: support multiple executable versions and names
    - BUG/MEDIUM: remove debugging code from systemd-wrapper
    - BUG/MEDIUM: http: adjust close mode when switching to backend
    - BUG/MINOR: config: don't propagate process binding on fatal errors.
    - BUG/MEDIUM: check: rule-less tcp-check must detect connect failures
    - BUG/MINOR: tcp-check: report the correct failed step in the status
    - DOC: indicate that weight zero is reported as DRAIN
   2014-10-03 11:30:45 by Blue Rats | Files touched by this commit (1)
Log message:
Fix build failure on CentOS 7, setting TARGET=generic until we devise a
better setting.
   2014-09-12 23:37:38 by Daniel Horecki | Files touched by this commit (2) | Package updated
Log message:
Update to version 1.5.4.


- BUG: config: error in http-response replace-header number of arguments
- BUG/MINOR: Fix search for -p argument in systemd wrapper.
- BUG/MEDIUM: auth: fix segfault with http-auth and a configuration with an \ 
unknown encryption algorithm
- BUG/MEDIUM: config: userlists should ensure that encrypted passwords are supported
- MEDIUM: connection: add new bit in Proxy Protocol V2
- BUG/MINOR: server: move the directive #endif to the end of file
- BUG/MEDIUM: http: tarpit timeout is reset
- BUG/MAJOR: tcp: fix a possible busy spinning loop in content track-sc*
- BUG/MEDIUM: http: fix inverted condition in pat_match_meth()
- BUG/MEDIUM: http: fix improper parsing of HTTP methods for use with ACLs
- BUG/MINOR: pattern: remove useless allocation of unused trash in pat_parse_reg()
- BUG/MEDIUM: acl: correctly compute the output type when a converter is used
- CLEANUP: acl: cleanup some of the redundancy and spaghetti after last fix
- BUG/CRITICAL: http: don't update msg->sov once data start to leave the buffer
   2014-07-27 18:33:36 by Filip Hajny | Files touched by this commit (2) | Package updated
Log message:
Update haproxy to 1.5.3.

2014/07/25 : 1.5.3
- DOC: fix typo in Unix Socket commands
- BUG/MEDIUM: connection: fix memory corruption when building a proxy
  v2 header
- BUG/MEDIUM: ssl: Fix a memory leak in DHE key exchange
- DOC: mention that Squid correctly responds 400 to PPv2 header
- BUG/MINOR: http: base32+src should use the big endian version of base32
- BUG/MEDIUM: connection: fix proxy v2 header again!
   2014-07-14 17:30:10 by Filip Hajny | Files touched by this commit (7) | Package updated
Log message:
Update haproxy to 1.5.2. Introduce support for OpenSSL, PCRE and Zlib.

Two extra important issues were discovered since 1.5.1 which were fixed
in 1.5.2. The first one can cause some sample fetch combinations to fail
together in a same expression, and one artificial case (but totally
useless) may even crash the process. The second one is an incomplete
fix in 1.5-dev23 for the request body forwarding. Hash-based balancing
algorithms and http-send-name-header may fail if a request contains
a body which starts to be forwarded before the contents are used.
A few other bugs were fixed, and the max syslog line length is now
configurable per logger.

Version 1.5.1 fixes a few bugs from 1.5.0 among which a really annoying
one which can cause some file descriptor leak when dealing with clients
which disappear from the net, resulting in the impossibility to accept
new connections after some time.

1.5 expands 1.4 with many new features and performance improvements,
including native SSL support on both sides with SNI/NPN/ALPN and OCSP
stapling, IPv6 and UNIX sockets are supported everywhere, full HTTP
keep-alive for better support of NTLM and improved efficiency in
static farms, HTTP/1.1 compression (deflate, gzip) to save bandwidth,
PROXY protocol versions 1 and 2 on both sides, data sampling on
everything in request or response, including payload, ACLs can use
any matching method with any input sample maps and dynamic ACLs
updatable from the CLI stick-tables support counters to track
activity on any input sample custom format for logs, unique-id,
header rewriting, and redirects, improved health checks (SSL,
scripted TCP, check agent, ...), much more scalable configuration
supports hundreds of thousands of backends and certificates without

Full changelog for the 1.5 branch: