Software /
code /
prosody
Changeset
9621:f85e12d9eede
Merge 0.11->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 12 Nov 2018 18:26:39 +0100 |
parents | 9617:655b8d36a8a4 (current diff) 9620:ddcb28c8f64b (diff) |
children | 9623:4d758f575591 |
files | |
diffstat | 3 files changed, 114 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_scansion_record.lua Sun Nov 11 02:31:09 2018 +0100 +++ b/plugins/mod_scansion_record.lua Mon Nov 12 18:26:39 2018 +0100 @@ -6,6 +6,7 @@ local id = require "util.id"; local dt = require "util.datetime"; local dm = require "util.datamanager"; +local st = require "util.stanza"; local record_id = id.medium():lower(); local record_date = os.date("%Y%b%d"):lower(); @@ -36,12 +37,16 @@ end local function record_stanza(stanza, session, verb) - record(session.scansion_id.." "..verb..":\n\t"..tostring(stanza).."\n\n"); + local flattened = tostring(stanza):gsub("><", ">\n\t<"); + -- TODO Proper prettyprinting with indentation + record(session.scansion_id.." "..verb..":\n\t"..flattened.."\n\n"); end local function record_stanza_in(stanza, session) if stanza.attr.xmlns == nil then - record_stanza(stanza, session, "sends") + local copy = st.clone(stanza); + copy.attr.from = nil; + record_stanza(copy, session, "sends") end return stanza; end @@ -49,7 +54,11 @@ local function record_stanza_out(stanza, session) if stanza.attr.xmlns == nil then if not (stanza.name == "iq" and stanza:get_child("bind", "urn:ietf:params:xml:ns:xmpp-bind")) then - record_stanza(stanza, session, "receives"); + local copy = st.clone(stanza); + if copy.attr.to == session.full_jid then + copy.attr.to = nil; + end + record_stanza(copy, session, "receives"); end end return stanza;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spec/scansion/muc_whois_anyone_member.scs Mon Nov 12 18:26:39 2018 +0100 @@ -0,0 +1,101 @@ +# MUC: Allow members to fetch the affiliation lists in open non-anonymous rooms + +[Client] Romeo + jid: romeo@localhost/MsliYo9C + password: password + +[Client] Juliet + jid: juliet@localhost/vJrUtY4Z + password: password + +----- + +Romeo connects + +Romeo sends: + <presence to='issue1230@conference.localhost/romeo'> + <x xmlns='http://jabber.org/protocol/muc'/> + </presence> + +Romeo receives: + <presence from='issue1230@conference.localhost/romeo'> + <x xmlns='http://jabber.org/protocol/muc#user'> + <status code='201'/> + <item jid="${Romeo's JID}" role='moderator' affiliation='owner'/> + <status code='110'/> + </x> + </presence> + +Romeo receives: + <message from='issue1230@conference.localhost' type='groupchat'> + <subject/> + </message> + +Romeo sends: + <iq id='lx3' type='set' to='issue1230@conference.localhost'> + <query xmlns='http://jabber.org/protocol/muc#owner'> + <x type='submit' xmlns='jabber:x:data'> + <field var='FORM_TYPE'> + <value>http://jabber.org/protocol/muc#roomconfig</value> + </field> + <field var='muc#roomconfig_whois'> + <value>anyone</value> + </field> + </x> + </query> + </iq> + +Romeo receives: + <iq from='issue1230@conference.localhost' type='result' id='lx3'/> + +Romeo receives: + <message from='issue1230@conference.localhost' type='groupchat'> + <x xmlns='http://jabber.org/protocol/muc#user'> + <status code='172'/> + </x> + </message> + +Juliet connects + +Juliet sends: + <presence to='issue1230@conference.localhost/juliet'> + <x xmlns='http://jabber.org/protocol/muc'/> + </presence> + +Juliet receives: + <presence from='issue1230@conference.localhost/romeo'> + <x xmlns='http://jabber.org/protocol/muc#user'> + <item jid="${Romeo's JID}" role='moderator' affiliation='owner'/> + </x> + </presence> + +Juliet receives: + <presence from='issue1230@conference.localhost/juliet'> + <x xmlns='http://jabber.org/protocol/muc#user'> + <status code='100'/> + <item jid="${Juliet's JID}" role='participant' affiliation='none'/> + <status code='110'/> + </x> + </presence> + +Juliet receives: + <message from='issue1230@conference.localhost' type='groupchat'> + <subject/> + </message> + +Juliet sends: + <iq id='lx2' type='get' to='issue1230@conference.localhost'> + <query xmlns='http://jabber.org/protocol/muc#admin'> + <item affiliation='member'/> + </query> + </iq> + +Juliet receives: + <iq from='issue1230@conference.localhost' type='result' id='lx2'> + <query xmlns='http://jabber.org/protocol/muc#admin'/> + </iq> + +Juliet disconnects + +Romeo disconnects +
--- a/spec/scansion/prosody.cfg.lua Sun Nov 11 02:31:09 2018 +0100 +++ b/spec/scansion/prosody.cfg.lua Mon Nov 12 18:26:39 2018 +0100 @@ -42,6 +42,7 @@ --"motd"; -- Send a message to users when they log in --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. --"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use + --"scansion_record"; } certificate = "certs"