mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-12 22:44:32 +00:00
eb7b0a2b56
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. |
||
---|---|---|
.. | ||
0000-debug-stats.diff | ||
active-sh.cfg | ||
active-srv.cfg | ||
backup-all-sh.cfg | ||
backup-all.cfg | ||
backup-first.cfg | ||
backup-second-sh.cfg | ||
backup-second.cfg | ||
basic-test.cfg | ||
defaults.cfg | ||
filltab25.c | ||
hash_results.txt | ||
httpterm-basic.cfg | ||
io_limits.txt | ||
ip-hash.c | ||
reset.c | ||
sessionhash_test.c | ||
sockstat.txt | ||
test_hashes.c | ||
test_pools.c | ||
test-acl.cfg | ||
test-backlog.cfg | ||
test-balance.cfg | ||
test-check-cpu.cfg | ||
test-connection.cfg | ||
test-cookie-appsess.cfg | ||
test-cookie-indirect.cfg | ||
test-cookie-insert.cfg | ||
test-cookie-passive.cfg | ||
test-cookie-prefix.cfg | ||
test-cookie-rewrite.cfg | ||
test-disable-404.cfg | ||
test-fsm.cfg | ||
test-fwlc.cfg | ||
test-fwrr.cfg | ||
test-inspect-smtp.cfg | ||
test-inspect-ssl.cfg | ||
test-log.cfg | ||
test-map-ports.cfg | ||
test-pollers.cfg | ||
test-redir.cfg | ||
test-redirect.cfg | ||
test-retries.cfg | ||
test-sched.cfg | ||
test-sql.cfg | ||
test-status.cfg | ||
test-time.cfg | ||
test-timeout.cfg | ||
test-url-hash.cfg | ||
test-valid-names.cfg | ||
test.c | ||
testinet.c | ||
uri_hash.c |