]> granicus.if.org Git - ejabberd/commitdiff
Invalidate access permissions on configuration reload
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Mon, 27 Feb 2017 06:55:54 +0000 (09:55 +0300)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Mon, 27 Feb 2017 06:55:54 +0000 (09:55 +0300)
src/ejabberd_access_permissions.erl
src/ejabberd_admin.erl

index f91c381b5f38629e587aca2a5d2c9b7297d5cf42..3c4322582d251f0de2a7e2c5042df786529d63f5 100644 (file)
@@ -109,6 +109,7 @@ start_link() ->
     {ok, State :: #state{}} | {ok, State :: #state{}, timeout() | hibernate} |
     {stop, Reason :: term()} | ignore.
 init([]) ->
+    ejabberd_hooks:add(config_reloaded, ?MODULE, invalidate, 90),
     {ok, #state{}}.
 
 %%--------------------------------------------------------------------
@@ -209,7 +210,7 @@ handle_info(_Info, State) ->
 -spec terminate(Reason :: (normal | shutdown | {shutdown, term()} | term()),
                State :: #state{}) -> term().
 terminate(_Reason, _State) ->
-    ok.
+    ejabberd_hooks:delete(config_reloaded, ?MODULE, invalidate, 90).
 
 %%--------------------------------------------------------------------
 %% @private
index 9564dd12060a0454c2547eb17ca48b4cef4d9d30..39262f0e49dc42dc3eff0c2dabc6a3bc130c20ca 100644 (file)
@@ -497,10 +497,7 @@ registered_vhosts() ->
        ?MYHOSTS.
 
 reload_config() ->
-    ejabberd_config:reload_file(),
-    %% TODO: Move this to ejabberd_access_permissions.erl and put on hook
-    %% This requires ejabberd_access_permissions to start after ejabberd_hooks
-    ejabberd_access_permissions:invalidate().
+    ejabberd_config:reload_file().
 
 %%%
 %%% Cluster management