From a02cff0e780bb735531594c4ece81e8628f79782 Mon Sep 17 00:00:00 2001 From: Evgeny Khramtsov Date: Fri, 14 Jun 2019 12:33:26 +0300 Subject: Use new configuration validator --- src/mod_block_strangers.erl | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'src/mod_block_strangers.erl') diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl index 486bea7fd..80504c9fb 100644 --- a/src/mod_block_strangers.erl +++ b/src/mod_block_strangers.erl @@ -90,8 +90,8 @@ filter_subscription(Acc, #presence{meta = #{captcha := passed}}) -> filter_subscription(Acc, #presence{from = From, to = To, lang = Lang, id = SID, type = subscribe} = Pres) -> LServer = To#jid.lserver, - case gen_mod:get_module_opt(LServer, ?MODULE, drop) andalso - gen_mod:get_module_opt(LServer, ?MODULE, captcha) andalso + case mod_block_strangers_opt:drop(LServer) andalso + mod_block_strangers_opt:captcha(LServer) andalso need_check(Pres) of true -> case check_subscription(From, To) of @@ -106,7 +106,7 @@ filter_subscription(Acc, #presence{from = From, to = To, lang = Lang, Msg = #message{from = BTo, to = From, id = ID, body = Body, sub_els = CaptchaEls}, - case gen_mod:get_module_opt(LServer, ?MODULE, log) of + case mod_block_strangers_opt:log(LServer) of true -> ?INFO_MSG("Challenge subscription request " "from stranger ~s to ~s with " @@ -151,8 +151,8 @@ check_message(#message{from = From, to = To, lang = Lang} = Msg) -> true -> case check_subscription(From, To) of false -> - Drop = gen_mod:get_module_opt(LServer, ?MODULE, drop), - Log = gen_mod:get_module_opt(LServer, ?MODULE, log), + Drop = mod_block_strangers_opt:drop(LServer), + Log = mod_block_strangers_opt:log(LServer), if Log -> ?INFO_MSG("~s message from stranger ~s to ~s", @@ -199,8 +199,8 @@ need_check(Pkt) -> _ -> false end, - AllowLocalUsers = gen_mod:get_module_opt(LServer, ?MODULE, allow_local_users), - Access = gen_mod:get_module_opt(LServer, ?MODULE, access), + AllowLocalUsers = mod_block_strangers_opt:allow_local_users(LServer), + Access = mod_block_strangers_opt:access(LServer), not (IsSelf orelse IsEmpty orelse acl:match_rule(LServer, Access, From) == allow orelse ((AllowLocalUsers orelse From#jid.luser == <<"">>) @@ -215,7 +215,7 @@ check_subscription(From, To) -> false; false -> %% Check if the contact's server is in the roster - gen_mod:get_module_opt(LocalServer, ?MODULE, allow_transports) + mod_block_strangers_opt:allow_transports(LocalServer) andalso mod_roster:is_subscribed(jid:make(RemoteServer), To); true -> true @@ -230,19 +230,18 @@ sets_bare_member({U, S, <<"">>} = LBJID, Set) -> depends(_Host, _Opts) -> []. +mod_opt_type(access) -> + econf:acl(); mod_opt_type(drop) -> - fun (B) when is_boolean(B) -> B end; + econf:bool(); mod_opt_type(log) -> - fun (B) when is_boolean(B) -> B end; + econf:bool(); +mod_opt_type(captcha) -> + econf:bool(); mod_opt_type(allow_local_users) -> - fun (B) when is_boolean(B) -> B end; + econf:bool(); mod_opt_type(allow_transports) -> - fun (B) when is_boolean(B) -> B end; -mod_opt_type(captcha) -> - fun (B) when is_boolean(B) -> B end; -mod_opt_type(access) -> - fun acl:access_rules_validator/1. - + econf:bool(). mod_options(_) -> [{access, none}, -- cgit v1.2.3