From 89a89441d0dab3e451fcadec5f2151b4d5ca794f Mon Sep 17 00:00:00 2001 From: John-Mark Bell Date: Tue, 23 Mar 2010 12:10:00 +0000 Subject: Support IPv6 addresses in long host names When distributing over IPv4, node@ (e.g. node@127.0.0.1) works correctly. Permit node@ (e.g. node@::1) when distributing over IPv6. --- lib/kernel/src/inet6_tcp_dist.erl | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/kernel/src/inet6_tcp_dist.erl b/lib/kernel/src/inet6_tcp_dist.erl index 097cadf8d4..9faee74eda 100644 --- a/lib/kernel/src/inet6_tcp_dist.erl +++ b/lib/kernel/src/inet6_tcp_dist.erl @@ -302,12 +302,17 @@ splitnode(Node, LongOrShortNames) -> Host = lists:append(Tail), case split_node(Host, $., []) of [_] when LongOrShortNames =:= longnames -> - error_msg("** System running to use " - "fully qualified " - "hostnames **~n" - "** Hostname ~s is illegal **~n", - [Host]), - ?shutdown(Node); + case inet_parse:ipv6strict_address(Host) of + {ok, _} -> + [Name, Host]; + _ -> + error_msg("** System running to use " + "fully qualified " + "hostnames **~n" + "** Hostname ~s is illegal **~n", + [Host]), + ?shutdown(Node) + end; L when length(L) > 1, LongOrShortNames =:= shortnames -> error_msg("** System NOT running to use fully qualified " "hostnames **~n" -- cgit v1.2.3