From 6c27c83dc3f2ab52151419a962ac590eecf0892e Mon Sep 17 00:00:00 2001 From: lafirest Date: Wed, 15 Sep 2021 11:12:16 +0800 Subject: [PATCH] fix(emqx_schema): support get ip address by host name --- apps/emqx/src/emqx_schema.erl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index ed3f64d0e..7ff517c31 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -1093,9 +1093,18 @@ to_bar_separated_list(Str) -> to_ip_port(Str) -> case string:tokens(Str, ":") of [Ip, Port] -> + PortVal = list_to_integer(Port), case inet:parse_address(Ip) of - {ok, R} -> {ok, {R, list_to_integer(Port)}}; - _ -> {error, Str} + {ok, R} -> + {ok, {R, PortVal}}; + _ -> + %% check is a rfc1035's hostname + case inet_parse:domain(Ip) of + true -> + {ok, {Ip, PortVal}}; + _ -> + {error, Str} + end end; _ -> {error, Str} end.