Does Wildfire require exact matches for JIDs?

I have a question: my understanding is that some Jabber servers allow information to be carried in the JID; when figuring out how to deliver messages, they only need to match a subset of the resource. For example, messages sent to someuser@server/device/param=1 and someuser@server/device/anotherparam=set would both reach someuser@server/device.

However, while other servers appear to support this, Wildfire does not: messages to a JID that does not exactly match one of the logged in JIDs gets sent to the most recent user session (e.g. where someuser@server has logged in most recently).

Is it true that Wildfire requires exact matches? If so, any plans to support the more general Jabber JID functionality?

Hey Jeff,

That is an interesting question. After checking the XMPP spec I would say that anything that is after the first “/” that is after the domain must be treated as a resource. That means that if the resource includes more “/” characters then they won’'t have any special meaning and will be considered like one character more of the resource.

Just out of curiosity, which other servers are following the behaviour you described? Are they XMPP 1.0 compliant?

Regards,

– Gato

The issue isn’‘t what’'s treated as a resource, but how the resource is used. Jabberd1.42 introduced more flexible routing of packets based on matching subsets of the resource value (http://jabberd.jabberstudio.org/1.4/release-1.4.2.shtml):

“When packets are routed to a resource, the server will now match those resources based on the subset of the resource name. For instance, when a message is sent to buzz@jabber.org/rocknroll and there is no resource by that exact name, the server will look for resources that partially match such as buzz@jabber.org/rock. Clients can also send packets with a from containing any resource, and with this additional flexibility in sending and receiving variable resources, a client can extend the use of the jid as a local routing mechanism.”

It may not be official XMPP 1.0, but it’‘s damn handy. I was using jabberd and taking advantage of that functionality, but ended up switching to Wildfire because of the improved support for file transfers. It looks like Wildfire doesn’'t provide similar flexibility, but I wanted to confirm before considering my options.