mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-20 17:27:00 +01:00
mod_pubsub: Fix merging of default node options
Use any option specified via 'default_node_config' by default, and take the remaining defaults from the node plugin handling the request. This is the documented behavior. Before this change, the code applied the plugin defaults only if no 'default_node_config' existed at all. And even this logic didn't work as intended, since 'default_node_config' yielded an empty list in case it wasn't configured, which resulted in plugin defaults never being applied.
This commit is contained in:
parent
b4399291ef
commit
ca54f81f58
@ -3367,9 +3367,10 @@ get_option(Options, Var, Def) ->
|
||||
-spec node_options(host(), binary()) -> [{atom(), any()}].
|
||||
node_options(Host, Type) ->
|
||||
DefaultOpts = node_plugin_options(Host, Type),
|
||||
ConfigOpts = config(Host, default_node_config),
|
||||
case lists:member(Type, config(Host, plugins)) of
|
||||
true ->
|
||||
config(Host, default_node_config, DefaultOpts);
|
||||
merge_config([ConfigOpts, DefaultOpts]);
|
||||
false -> DefaultOpts
|
||||
end.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user