aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets
AgeCommit message (Collapse)Author
2018-07-06Don't modify URI, explicitly pass scheme to get_portRoss Schlaikjer
2018-07-06Update scheme on redirect URI and accumulatorRoss Schlaikjer
This is necessary to prevent an error when calling get_port inside resolve_authority
2018-07-06Fix accidental Port assertion in resolve_authorityRoss Schlaikjer
2018-07-06Add test case on relative redirects with portsRoss Schlaikjer
2018-07-06Do not assert that new URI port is same as old portRoss Schlaikjer
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.
2018-07-06Add mixed test group, http -> https redirect testRoss Schlaikjer
2018-06-25Merge branch 'maint-20' into maintHans Nilsson
* 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
2018-06-21Prepare releaseErlang/OTP
2018-06-19ftp: Disallow 'packet_size' for low-level optionsHans Nilsson
2018-06-19Prepare releaseErlang/OTP
2018-06-18ftp: Socket optionsHans Nilsson
2018-06-18Update copyright yearHenrik Nord
2018-06-07stdlib: Move eval_str/1 from mod_esi to erl_evalHans Bolinder
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.
2018-06-05Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release inets: Gracefully handle bad headers
2018-06-05Prepare releaseErlang/OTP
2018-05-29Revert "Prepare release"Henrik
This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
2018-05-25Prepare releaseErlang/OTP
2018-05-22inets: Gracefully handle bad headersIngela Anderton Andin
max_headers operated on the individual header length instead of the total length of all headers. Also headers with empty keys are now discarded.
2018-05-04Move lib:eval_str/1 into mod_esi.erlRichard Carlsson
2018-05-02Revert "Update release notes"Henrik
This reverts commit 202bb737e3deabfebee683266f4b7c42781eb521.
2018-05-02Revert "Update version numbers"Henrik
This reverts commit 345f7f527a4c26ef49cef0d81e2c8b71bf01ebc3.
2018-04-30Update release notesErlang/OTP
2018-04-30Update version numbersErlang/OTP
2018-04-27inets: Correct runtime_dependencies before releasePéter Dimitrov
Change-Id: Ia53fb6bbf0822608ce9f7afe9b905d3bb1ce0b11
2018-04-27inets: Fix better test case data generationIngela Anderton Andin
Inets generated test data that not conform to valid TLS cipher suites
2018-04-27inets: Improve httpc gracefulnessIngela Anderton Andin
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.
2018-04-24Merge branch 'peterdmv/httpd_reload_config/ERL-578/OTP-15025'Péter Dimitrov
* peterdmv/httpd_reload_config/ERL-578/OTP-15025: inets: Fix httpd:reload_config/2 Change-Id: Ib02587ac75f7f9f4ce665c6ead54b5ab11560411
2018-04-24Merge branch 'peterdmv/relative_path_script_alias/ERL-574/OTP-15021'Péter Dimitrov
* peterdmv/relative_path_script_alias/ERL-574/OTP-15021: inets: Fix handling of relative paths in script_alias Change-Id: I6874d37f538bde0e54276f2841dbb763e1d19ff6
2018-04-23inets: Fix httpd:reload_config/2Péter Dimitrov
- Add proper handling of path() as the first argument to httpd:reload_config/2. Change-Id: Ia5779bdd55bff974e8eb0dd16ef26edf1f52fcff
2018-04-20Merge branch 'maint'Hans Nilsson
* 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
2018-04-19Prepare releaseErlang/OTP
2018-04-19inets: Fix broken httpc options handlingPéter Dimitrov
- Add support for setting socket options per request. - Add http_ipv6 test group. Change-Id: Ia2aca37c0b5fe64a41995c79ae3399434b17ab8a
2018-04-18inets: Fix handling of relative paths in script_aliasPéter Dimitrov
- Add function for converting relative paths to absolute using the server_root property. Change-Id: If9b521e4444a3382f7e5449b187c1c0ebbb3d0f3
2018-04-17Merge branch 'maint'Péter Dimitrov
* maint: inets: Fix broken httpc options handling Change-Id: I9e44f0e53237a390048cab3aaf52ea0e1a5358a2
2018-04-17Merge branch 'peterdmv/httpc_delete_requests/ERL-536/OTP-15006'Péter Dimitrov
* peterdmv/httpc_delete_requests/ERL-536/OTP-15006: inets: Fix broken handling of header Content-Type Change-Id: I8d6f23d830961f71a198377351f14b0e97dcd44b
2018-04-12inets: Fix broken httpc options handlingPéter Dimitrov
- Add support for setting socket options per request. - Add http_ipv6 test group. Change-Id: Ia2aca37c0b5fe64a41995c79ae3399434b17ab8a
2018-04-11Merge pull request #1752 from lucafavatella/httpc-connection-closePéter Dimitrov
Teach httpc to honour server connection close
2018-04-06inets: Improve readability of handling of server `Connection: close`Luca Favatella
Addresses https://github.com/erlang/otp/pull/1752#discussion_r177970060
2018-04-06inets: Fix broken handling of header Content-TypePéter Dimitrov
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
2018-04-06inets: Work around warning in testLuca Favatella
... addressing PR comment https://github.com/erlang/otp/pull/1752#pullrequestreview-107945563
2018-04-05inets: Avoid `erlang:get_stacktrace/0` deprecated in OTP 21Luca Favatella
2018-03-28inets: Fix inets:services()Péter Dimitrov
Change-Id: I20d44e771577b19060fbba0b2e83f64909c60faa
2018-03-28inets,tftp: Break out TFTP from inetsPéter Dimitrov
- Create directory structure - Move code, tests, documentation from inets - Add inets_tftp_wrapper - Add tftp app to run-dialyzer script Change-Id: I6a142ae66cecb9a1821cbf9ea6a45f66a836763d
2018-03-28inets: Fix broken link warningPéter Dimitrov
Change-Id: I9ec81e25d8135fa624554b5d011b2c554b3481d5
2018-03-28inets: Fix missing anchor warningsPéter Dimitrov
Change-Id: Ifc3359b62e14b68320645f5d7c90bf1b9ccae016
2018-03-28inets: Support ftp stand_alone modePéter Dimitrov
Change-Id: I38bbca9d3fb2d90869cfe468e444204514301c36
2018-03-28inets,ftp: Break out FTP from inetsPéter Dimitrov
- Created initial directory structure for the FTP application. - Updated inets Makefiles to not include FTP related modules. - Remove ftp code from inets - Implement backward compatibility layer for FTP - Add inets_ftp_wrapper - Fix failing TCs Change-Id: I120ec5bdef0c3df4cee2d7880db2aec581505bc4
2018-03-23inets: Teach httpc to honour `Connection: close` from serverLuca Favatella
From https://tools.ietf.org/html/rfc7230#section-6.6 > A client that receives a "close" connection option MUST cease sending requests on that connection and close the connection after reading the response message containing the "close"; if additional pipelined requests had been sent on the connection, the client SHOULD NOT assume that they will be processed by the server. Notes on tests: * The new tests are added only in group sim_http and not sim_https because the same test approach appears to be not valid because when processing the first response the server already sent data (> 0) for the TLS/SSL handshake; * The order of tests is relevant as it appears some test cases leave reusable sessions behind.
2018-03-23inets: Fix profile used in persistent_connection tests in httpc_SUITELuca Favatella
It looks like a typo, though I did not experience impact of this on tests.
2018-03-23inets: Make httpc error reason more informative for unexpected errorsLuca Favatella