aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/test
AgeCommit message (Collapse)Author
2018-08-27Merge branch 'peterdmv/inets/fix_http_client/OTP-15242' into maint-20Péter Dimitrov
* peterdmv/inets/fix_http_client/OTP-15242: inets: Prepare for release inets: Robust handling of 204, 304, 1xx responses Change-Id: I12dced982907c3462fefb8a4ffaae8b365821f97
2018-08-24inets: Robust handling of 204, 304, 1xx responsesPéter Dimitrov
All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body, and thus are always terminated by the first empty line after the header fields. This implies that chunked encoding MUST NOT be used for these status codes. This commit updates the client to gracefully handle responses from faulty server implementations that can send chunked encoded 204, 304 or 1xx responses. Change-Id: I2dd502e28b3c6e121640083118fa5c3e479f5194
2018-08-22inets: Do not use chunked encoding with 1xx, 204, 304Péter Dimitrov
All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body, and thus are always terminated by the first empty line after the header fields. This implies that chunked encoding MUST NOT be used for these status codes. Change-Id: If6778165c947e64bc20d1ecab7a669e0b096f1a9
2018-08-15inets: Remove 21 test caseIngela Anderton Andin
A test case unrelated to the patch was accidentally added when backporting the solution.
2018-08-14Merge branch 'ingela/inets/maint-20/status-501/ERIERL-218/OTP-15215' into ↵Erlang/OTP
maint-20 * ingela/inets/maint-20/status-501/ERIERL-218/OTP-15215: inets: Prepare for release inets: Use status code 501 when no mod_* handles the request # Conflicts: # lib/inets/test/httpd_SUITE.erl # lib/inets/vsn.mk
2018-08-14inets: Use status code 501 when no mod_* handles the requestIngela Anderton Andin
Conflicts: lib/inets/test/httpd_SUITE.erl
2018-07-17inets: Improve error handlingIngela Anderton Andin
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-03-05inets: Skip http_unix_socket test group on WindowsPéter Dimitrov
Change-Id: I40262ded5a50456b21696350f793dfe9ed06d1fd
2018-02-26inets: Add unix domain socket support to httpcPéter Dimitrov
Change-Id: I44fe2670e36884e09600d17dd71b1e86b9ee75fa
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
2017-12-20inets: Remove old legacy SUITEIngela Anderton Andin
2017-12-18inets: Add missing argument in httpc_SUITEIngela Anderton Andin
2017-12-14inets: Add comparable benchmark testsIngela Anderton Andin
2017-12-14inets: Create httpd benchmark framworkHans Nilsson
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-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: 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.
2017-10-26Merge branch 'ingela/inets/not-chunked-esi/OTP-14656' into maintIngela Anderton Andin
* ingela/inets/not-chunked-esi/OTP-14656: inets: httpd - Fix broken handling of POST requests
2017-10-25inets: 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-10-24inets: Make sure httpd:stop_service is synchronousIngela Anderton Andin
2017-10-12inets: httpc - fix default timeout in httpc_SUITEIngela Anderton Andin
Timeout must be set in suite/0 or init_per_testcase not init_per_group or init_per_suite
2017-09-14Merge branch 'maint-20' into maintPéter Dimitrov
* maint-20: Updated OTP version Update release notes Update version numbers inets: httpd correct server_name environment value inets: httpd - Add chunk handling of client data inets: Restore old behavior when parsing "+" inets: prepare for release
2017-09-13Merge branch 'peterdmv/inets/http_uri_backwards_compat/OTP-14573' into maint-20Erlang/OTP
* peterdmv/inets/http_uri_backwards_compat/OTP-14573: inets: Restore old behavior when parsing "+"
2017-09-13inets: httpd - Add chunk handling of client dataIngela Anderton Andin
If the client uses PUT or POST to send a HTTP body the server currently will gather the whole body in memory before passing it on to the mod-callback. For legacy reasons it also converts the binary body to a list, this is really bad for memory usage! Add new option max_client_body_chunk to enable chunked handling of content-length requests. Also make it possible for chunked-encoded data to be propagated in portions to the mod-callback. Conflicts: lib/inets/test/httpd_SUITE.erl
2017-09-12inets: httpd - Add chunk handling of client dataIngela Anderton Andin
If the client uses PUT or POST to send a HTTP body the server currently will gather the whole body in memory before passing it on to the mod-callback. For legacy reasons it also converts the binary body to a list, this is really bad for memory usage! Add new option max_client_body_chunk to enable chunked handling of content-length requests. Also make it possible for chunked-encoded data to be propagated in portions to the mod-callback. Conflicts: lib/inets/test/httpd_SUITE.erl
2017-09-06inets: Restore old behavior when parsing "+"Péter Dimitrov
"+" is part of sub-delims according to RFC 3986 and shall not be converted to space.
2017-07-10Test case group for loggingVance Shipley
Added test cases for mod_disk_log covering repair scenarios.
2017-06-14Update copyright yearHans Nilsson
2017-05-23Fix httpc timeout for redirectsJohannes Weißl
Probably since 6153ba7 (OTP R13B04) the httpc timeout setting does not work for redirects (when autoredirect is true). With this patch a new timer is started for the new (redirected) requests. This means that a simple redirected request could return after 2*timeout milliseconds. This is the first part to fix https://bugs.erlang.org/browse/ERL-420
2017-05-15Merge pull request #1322 from tsloughter/binary_uri_encodeIngela Andin
Add unicode binary support to http_uri functions OTP-14404
2017-05-12Merge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION lib/inets/vsn.mk lib/ssl/vsn.mk
2017-05-08Merge pull request #1428 from martincox/masterIngela Andin
Error when a non-DST time is passed to the httpd_util:rfc1123_date/1 function OTP-14394
2017-05-05add binary string support to http_uri functionsTristan Sloughter
2017-05-04inets: add testcase to ftp_SUITEHans Nilsson
Try doing three consecutive chunked receive with some changed timing in the ending sequence
2017-05-04Update copyright yearRaimo Niskanen
2017-05-02Added test in httpd_basic_SUTE to validate the correct handling of non-DST datesMartin Cox
in the httpd_util:rfc1123_date/1 function.
2017-04-04Merge branch 'maint'Ingela Anderton Andin
Conflicts: OTP_VERSION erts/vsn.mk lib/crypto/c_src/crypto.c lib/crypto/src/crypto.erl lib/ssh/src/ssh.erl
2017-04-03inets: Do not test https/ftps if crypto can not startIngela Anderton Andin
2017-03-15inets/ftp: Testcase for repeating chunked fetchHans Nilsson
2017-03-01Fix typos: lenght -> lengthMyron Marston
2017-02-14Fixed typos in lib/inetsAndrew Dryga
2016-12-21inets: httpc - Prevent hanging user processIngela Anderton Andin
Input should be checked and httpc_handler process shall terminate gracefully on errors so that user process will in hang in gen_server:call.