mod_server_contact_info: Apply JID normalization

This commit is contained in:
Kim Alvefur 2020-09-11 18:34:06 +02:00
parent a7fef46789
commit a87492d53c
3 changed files with 29 additions and 1 deletions

View file

@ -7,6 +7,7 @@
-- --
local array = require "util.array"; local array = require "util.array";
local jid = require "util.jid";
-- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo -- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo
local form_layout = require "util.dataforms".new({ local form_layout = require "util.dataforms".new({
@ -24,7 +25,7 @@ local form_layout = require "util.dataforms".new({
local admins = module:get_option_inherited_set("admins", {}); local admins = module:get_option_inherited_set("admins", {});
local contact_config = module:get_option("contact_info", { local contact_config = module:get_option("contact_info", {
admin = array.collect( admins / function(admin) return "xmpp:" .. admin; end); admin = array.collect( admins / jid.prep / function(admin) return "xmpp:" .. admin; end);
}); });
module:add_extension(form_layout:form(contact_config, "result")); module:add_extension(form_layout:form(contact_config, "result"));

View file

@ -124,8 +124,10 @@ hide_os_type = true -- absence tested for in version.scs
Component "conference.localhost" "muc" Component "conference.localhost" "muc"
storage = "memory" storage = "memory"
admins = { "Admin@localhost" }
modules_enabled = { modules_enabled = {
"muc_mam"; "muc_mam";
"server_contact_info";
} }

View file

@ -53,4 +53,29 @@ Romeo receives:
</query> </query>
</iq> </iq>
Romeo sends:
<iq type='get' id='lx2' to='conference.localhost'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>
<iq from='localhost' id='lx2' type='result'>
<query xmlns='http://jabber.org/protocol/disco#info' scansion:strict='false'>
<x xmlns='jabber:x:data' type='result'>
<field type='hidden' var='FORM_TYPE'>
<value>http://jabber.org/network/serverinfo</value>
</field>
<field type='list-multi' var='abuse-addresses'/>
<field type='list-multi' var='admin-addresses'>
<value>xmpp:admin@localhost</value>
</field>
<field type='list-multi' var='feedback-addresses'/>
<field type='list-multi' var='sales-addresses'/>
<field type='list-multi' var='security-addresses'/>
<field type='list-multi' var='status-addresses'/>
<field type='list-multi' var='support-addresses'/>
</x>
</query>
</iq>
Romeo disconnects Romeo disconnects