aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-09-11 18:34:06 +0200
committerKim Alvefur <zash@zash.se>2020-09-11 18:34:06 +0200
commita87492d53c5691095337930bccafb1f5964206e5 (patch)
tree086d4889f1fedc5f27f3cfb2cc1b1cde622e4d37
parenta7fef46789354adb085f15acce5d3e1d3637e4dd (diff)
downloadprosody-a87492d53c5691095337930bccafb1f5964206e5.tar.gz
prosody-a87492d53c5691095337930bccafb1f5964206e5.zip
mod_server_contact_info: Apply JID normalization
-rw-r--r--plugins/mod_server_contact_info.lua3
-rw-r--r--spec/scansion/prosody.cfg.lua2
-rw-r--r--spec/scansion/server_contact_info.scs25
3 files changed, 29 insertions, 1 deletions
diff --git a/plugins/mod_server_contact_info.lua b/plugins/mod_server_contact_info.lua
index 9c916ebc..df2f0842 100644
--- a/plugins/mod_server_contact_info.lua
+++ b/plugins/mod_server_contact_info.lua
@@ -7,6 +7,7 @@
--
local array = require "util.array";
+local jid = require "util.jid";
-- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo
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 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"));
diff --git a/spec/scansion/prosody.cfg.lua b/spec/scansion/prosody.cfg.lua
index 3ed97e31..c5ed279b 100644
--- a/spec/scansion/prosody.cfg.lua
+++ b/spec/scansion/prosody.cfg.lua
@@ -124,8 +124,10 @@ hide_os_type = true -- absence tested for in version.scs
Component "conference.localhost" "muc"
storage = "memory"
+ admins = { "Admin@localhost" }
modules_enabled = {
"muc_mam";
+ "server_contact_info";
}
diff --git a/spec/scansion/server_contact_info.scs b/spec/scansion/server_contact_info.scs
index 6efc7fd1..f33d0957 100644
--- a/spec/scansion/server_contact_info.scs
+++ b/spec/scansion/server_contact_info.scs
@@ -53,4 +53,29 @@ Romeo receives:
</query>
</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