aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2024-11-07 15:26:45 +0100
committerLoïc Hoguin <[email protected]>2025-01-14 14:32:15 +0100
commit555522553e3e2f38b178922f778b59c5d89fa069 (patch)
tree265379b1793c0c0ea51dd3835f9629e1989f865b
parent4bec14fbf04f4c38b22dcebbbac5ba7e60ff3860 (diff)
downloadranch-555522553e3e2f38b178922f778b59c5d89fa069.tar.gz
ranch-555522553e3e2f38b178922f778b59c5d89fa069.tar.bz2
ranch-555522553e3e2f38b178922f778b59c5d89fa069.zip
Fix ranch:recv_proxy_header/2 with OTP-28 (master)
-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 f769868..a40986c 100644
--- a/src/ranch_ssl.erl
+++ b/src/ranch_ssl.erl
@@ -174,7 +174,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()}.