From 9081f1f2b67e737c74f0d5c12a88ec11548c7a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20R=C3=A9mond?= Date: Thu, 26 Jul 2007 09:37:16 +0000 Subject: [PATCH] * src/mod_last_odbc.erl: Adapted to mod_privacy changes. * src/mod_privacy_odbc.erl: Refactoring to extract records in include file. SVN Revision: 827 --- ChangeLog | 7 ++++++- src/mod_last_odbc.erl | 33 ++++++++++++++++----------------- src/mod_privacy_odbc.erl | 19 +------------------ 3 files changed, 23 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index c461c81fd..ac651bed8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,12 @@ 2007-07-26 Mickael Remond + * src/mod_last_odbc.erl: Adapted to mod_privacy changes. + * src/mod_privacy_odbc.erl: Refactoring to extract records in + include file. + * src/mod_last.erl: Adapted to mod_privacy changes. - * src/mod_privacy.erl: Refactoring to extract records in include file. + * src/mod_privacy.erl: Refactoring to extract records in include + file. * src/mod_privacy.hrl: Likewise. * src/mod_roster_odbc.erl: Fixed wrong call. diff --git a/src/mod_last_odbc.erl b/src/mod_last_odbc.erl index 8ec76823d..0b0119126 100644 --- a/src/mod_last_odbc.erl +++ b/src/mod_last_odbc.erl @@ -22,7 +22,7 @@ -include("ejabberd.hrl"). -include("jlib.hrl"). - +-include("mod_privacy.hrl"). start(Host, Opts) -> IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue), @@ -69,23 +69,22 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) -> {none, []}, [User, Server, From]), if (Subscription == both) or (Subscription == from) -> - case catch mod_privacy:get_user_list(User, Server) of - {'EXIT', _Reason} -> + UserListRecord = ejabberd_hooks:run_fold( + privacy_get_user_list, Server, + #userlist{}, + [User, Server]), + case ejabberd_hooks:run_fold( + privacy_check_packet, Server, + allow, + [User, Server, UserListRecord, + {From, To, + {xmlelement, "presence", [], []}}, + out]) of + allow -> get_last(IQ, SubEl, User, Server); - List -> - case catch mod_privacy:check_packet( - User, Server, List, - {From, To, - {xmlelement, "presence", [], []}}, - out) of - {'EXIT', _Reason} -> - get_last(IQ, SubEl, User, Server); - allow -> - get_last(IQ, SubEl, User, Server); - deny -> - IQ#iq{type = error, - sub_el = [SubEl, ?ERR_NOT_ALLOWED]} - end + deny -> + IQ#iq{type = error, + sub_el = [SubEl, ?ERR_NOT_ALLOWED]} end; true -> IQ#iq{type = error, diff --git a/src/mod_privacy_odbc.erl b/src/mod_privacy_odbc.erl index 271fc4506..845f05000 100644 --- a/src/mod_privacy_odbc.erl +++ b/src/mod_privacy_odbc.erl @@ -22,24 +22,7 @@ -include("ejabberd.hrl"). -include("jlib.hrl"). - --record(privacy, {us, - default = none, - lists = []}). - --record(listitem, {type = none, - value = none, - action, - order, - match_all = false, - match_iq = false, - match_message = false, - match_presence_in = false, - match_presence_out = false - }). - --record(userlist, {name = none, list = []}). - +-include("mod_privacy.hrl"). start(Host, Opts) -> IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue),