diff options
author | Kim Alvefur <zash@zash.se> | 2020-09-11 18:34:06 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2020-09-11 18:34:06 +0200 |
commit | a87492d53c5691095337930bccafb1f5964206e5 (patch) | |
tree | 086d4889f1fedc5f27f3cfb2cc1b1cde622e4d37 | |
parent | a7fef46789354adb085f15acce5d3e1d3637e4dd (diff) | |
download | prosody-a87492d53c5691095337930bccafb1f5964206e5.tar.gz prosody-a87492d53c5691095337930bccafb1f5964206e5.zip |
mod_server_contact_info: Apply JID normalization
-rw-r--r-- | plugins/mod_server_contact_info.lua | 3 | ||||
-rw-r--r-- | spec/scansion/prosody.cfg.lua | 2 | ||||
-rw-r--r-- | spec/scansion/server_contact_info.scs | 25 |
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 |