Merge 0.12->trunk

This commit is contained in:
Kim Alvefur 2023-12-17 19:02:56 +01:00
commit a7799e11a9
2 changed files with 30 additions and 0 deletions

View file

@ -173,6 +173,8 @@ module:hook("iq-get/bare/http://jabber.org/protocol/disco#info:query", function(
if not stanza.attr.to or (expose_admins and target_is_admin) or is_contact_subscribed(username, module.host, jid_bare(stanza.attr.from)) then
if node and node ~= "" then
local reply = st.reply(stanza):tag('query', {xmlns='http://jabber.org/protocol/disco#info', node=node});
reply:tag("feature", { var = "http://jabber.org/protocol/disco#info" }):up();
reply:tag("feature", { var = "http://jabber.org/protocol/disco#items" }):up();
if not reply.attr.from then reply.attr.from = origin.username.."@"..origin.host; end -- COMPAT To satisfy Psi when querying own account
local node_event = { origin = origin, stanza = stanza, reply = reply, node = node, exists = false};
local ret = module:fire_event("account-disco-info-node", node_event);
@ -193,6 +195,8 @@ module:hook("iq-get/bare/http://jabber.org/protocol/disco#info:query", function(
else
reply:tag('identity', {category='account', type='registered'}):up();
end
reply:tag("feature", { var = "http://jabber.org/protocol/disco#info" }):up();
reply:tag("feature", { var = "http://jabber.org/protocol/disco#items" }):up();
module:fire_event("account-disco-info", { origin = origin, reply = reply });
origin.send(reply);
return true;

View file

@ -0,0 +1,26 @@
# Basic login and initial presence
[Client] Romeo
jid: discoverer@localhost
password: password
---------
Romeo connects
Romeo sends:
<iq type="get" id="info1">
<query xmlns="http://jabber.org/protocol/disco#info"/>
</iq>
Romeo receives:
<iq type="result" id="info1">
<query xmlns="http://jabber.org/protocol/disco#info" scansion:strict="false">
<identity xmlns="http://jabber.org/protocol/disco#info" category="account" type="registered"/>
<feature var="http://jabber.org/protocol/disco#info"/>
<feature var="http://jabber.org/protocol/disco#items"/>
</query>
</iq>
Romeo disconnects