Merge pull request #912 from emqtt/emq20

Support 'acl reload' CLI
This commit is contained in:
Feng Lee 2017-02-18 15:11:45 +08:00 committed by GitHub
commit e88c3f0761
5 changed files with 13 additions and 9 deletions

View File

@ -21,6 +21,7 @@
-author("Feng Lee <feng@emqtt.io>"). -author("Feng Lee <feng@emqtt.io>").
-include("emqttd.hrl"). -include("emqttd.hrl").
-include("emqttd_cli.hrl").
-export([all_rules/0]). -export([all_rules/0]).
@ -114,7 +115,7 @@ reload_acl(#state{config = undefined}) ->
reload_acl(State) -> reload_acl(State) ->
case catch load_rules_from_file(State) of case catch load_rules_from_file(State) of
{'EXIT', Error} -> {error, Error}; {'EXIT', Error} -> {error, Error};
true -> ok true -> ?PRINT("~s~n", ["reload acl_internal successfully"]), ok
end. end.
%% @doc ACL Module Description %% @doc ACL Module Description

View File

@ -32,7 +32,7 @@
-export([status/1, broker/1, cluster/1, users/1, clients/1, sessions/1, -export([status/1, broker/1, cluster/1, users/1, clients/1, sessions/1,
routes/1, topics/1, subscriptions/1, plugins/1, bridges/1, routes/1, topics/1, subscriptions/1, plugins/1, bridges/1,
listeners/1, vm/1, mnesia/1, trace/1]). listeners/1, vm/1, mnesia/1, trace/1, acl/1]).
-define(PROC_INFOKEYS, [status, -define(PROC_INFOKEYS, [status,
memory, memory,
@ -151,6 +151,9 @@ cluster(_) ->
users(Args) -> emq_auth_username:cli(Args). users(Args) -> emq_auth_username:cli(Args).
acl(["reload"]) -> emqttd_access_control:reload_acl();
acl(_) -> ?USAGE([{"acl reload", "reload etc/acl.conf"}]).
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
%% @doc Query clients %% @doc Query clients

View File

@ -65,7 +65,7 @@ start_link(Conn, Env) ->
{ok, proc_lib:spawn_link(?MODULE, init, [[Conn, Env]])}. {ok, proc_lib:spawn_link(?MODULE, init, [[Conn, Env]])}.
info(CPid) -> info(CPid) ->
gen_server:call(CPid, info, infinity). gen_server:call(CPid, info).
stats(CPid) -> stats(CPid) ->
gen_server:call(CPid, stats). gen_server:call(CPid, stats).

View File

@ -371,21 +371,21 @@ add_delete_hook(_) ->
{error, already_hooked} = emqttd:hook(test_hook, fun ?MODULE:hook_fun2/1, []), {error, already_hooked} = emqttd:hook(test_hook, fun ?MODULE:hook_fun2/1, []),
Callbacks = [{callback, fun ?MODULE:hook_fun1/1, [], 0}, Callbacks = [{callback, fun ?MODULE:hook_fun1/1, [], 0},
{callback, fun ?MODULE:hook_fun2/1, [], 0}], {callback, fun ?MODULE:hook_fun2/1, [], 0}],
Callbacks = emqttd_hook:lookup(test_hook), Callbacks = emqttd_hooks:lookup(test_hook),
emqttd:unhook(test_hook, fun ?MODULE:hook_fun1/1), emqttd:unhook(test_hook, fun ?MODULE:hook_fun1/1),
emqttd:unhook(test_hook, fun ?MODULE:hook_fun2/1), emqttd:unhook(test_hook, fun ?MODULE:hook_fun2/1),
ok = emqttd:unhook(test_hook, fun ?MODULE:hook_fun2/1), ok = emqttd:unhook(test_hook, fun ?MODULE:hook_fun2/1),
{error, not_found} = emqttd:unhook(test_hook1, fun ?MODULE:hook_fun2/1), {error, not_found} = emqttd:unhook(test_hook1, fun ?MODULE:hook_fun2/1),
[] = emqttd_hook:lookup(test_hook), [] = emqttd_hooks:lookup(test_hook),
emqttd:hook(emqttd_hook, fun ?MODULE:hook_fun1/1, [], 9), emqttd:hook(emqttd_hook, fun ?MODULE:hook_fun1/1, [], 9),
emqttd:hook(emqttd_hook, fun ?MODULE:hook_fun2/1, [], 8), emqttd:hook(emqttd_hook, fun ?MODULE:hook_fun2/1, [], 8),
Callbacks2 = [{callback, fun ?MODULE:hook_fun2/1, [], 8}, Callbacks2 = [{callback, fun ?MODULE:hook_fun2/1, [], 8},
{callback, fun ?MODULE:hook_fun1/1, [], 9}], {callback, fun ?MODULE:hook_fun1/1, [], 9}],
Callbacks2 = emqttd_hook:lookup(emqttd_hook), Callbacks2 = emqttd_hooks:lookup(emqttd_hook),
emqttd:unhook(emqttd_hook, fun ?MODULE:hook_fun1/1), emqttd:unhook(emqttd_hook, fun ?MODULE:hook_fun1/1),
emqttd:unhook(emqttd_hook, fun ?MODULE:hook_fun2/1), emqttd:unhook(emqttd_hook, fun ?MODULE:hook_fun2/1),
[] = emqttd_hook:lookup(emqttd_hook). [] = emqttd_hooks:lookup(emqttd_hook).
run_hooks(_) -> run_hooks(_) ->
emqttd:hook(foldl_hook, fun ?MODULE:hook_fun3/4, [init]), emqttd:hook(foldl_hook, fun ?MODULE:hook_fun3/4, [init]),
@ -514,8 +514,8 @@ cluster_remove2(_) ->
ok = emqttd_cluster:join(Z), ok = emqttd_cluster:join(Z),
Node = node(), Node = node(),
[Z, Node] = emqttd_mnesia:running_nodes(), [Z, Node] = emqttd_mnesia:running_nodes(),
ok = rpc:call(Z, emqttd_mnesia, ensure_stopped, []),
ok = emqttd_cluster:remove(Z), ok = emqttd_cluster:remove(Z),
ok = rpc:call(Z, emqttd_mnesia, ensure_stopped, []),
[Node] = emqttd_mnesia:running_nodes(), [Node] = emqttd_mnesia:running_nodes(),
slave:stop(Z). slave:stop(Z).

View File

@ -71,7 +71,7 @@ guid_base62(_) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
opts_merge(_) -> opts_merge(_) ->
Opts = emqttd_opts:merge(?SOCKOPTS, [raw, Opts = emqttd_misc:merge_opts(?SOCKOPTS, [raw,
binary, binary,
{backlog, 1024}, {backlog, 1024},
{nodelay, false}, {nodelay, false},