[JDEV] bug in mod_privacy ?
Alexey Nezhdanov
snake at penza-gsm.ru
Mon Jan 19 05:15:47 CST 2004
> > ..._I_ have tested this patch and it works well - the server
> > became in compliance with the xmpp-im document.
> Sorry about the misunderstanding. I'm glad to hear that patch worked for
> you.
:)
Unfortunately there are another bug in mod_privacy.
The communications blocked all at once if there are rule that blocks
communications to one account:
(Though may be it is my mistake here).
1. Retrieving all privacy lists:
===================
-=>|<iq type='get' id='36'><query xmlns='jabber:iq:privacy' /></iq>
<=-|<iq xmlns='jabber:client' id='36' type='result'><query
xmlns='jabber:iq:privacy'><default name='test2'/><list name='test'/><list
name='test2'/></query></iq>
===================
As you can see - I have defined two privacy lists 'test' and 'test2' and made
list 'test2' default.
Here is this lists:
===================
-=>|<iq type='get' id='46'><query xmlns='jabber:iq:privacy'><list
name='test' /></query></iq>
<=-|<iq xmlns='jabber:client' id='46' type='result'><query
xmlns='jabber:iq:privacy'><list name='test'><item order='6' action='allow'
value='snake_at_penza-gsm.ru' type='jid'/></list></query></iq>
-=>|<iq type='get' id='47'><query xmlns='jabber:iq:privacy'><list
name='test2' /></query></iq>
<=-|<iq xmlns='jabber:client' id='47' type='result'><query
xmlns='jabber:iq:privacy'><list name='test2'><item order='6' action='deny'
value='sm_at_penza-gsm.ru' type='jid'/></list></query></iq>
====================
So the list 'test' allows communication from 'snake' account and list 'test2'
prohibits communications with 'sm' account (From here and forth I have
replaced the "at"'s by their textual equivalents. "On the wire" they all are
real "@"'s)
-----------------------------
XMPP-IM
10.2 Business Rules
7. If no fall-through item is provided in a list, the fall-through action is
assumed to be "accept".
-----------------------------
So the list "test" is must appear as just "no any specific rules".
Trying to send messages (since there are no active lists and 'test2' is
default list we now must be prohibited from communications with 'sm' ):
======================
-=>|<message to='sm_at_penza-gsm.ru' id='48'><body>testA</body></message>
-=>|<message to='snake_at_penza-gsm.ru' id='49'><body>testA</body></message>
======================
Both delivery fails!
If I will set list 'test' as default - then the messages will be delivered
sucessfully
======================
-=>|<iq type='set' id='50'><query xmlns='jabber:iq:privacy'><active
name='test' /></query></iq>
<=-|<iq xmlns='jabber:client' id='50' type='result'/>
-=>|<message to='sm_at_penza-gsm.ru' id='51'><body>testB</body></message>
-=>|<message to='snake_at_penza-gsm.ru' id='52'><body>testB</body></message>
======================
Both messages arrives at destinations.
--
Respectfully
Alexey Nezhdanov
More information about the JDev
mailing list