aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2018-09-17Clean listener options after normal shutdownjuhlig
In addition to cleaning when ranch:stop_listener/1 is called, we also need to clean when we detect the supervisor is going away for normal reasons, because the supervisor might be in another application's supervision tree. Note that there might be a short delay in this case before the cleanup is done, due to using monitors for detection.
2018-08-13Export the function ranch:normalize_opts/1Loïc Hoguin
This can be used by Cowboy to better deal with the switch to maps for transport options and avoid the log message when using lists.
2018-08-01Remove R16 compatibilityLoïc Hoguin
Ranch is now made for and tested on 18+ only.
2018-08-01get_status now reports running when acceptors_sup is restartingj.uhlig
2018-08-01Fix ranch:wait_for_connections_loop/4 intervalLJZN
2018-07-31Correct the sendfile specs for the filenameLoïc Hoguin
2018-07-31Fix some whitespaceLoïc Hoguin
2018-07-18Add one manual per function for the ranch moduleLoïc Hoguin
Also review and update the ranch(7) manual and fix a few specs.
2018-07-05Hide cacerts from the listen error logLoïc Hoguin
It can be quite huge and hinders readability.
2018-07-05Add a logger transport optionLoïc Hoguin
I had to use the process dictionary to work around the current interface for one log call. You have been warned.
2018-07-04Return errors from Transport:handshakeLoïc Hoguin
The "normal" errors are still silenced when calling ranch:handshake.
2018-07-04Enable TLS upgrades via ranch_ssl:handshake/3Loïc Hoguin
Based on the work done by @juhlig.
2018-07-04Better distinguish between Ranch and socket optionsLoïc Hoguin
A map should now be used when specifying transport options that contain more than just socket options. It is still possible to pass a list of socket options directly as a convenience. The ack_timeout is renamed to handshake_timeout when specified as a map. This corresponds to the new function ranch:handshake/1,2 that will be favored in Ranch 2.0. Specifying Ranch-specific options via the proplist will no longer be possible starting from Ranch 2.0.
2018-07-02Mark ranch:accept_ack/1 as deprecatedLoïc Hoguin
2018-07-02Remove an old R16B01/02 workaroundLoïc Hoguin
Next release will only support 18+.
2018-07-02Introduce Transport:handshake/1,2j.uhlig
This commit deprecates Transport:accept_ack/1 in favor of a new forward-compatible function. Transport:handshake/1,2 will use ssl:handshake/2,3 from Ranch 2.0 onward.
2018-05-17Add a function to wait for number of connectionsj.uhlig
LH: Reworked validation style and added a -dialyzer attribute to acceptor_SUITE to silence expected errors.
2018-05-16Ensure listener restart with changed TransOptsj.uhlig
2018-05-16Add configurable restart intensity for ranch_supj.uhlig
2018-05-02Add suspend/resume of listeners and update of transport optionsj.uhlig
This allows graceful draining of connections, updating transport options on a running listener without having to drop connections and other similar scenarios. Note that when updating transport options the listener must be suspended which means that new connections will be rejected until the listener is resumed.
2018-04-10Ranch 1.5.01.5.0Loïc Hoguin
2018-04-10Prevent ranch_conns_sup from stopping on unexpected messagesLoïc Hoguin
2018-03-14Fix ranch:info/0 and ranch:procs/2 in embedded modej.uhlig
2018-01-22Added transport functions getopts/2, getstat/1 and getstat/2Jan Uhlig
2017-06-07Update Copyright to 20171.4.0Loïc Hoguin
2017-05-31Deprecated ranch:start_listener/6 and child_spec/6Loïc Hoguin
The NumAcceptors argument has been moved to transport option num_acceptor, which defaults to 10. The functions now take one less argument. The old functions are still here, though deprecated.
2017-01-31Format eacces errors in a more readable wayMichael Klishin
Amended with small whitespace changes and removing an unused clause.
2016-11-24Add ranch:info/0 and ranch:procs/2Loïc Hoguin
Provides detailed information about Ranch listeners
2016-11-24Don't attempt to start ssl anymoreLoïc Hoguin
Ranch now depends on SSL. Users embedding listeners in their supervision tree are expected to depend on SSL too if they are using it.
2016-11-24Update copyright yearLoïc Hoguin
2016-11-15Fix acceptors getting stuck because of socket errorsLoïc Hoguin
We always get the acceptor to resume. The child process will be killed, and the current code will ignore any EXIT message when that happens because the pid isn't in the process dictionary.
2016-11-15Track removed connectionsJames Fish
2016-11-15Improve error reportingAlexey Lebedeff
Simplify some return values, improve error messages for eaddrinuse and no_cert. Amended to add tests and simpler code. Also hides the contents of cert and key transport options, if any.
2016-11-15Add ssl to the list of dependenciesLoïc Hoguin
2016-11-08Allow listening with only SNI optionsLoïc Hoguin
Cert/certfile is no longer required if SNI options are provided.
2016-11-08Blacklist listen options instead of whitelistLoïc Hoguin
Dialyzer will still complain about unknown options, but at least users won't be stuck waiting for an upstream update.
2016-11-01Add SSL options for legacy software interoperabilityAlexandru Munteanu
2016-10-10Prevent a race condition when stopping listenersLoïc Hoguin
In some cases the ranch_server:get_connections_sup/1 call could still succeed depending on timing.
2016-10-10Ignore ets:delete/2 return value, always trueLoïc Hoguin
2016-10-09Make values for the TLS 1.2 signature_algorithms extension configurableVictor
Added in ssl-7.3.1 (OTP-13261). Documented in ssl-8.0.
2016-09-19Don't silently drop the accept rateMaas-Maarten Zeeman
2016-09-19Renaming NbAcceptors to NumAcceptorsferigis
2016-09-19Add ipv6_v6only listen optionMarc Worrell
2015-12-18Update to 1.2.11.2.1Loïc Hoguin
2015-12-18Use the default restart intensity in all supervisorsLoïc Hoguin
This reduces from 10 restarts in 10 seconds to 1 restart in 5 seconds. This is the new default in OTP 18, and it fits the kinds of processes that Ranch deals with: * Supervisors: default makes sense. * Acceptors: they crash on socket error. They'll probably crash again if the socket didn't change. * Connection processes: they are never restarted.
2015-12-18Fix node shutdown getting stuckLoïc Hoguin
When SSL is stopped before Ranch, the acceptors crash and Ranch tries to restart them. The problem is that the ranch_ssl:listen/1 call was trying to start the SSL application to make sure it works (an old artifact from when releases were not ubiquitous). Because the application controller is trying to shutdown Ranch, and Ranch tries to tell it to start an application, everything would get stuck. To avoid a breaking change, we move this in the start_listener call (or child_spec). Note that there are still logs when the SSL application is closed, because the acceptors crash. But at least we don't block node shutdown anymore. In Ranch 2.0, we will implement the proper fix which is to simply depend on the SSL application normally. Nowadays, it's not too difficult to build a release that excludes applications we don't want, although we should document that in the Ranch user guide.
2015-11-16Update to 1.2.01.2.0Loïc Hoguin
2015-10-16Update to 1.2.0-rc.11.2.0-rc.1Loïc Hoguin
2015-08-25Add an error message when Transport:listen failsLoïc Hoguin
Should be more user friendly.
2015-08-25Add ranch:get_addr/1Loïc Hoguin