Age | Commit message (Collapse) | Author |
|
|
|
|
|
* maint:
Don't modify URI, explicitly pass scheme to get_port
Update scheme on redirect URI and accumulator
Fix accidental Port assertion in resolve_authority
Add test case on relative redirects with ports
Do not assert that new URI port is same as old port
Add mixed test group, http -> https redirect test
Change-Id: I23b976dbc64e19787d6eca5757df50a1b7098857
|
|
|
|
This is necessary to prevent an error when calling get_port inside
resolve_authority
|
|
|
|
|
|
When handling 301 redirects from http -> https on Erlang 21.0.1, the
following error is encountered:
```
8> Options = [].
9> httpc:request(head, {"http://rhye.org", []}, Options, []).
{error,{shutdown,{{error,{badmatch,443}},
[{httpc_response,resolve_uri,7,
[{file,"/usr/local/lib/erlang/lib/inets-7.0/src/http_client/httpc_response.erl"},
{line,431}]},
{httpc_response,redirect,2,
[{file,"/usr/local/lib/erlang/lib/inets-7.0/src/http_client/httpc_response.erl"},
{line,396}]},
{httpc_handler,handle_response,1,
[{file,"httpc_handler.erl"},{line,1052}]},
{httpc_handler,handle_info,2,
[{file,"httpc_handler.erl"},{line,283}]},
{gen_server,try_dispatch,4,
[{file,"gen_server.erl"},{line,637}]},
{gen_server,handle_msg,6,
[{file,"gen_server.erl"},{line,711}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,249}]}]}}}
```
This seems to be caused by the following code in `resolve_uri`:
```
resolve_uri(Scheme, Host, Port, Path, Query, URI, Map0) ->
case maps:is_key(scheme, URI) of
true ->
Port = get_port(URI)
```
The value of `Port` passed in to `resolve_uri` here is 80, since the
original URL is http. However, since the redirected URL is https, the
`get_port` call returns 443, which is not equal to 80, and crashes.
Assigning to a new variable seems to fix redirects.
|
|
|
|
According to the code in httpc.erl, the pquery parameter in the
#request record should start with a question mark. However, when
a server returned a 403 response, the Location header was parsed
and the question mark was not added to the beginning of the query
string. This ultimately causes the redirect to fail, as instead of
redirecting to "/path?query", httpc redirected to "/pathquery".
|
|
* maint-20:
Updated OTP version
Prepare release
ssh: Report the signal name if there is an exit-signal to sftpd
ssh: Bug fix sftp error codes
ssh: Fix ssh_xfer decode_ATTR error for Vsn=4
syntax_tools: Fix a bug regarding reverting map types.
Conflicts:
OTP_VERSION
lib/inets/doc/src/notes.xml
lib/inets/vsn.mk
lib/ssh/doc/src/notes.xml
lib/ssh/vsn.mk
lib/syntax_tools/doc/src/notes.xml
lib/syntax_tools/vsn.mk
otp_versions.table
|
|
|
|
|
|
|
|
|
|
|
|
See also https://bugs.erlang.org/browse/ERL-634.
The utility program `erl_call' in erl_interface used to call
lib:eval_str/1, which is no longer present in Erlang/OTP 21.0.
The lib module was eliminated in OTP-15072, see also
https://github.com/erlang/otp/pull/1786.
|
|
* maint:
Updated OTP version
Prepare release
inets: Gracefully handle bad headers
|
|
|
|
This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
|
|
|
|
max_headers operated on the individual header length instead of
the total length of all headers. Also headers with empty keys are
now discarded.
|
|
|
|
This reverts commit 202bb737e3deabfebee683266f4b7c42781eb521.
|
|
This reverts commit 345f7f527a4c26ef49cef0d81e2c8b71bf01ebc3.
|
|
|
|
|
|
Change-Id: Ia53fb6bbf0822608ce9f7afe9b905d3bb1ce0b11
|
|
Inets generated test data that not conform to valid TLS cipher suites
|
|
This commit will make the close down sequence work as intended, and no
crash report will be generated. Alas such error corner cases are hard to
write automated test for.
|
|
* peterdmv/httpd_reload_config/ERL-578/OTP-15025:
inets: Fix httpd:reload_config/2
Change-Id: Ib02587ac75f7f9f4ce665c6ead54b5ab11560411
|
|
* peterdmv/relative_path_script_alias/ERL-574/OTP-15021:
inets: Fix handling of relative paths in script_alias
Change-Id: I6874d37f538bde0e54276f2841dbb763e1d19ff6
|
|
- Add proper handling of path() as the first argument to
httpd:reload_config/2.
Change-Id: Ia5779bdd55bff974e8eb0dd16ef26edf1f52fcff
|
|
* maint:
Updated OTP version
Prepare release
inets: Fix broken httpc options handling
ssh: Fix server crashes for exit-normal signals
ssh: Fix ssh_sftpd:handle_op not returning State
Conflicts:
OTP_VERSION
|
|
|
|
- Add support for setting socket options per request.
- Add http_ipv6 test group.
Change-Id: Ia2aca37c0b5fe64a41995c79ae3399434b17ab8a
|
|
- Add function for converting relative paths to absolute
using the server_root property.
Change-Id: If9b521e4444a3382f7e5449b187c1c0ebbb3d0f3
|
|
* maint:
inets: Fix broken httpc options handling
Change-Id: I9e44f0e53237a390048cab3aaf52ea0e1a5358a2
|
|
* peterdmv/httpc_delete_requests/ERL-536/OTP-15006:
inets: Fix broken handling of header Content-Type
Change-Id: I8d6f23d830961f71a198377351f14b0e97dcd44b
|
|
- Add support for setting socket options per request.
- Add http_ipv6 test group.
Change-Id: Ia2aca37c0b5fe64a41995c79ae3399434b17ab8a
|
|
Teach httpc to honour server connection close
|
|
Addresses https://github.com/erlang/otp/pull/1752#discussion_r177970060
|
|
Strict REST APIs does not accept HTTP requests that have no body
but still include a 'Content-Type' header. RFC7231 does not
forbid this corner case but as it causes interoperatbility
problems in client software we opt to not send the 'Content-Type'
header when the body is not present.
Change-Id: I36c43225fd156fb1b651037fcbe69b448665ec23
|
|
... addressing PR comment
https://github.com/erlang/otp/pull/1752#pullrequestreview-107945563
|
|
|
|
Change-Id: I20d44e771577b19060fbba0b2e83f64909c60faa
|
|
- Create directory structure
- Move code, tests, documentation from inets
- Add inets_tftp_wrapper
- Add tftp app to run-dialyzer script
Change-Id: I6a142ae66cecb9a1821cbf9ea6a45f66a836763d
|
|
Change-Id: I9ec81e25d8135fa624554b5d011b2c554b3481d5
|
|
Change-Id: Ifc3359b62e14b68320645f5d7c90bf1b9ccae016
|
|
Change-Id: I38bbca9d3fb2d90869cfe468e444204514301c36
|