aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_config.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_config.erl')
-rw-r--r--src/ejabberd_config.erl14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl
index 6146695c2..90bbed179 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,
@@ -1081,12 +1083,12 @@ validate_opts(#state{opts = Opts} = State, ModOpts) ->
?ERROR_MSG("Invalid value for "
"option '~s' (~s): ~s",
[Opt, Error,
- misc:format_val(Val)]),
+ misc:format_val({yaml, Val})]),
erlang:error(invalid_option);
- _:_ ->
+ _:R when R /= undef ->
?ERROR_MSG("Invalid value for "
"option '~s': ~s",
- [Opt, misc:format_val(Val)]),
+ [Opt, misc:format_val({yaml, Val})]),
erlang:error(invalid_option)
end;
_ ->