0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Reject invalid Connection header

LH: Small tweaks and added an HTTP/1.0 test.
This commit is contained in:
Boris Pozdnyakov 2023-02-17 16:34:54 +04:00 committed by Loïc Hoguin
parent 1547e9b93e
commit e200272178
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
2 changed files with 43 additions and 9 deletions

View file

@ -1512,6 +1512,28 @@ http10_no_connection_header_close(Config) ->
{_, <<"close">>} = lists:keyfind(<<"connection">>, 1, RespHeaders),
{error, closed} = raw_recv(Client, 0, 1000).
connection_invalid(Config) ->
doc("HTTP/1.1 requests with an invalid Connection header "
"must be rejected with a 400 status code and the closing "
"of the connection. (RFC7230 6.1)"),
#{code := 400, client := Client} = do_raw(Config, [
"GET / HTTP/1.1\r\n"
"Host: localhost\r\n"
"Connection: jndi{ldap127\r\n"
"\r\n"]),
{error, closed} = raw_recv(Client, 0, 1000).
http10_connection_invalid(Config) ->
doc("HTTP/1.0 requests with an invalid Connection header "
"must be rejected with a 400 status code and the closing "
"of the connection. (RFC7230 6.1)"),
#{code := 400, client := Client} = do_raw(Config, [
"GET / HTTP/1.0\r\n"
"Host: localhost\r\n"
"Connection: jndi{ldap127\r\n"
"\r\n"]),
{error, closed} = raw_recv(Client, 0, 1000).
limit_requests_keepalive(Config) ->
doc("The maximum number of requests sent using a persistent connection "
"must be subject to configuration. The connection must be closed "