File 0914-kernel-Handle-loopback-address-in-a-sockaddr-arg.patch of Package erlang
From 2ce5e6473daff9718057ab71386e1f976c044c52 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Tue, 25 Mar 2025 18:42:37 +0100
Subject: [PATCH 1/3] [kernel] Handle 'loopback' address in a sockaddr arg
Handle a sockaddr() with a field value for 'addr' of 'loopback'
in the connect function.
OTP-19560
---
lib/kernel/src/inet_tcp.erl | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/kernel/src/inet_tcp.erl b/lib/kernel/src/inet_tcp.erl
index 29b15ddbea..99d151539b 100644
--- a/lib/kernel/src/inet_tcp.erl
+++ b/lib/kernel/src/inet_tcp.erl
@@ -119,6 +119,13 @@ connect(Address, Port, Opts, Timeout)
do_connect(#{addr := {A,B,C,D},
port := Port} = SockAddr, Opts, Time)
when ?ip(A,B,C,D) andalso ?port(Port) ->
+ do_connect2(SockAddr, Opts, Time);
+do_connect(#{addr := Addr,
+ port := Port} = SockAddr, Opts, Time)
+ when (Addr =:= loopback) andalso ?port(Port) ->
+ do_connect2(SockAddr, Opts, Time).
+
+do_connect2(SockAddr, Opts, Time) ->
case inet:connect_options(Opts, ?MODULE) of
{error, Reason} -> exit(Reason);
{ok,
--
2.43.0