Comparison

plugins/mod_scansion_record.lua @ 9618:d6e6e1fb7ef0 0.11

mod_scansion_record: Discard from/to where these are implicitly the sessions full JID Makes it easier to clean up recordings and change JIDs etc
author Kim Alvefur <zash@zash.se>
date Mon, 12 Nov 2018 16:32:43 +0100
parent 9373:1a69803d5d5d
child 9619:7172077c0a53
comparison
equal deleted inserted replaced
9616:61376a3c0c1d 9618:d6e6e1fb7ef0
4 4
5 local filters = require "util.filters"; 5 local filters = require "util.filters";
6 local id = require "util.id"; 6 local id = require "util.id";
7 local dt = require "util.datetime"; 7 local dt = require "util.datetime";
8 local dm = require "util.datamanager"; 8 local dm = require "util.datamanager";
9 local st = require "util.stanza";
9 10
10 local record_id = id.medium():lower(); 11 local record_id = id.medium():lower();
11 local record_date = os.date("%Y%b%d"):lower(); 12 local record_date = os.date("%Y%b%d"):lower();
12 local header_file = dm.getpath(record_id, "scansion", record_date, "scs", true); 13 local header_file = dm.getpath(record_id, "scansion", record_date, "scs", true);
13 local record_file = dm.getpath(record_id, "scansion", record_date, "log", true); 14 local record_file = dm.getpath(record_id, "scansion", record_date, "log", true);
39 record(session.scansion_id.." "..verb..":\n\t"..tostring(stanza).."\n\n"); 40 record(session.scansion_id.." "..verb..":\n\t"..tostring(stanza).."\n\n");
40 end 41 end
41 42
42 local function record_stanza_in(stanza, session) 43 local function record_stanza_in(stanza, session)
43 if stanza.attr.xmlns == nil then 44 if stanza.attr.xmlns == nil then
44 record_stanza(stanza, session, "sends") 45 local copy = st.clone(stanza);
46 copy.attr.from = nil;
47 record_stanza(copy, session, "sends")
45 end 48 end
46 return stanza; 49 return stanza;
47 end 50 end
48 51
49 local function record_stanza_out(stanza, session) 52 local function record_stanza_out(stanza, session)
50 if stanza.attr.xmlns == nil then 53 if stanza.attr.xmlns == nil then
51 if not (stanza.name == "iq" and stanza:get_child("bind", "urn:ietf:params:xml:ns:xmpp-bind")) then 54 if not (stanza.name == "iq" and stanza:get_child("bind", "urn:ietf:params:xml:ns:xmpp-bind")) then
52 record_stanza(stanza, session, "receives"); 55 local copy = st.clone(stanza);
56 if copy.attr.to == session.full_jid then
57 copy.attr.to = nil;
58 end
59 record_stanza(copy, session, "receives");
53 end 60 end
54 end 61 end
55 return stanza; 62 return stanza;
56 end 63 end
57 64