haproxy/include/types
Willy Tarreau 1ee51a6581 [BUG] check: http-check expect + regex would crash in defaults section
Manoj Kumar reported a case where haproxy would crash upon start-up. The
cause was an "http-check expect" statement declared in the defaults section,
which caused a NULL regex to be used during the check. This statement is not
allowed in defaults sections precisely because this requires saving a copy
of the regex in the default proxy. But the check was not made to prevent it
from being declared there, hence the issue.

Instead of adding code to detect its abnormal use, we decided to implement
it. It was not that much complex because the expect_str part was not used
with regexes, so it could hold the string form of the regex in order to
compile it again for every backend (there's no way to clone regexes).

This patch has been tested and works. So it's both a bugfix and a minor
feature enhancement.

It should be backported to 1.4 though it's not critical since the config
was not supposed to be supported.
2011-08-19 20:14:01 +02:00
..
acl.h [MINOR] acl: add srv_conn acl to count connections on a 2011-08-06 15:52:27 +02:00
auth.h [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00
backend.h [MEDIUM] hash: add support for an 'avalanche' hash-type 2010-11-29 07:28:16 +01:00
buffers.h [MEDIUM] http: add support for "http-no-delay" 2011-05-30 18:42:41 +02:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
checks.h [MINOR] Allow shutdown of sessions when a server becomes unavailable 2011-06-21 22:00:21 +02:00
counters.h [MEDIUM] stats: split frontend and backend stats 2011-03-13 22:00:23 +01:00
fd.h [MEDIUM] fd: merge fd_list into fdtab 2009-10-18 08:20:26 +02:00
freq_ctr.h [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
global.h [MEDIUM] listeners: add a global listener management task 2011-08-01 20:57:55 +02:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
lb_chash.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwlc.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.h [CLEANUP] proxy: move last lb-specific bits to their respective files 2009-10-03 18:41:18 +02:00
log.h [MEDIUM] IPv6 support for syslog 2011-03-28 18:45:15 +02:00
pattern.h [MEDIUM] IPv6 support for stick-tables 2011-03-29 01:09:14 +02:00
peers.h [MEDIUM] add internal support for IPv6 server addresses 2011-03-13 22:00:12 +01:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
port_range.h [MEDIUM] add support for binding to source port ranges during connect 2009-06-10 12:23:32 +02:00
proto_http.h [MINOR] http: make the "HTTP 200" status code configurable. 2011-05-11 16:31:43 +02:00
proto_tcp.h [MINOR] session-counters: use "track-sc{1,2}" instead of "track-{fe,be}-counters" 2010-08-10 18:04:15 +02:00
protocols.h [MINOR] listeners: add support for queueing resource limited listeners 2011-07-24 22:03:52 +02:00
proxy.h [BUG] check: http-check expect + regex would crash in defaults section 2011-08-19 20:14:01 +02:00
queue.h [MAJOR] ported pendconn to mempools v2 2007-05-13 20:19:55 +02:00
server.h [MINOR] Add non-stick server option 2011-06-25 21:14:17 +02:00
session.h [MINOR] Add down termination condition 2011-06-21 22:10:56 +02:00
signal.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
stick_table.h [MEDIUM] IPv6 support for stick-tables 2011-03-29 01:09:14 +02:00
stream_interface.h [MEDIUM] stream_sock: add support for sending the proxy protocol header line 2011-03-20 10:16:46 +01:00
task.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00