-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 7/6/13 8:12 PM, li wang wrote:
> Here is my protocol log, There is an error for feature not
> implemented. It seems that I do not reply the previous iq: <iq
> xmlns="jabber:client" to="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>" 
> from="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>" id="wygwyuoi"
> type="result" />. What stanza that I've to reply to stop the
> server's complain? Which RFC defines the feature required by
> server?

Rosters are defined in RFC 6121.

> The full log is here:

<snip/>

This is the roster push from the server:

> 190221: Recv(testClient): <iq xmlns="jabber:client" 
> to="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>" type="set"
> id="wygwyuoi"><query xmlns="jabber:iq:roster"><item
> jid="tes...@example.com <mailto:tes...@example.com>"
> subscription="none" /></query></iq>

Properly (according to RFC 6121), your client is acking the push:

> 190221: Send(testClient): <iq xmlns="jabber:client" type="result" 
> id="wygwyuoi" />

This is wrong behavior by the server -- it's not correct to send an
IQ-result in response to a prior IQ-result:

> 190221: Recv(testClient): <iq xmlns="jabber:client" 
> to="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>" 
> from="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>" id="wygwyuoi"
> type="result" />

Somehow the server is confused and sends you an error (perhaps because
it didn't expect the client to ack the roster push):

> 190221: Recv(testClient): <iq xmlns="jabber:client" type="error" 
> from="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>" id="wygwyuoi" 
> to="tes...@example.com/testim.5027 
> <http://tes...@example.com/testim.5027>"><query 
> xmlns="jabber:iq:roster"><item jid="tes...@example.com 
> <mailto:tes...@example.com>" subscription="none" /></query><error 
> code="501" type="cancel"><feature-not-implemented 
> xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /><text 
> xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">The feature requested
> is not implemented by the recipient or server and therefore cannot
> be processed.</text></error></iq>

Do note that this business about acking the roster pushes was not
clear in RFC 3921 (the precursor to RFC 6121), so it is possible that
jabberd2 is following the older way of doing things.

Peter

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


-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJR2NOAAAoJEOoGpJErxa2p0lIP/RQ7yjdGXgWe6ISY5vqzW5j1
S7iGClVBbRdcqc/TxexA2CfDhj4m82haGmU1p4BhJCgOrm9z41v18caHwVArrGLw
7F90u0qXAv7fzQWWvW2PrtLDLIn05/jdM6lBcIw8+TbX7A9CkkIzbxoByc/C04MX
vGrqTFXL8A0YtuUndzljuhpS65YfhUu6mmkAgc0lXlyTrBhDHCPNjPgqmirEdMcP
rcY289qlXMv5Ai4d3kLjfaoXhQoBfsieGd4x0Zze+7DZHmWfdUjhYY28w5EzvCsT
eAVA65MkFLHAi26StENtQzLa8cu6rxx7FbhGCaJ0j85ToaJU/CczcErPdJhdRhF5
olwrLGMinzJq8PqMeckzcp+tFtqlbl3RLhOyT0zjyIhXdxNr8BJpeuQ252LssdYF
fMR1WdKxrQ4qtgZ7mI5tw48fFyE2og6UMjCjitL5GmT/gkgChPIfdIJFQmpzVz+w
seUeRzlFINND/MlWYzRhJtKGH+pbjS5NGFjYqj5O8AE2EQPYkuIhl5u2HO6KBwtv
55Xj5HThEzVqvX6ETjNU7ROaBZFLzRrKsHsZ6+uV/PupoX8AbPBuI8EoW4yknFuE
z/YB6FCuneVgfSmXaP5o+/QamMDdHJ30rIrV/8Fs97fuW7dgmmkthUd3pBUP3laV
ASrYtPsnkFna9hSwgVE2
=0hzr
-----END PGP SIGNATURE-----


Reply via email to