On Jul 1, 2008, at 11:18 PM, Tobias Markmann wrote:

On Tue, Jul 1, 2008 at 11:43 PM, Peter Saint-Andre <[EMAIL PROTECTED]> wrote:
Tobias Markmann wrote:
Hi,

First of all kostix from tkabber found an invalid example in XEP-0115 under http://www.xmpp.org/extensions/ xep-0115.html#discover . Example 4 should be:

   <iq from='[EMAIL PROTECTED]/orchard'       id='disco1'
      to='[EMAIL PROTECTED]/balcony'       type='result'>
<query xmlns='http://jabber.org/protocol/ disco#info'> node='http://code.google.com/p/ exodus#QgayPKawpkPSDYmwT/WM94uAlu0='>


Currently the query tag is close before node attribute.

Typo fixed.


The next thing is I'm upgrading pidgins caps support and some question arise from time to time. Is the node attribute in the query tag required in a disco result since the XEPs' examples include it but the scheme doesn't tell anything about it.

I think it is recommended, but if the processing application doesn't receive it in the disco result it needs to process the disco anyway.


So if I send a query with node 'http://code.google.com/p/ exodus#QgayPKawpkPSDYmwT/WM94uAlu0=' can i expect the result includes a node attribute too?

If yes I could easily compare the hash inside the node to the self generated hash of the query contents and cache it on match.

Yes that seems best. I think we can make it required if that would be helpful. However, the client should remember it based on the IQ id.

Peter

Okay. How should a client respond if it requests disco for a node with the caps hash of the previous presence though receives a disco result with a node url including a different hash?

Did you receive a new presence from that client between the moment you sent your IQ request and you got the IQ reply? If yes, and if the hash in said presence is the same as the response, then I would make it "business as usual". Basically, you accept that the response is consistent with the current caps hash for that client.

In a general way, I would say:

* if the hash matches the payload of the IQ response, then you can cache it for future use; * if the hash does not match the payload; you cannot cache it (as per spec), but you should use it to represent the client capabilities until you get a new caps hash.

It this reasonable?

Best regards,
--
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: [EMAIL PROTECTED]
Use XMPP!


Reply via email to