|
@@ -48,6 +48,8 @@ start_listener(Ref, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts)
|
|
|
when is_integer(NbAcceptors) andalso is_atom(Transport)
|
|
|
andalso is_atom(Protocol) ->
|
|
|
_ = code:ensure_loaded(Transport),
|
|
|
+ %% @todo Remove in Ranch 2.0 and simply require ssl.
|
|
|
+ _ = ensure_ssl(Transport),
|
|
|
case erlang:function_exported(Transport, name, 0) of
|
|
|
false ->
|
|
|
{error, badarg};
|
|
@@ -90,10 +92,18 @@ stop_listener(Ref) ->
|
|
|
child_spec(Ref, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts)
|
|
|
when is_integer(NbAcceptors) andalso is_atom(Transport)
|
|
|
andalso is_atom(Protocol) ->
|
|
|
+ %% @todo Remove in Ranch 2.0 and simply require ssl.
|
|
|
+ _ = ensure_ssl(Transport),
|
|
|
{{ranch_listener_sup, Ref}, {ranch_listener_sup, start_link, [
|
|
|
Ref, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts
|
|
|
]}, permanent, infinity, supervisor, [ranch_listener_sup]}.
|
|
|
|
|
|
+%% @todo Remove in Ranch 2.0 and simply require ssl.
|
|
|
+ensure_ssl(ranch_ssl) ->
|
|
|
+ require([crypto, asn1, public_key, ssl]);
|
|
|
+ensure_ssl(_) ->
|
|
|
+ ok.
|
|
|
+
|
|
|
-spec accept_ack(ref()) -> ok.
|
|
|
accept_ack(Ref) ->
|
|
|
receive {shoot, Ref, Transport, Socket, AckTimeout} ->
|