Age | Commit message (Collapse) | Author |
|
* scrapinghub/sni_with_connect:
inets: SNI to be passed with requests through CONNECT
OTP-12985
|
|
|
|
or fails
Also remove legacy debug macros and add help function httpd_util:error_log/2
to avoid code duplication.
|
|
|
|
httpc should fill SNI extenstion for HTTPS requests sent through
CONNECT tunnel to provide proper access to websites using SNI
|
|
|
|
* weisslj/fix-inets-crash-on-invalid-chunk-size:
inets: Terminate really gracefully on bad chunk
OTP-13117
|
|
|
|
Without this fix, httpc:request/1 crashes the httpc_handler when an
invalid chunked length header is encountered (since 77acb47):
=ERROR REPORT==== 14-Nov-2015::17:19:30 ===
** Generic server <0.651.0> terminating
** Last message in was {tcp,#Port<0.5714>,
<<"HTTP/1.1 200 ok\r\nTransfer-Encoding:chunked\r\n\r\nåäö\r\n">>}
** When Server state == {state,
[...]
** Reason for termination ==
** {bad_return_value,{error,{chunk_size,"åäö"}}}
|
|
Before 77acb47 http:request/1 could parse server responses with
whitespace after the HTTP chunk size (some embedded legacy devices still
do this).
This patch restores this functionality.
|
|
Conflicts:
OTP_VERSION
|
|
|
|
|
|
|
|
|
|
ssl:start/[1,2] is a shell convenience function and should not be called
by other applications.
inet_db:start is an internal function that we should not have to call.
This was done for legacy reasons and is no longer needed.
|
|
Remove point less instructions looking for return values, that
in most cases no long exist, of which the result would anyhow be ignored
|
|
Was already possible for HTTPS. Also remove use of legacy option
inet6fb4. IPv6 standard moved away from beeing able to fallback to IPv4
so this option makes little sense, will use inet (Ipv4) as default instead of
inet6fb4.
|
|
|
|
The chunked length header should be checked as well as
headers present in the chunk trailer part, ignored extensions are counted
as header bytes. Also the decode trailer function will stop as soon
as the header size is exceed, when that happens.
|
|
|
|
Also use integer_to_list/2 and list_to_integer/2 instead of reimplementing it.
|
|
httpc should work properly if streaming option {self, once} is
chosen and the corresponding response does not get streamed.
|
|
httpc_handler should respond with correct and complete
responses seeing non-streamed status codes i.e. codes
other than 200 or 206.
|
|
|
|
* scrapinghub/http_uri_scheme_validation:
inets: scheme validation fun for http_uri
OTP-13071
|
|
http_uri:parse_scheme function should allow checking
scheme of URIs otherwise it could be easily abused to
reach limit number of atoms in the VM
|
|
httpc should not fail when response contains (now deprecated)
multiline HTTP headers constructed with obs-folds. And as
RFC7230 specifies user agent should replace obs-folds with
spaces.
|
|
A record field type has been modified due to commit 8ce35b2:
"Take out automatic insertion of 'undefined' from typed record fields".
|
|
|
|
* ia/inets/string-not-atom/OTP-13022:
inets: Use ?MODULE_STRING instead of ?MODULE as argument should be a string
|
|
|
|
|
|
This enables the user to provide default HTTP header values for headers
that should always be sent. Note that these values
may override built in defaults.
|
|
Add this now as 18 allows optional callback specs
|
|
|
|
|
|
|
|
* ia/pr/800/OTP-12984:
inets: Forward connection errors with https proxy
|
|
* ia/inets/format_status/OTP-12976:
inets: httpd - Add format_status/2 to httpd_request_handler
|
|
* ia/pr/813/OTP-12975:
Correct conversion from seconds to milliseconds
|
|
* ia/tmanevik_inets/doc:
inets: Fix broken links
inets: Fix copy paste error
inets: ftp - Remove information about alternative solutions
inets: httpd - Add links and small corrections
inets: httpc - Clarify/correct documentation
inets: Align with alphabetical order and clean local anchor handling
inets: ftp - add links and fix typos
inets: Use ASSCI '
Inets Reference Manual
Inets User Guide
inets: sorted functions alphabetically
inets: Remove documentation of legacy API
|
|
On Linux systems a socket may be opened pre starting Erlang and
then passed to Erlangs ftpd or httpd daemon. This is useful as the wrap program
can open a privileged port and Erlang does not have to be run as root.
The test program will only open a random port, but it exercises the code
so that the feature will remain intact.
|
|
Also remove all form of io:formats that can easily be achieved
by tracing.
|
|
|
|
|
|
|
|
httpc should return meaningful error reason disregarding whether
it is being used with http proxy or not
|
|
|
|
|