aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src
AgeCommit message (Collapse)Author
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-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-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-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: 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: Make httpc error reason more informative for unexpected errorsLuca Favatella
2018-03-23inets: Enable stronger Dialyzer checks in httpc_handlerLuca Favatella
2018-03-23inets: Remove httpc dead code re init errorLuca Favatella
... i.e. references to `connect_failed` and `send_failed`, unused since 5d32eaf750 .
2018-03-23inets: Delete obsolete comment in httpc_response:resultLuca Favatella
2018-03-14inets: fix scheme validation in http_uri:parse when binary URILuca Favatella
2018-03-07Merge branch 'maint'Péter Dimitrov
* maint: inets: work around http_uri:parse Dialyzer warning in uri_SUITE.erl:274 inets: refine types and doc of http_uri:parse options inets: export types documented for http_uri module Change-Id: Ifff539d8254cc86985f90978dd75a36616136c33
2018-03-07Merge pull request #1724 from lucafavatella/http_uri-typesPéter Dimitrov
Export types documented for http_uri module
2018-03-06Merge branch 'maint'Péter Dimitrov
* maint: inets: Prepare for release inets: Skip http_unix_socket test group on Windows inets: Add unix domain socket support to httpc Change-Id: I4c3a3d6e4fbbdf82e4e2e7d30b84510f9c286c68
2018-03-06inets: work around http_uri:parse Dialyzer warning in uri_SUITE.erl:274Luca Favatella
Addresses https://github.com/erlang/otp/pull/1724#discussion_r172442753 Current `http_uri:parse/2` implementation intends that ["non-fun scheme_validation_fun works as no option passed"](https://github.com/erlang/otp/blob/OTP-20.2.4/lib/inets/test/uri_SUITE.erl#L271-L274).
2018-03-06inets: Prepare for releasePéter Dimitrov
Change-Id: I3021abef9530d42fa6eb04fbcbd46ab23392cd0d
2018-03-05inets: refine types and doc of http_uri:parse optionsLuca Favatella
2018-03-05inets: export types documented for http_uri moduleLuca Favatella
Also: * Reuse type `inet:port_number()` in `http_uri` code and doc; * Do not imply that http_uri module can properly handle UTF-8 encoded binaries, while it can't. * Enrich function specifications in http_uri module; * Fix http_uri doc re missing type definition for `Scheme`.
2018-02-26inets: Add unix domain socket support to httpcPéter Dimitrov
Change-Id: I44fe2670e36884e09600d17dd71b1e86b9ee75fa
2018-02-19Merge branch 'maint'Péter Dimitrov
* maint: inets: Prepare for release inets: Fix httpc crash on keep-alive connections Change-Id: If066f788c3fcb8b5c5a943892d3c03c201590e40
2018-02-09inets: Prepare for releasePéter Dimitrov
Change-Id: I8a0b8c3c589baab7c2fe3bf0fc9b56749658d30f
2018-02-09inets: Fix httpc crash on keep-alive connectionsPéter Dimitrov
- Set gen_server call timeout to infinity in httpc_handler. - Add new testcase 'slow_connection'. Change-Id: Id11b54c588e1d66b9ebba4da5dbfe5e9bee1f1ee
2018-02-05inets: Do not call erlang:get_stacktrace()Hans Bolinder
2017-11-28inets: Fix httpc path handlingPéter Dimitrov
Fixed handling of URL paths that contain space (%20) characters. Change-Id: Ic09691e35c70ee005af7637a6ec3ae588097bec1
2017-11-20Merge branch 'peterdmv/inets/autoredirect/ERL-333/OTP-14729'Péter Dimitrov
* peterdmv/inets/autoredirect/ERL-333/OTP-14729: inets: Add support for URI-references in Location
2017-11-20Merge branch 'peterdmv/inets/http_content_injection/ERL-456/OTP-14726'Péter Dimitrov
* peterdmv/inets/http_content_injection/ERL-456/OTP-14726: inets: Fix http content injection bug in httpc
2017-11-17inets: Eliminate race conditionIngela Anderton Andin
Only run test case for http as the socket manipulation done by the test case requires much more manipulation to work for https. However, that this test case started failing constantly instead of sporadically is proof that this change is a good thing.
2017-11-15inets: Fix http content injection bug in httpcPéter Dimitrov
- uri_string module used for parsing URIs. - Removed url_encode option as only valid URIs shall be handled by the http client. - The client rejects URIs that are not compliant with RFC 3986. Change-Id: I0a5b9766f6463a9802e0b02b445a2c4c91f02236
2017-11-15inets: Add support for URI-references in LocationPéter Dimitrov
RFC 2616 requires an absolute URI in 'Location' header field for redirects. RFC 7231 obsoleted RFC 2616 and allows URI-references. Updated httpc_response to support URI-references, based on the URI resolution algorithm defined by RFC 3986 (5.2.2. Transform References). Change-Id: I42227d32f458b6e7a60d55b40407c4092e69b222
2017-11-10Merge branch 'maint-20' into maintIngela Anderton Andin
* maint-20: Updated OTP version Update release notes Update version numbers inets: Prepare for release inets: Add missing guard Avoid WindowBits=8 as per the manual Fix deflateParams on zlib 1.2.11 Ignore empty binaries in enif_inspect_iovec Emasculate writable binaries on entering an iovec Only apply EOS behaviors if there's pending data Stop assuming that all schedulers are managed when updating msacc
2017-11-09inets: Prepare for releaseIngela Anderton Andin
2017-11-09inets: Add missing guardIngela Anderton Andin
Add test in the correct place which was the reason the guard became missing without being noticed.
2017-11-01Merge pull request #1613 from hamidreza-s/fix-httpc-misbehaviourIngela Andin
[#ERL-407]: Fix httpc misbehaviour based on RFC7230, section 3.3.3 OTP-14727
2017-11-01inets: httpd - Fix broken handling of POST requestsIngela Anderton Andin
New chunk mechanism of body data in POST requests added in 5d01c70ca399edf28e99dc760506329689fab6ba broke handling of POST body data not using the new mechanism. Added better regression test
2017-11-01inets: Make sure httpd:stop_service is synchronousIngela Anderton Andin
2017-11-01inets: httpd - do not hardcode 302 status for locationIngela Anderton Andin
If a status code is provide by the ESI script that status code should have precedence over internal defaults. Also remove RFC 2616 requirement that URI must be absolute, that requirement is relaxed by RFC 7231.
2017-10-31inets: httpd - do not hardcode 302 status for locationIngela Anderton Andin
If a status code is provide by the ESI script that status code should have precedence over internal defaults. Also remove RFC 2616 requirement that URI must be absolute, that requirement is relaxed by RFC 7231.
2017-10-29[#ERL-407]: Fix httpc misbehaviour based on RFC7230, section 3.3.3Hamidreza Soleimani
If a message is received with both a Transfer-Encoding and a Content-Length header field, it might indicate an attempt to perform request smuggling or response splitting and must be handled as an error in default mode (not relaxed mode). Bug report: https://bugs.erlang.org/browse/ERL-407
2017-10-26inets: Correct guard testIngela Anderton Andin
Guard test for error case was not updated to handle httpc stream concept properly.