aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2018-10-23Add ranch:recv_proxy_header/2Loïc Hoguin
This is the function that should be called regardless of TCP or TLS being used. The proper usage for this function is: {ok, ProxyInfo} = ranch:recv_proxy_header(Ref, Timeout), {ok, Socket} = ranch:handshake(Ref), ... Ranch takes care of everything else under the hood. Transports now need to have a Transport:recv_proxy_header/2 function. For ranch_ssl the function gets the port from the sslsocket() record and then calls ranch_tcp:recv_proxy_header/2 with it. This means that two undocumented features are currently used for this, but the interface is really nice so that's a sacrifice worth doing. Also worth noting is that OTP 22 should have an alternative for gen_tcp:unrecv/2 so the only real issue is about the sslsocket() record at the moment.
2018-10-10Fix a race condition on restart after listener_sup crashLoïc Hoguin
The race condition occurs when the restart is faster than the cleaning up. With this commit the restart will perform the cleanup if it was not done beforehand.
2018-10-10Remove a Dialyzer warning in a test protocolLoïc Hoguin
2018-10-10Add ranch_tcp:recv_proxy_header/2Loïc Hoguin
This uses the undocumented function gen_tcp:unrecv/2. Tests have been added for both gen_tcp and ssl connections, including sending data in the same first packet, at least for gen_tcp (ssl tests may or may not end up buffering some of the TLS handshake before the recv call, but there's no guarantees).
2018-08-01Use fn/1,2 instead of fn/{1,2} everywhereLoïc Hoguin
2018-08-01Fix a test failing in native modeLoïc Hoguin
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-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-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-23Fix intermittent test failure of misc_wait_for_connectionsj.uhlig
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-16Add nowarn_export_all to test suitesLoïc Hoguin
2018-05-16Ensure listener restart with changed TransOptsj.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-11-16Disable eacces tests on WindowsLoïc Hoguin
Windows apparently does not have privileged ports, anyone can open sockets on ports < 1024.
2017-11-16Disable tests that use tracing when +native is usedLoïc Hoguin
2017-06-07Update Copyright to 20171.4.0Loïc Hoguin
2017-05-31Remove a warning when building tests on recent OTPLoï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-25Small variable name tweak for better EnglishLoïc Hoguin
2016-11-24Fix a test error on FreeBSDLoïc Hoguin
2016-11-24Wait before calling ranch:info() in testsLoïc Hoguin
Otherwise gen_tcp doesn't have enough time to connect.
2016-11-24Add ranch:info/0 and ranch:procs/2Loïc Hoguin
Provides detailed information about Ranch listeners
2016-11-24Update copyright yearLoïc Hoguin
2016-11-15Add a test for double removal of connectionsLoïc Hoguin
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-08Check for the SSL version for SNI instead of MakefileLoïc Hoguin
2016-11-08Skip SNI tests on OTP<18 in CILoïc Hoguin
2016-11-08Allow listening with only SNI optionsLoïc Hoguin
Cert/certfile is no longer required if SNI options are provided.
2016-10-10Start tracing before starting the listener in testsLoïc Hoguin
2015-08-22Print a warning when discarding an option on listener startupLoïc Hoguin
2015-08-20More test suites refactoringLoïc Hoguin
They are now properly documented and the listener name is automatically specified thanks to a new ct_helper function.
2015-08-20Fix another intermittent test issueLoïc Hoguin
2015-08-20Hopefully fix an intermittent test failureLoï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-20Alphabetical order testsLoïc Hoguin
2015-08-17Beginnings of modernizing the test suiteLoïc Hoguin
Merging because I have to do other work but this is still a nice enough improvement.
2014-06-03Fix inherit listen options for accepted socketSlava Yurin
Order of options in listen is undocumented but significant. Now user option will replace default value if user set it.
2013-12-07Gracefully shutdown when stop_listener/1 is calledLoïc Hoguin
Implements the `shutdown` option as documented previously.
2013-11-26Add accept_ack on all transports and ack_timeout transport optionLoïc Hoguin
Doing this in the connection process allows us to free acceptors to start accepting more connections quicker, especially under load.
2013-08-16Add Transport:sendfile/4,/5James Fish
Adds offset based sendfile to transports. Same behaviour as file:sendfile/4,/5 except socket and file arguments are reversed and either a raw file or a filename can be used. sendfile/2,/4,/5 now compulsory callbacks in ranch_transport. ranch_tcp:sendfile/2 now defaults to a chunk_size of 8191 - the default for ranch_ssl:sendfile/2. The same default is used for both ranch_tcp:sendfile/4,5 and ranch_ssl:sendfile/4,5.
2013-06-20Add asn1 to the list of applications that need to be started for SSLLoïc Hoguin