Openfire

BOSH uses incorrect Namespace

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 3.6.4
  • Fix Version/s: 3.7.0
  • Component/s: Connection Manager, Core
  • Description:

    BOSH should return iq, message and presence stanzas within
    {{{
    jabber:client
    }}}

    instead of
    {{{ http://jabber.org/protocol/httpbind }}}

Issue Links

Activity

Hide
Guenther Niess added a comment - 02/10/10 07:30 AM

Openfire don't specify any namespace of an IQ, Message or Presence stanza explicitly. This means for BOSH that all normal stanzas are within the 'http://jabber.org/protocol/httpbind' namespace. From XEP: XMPP Over BOSH:

If the BOSH <body/> wrapper is not empty, then it SHOULD contain ... One or more complete <message/>, <presence/>, and/or <iq/> elements qualified by the 'jabber:client' namespace.

but also

Note: Many existing XMPP-specific implementations of BOSH clients and connection managers do not specify the namespace of <message/>, <presence/>, or <iq/> elements, since that allows them to forward stanzas without modification (the XMPP <stream:stream/> wrapper element used with TCP typically sets the default namespace to 'jabber:client'). They instead simply assume that the full content of the 'jabber:client' namespace is a subset of the 'http://jabber.org/protocol/httpbind' namespace.

So I think maybe we should state the 'jabber:client' namespace explicitly but the clients should also work without it.

Show
Guenther Niess added a comment - 02/10/10 07:30 AM Openfire don't specify any namespace of an IQ, Message or Presence stanza explicitly. This means for BOSH that all normal stanzas are within the 'http://jabber.org/protocol/httpbind' namespace. From XEP: XMPP Over BOSH:
If the BOSH <body/> wrapper is not empty, then it SHOULD contain ... One or more complete <message/>, <presence/>, and/or <iq/> elements qualified by the 'jabber:client' namespace.
but also
Note: Many existing XMPP-specific implementations of BOSH clients and connection managers do not specify the namespace of <message/>, <presence/>, or <iq/> elements, since that allows them to forward stanzas without modification (the XMPP <stream:stream/> wrapper element used with TCP typically sets the default namespace to 'jabber:client'). They instead simply assume that the full content of the 'jabber:client' namespace is a subset of the 'http://jabber.org/protocol/httpbind' namespace.
So I think maybe we should state the 'jabber:client' namespace explicitly but the clients should also work without it.
Hide
Guenther Niess added a comment - 02/10/10 08:28 AM

Committed a patch to revision 11617.

Show
Guenther Niess added a comment - 02/10/10 08:28 AM Committed a patch to revision 11617.
Hide
Guenther Niess added a comment - 02/12/10 04:46 AM
Show
Guenther Niess added a comment - 02/12/10 04:46 AM See also the discussion on the XMPP standards mailing list.
Hide
Guenther Niess added a comment - 02/13/10 09:10 AM

I've reverted my former patch.

Show
Guenther Niess added a comment - 02/13/10 09:10 AM I've reverted my former patch.
Hide
Alexander Gnauck added a comment - 02/13/10 07:23 PM

you have to rewrite the complete xml tree like most servers do on s2s and component links.
Or use string functions to build the body instead of a xml dom, this is easier in most cases and performs better.

Show
Alexander Gnauck added a comment - 02/13/10 07:23 PM you have to rewrite the complete xml tree like most servers do on s2s and component links. Or use string functions to build the body instead of a xml dom, this is easier in most cases and performs better.
Hide
Guenther Niess added a comment - 02/18/10 09:16 AM

Committed a patch (revision 11636 and 11637) which uses string manipulation in order to perform the namespace rewriting.

Show
Guenther Niess added a comment - 02/18/10 09:16 AM Committed a patch (revision 11636 and 11637) which uses string manipulation in order to perform the namespace rewriting.
Hide
Guenther Niess added a comment - 02/18/10 05:49 PM

Guus, please review this patch.

Show
Guenther Niess added a comment - 02/18/10 05:49 PM Guus, please review this patch.

People

Dates

  • Created:
    02/10/10 12:20 AM
    Updated:
    02/18/10 05:49 PM
    Resolved:
    02/18/10 09:16 AM