Age | Commit message (Collapse) | Author |
|
* ingela/inets/not-chunked-esi/OTP-14656:
inets: httpd - Fix broken handling of POST requests
|
|
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
|
|
|
|
This is tested by new erts check that will cause badarg when trying to
execute scripts via mod_cgi
|
|
* 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
|
|
* peterdmv/prepare_inets_release:
inets: prepare for release
|
|
* peterdmv/inets/http_uri_backwards_compat/OTP-14573:
inets: Restore old behavior when parsing "+"
|
|
Add host_name to hold the resolved name incorrectly provided as server
name before.
|
|
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
|
|
Add host_name to hold the resolved name incorrectly provided as server
name before.
|
|
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
|
|
"+" is part of sub-delims according to RFC 3986 and shall not be
converted to space.
|
|
|
|
HTTP server truncates existing logs
OTP-14530
|
|
An existing internal format disk_log will be repaired if possible.
If not possible a new log will be created. This is the behaviour
described in the documentation and code comments.
|
|
The status code provided by other modules was being
ignored and 200 (OK) was logged for all responses.
|
|
|
|
|
|
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
|
|
Add unicode binary support to http_uri functions
OTP-14404
|
|
Conflicts:
OTP_VERSION
lib/inets/vsn.mk
lib/ssl/vsn.mk
|
|
Error when a non-DST time is passed to the httpd_util:rfc1123_date/1 function
OTP-14394
|
|
|
|
|
|
|
|
causes a case-clause error, as the calender:local_time_to_universal_time_dst/1
can return an empty list, which is not currently handled.
When called with an invalid DST time:
1> httpd_util:rfc1123_date({{2017, 03, 26},{1, 0, 0}}).
** exception error: no case clause matching []
in function httpd_util:rfc1123_date/1 (httpd_util.erl, line 334)
To alleviate this, simply add a clause to handle the empty list and return the
original time in the expected rfc1123 format. This is the approach of other
modules which make use of the calender:local_time_to_universal_time_dst/1
function. The formatted date is then returned without error:
2> httpd_util:rfc1123_date({{2017, 03, 26},{1, 0, 0}}).
"Sun, 26 Mar 2017 01:00:00 GMT"
|
|
Conflicts:
OTP_VERSION
erts/vsn.mk
lib/crypto/c_src/crypto.c
lib/crypto/src/crypto.erl
lib/ssh/src/ssh.erl
|
|
into maint-19
* voltone/inets/httpc_redirect_normalize_host/PR-1381/OTP-14301:
Omit port from Host header on redirect to well-known port
|
|
ERL-316, as part of 19.3, adds the port number to the Host header
upon automatic redirection. The port number is included even if it
is a well-known port (80, 443). This is different from the
behaviour of most HTTP clients, as well as httpc's own for new
requests.
The added port number can lead to problems such as this one, where
the request signature assumes the client will not send the :443
suffix on redirection to an https URL:
https://github.com/nerves-project/nerves/issues/96
I was unable to add a test case, since that would require a server
on a well-known port, but I manually verified that the GitHub/S3
signing issue was indeed resolved with this patch.
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
OTP_VERSION
|
|
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/emulator/sys/unix/erl_unix_sys.h
erts/emulator/sys/unix/sys.c
erts/vsn.mk
lib/crypto/c_src/crypto.c
lib/crypto/doc/src/notes.xml
lib/crypto/vsn.mk
lib/inets/doc/src/notes.xml
lib/inets/vsn.mk
lib/ssh/doc/src/notes.xml
lib/ssh/src/ssh.app.src
lib/ssh/src/ssh_connection_handler.erl
lib/ssh/vsn.mk
otp_versions.table
|
|
|
|
|
|
|
|
Input should be checked and httpc_handler process shall terminate
gracefully on errors so that user process will in hang in gen_server:call.
|
|
Remove dead code and redundant debug macros. Better to use tracing for
debugging.
|
|
Correct chunk decoding by adding missing argument to match.
The symptom was that chunk decoding sometimes failed depending on
stream data arrival timing.
|
|
RFC2616 Sect 14.23: The Host request-header field specifies the
Internet host AND port number.
|
|
|
|
* ingela/inets/httpd-profiles/OTP-14082:
inets: Add Profile argument missed by commit fdfda2fab0921d409789174556582db28141448e
|
|
fdfda2fab0921d409789174556582db28141448e
|
|
|
|
* ingela/httpc/keep-alive-https/OTP-14041:
inets: httpc - do not send absolute URIs over TLS tunnels
|
|
|