diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ranch_ssl.erl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl index e1dd798..f9203e6 100644 --- a/src/ranch_ssl.erl +++ b/src/ranch_ssl.erl @@ -135,11 +135,14 @@ accept_ack(CSocket, Timeout) -> {ok, _} = handshake(CSocket, [], Timeout), ok. --spec handshake(ssl:sslsocket(), opts(), timeout()) -> {ok, ssl:sslsocket()}. +-spec handshake(inet:socket() | ssl:sslsocket(), opts(), timeout()) + -> {ok, ssl:sslsocket()}. handshake(CSocket, Opts, Timeout) -> case ssl:ssl_accept(CSocket, Opts, Timeout) of ok -> {ok, CSocket}; + {ok, NewSocket} -> + {ok, NewSocket}; %% Garbage was most likely sent to the socket, don't error out. {error, {tls_alert, _}} -> ok = close(CSocket), |