aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src
AgeCommit message (Collapse)Author
2015-11-27inets: Remove exit that generates an incorrect internal server errorIngela Anderton Andin
2015-11-27inets: SNI to be passed with requests through CONNECTKirilll Zaborsky
httpc should fill SNI extenstion for HTTPS requests sent through CONNECT tunnel to provide proper access to websites using SNI
2015-11-20Merge branch 'maint'Zandra
2015-11-20Merge branch 'weisslj/fix-inets-crash-on-invalid-chunk-size' into maintZandra
* weisslj/fix-inets-crash-on-invalid-chunk-size: inets: Terminate really gracefully on bad chunk OTP-13117
2015-11-20Merge branch 'maint'Zandra
2015-11-15inets: Terminate really gracefully on bad chunkJohannes Weißl
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,"åäö"}}}
2015-11-15inets: Allow whitespace after HTTP chunk againJohannes Weißl
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.
2015-11-13Merge branch 'maint'Zandra
Conflicts: OTP_VERSION
2015-11-13Merge branch 'maint-18' into maintZandra
2015-11-11Merge branch 'maint'Henrik Nord
2015-11-11inets: Do not use internal or shell convenience functions in applicationIngela Anderton Andin
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.
2015-11-11Inets: Clean up codeIngela Anderton Andin
Remove point less instructions looking for return values, that in most cases no long exist, of which the result would anyhow be ignored
2015-11-11inets: httpd - Add possibility to specify socket options for HTTPIngela Anderton Andin
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.
2015-11-11inets: Remove debug macros that mimic call traceIngela Anderton Andin
2015-11-11inets: Improve max header size handlingIngela Anderton Andin
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.
2015-11-11inets: Terminate gracfully when an invalid chunked length header is encounteredIngela Anderton Andin
Also use integer_to_list/2 and list_to_integer/2 instead of reimplementing it.
2015-10-27inets: fix {self, once} for not streamed requestKirilll Zaborsky
httpc should work properly if streaming option {self, once} is chosen and the corresponding response does not get streamed.
2015-10-27inets: send correct nonstreamed response with streamingKirilll Zaborsky
httpc_handler should respond with correct and complete responses seeing non-streamed status codes i.e. codes other than 200 or 206.
2015-10-27Merge branch 'maint'Henrik Nord
2015-10-27Merge branch 'scrapinghub/http_uri_scheme_validation' into maintHenrik Nord
* scrapinghub/http_uri_scheme_validation: inets: scheme validation fun for http_uri OTP-13071
2015-10-13inets: scheme validation fun for http_uriKirilll Zaborsky
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
2015-10-13inets: fix suppport of HTTP headers with obs-foldKirilll Zaborsky
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.
2015-10-09Update InetsHans Bolinder
A record field type has been modified due to commit 8ce35b2: "Take out automatic insertion of 'undefined' from typed record fields".
2015-10-05Merge branch 'ia/inets/string-not-atom/OTP-13022' into maint-18Erlang/OTP
* ia/inets/string-not-atom/OTP-13022: inets: Use ?MODULE_STRING instead of ?MODULE as argument should be a string
2015-10-01inets: Use ?MODULE_STRING instead of ?MODULE as argument should be a stringIngela Anderton Andin
2015-09-30inets: Add new customize function response_default_headersIngela Anderton Andin
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.
2015-09-30inets: Add behaviour httpd_custom_apiIngela Anderton Andin
Add this now as 18 allows optional callback specs
2015-09-17inets: Prepare for releaseIngela Anderton Andin
2015-09-15Merge branch 'ia/pr/800/OTP-12984' into maintIngela Anderton Andin
* ia/pr/800/OTP-12984: inets: Forward connection errors with https proxy
2015-09-10Merge branch 'ia/inets/format_status/OTP-12976' into maintIngela Anderton Andin
* ia/inets/format_status/OTP-12976: inets: httpd - Add format_status/2 to httpd_request_handler
2015-09-10Merge branch 'ia/pr/813/OTP-12975' into maintIngela Anderton Andin
* ia/pr/813/OTP-12975: Correct conversion from seconds to milliseconds
2015-09-10inets: tftpd - Mend broken fd optionIngela Anderton Andin
2015-09-10inets: httpd - Mend broken fd optionIngela Anderton Andin
2015-09-09Correct conversion from seconds to millisecondsJimmy Zöger
2015-09-08inets: Forward connection errors with https proxyKirilll Zaborsky
httpc should return meaningful error reason disregarding whether it is being used with http proxy or not
2015-09-03inets: httpd - Add format_status/2 to httpd_request_handlerIngela Anderton Andin
Avoid printing sensitive information in supervisor logs
2015-07-16inets: cancel for handler with no requestsKirilll Zaborsky
httpc_handler should react properly to cancel requests even when the request to be cancelled was already finished but httpc_manager did not get notified about that yet
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-16inets: Fix race condition in httpcIngela Anderton Andin
If the socket is closed by the peer do not try to close it again. Solves OTP-11845
2015-06-16inets: Remove use of httpd_conf:clean/1 and httpd_conf:custom_clean/3Ingela Anderton Andin
Internal use of the function white_space_clean/1 could probably be done in a much better way using re-module and removing a lot of legacy code. But we will have to do this later, due to lack of time, we want to make this commit as little work as possible.
2015-06-15inets: Remove use of httpd_conf:make_integer/1Ingela Anderton Andin
2015-06-15inets: Deprecate functions in util module httpd_conf.erlIngela Anderton Andin
These functions should not be used, there exists better functions in the standard libraries.
2015-06-09inets: set proxy address for requests from keep-alive queueKirilll Zaborsky
httpc_handler should set correct address of the connected host and not ignore proxy option of the profile while sending requests taken out of keep-alive queue
2015-06-08Merge branch 'ia/inets/name-spaces/OTP-12674'Ingela Anderton Andin
* ia/inets/name-spaces/OTP-12674: inets: Modernize code inets: Add profile option
2015-06-05Merge branch 'scrapinghub/proper_stop_on_handling_keepalive_queue'Zandra Hird
* scrapinghub/proper_stop_on_handling_keepalive_queue: inets: proper stop for httpc_handler K-A queue failure OTP-12803
2015-06-04inets: Modernize codeIngela Anderton Andin
* Remove debug macros that mimics call trace. * Remove comments that does not add value. * Structure code
2015-06-04inets: Add profile optionIngela Anderton Andin
To enable the HTTP server to run in a virtualized environment, where there can be more that one server that has the same bind_address and port, we add a new option profile. The profile name will be used in concatenation with bind_address and port to identify the HTTP server instance. The name profile was chosen as there is a similar concept in the HTTP client where profile names can be used to instantiate client configurations.
2015-06-02Merge branch 'maint'Henrik Nord
Conflicts: OTP_VERSION lib/inets/test/httpd_SUITE.erl lib/inets/vsn.mk lib/ssh/src/ssh.erl lib/ssh/vsn.mk lib/ssl/src/ssl.appup.src lib/ssl/vsn.mk
2015-06-01inets: proper stop for httpc_handler K-A queue failureKirilll Zaborsky
httpc_handler should respond with proper {stop, Reason, State} message when sending request from keep-alive queue fails
2015-05-29inets: Add customize optionIngela Anderton Andin
Many HTTP headers are optional, and it could be desirable for the server to filter and maybe even alter them without replacing the mod_* modules that generate/process them. Add new behaviour httpd_custom_api with default implementation in httpd_custom.erl. Add behaviour module in 18 as then we can specify optional callbacks.