[jdev] Presence subscription handling bugs in various Jabber software
Jacek Konieczny
jajcus at bnet.pl
Sun Feb 6 09:12:06 CST 2005
Hello,
Most of us know, that some transports abuse
<presence type='subscribed'/> stanzas, in a way which is now forbidden
by the XMPP-IM specification. That is done because of a very old bug in
jabberd-1.x based servers, which accept and process this stanza. It is
not good, when anyone is able to add himself to other's roster.
Now, when more and more servers aim at the XMPP compliance I thought
such features and abuses are going to die. Unfortunately it seems that
I am wrong.
Some users of my server complain, that some users of other servers are
able to add themselves to their rosters. It looks like this:
a - user of my server
A - my server
B - the other server
b - the other user
They are connected like this:
a ----(c2s)---- A ------- (s2s) ------ B ------- b
(any (ejabberd) (some (some
client) server) client)
"a" does not have "b" in his roster, then "b" does "something" that
add it to "a"'s roster by sending <presence type='subscribed'/>
although "a" have never requested it.
Two such cases where reported to me. In the first case, the server "B"
was jabber.org (jabberd-1.4.x AFAIK), and the client "b" was (most
probably) Psi.
In the second case "B" was WP Jabber (JSM/JSM version 1.1.5 for
pthreaded server (Linux 2.6.x)), and "b" Psi (Psi/0.9.3 (SuSE Linux
9.2 (i586))).
Server "A" is always the same: ejabberd/0.7.5 (unix/linux 2.6.7)
Client "a" doesn't matter.
Please note, that for that scenario to work there must be bugs
on both servers ("A" which should not accept that stanza and "B", which should
not forward it from its client) and a misfeature on the client "b" (I have
found nothing in the XMPP specs that forbids client to send unsolicited
<presence type="subscribed" />). So we have bugs in at least free server
implementations (ejabberd, jabberd 1.4.x and WP Jabber) and annoying (for users
of buggy servers) misfeature of at least one client (I may be wrong here if it
is not the client which generates the "subscribed" stanza). That doesn't look good, as
it seems a very big part of global Jabber infrastructure is broken :-(
Or maybe I am wrong and there is only one bug somehere?
I will submit a bug report to the maintainers of the software I use (ejabberd). And
I ask you to check your software, and submit the bugs reports or fix the bugs too.
Greets,
Jacek
More information about the JDev
mailing list