commit
e88c3f0761
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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).
|
||||||
|
|
||||||
|
|
|
@ -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},
|
||||||
|
|
Loading…
Reference in New Issue