summaryrefslogtreecommitdiff
path: root/src/ejabberd_config.erl
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2018-12-06 15:12:23 +0100
committerPaweł Chmielowski <pchmielowski@process-one.net>2018-12-06 15:12:23 +0100
commit3b1c0dc27f0cfd5c30d165a7095d75e2dffedc9e (patch)
tree1fa40b9813d1156d9271287271988505e5bb2ba4 /src/ejabberd_config.erl
parentBump version of xmpp in mix.lock (diff)
Normalize hostname when processing host_config
Diffstat (limited to 'src/ejabberd_config.erl')
-rw-r--r--src/ejabberd_config.erl8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl
index 48fdcefb..90bbed17 100644
--- a/src/ejabberd_config.erl
+++ b/src/ejabberd_config.erl
@@ -500,7 +500,8 @@ get_config_option_key(Name, Val) ->
maps_to_lists(IMap) ->
maps:fold(fun(Name, Map, Res) when Name == host_config orelse Name == append_host_config ->
- [{Name, [{Host, maps_to_lists(SMap)} || {Host,SMap} <- maps:values(Map)]} | Res];
+ [{Name, [{jid:nameprep(Host), maps_to_lists(SMap)} ||
+ {Host,SMap} <- maps:values(Map)]} | Res];
(Name, Map, Res) when is_map(Map) ->
[{Name, maps:values(Map)} | Res];
(Name, Val, Res) ->
@@ -513,8 +514,9 @@ merge_configs(Terms, ResMap) ->
New = lists:foldl(fun(SVal, OMap) ->
NVal = if Name == host_config orelse Name == append_host_config ->
{Host, Opts} = SVal,
- {_, SubMap} = maps:get(Host, OMap, {Host, #{}}),
- {Host, merge_configs(Opts, SubMap)};
+ HostNP = jid:nameprep(Host),
+ {_, SubMap} = maps:get(HostNP, OMap, {HostNP, #{}}),
+ {HostNP, merge_configs(Opts, SubMap)};
true ->
SVal
end,