From: Mickaël Rémond Date: Thu, 10 Apr 2008 09:53:07 +0000 (+0000) Subject: *src/ejabberd_c2s.erl: Uniform default value for empty privacy list. Fixes (EJAB... X-Git-Tag: v2.0.1~18 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0623a04666029eb3435e63fc384feeb6b727c60a;p=ejabberd *src/ejabberd_c2s.erl: Uniform default value for empty privacy list. Fixes (EJAB-603). SVN Revision: 1283 --- diff --git a/ChangeLog b/ChangeLog index caf4527d4..6a888207e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-04-10 Mickael Remond + + *src/ejabberd_c2s.erl: Uniform default value for empty privacy + list. Fixes (EJAB-603). + 2008-04-08 Badlop * src/ejabberd_auth_ldap.erl: LDAP function to get the number of diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 54b56c98e..4974c0acf 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -56,6 +56,7 @@ -include("ejabberd.hrl"). -include("jlib.hrl"). +-include("mod_privacy.hrl"). -define(SETS, gb_sets). -define(DICT, dict). @@ -84,7 +85,7 @@ pres_last, pres_pri, pres_timestamp, pres_invis = false, - privacy_list = none, + privacy_list = #userlist{}, conn = unknown, ip, lang}). @@ -342,9 +343,9 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) -> true -> send_text(StateData, Header), fsm_next_state(wait_for_auth, - StateData#state{ - server = Server, - lang = Lang}) + StateData#state{ + server = Server, + lang = Lang}) end end; _ -> @@ -458,7 +459,7 @@ wait_for_auth({xmlstreamelement, El}, StateData) -> PrivList = ejabberd_hooks:run_fold( privacy_get_user_list, StateData#state.server, - none, + #userlist{}, [U, StateData#state.server]), fsm_next_state(session_established, StateData#state{ @@ -806,7 +807,7 @@ wait_for_session({xmlstreamelement, El}, StateData) -> PrivList = ejabberd_hooks:run_fold( privacy_get_user_list, StateData#state.server, - none, + #userlist{}, [U, StateData#state.server]), fsm_next_state(session_established, StateData#state{ @@ -900,24 +901,18 @@ session_established({xmlstreamelement, El}, StateData) -> StateData) end; "iq" -> - case StateData#state.privacy_list of - none -> - ejabberd_router:route(FromJID, ToJID, NewEl), - StateData; - _PrivList -> - case jlib:iq_query_info(NewEl) of - #iq{xmlns = ?NS_PRIVACY} = IQ -> - process_privacy_iq( - FromJID, ToJID, IQ, StateData); - _ -> - ejabberd_hooks:run( - user_send_packet, - Server, - [FromJID, ToJID, NewEl]), - ejabberd_router:route( - FromJID, ToJID, NewEl), - StateData - end + case jlib:iq_query_info(NewEl) of + #iq{xmlns = ?NS_PRIVACY} = IQ -> + process_privacy_iq( + FromJID, ToJID, IQ, StateData); + _ -> + ejabberd_hooks:run( + user_send_packet, + Server, + [FromJID, ToJID, NewEl]), + ejabberd_router:route( + FromJID, ToJID, NewEl), + StateData end; "message" -> ejabberd_hooks:run(user_send_packet,