Sergei Golovan wrote:
> On 2/29/08, Norman Rasmussen <[EMAIL PROTECTED]> wrote:
>> The point is that:
>>
>> <stream:stream
>> xmlns:stream='http://etherx.jabber.org/streams'>
>> <message><gajim:die/></message>
>> </stream>
>>
>> contains an unbound prefix 'gajim', so MUST be rejected by all XMPP
>> parsers..  If you want to send xml that looks similar to that, you need to
>> transmit one of the following:
> 
> Just find any rule in RFC 3290 which forbids this stanza with unbound
> prefix and I'll immediately file a bugreport to ejabberd.

This was unclear in RFC 3920 but is clarified in rfc3920bis, which
contains the following text:

***

An implementation SHOULD NOT generate namespace prefixes for elements
qualified by content (as opposed to stream) namespaces other than the
default namespace.  However, if included, the namespace declarations for
those prefixes MUST be included on the stanza root or a child thereof,
not at the level of the stream element (this helps to ensure that any
such namespace declaration is routed and delivered with the stanza,
instead of assumed from the stream).

***

Therefore, this is wrong:

<stream:stream
        xmlns:stream='http://etherx.jabber.org/streams'>
  <message><gajim:die/></message>
</stream>

And this is wrong:

<stream:stream
        xmlns:stream='http://etherx.jabber.org/streams'
        xmlns:gajim='http://gajim.org/die'>
  <message><gajim:die/></message>
</stream>

But this is OK:

<stream:stream
        xmlns:stream='http://etherx.jabber.org/streams'>
  <message
        xmlns:gajim='http://gajim.org/die'>
    <gajim:die/>
  </message>
</stream>

P

-- 
Peter Saint-Andre
https://stpeter.im/

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to