From d915df35f8b291193774d627d89f1debf60b95c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 7 Nov 2024 15:26:45 +0100 Subject: Fix ranch:recv_proxy_header/2 with OTP-28 (master) --- src/ranch_ssl.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') 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()}. -- cgit v1.2.3