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