diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2018-01-23 10:54:52 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2018-01-23 10:54:52 +0300 |
commit | ba2b650464bd3aae2b6b0f3a3177476360cb6d08 (patch) | |
tree | 5d55501f76edcdcfe145ba0c3367a54ea0314e5c /src/mod_block_strangers.erl | |
parent | Do not try to start ezlib application too frequently (diff) |
Introduce new gen_mod callback: mod_options/1
The callback is supposed to provide known options and their default
values, as long as the documentation. Passing default values into
get_mod functions is now deprecated: all defaults should be provided
by the Mod:mod_options/1 callback.
Diffstat (limited to 'src/mod_block_strangers.erl')
-rw-r--r-- | src/mod_block_strangers.erl | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl index 2d49e2e8e..d427ef9a6 100644 --- a/src/mod_block_strangers.erl +++ b/src/mod_block_strangers.erl @@ -30,7 +30,7 @@ %% API -export([start/2, stop/1, reload/3, - depends/2, mod_opt_type/1]). + depends/2, mod_opt_type/1, mod_options/1]). -export([filter_packet/1, filter_offline_msg/1]). @@ -82,7 +82,7 @@ filter_offline_msg({_Action, #message{} = Msg} = Acc) -> check_message(#message{from = From, to = To, lang = Lang} = Msg) -> LServer = To#jid.lserver, AllowLocalUsers = - gen_mod:get_module_opt(LServer, ?MODULE, allow_local_users, true), + gen_mod:get_module_opt(LServer, ?MODULE, allow_local_users), case (Msg#message.body == [] andalso Msg#message.subject == []) orelse ((AllowLocalUsers orelse From#jid.luser == <<"">>) andalso @@ -90,8 +90,8 @@ check_message(#message{from = From, to = To, lang = Lang} = Msg) -> false -> case check_subscription(From, To) of none -> - Drop = gen_mod:get_module_opt(LServer, ?MODULE, drop, true), - Log = gen_mod:get_module_opt(LServer, ?MODULE, log, false), + Drop = gen_mod:get_module_opt(LServer, ?MODULE, drop), + Log = gen_mod:get_module_opt(LServer, ?MODULE, log), if Log -> ?INFO_MSG("~s message from stranger ~s to ~s", @@ -129,7 +129,7 @@ check_subscription(From, To) -> none; {none, _} -> case gen_mod:get_module_opt(LocalServer, ?MODULE, - allow_transports, true) of + allow_transports) of true -> %% Check if the contact's server is in the roster case ejabberd_hooks:run_fold( @@ -182,5 +182,10 @@ mod_opt_type(log) -> mod_opt_type(allow_local_users) -> fun (B) when is_boolean(B) -> B end; mod_opt_type(allow_transports) -> - fun (B) when is_boolean(B) -> B end; -mod_opt_type(_) -> [drop, log, allow_local_users, allow_transports]. + fun (B) when is_boolean(B) -> B end. + +mod_options(_) -> + [{drop, true}, + {log, false}, + {allow_local_users, true}, + {allow_transports, true}]. |