]> granicus.if.org Git - ejabberd/commitdiff
Fix support to restart module with live options in WebAdmin
authorBadlop <badlop@process-one.net>
Wed, 6 Feb 2019 12:30:30 +0000 (13:30 +0100)
committerBadlop <badlop@process-one.net>
Wed, 6 Feb 2019 12:30:30 +0000 (13:30 +0100)
src/ejabberd_web_admin.erl

index 967af53ae4da4d1a8afa6ff6bd98ddda53752b4b..4c4501436407b4f81368a36f9d5c034da3cd4c5a 100644 (file)
@@ -2381,10 +2381,13 @@ node_modules_parse_query(Host, Node, Modules, Query) ->
                                {ok, Tokens, _} =
                                    erl_scan:string(binary_to_list(<<SOpts/binary, ".">>)),
                                {ok, Opts} = erl_parse:parse_term(Tokens),
+                               NewMods = lists:keystore(Module, 1, ejabberd_config:get_option(modules), {Module, Opts}),
                                ejabberd_cluster:call(Node, gen_mod, stop_module,
                                         [Host, Module]),
+                               ejabberd_cluster:call(Node, ejabberd_config, add_option,
+                                        [modules, NewMods]),
                                ejabberd_cluster:call(Node, gen_mod, start_module,
-                                        [Host, Module, Opts]),
+                                        [Host, Module]),
                                throw(submitted);
                            _ ->
                                case lists:keysearch(<<"stop", SModule/binary>>,