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

openSUSE Build Service is sponsored by