aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
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
2015-08-22Print a warning when discarding an option on listener startupLoïc Hoguin
2015-08-20Ensure ranch_conns_sup doesn't crash on protocol start crashLoïc Hoguin
2015-08-20Add tests and more docs about separate supervisor/connectionLoïc Hoguin
2015-08-20Supervised and connection process can now be differentLoïc Hoguin
2015-08-20Filter out all unknown options, not just 2-tuple onesLoïc Hoguin
For example 'binary' was making things crash.
2015-08-18Welcome to 2015Loïc Hoguin
2015-08-18Update the list of allowed transport optionsLoïc Hoguin
We are now up to date with regard to transport options we should accept for the listening socket. Documentation of existing options has been updated with regard to recent changes in the OTP docs and type specifications.
2015-08-17Don't pass Ranch-specific options down to transportsLoïc Hoguin
Should fix Dialyzer issues. The options are now also documented in the Ranch module, and there's new ranch:opt(), ranch_tcp:opt() and ranch_ssl:opt() for use in third party code.
2015-03-06Handle Transport:controlling_socket/2 errors and close the socketLoïc Hoguin
2015-03-06Fix start_listener specLoïc Hoguin
2014-11-06Update Ranch to 1.1.01.1.0Loïc Hoguin
2014-11-06Update erlang.mkLoïc Hoguin
2014-11-02support ssl partial_chain featureAndre Graf
2014-09-11Merge branch 'add_transport_secure' of git://github.com/matrixise/ranchLoïc Hoguin
2014-09-11Merge branch 'ssl_closed' of git://github.com/yjh0502/ranchLoïc Hoguin
2014-09-11Don't report error on ssl {error, closed}Jihyun Yu
SSL socket might be closed on accept_ack, it happens quite often and it is not a problem, so don't report error on the case.
2014-09-02Add Transport:secure/0Stéphane Wirtel
Currently Ranch checks if a connection is secure by checking if its name is 'ssl'. This isn't a very modular solution, adding an API function that returns whether a connection is secure.