From c2d4a60decfc4ff2894c3792f32683e969e32f9a Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Sun, 24 May 2015 21:54:36 +0800 Subject: [PATCH] is_mod_enabled --- apps/emqttd/src/emqttd.erl | 5 ++++- apps/emqttd/src/emqttd_mod_rewrite.erl | 3 ++- apps/emqttd/src/emqttd_protocol.erl | 2 +- rel/files/emqttd.config | 6 +++--- rel/reltool.config | 7 +++---- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/emqttd/src/emqttd.erl b/apps/emqttd/src/emqttd.erl index cdbe0857c..30faa3e2d 100644 --- a/apps/emqttd/src/emqttd.erl +++ b/apps/emqttd/src/emqttd.erl @@ -32,7 +32,7 @@ open_listeners/1, close_listeners/1, load_all_plugins/0, unload_all_plugins/0, load_plugin/1, unload_plugin/1, - load_all_mods/0, + load_all_mods/0, is_mod_enabled/1, loaded_plugins/0, is_running/1]). @@ -211,6 +211,9 @@ load_all_mods() -> lager:info("load module ~s successfully", [Name]) end, Mods). +is_mod_enabled(Name) -> + env(modules, Name) =/= undefined. + %%------------------------------------------------------------------------------ %% @doc Is running? %% @end diff --git a/apps/emqttd/src/emqttd_mod_rewrite.erl b/apps/emqttd/src/emqttd_mod_rewrite.erl index bc7e4aa73..bba664af1 100644 --- a/apps/emqttd/src/emqttd_mod_rewrite.erl +++ b/apps/emqttd/src/emqttd_mod_rewrite.erl @@ -41,7 +41,8 @@ load(Opts) -> File = proplists:get_value(file, Opts), - Sections = compile(file:consult(File)), + {ok, Terms} = file:consult(File), + Sections = compile(Terms), emqttd_broker:hook(client_subscribe, {?MODULE, rewrite_subscribe}, {?MODULE, rewrite, [subscribe, Sections]}), emqttd_broker:hook(client_unsubscribe, {?MODULE, rewrite_unsubscribe}, diff --git a/apps/emqttd/src/emqttd_protocol.erl b/apps/emqttd/src/emqttd_protocol.erl index 0c9bf62a5..71c33bd72 100644 --- a/apps/emqttd/src/emqttd_protocol.erl +++ b/apps/emqttd/src/emqttd_protocol.erl @@ -137,7 +137,7 @@ handle(Packet = ?CONNECT_PACKET(Var), State = #proto_state{peername = Peername = %% Start keepalive start_keepalive(KeepAlive), %% Run hooks - emqttd_broker:run_hooks(client_connected, [{self(), ClientId1}]), + emqttd_broker:foreach_hooks(client_connected, [{self(), ClientId1}]), {?CONNACK_ACCEPT, State1#proto_state{clientid = ClientId1, session = Session, will_msg = willmsg(Var)}}; diff --git a/rel/files/emqttd.config b/rel/files/emqttd.config index f2ba8109d..716cd3421 100644 --- a/rel/files/emqttd.config +++ b/rel/files/emqttd.config @@ -46,14 +46,14 @@ %% Authentication with username, password %{username, []}, %% Authentication with clientid - %{clientid, [{password, no}, {file, "etc/conf/clients.config"}]}, + %{clientid, [{password, no}, {file, "etc/clients.config"}]}, %% Allow all {anonymous, []} ]}, %% ACL config {acl, [ %% Internal ACL module - {internal, [{file, "etc/conf/acl.config"}, {nomatch, allow}]} + {internal, [{file, "etc/acl.config"}, {nomatch, allow}]} ]} ]}, %% MQTT Protocol Options @@ -111,7 +111,7 @@ %% Subscribe topics automatically when client connected {autosub, [{"$Q/client/$c", 0}]}, %% Rewrite rules - {rewrite, [{file, "etc/conf/rewrite.config"}]} + {rewrite, [{file, "etc/rewrite.config"}]} ]}, %% Listeners diff --git a/rel/reltool.config b/rel/reltool.config index 6e122a77d..ac5d09e83 100644 --- a/rel/reltool.config +++ b/rel/reltool.config @@ -64,7 +64,6 @@ {mkdir, "log/"}, {mkdir, "etc/"}, {mkdir, "etc/ssl/"}, - {mkdir, "etc/conf/"}, {mkdir, "data/"}, {mkdir, "plugins/"}, {copy, "files/erl", "\{\{erts_vsn\}\}/bin/erl"}, @@ -77,9 +76,9 @@ {copy, "files/ssl/ssl.crt", "etc/ssl/ssl.crt"}, {copy, "files/ssl/ssl.key", "etc/ssl/ssl.key"}, {template, "files/emqttd.config", "etc/emqttd.config"}, - {template, "files/acl.config", "etc/conf/acl.config"}, - {template, "files/rewrite.config", "etc/conf/rewrite.config"}, - {template, "files/clients.config", "etc/conf/clients.config"}, + {template, "files/acl.config", "etc/acl.config"}, + {template, "files/rewrite.config", "etc/rewrite.config"}, + {template, "files/clients.config", "etc/clients.config"}, {template, "files/plugins.config", "etc/plugins.config"}, {template, "files/vm.args", "etc/vm.args"} ]}.