[jdev] Re: type='available' in <presence/> stanza
Justin Karneges
justin-keyword-jabber.093179 at affinix.com
Wed Mar 29 03:50:11 CST 2006
On Wednesday 29 March 2006 01:40, Heiner Wolf wrote:
> Vinod Panicker schrieb:
> > Anyways, when a server that uses schema validation encounters such a
> > stanza, it will return an error to the client. And frankly, I don't
> > think being tolerant to implementation issues will lead to a better
> > future for the protocol.
>
> Yes, this is true. On the other hand, the internet works because most
> systems are tolerant. Some time ago I implemewnted vcard PHOTO. You
> would be surprised how many things can be wrong. But as a programmer I
> try to make things work by tolerating errors as long as they do not
> break anything. Therefore my question if type='available' does break
> something. Obviously it breaks servers (client connections) at schema
> validation time. I question strict schema validation anyhow because it
> contradicts the IETF's be-tolerate-and-conservative claim. But there are
> also valid arguments for strictness. So, lets shoot them in this case.
The problem is that an unknown presence type doesn't mean available. Some
servers were also misdelivering type='probe' to clients, and the effects of
this vary depending on the client. Maybe in some clients it is interpretted
as availability. In Psi it is interpretted as a blank system message (this
is due to the logic being that if it isn't blank or unavailable, then it is
subscription related), which is quite confusing.
It seems like the only decent solutions are:
1) ignore packets with an unexpected type
2) interpret type='available' as having no type
#1 is not tolerant, #2 is not general. I'm afraid there's no good answer
here.
-Justin
More information about the JDev
mailing list