haproxy/src
Willy Tarreau ce39bfb7c4 BUG: backend: balance hdr was broken since 1.5-dev11
Alex Markham reported and diagnosed a bug appearing on 1.5-dev11,
causing a crash on x86_64 when header hashing is used. The cause is
a missing (int) cast causing a negative offset to appear positive
and the resulting pointer to go out of bounds.

The crash is not possible anymore since 1.5-dev12 because a second
bug caused the negative sign to disappear so the pointer is always
within range but always wrong, so balance hdr() never works anymore.

This fix restores the correct behaviour and ensures the sign is
correct.
2012-09-22 18:36:29 +02:00
..
acl.c REORG: buffers: split buffers into chunk,buffer,channel 2012-09-03 20:47:32 +02:00
appsession.c CLEANUP: remove a few warning about unchecked return values in debug code 2012-04-30 11:56:30 +02:00
arg.c BUG/MEDIUM: ensure that unresolved arguments are freed exactly once 2012-06-01 10:40:52 +02:00
auth.c CLEANUP: auth: make the code build again with DEBUG_AUTH 2012-05-10 23:25:35 +02:00
backend.c BUG: backend: balance hdr was broken since 1.5-dev11 2012-09-22 18:36:29 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c REORG: channel: move buffer_{replace,insert_line}* to buffer.{c,h} 2012-09-03 20:47:33 +02:00
cfgparse.c REORG: listener: move unix perms from the listener to the bind_conf 2012-09-20 18:07:14 +02:00
channel.c CLEANUP: channel: use "channel" instead of "buffer" in function names 2012-09-03 20:47:33 +02:00
checks.c CLEANUP: fd: remove fdtab->flags 2012-09-03 20:49:14 +02:00
chunk.c REORG: buffers: split buffers into chunk,buffer,channel 2012-09-03 20:47:32 +02:00
connection.c MEDIUM: connection: improve error handling around the data layer 2012-09-06 14:12:03 +02:00
cttproxy.c [BUG] cttproxy: socket fd leakage in check_cttproxy_version 2010-05-09 21:19:08 +02:00
dumpstats.c REORG: listener: move unix perms from the listener to the bind_conf 2012-09-20 18:07:14 +02:00
ev_epoll.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_kqueue.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_poll.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_select.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_sepoll.c CLEANUP: fdtab: flatten the struct and merge the spec struct with the rest 2012-09-03 20:49:14 +02:00
fd.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
freq_ctr.c [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
frontend.c CLEANUP: fd: remove fdtab->flags 2012-09-03 20:49:14 +02:00
haproxy.c REORG: listener: move unix perms from the listener to the bind_conf 2012-09-20 18:07:14 +02:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
i386-linux-vsys.c OPTIM: i386: make use of kernel-mode-linux when available 2012-07-31 07:53:42 +02:00
lb_chash.c [MEDIUM] hash: add support for an 'avalanche' hash-type 2010-11-29 07:28:16 +01:00
lb_fas.c CLEANUP: lb_first: add reference to a paper describing the original idea 2012-04-07 09:08:45 +02:00
lb_fwlc.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.c [BUG] url_param hash may return a down server 2010-03-12 06:22:16 +01:00
listener.c MAJOR: listeners: use dual-linked lists to chain listeners with frontends 2012-09-20 16:48:07 +02:00
log.c MAJOR: connection: move the addr field from the stream_interface 2012-09-03 20:47:34 +02:00
memory.c MEDIUM: memory: add the ability to poison memory at run time 2012-05-08 21:28:16 +02:00
peers.c MAJOR: listeners: use dual-linked lists to chain listeners with frontends 2012-09-20 16:48:07 +02:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c MEDIUM: http: add "redirect scheme" to ease HTTP to HTTPS redirection 2012-09-12 08:43:15 +02:00
proto_tcp.c MAJOR: listeners: use dual-linked lists to chain listeners with frontends 2012-09-20 16:48:07 +02:00
proto_uxst.c REORG: listener: move unix perms from the listener to the bind_conf 2012-09-20 18:07:14 +02:00
protocol.c REORG: split "protocols" files into protocol and listener 2012-09-15 22:29:32 +02:00
proxy.c MAJOR: listeners: use dual-linked lists to chain listeners with frontends 2012-09-20 16:48:07 +02:00
queue.c BUG/MEDIUM: zero-weight servers must not dequeue requests from the backend 2012-01-20 16:18:53 +01:00
raw_sock.c REORG: split "protocols" files into protocol and listener 2012-09-15 22:29:32 +02:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c [MINOR] prepare req_*/rsp_* to receive a condition 2010-01-28 18:10:50 +01:00
sample.c CLEANUP: includes: fix includes for a number of users of fd.h 2012-09-03 20:49:14 +02:00
server.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
session.c REORG: split "protocols" files into protocol and listener 2012-09-15 22:29:32 +02:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
shctx.c BUILD: ssl: use MAP_ANON instead of MAP_ANONYMOUS 2012-09-04 15:45:21 +02:00
signal.c [MEDIUM] signals: support redistribution of signal zero when stopping 2010-08-27 18:26:11 +02:00
ssl_sock.c MAJOR: listeners: use dual-linked lists to chain listeners with frontends 2012-09-20 16:48:07 +02:00
standard.c MINOR: config: add a function to indent error messages 2012-09-15 22:29:27 +02:00
stick_table.c REORG: rename "pattern" files 2012-05-08 20:57:21 +02:00
stream_interface.c MAJOR: stream_interface: continue to update data polling flags during handshakes 2012-09-03 20:49:13 +02:00
task.c [OPTIM] task: don't scan the run queue if we know it's empty 2011-09-10 20:08:49 +02:00
time.c MINOR: Date and time fonctions that don't use snprintf 2012-02-09 17:03:28 +01:00
trace.c MINOR: add a new function call tracer for debugging purposes 2012-05-26 00:12:37 +02:00
uri_auth.c [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00