[Bug 39057] Can't connect to Oracle Jabber server

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 26 16:03:09 CEST 2011


--- Comment #3 from Will Thompson <will.thompson at collabora.co.uk> 2011-09-26 07:03:09 PDT ---
(In reply to comment #0)
> B) Once connected Gabble isn't happy and close the stream see
> https://bugzilla.gnome.org/attachment.cgi?id=191464

Here's the problem. Gabble sends a disco query to the user's own bare JID:

(telepathy-gabble:24977): gabble-DEBUG: gabble_disco_request_with_timeout
(disco.c:509): Creating disco request 0x8563940 for
philip.antoniades at oracle.com
(telepathy-gabble:24977): wocky-DEBUG: _write_node_tree: Serializing tree:
* iq xmlns='jabber:client' type='get' to='philip.antoniades at oracle.com'
    * query xmlns='http://jabber.org/protocol/disco#info'
(telepathy-gabble:24977): wocky-DEBUG: Writing xml: <iq type="get"
to="philip.antoniades at oracle.com" id="65803733515"><query

Some time later, the server replies:

(telepathy-gabble:24977): wocky-DEBUG: Parsing chunk: <iq id="65803733515"
type="error" from="oracle.com"
to="philip.antoniades at oracle.com/d1f5ca92"><query
xmlns='http://jabber.org/protocol/disco#info' >
</query><error code="404" type="cancel"><item-not-found
(telepathy-gabble:24977): wocky-DEBUG: _end_element_ns: Received stanza
* iq xmlns='jabber:client' id='65803733515' type='error' from='oracle.com'
to='philip.antoniades at oracle.com/d1f5ca92'
    * query xmlns='http://jabber.org/protocol/disco#info'
    * error code='404' type='cancel'
        * item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'

But the JID on the reply is wrong: we sent the disco query to
philip.antoniades at oracle.com, but the server's reply is from='oracle.com'.

(telepathy-gabble:24977): wocky-DEBUG: check_spoofing: wocky-c2s-porter.c:839:
'oracle.com' (normal: 'oracle.com') attempts to spoof an IQ reply from
'philip.antoniades at oracle.com'
(telepathy-gabble:24977): wocky-DEBUG: check_spoofing: wocky-c2s-porter.c:841:
Our full JID is 'philip.antoniades at oracle.com/d1f5ca92' and our bare JID is
'philip.antoniades at oracle.com'
(telepathy-gabble:24977): gabble-DEBUG: gabble_normalize_contact (util.c:557):
JID oracle.com is invalid or has no node part
(telepathy-gabble:24977): gabble-DEBUG: got_jingle_info_stanza
(jingle-factory.c:274): ignoring jingleinfo from 'oracle.com', not ourself nor
the server
(telepathy-gabble:24977): wocky-DEBUG: handle_stanza: wocky-c2s-porter.c:983:
Stanza not handled

And then some time later, the disco query times out:

(telepathy-gabble:24977): gabble-DEBUG: bare_jid_disco_cb (connection.c:1694):
Got disco error on bare jid: Request for info on philip.antoniades at oracle.com
timed out

While I don't think it's actually allowed to behave this way, we could make
that function tolerate this in the same way that, if one sends an IQ to one's
own full JID, or with no to='', the server can reply with no from='', with
from='bare jid' or with from='full jid'.

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the telepathy-bugs mailing list