From: Evgeniy Khramtsov Date: Mon, 27 Feb 2017 06:55:54 +0000 (+0300) Subject: Invalidate access permissions on configuration reload X-Git-Tag: 17.03~69 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d523357ba8ad0183a35f2054be4bdddd46344a4c;p=ejabberd Invalidate access permissions on configuration reload --- diff --git a/src/ejabberd_access_permissions.erl b/src/ejabberd_access_permissions.erl index f91c381b5..3c4322582 100644 --- a/src/ejabberd_access_permissions.erl +++ b/src/ejabberd_access_permissions.erl @@ -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 diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl index 9564dd120..39262f0e4 100644 --- a/src/ejabberd_admin.erl +++ b/src/ejabberd_admin.erl @@ -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