File 0915-kernel-Handle-loopback-address-in-a-sockaddr-arg.patch of Package erlang

From e132d801261bae12828d72f87437fe2cd63b9bb8 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Tue, 25 Mar 2025 18:44:54 +0100
Subject: [PATCH 2/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/inet6_tcp.erl | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/kernel/src/inet6_tcp.erl b/lib/kernel/src/inet6_tcp.erl
index c533c1ccb3..147fecbac5 100644
--- a/lib/kernel/src/inet6_tcp.erl
+++ b/lib/kernel/src/inet6_tcp.erl
@@ -122,6 +122,13 @@ connect(Address, Port, Opts, Timeout)
 do_connect(#{addr := {A,B,C,D,E,F,G,H},
              port := Port} = SockAddr, Opts, Time)
   when ?ip6(A,B,C,D,E,F,G,H) 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