diff options
author | Loïc Hoguin <[email protected]> | 2013-04-30 03:21:55 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2013-04-30 03:21:55 +0200 |
commit | e0130d64c9f9fe50f86ccf6b0eaa9ac6a31fbf0b (patch) | |
tree | 21fe6b9c57fdb39469821bfede08c765feaa8f89 /src | |
parent | ae1d1846c6cfaa5f0ec7d34cd07ec8e856d1cfae (diff) | |
parent | 3cc134ef693e6c8184d82635faa195d1010603c7 (diff) | |
download | ranch-e0130d64c9f9fe50f86ccf6b0eaa9ac6a31fbf0b.tar.gz ranch-e0130d64c9f9fe50f86ccf6b0eaa9ac6a31fbf0b.tar.bz2 ranch-e0130d64c9f9fe50f86ccf6b0eaa9ac6a31fbf0b.zip |
Merge branch 'ssl_listen_nofile' of git://github.com/archaelus/ranch
Diffstat (limited to 'src')
-rw-r--r-- | src/ranch_ssl.erl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl index 3c2d6fb..6fb2ce8 100644 --- a/src/ranch_ssl.erl +++ b/src/ranch_ssl.erl @@ -88,25 +88,27 @@ messages() -> {ssl, ssl_closed, ssl_error}. %% ranch:get_port/1 instead. %% %% @see ssl:listen/2 --spec listen([{backlog, non_neg_integer()} | {cacertfile, string()} +-spec listen([{backlog, non_neg_integer()} | {cacerts, [Der::binary()]} + | {cacertfile, string()} | {cert, Der::binary()} | {certfile, string()} | {ciphers, [ssl:erl_cipher_suite()] | string()} | {fail_if_no_peer_cert, boolean()} - | {ip, inet:ip_address()} | {keyfile, string()} + | {ip, inet:ip_address()} | {key, Der::binary()} | {keyfile, string()} | {next_protocols_advertised, [binary()]} | {nodelay, boolean()} | {password, string()} | {port, inet:port_number()} | {verify, ssl:verify_type()}]) -> {ok, ssl:sslsocket()} | {error, atom()}. listen(Opts) -> ranch:require([crypto, public_key, ssl]), - {certfile, _} = lists:keyfind(certfile, 1, Opts), + true = lists:keymember(cert, 1, Opts) + orelse lists:keymember(certfile, 1, Opts), Opts2 = ranch:set_option_default(Opts, backlog, 1024), %% We set the port to 0 because it is given in the Opts directly. %% The port in the options takes precedence over the one in the %% first argument. ssl:listen(0, ranch:filter_options(Opts2, - [backlog, cacertfile, certfile, ciphers, fail_if_no_peer_cert, ip, - keyfile, next_protocols_advertised, nodelay, password, port, - raw, verify], + [backlog, cacerts, cacertfile, cert, certfile, ciphers, + fail_if_no_peer_cert, ip, key, keyfile, next_protocols_advertised, + nodelay, password, port, raw, verify], [binary, {active, false}, {packet, raw}, {reuseaddr, true}, {nodelay, true}])). |