diff options
author | Marcus Arendt <[email protected]> | 2015-01-26 13:02:40 +0100 |
---|---|---|
committer | Marcus Arendt <[email protected]> | 2015-01-26 13:02:40 +0100 |
commit | b7b36d9c0519b5c7f44a8a66cd823191a44c105d (patch) | |
tree | 43836636014191a91f77b8bcc413e405e9798559 /lib/inets/test/httpc_SUITE.erl | |
parent | ff87c52b703c1820278bbe816fc79d83f8fbf4ef (diff) | |
parent | ed104c7ad0e488d57040c96974b8d0d022a775da (diff) | |
download | otp-b7b36d9c0519b5c7f44a8a66cd823191a44c105d.tar.gz otp-b7b36d9c0519b5c7f44a8a66cd823191a44c105d.tar.bz2 otp-b7b36d9c0519b5c7f44a8a66cd823191a44c105d.zip |
Merge branch 's1n4/httpc_invalid_set_cookies/OTP-12430' into maint
* s1n4/httpc_invalid_set_cookies/OTP-12430:
httpc: Avoid parsing invalid 'Set-Cookie' headers
Diffstat (limited to 'lib/inets/test/httpc_SUITE.erl')
-rw-r--r-- | lib/inets/test/httpc_SUITE.erl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/inets/test/httpc_SUITE.erl b/lib/inets/test/httpc_SUITE.erl index c535d59b9f..545cc3f11b 100644 --- a/lib/inets/test/httpc_SUITE.erl +++ b/lib/inets/test/httpc_SUITE.erl @@ -91,6 +91,7 @@ only_simulated() -> cookie, cookie_profile, empty_set_cookie, + invalid_set_cookie, trace, stream_once, stream_single_chunk, @@ -568,6 +569,18 @@ empty_set_cookie(Config) when is_list(Config) -> ok = httpc:set_options([{cookies, disabled}]). %%------------------------------------------------------------------------- +invalid_set_cookie(doc) -> + ["Test ignoring invalid Set-Cookie header"]; +invalid_set_cookie(Config) when is_list(Config) -> + ok = httpc:set_options([{cookies, enabled}]), + + URL = url(group_name(Config), "/invalid_set_cookie.html", Config), + {ok, {{_,200,_}, [_|_], [_|_]}} = + httpc:request(get, {URL, []}, [], []), + + ok = httpc:set_options([{cookies, disabled}]). + +%%------------------------------------------------------------------------- headers_as_is(doc) -> ["Test the option headers_as_is"]; headers_as_is(Config) when is_list(Config) -> @@ -1686,6 +1699,13 @@ handle_uri(_,"/empty_set_cookie.html",_,_,_,_) -> "Content-Length:32\r\n\r\n"++ "<HTML><BODY>foobar</BODY></HTML>"; +handle_uri(_,"/invalid_set_cookie.html",_,_,_,_) -> + "HTTP/1.1 200 ok\r\n" ++ + "set-cookie: =\r\n" ++ + "set-cookie: name-or-value\r\n" ++ + "Content-Length:32\r\n\r\n"++ + "<HTML><BODY>foobar</BODY></HTML>"; + handle_uri(_,"/missing_crlf.html",_,_,_,_) -> "HTTP/1.1 200 ok" ++ "Content-Length:32\r\n" ++ |