aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2024-11-07 15:26:45 +0100
committerLoïc Hoguin <[email protected]>2024-11-07 15:26:45 +0100
commitd915df35f8b291193774d627d89f1debf60b95c8 (patch)
treef4a46ee47b87467f7ca26b8301b31d9f2552c54d /src
parent3a1ef19cd3b980d2c24b8fd4334922941ac66373 (diff)
downloadranch-d915df35f8b291193774d627d89f1debf60b95c8.tar.gz
ranch-d915df35f8b291193774d627d89f1debf60b95c8.tar.bz2
ranch-d915df35f8b291193774d627d89f1debf60b95c8.zip
Fix ranch:recv_proxy_header/2 with OTP-28 (master)
Diffstat (limited to 'src')
-rw-r--r--src/ranch_ssl.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl
index 428f91c..7e6b9d8 100644
--- a/src/ranch_ssl.erl
+++ b/src/ranch_ssl.erl
@@ -243,7 +243,12 @@ recv_proxy_header(SSLSocket, Timeout) ->
%% nothing prevents us from retrieving the TCP socket and using
%% it. Since it's an undocumented interface this may however
%% make forward-compatibility more difficult.
- {sslsocket, {gen_tcp, TCPSocket, _, _}, _} = SSLSocket,
+ TCPSocket = case element(2, SSLSocket) of
+ %% Before OTP-28.
+ {gen_tcp, TCPSocket0, _, _} -> TCPSocket0;
+ %% OTP-28+.
+ TCPSocket0 -> TCPSocket0
+ end,
ranch_tcp:recv_proxy_header(TCPSocket, Timeout).
-spec send(ssl:sslsocket(), iodata()) -> ok | {error, atom()}.