Ticket #11 (closed defect: invalid)

Opened 20 months ago

Last modified 11 months ago

Discovering Active sessions does not work

Reported by: smoku Owned by: smoku
Priority: major Component: sm
Version: 2.1 Keywords:
Cc: Tracforge_linkmap:
Blocking: Blocked By:

Description

When admin is doing disco against server, the “Active sessions” node is visible, but there is no reply for its subitems. Using Gajim here.

Attachments

mod_disco_info_node.patch (0.6 KB) - added by nexus 11 months ago.
patch that will copy node attribute from request into response

Change History

  Changed 13 months ago by smoku

  • status changed from new to closed
  • resolution set to invalid

It's Gajim that is broken, not jabberd.

  Changed 11 months ago by Asterix

There is a bug in jabberd:

according to the XEP jabberd answers badly to disco#info:

<iq to="server.net" type="get" id="770">
<query xmlns="http://jabber.org/protocol/disco#info" node="sessions" />
</iq>
<iq xmlns='jabber:client' id='770' from='server.net' to='login@server.net/Gajim' type='result'>
<query xmlns='http://jabber.org/protocol/disco#info'>
<identity name='Server.NET Jabber Server' type='im' category='server'/>
<feature var='jabber:iq:private'/>
<feature var='presence'/>
<feature var='jabber:iq:time'/>
<feature var='jabber:iq:agents'/>
<feature var='urn:xmpp:ping'/>
<feature var='http://jabber.org/protocol/vacation'/>
<feature var='vcard-temp'/>
<feature var='jabber:iq:version'/>
<feature var='message'/>
<feature var='msgoffline'/>
<feature var='jabber:iq:privacy'/>
<feature var='http://jabber.org/protocol/amp'/>
<feature var='jabber:iq:roster'/>
<feature var='iq'/>
<feature var='jabber:iq:last'/>
<feature var='http://jabber.org/protocol/disco'/>
</query>
</iq>

  Changed 11 months ago by smoku

What exactly is buggy about this behavior?

Do you mean the 'node' attribute? It's only SHOULD

the response SHOULD mirror the specified 'node' attribute

And why the info query at all?

although the primary use of nodes is as Items Nodes rather than as info nodes

Changed 11 months ago by nexus

patch that will copy node attribute from request into response

follow-up: ↓ 5   Changed 11 months ago by Asterix

yep I was talking about the node attribute. It's indeed only a should, but Gajim track answer on that rather than on id number. And if you don't implement SHOULD-things, jabberd will be very light, there are a lot of them in XEPs :)

We query info before items to know if this node is browsable or not, searchable or not ... Node can have different features from server itself.

in reply to: ↑ 4   Changed 11 months ago by smoku

Replying to Asterix:

yep I was talking about the node attribute. It's indeed only a should, but Gajim track answer on that rather than on id number.

That stays contrary to the RFC3920 9.2.3. IQ Semantics: "the interaction is tracked by the requesting entity through use of the 'id' attribute."

And if you don't implement SHOULD-things, jabberd will be very light, there are a lot of them in XEPs :)

SHOULD-things are recommended to be implemented, but they are SHOULD-things and implementors cannot require them to be implemented - thus not implementing a SHOULD cannot be considered a bug. On the contrary to not following the RFC.

If you want jabberd to implement this SHOULD, please create an enhancement ticket.

  Changed 11 months ago by smoku

(In [505]) Put node in disco#info reply if present. Refs #11

Note: See TracTickets for help on using tickets.