haproxy/tests
Willy Tarreau eb7b0a2b56 [MEDIUM] http: fix space handling in the request cookie parser
The request cookie parser did not allow spaces to appear in cookie
values nor around the equal sign. The various RFCs on the subject
say different things, some suggesting that a space is allowed after
the equal sign and being worded in a way that lets one believe it
is allowed before too. Some spaces may appear inside values and be
part of the values. The quotes allow delimiters to be embedded in
values. The spaces before and after attributes should be trimmed.

The new parser addresses all those points and has been carefully tested.
It fixes misplaced spaces around equal signs before processing the cookies
or forwarding them. It also tries its best to perform clean removals by
always keeping the delimiter after the value being removed and leaving one
space after it.

The variable inside the parser have been renamed to make the code a lot
more understandable, and one multi-function pointer has been eliminated.

Since this patch fixes real possible issues, it should be backported to 1.4
and possibly 1.3, since one (single) case of wrong spaces has been reported
in 1.3.

The code handling the Set-Cookie has not been touched yet.
2010-09-01 00:02:21 +02:00
..
0000-debug-stats.diff [TESTS] add a debug patch to help trigger the stats bug 2008-04-21 07:31:52 +02:00
active-sh.cfg * added the 'source' load-balancing algorithm which uses the source IP(v4|v6) 2006-03-25 20:33:17 +01:00
active-srv.cfg * some regression test files for active/backup conditions. 2006-03-25 20:33:14 +01:00
backup-all-sh.cfg * added the 'source' load-balancing algorithm which uses the source IP(v4|v6) 2006-03-25 20:33:17 +01:00
backup-all.cfg * some regression test files for active/backup conditions. 2006-03-25 20:33:14 +01:00
backup-first.cfg * some regression test files for active/backup conditions. 2006-03-25 20:33:14 +01:00
backup-second-sh.cfg * added the 'source' load-balancing algorithm which uses the source IP(v4|v6) 2006-03-25 20:33:17 +01:00
backup-second.cfg * some regression test files for active/backup conditions. 2006-03-25 20:33:14 +01:00
basic-test.cfg [TESTS] added two new test configurations 2006-07-29 16:47:12 +02:00
defaults.cfg * fixed odd addresses in tests/defaults.cfg 2006-01-08 01:51:58 +01:00
filltab25.c [CLEANUP] fwrr: ensure that we never overflow in placements 2007-12-02 11:01:23 +01:00
hash_results.txt [TESTS] updates to hash experimentations 2007-05-13 11:40:04 +02:00
httpterm-basic.cfg [TESTS] added two new test configurations 2006-07-29 16:47:12 +02:00
io_limits.txt [MEDIUM] optimize I/O by detecting system starvation 2007-06-03 16:05:39 +02:00
ip-hash.c [TESTS] add new methods in ip-hash test file 2008-04-13 09:27:00 +02:00
reset.c [TESTS] add a simple program to test connection resets 2010-03-25 06:38:21 +01:00
sessionhash_test.c [MAJOR] remove files distributed under an obscure license 2007-09-09 21:56:53 +02:00
sockstat.txt * released 1.1.22 2005-12-17 14:02:24 +01:00
test_hashes.c [TESTS] added a new hash algorithm 2007-09-09 21:13:47 +02:00
test_pools.c [TESTS] test_pools: added support for dlmalloc() 2007-05-12 16:14:55 +02:00
test-acl.cfg [TESTS] added test-acl.cfg to test some ACL combinations 2008-07-09 16:18:21 +02:00
test-backlog.cfg [MINOR] add support for the "backlog" parameter 2008-01-06 10:55:10 +01:00
test-balance.cfg [MEDIUM] introduce the "url_param" balance method 2007-11-01 23:05:09 +01:00
test-check-cpu.cfg [TESTS] provide a test configuration file for stats and checks 2007-09-09 21:09:28 +02:00
test-connection.cfg [TESTS] add a file to test various connection modes 2010-01-05 14:35:03 +01:00
test-cookie-appsess.cfg [MEDIUM] http: fix space handling in the request cookie parser 2010-09-01 00:02:21 +02:00
test-cookie-indirect.cfg [MEDIUM] http: fix space handling in the request cookie parser 2010-09-01 00:02:21 +02:00
test-cookie-insert.cfg [MEDIUM] http: fix space handling in the request cookie parser 2010-09-01 00:02:21 +02:00
test-cookie-passive.cfg [MEDIUM] http: fix space handling in the request cookie parser 2010-09-01 00:02:21 +02:00
test-cookie-prefix.cfg [MEDIUM] http: fix space handling in the request cookie parser 2010-09-01 00:02:21 +02:00
test-cookie-rewrite.cfg [MEDIUM] http: fix space handling in the request cookie parser 2010-09-01 00:02:21 +02:00
test-disable-404.cfg [TESTS] add a test file for disable-on-404 2007-11-30 15:23:38 +01:00
test-fsm.cfg [TESTS] refine non-regression tests and add 4 new tests 2010-06-07 22:43:55 +02:00
test-fwlc.cfg [MAJOR] implementation of the "leastconn" load balancing algorithm 2008-03-10 22:04:30 +01:00
test-fwrr.cfg [TESTS] merge test-fwrr.cfg to validate dynamic weights 2007-11-28 14:23:32 +01:00
test-inspect-smtp.cfg [MINOR] acl: add the "wait_end" acl verb 2008-07-20 11:18:28 +02:00
test-inspect-ssl.cfg [MINOR] acl: add req_ssl_ver in TCP, to match an SSL version 2008-07-16 10:30:06 +02:00
test-log.cfg [BUG] fix calls to localtime() 2007-10-25 10:34:16 +02:00
test-map-ports.cfg [TESTS] add a test case for port mapping 2008-04-12 11:19:04 +02:00
test-pollers.cfg [TESTS] add test-pollers.cfg to easily report pollers in use 2008-02-16 20:02:48 +01:00
test-redir.cfg Revert "[BUILD] backend.c and checks.c did not build without tproxy !" 2008-02-14 20:25:24 +01:00
test-redirect.cfg [MINOR] redirect: in prefix mode a "/" means not to change the URI 2008-12-07 23:48:39 +01:00
test-retries.cfg [MEDIUM] make default_backend work in TCP mode too 2007-11-03 14:28:39 +01:00
test-sched.cfg [MEDIUM] rework the wait queue mechanism 2008-06-29 17:00:59 +02:00
test-sql.cfg [MINOR] add option "mysql-check" to use MySQL health checks 2010-01-12 10:37:39 +01:00
test-status.cfg [TESTS] add a simple test for the status page 2007-10-25 20:17:40 +02:00
test-time.cfg [MEDIUM] add support for time units in the configuration 2007-12-02 22:15:14 +01:00
test-timeout.cfg [MEDIUM] introduce "timeout http-request" in frontends 2008-01-06 13:24:40 +01:00
test-url-hash.cfg [MEDIUM] introduce the "url_param" balance method 2007-11-01 23:05:09 +01:00
test-valid-names.cfg [MEDIUM] restrict the set of allowed characters for identifiers 2007-12-02 18:45:09 +01:00
test.c * initial commit of version 1.0.0 2005-12-17 12:21:26 +01:00
testinet.c * released 1.1.22 2005-12-17 14:02:24 +01:00
uri_hash.c [TESTS] updates to hash experimentations 2007-05-13 11:40:04 +02:00