]> granicus.if.org Git - ejabberd/commitdiff
Always allow packets from user's server and bare jid in mod_privacy*
authorAlexey Shchepin <alexey@process-one.net>
Thu, 22 Dec 2011 14:35:56 +0000 (16:35 +0200)
committerAlexey Shchepin <alexey@process-one.net>
Thu, 22 Dec 2011 14:37:47 +0000 (16:37 +0200)
src/mod_privacy.erl
src/mod_privacy_odbc.erl

index 38ecf138b52c4782a10fe7c86266eb6a151e87b9..e100a8a158ef75e67a8d92be642b397103c989e7 100644 (file)
@@ -559,6 +559,27 @@ get_user_list(_, User, Server) ->
 %% From is the sender, To is the destination.
 %% If Dir = out, User@Server is the sender account (From).
 %% If Dir = in, User@Server is the destination account (To).
+check_packet(_, _User, _Server,
+            _UserList,
+            {#jid{luser = "", lserver = Server} = _From,
+              #jid{lserver = Server} = _To,
+              _},
+            in) ->
+    allow;
+check_packet(_, _User, _Server,
+            _UserList,
+            {#jid{lserver = Server} = _From,
+              #jid{luser = "", lserver = Server} = _To,
+              _},
+            out) ->
+    allow;
+check_packet(_, _User, _Server,
+            _UserList,
+            {#jid{luser = User, lserver = Server} = _From,
+              #jid{luser = User, lserver = Server} = _To,
+              _},
+            _Dir) ->
+    allow;
 check_packet(_, User, Server,
             #userlist{list = List, needdb = NeedDb},
             {From, To, {xmlelement, PName, Attrs, _}},
index 2df9ee27ac36cb6fcfc9489acca0f79ff9003171..b8d8ec8d6ef2ff97ccd3a2b02f70601789de1f09 100644 (file)
@@ -557,6 +557,27 @@ get_user_list(_, User, Server) ->
 %% From is the sender, To is the destination.
 %% If Dir = out, User@Server is the sender account (From).
 %% If Dir = in, User@Server is the destination account (To).
+check_packet(_, _User, _Server,
+            _UserList,
+            {#jid{luser = "", lserver = Server} = _From,
+              #jid{lserver = Server} = _To,
+              _},
+            in) ->
+    allow;
+check_packet(_, _User, _Server,
+            _UserList,
+            {#jid{lserver = Server} = _From,
+              #jid{luser = "", lserver = Server} = _To,
+              _},
+            out) ->
+    allow;
+check_packet(_, _User, _Server,
+            _UserList,
+            {#jid{luser = User, lserver = Server} = _From,
+              #jid{luser = User, lserver = Server} = _To,
+              _},
+            _Dir) ->
+    allow;
 check_packet(_, User, Server,
             #userlist{list = List, needdb = NeedDb},
             {From, To, {xmlelement, PName, Attrs, _}},