Comparison

plugins/mod_carbons.lua @ 10786:a1b633ba9bd9

mod_carbons: Check for and strip 'private' tag before stopping This was explicit previously
author Kim Alvefur <zash@zash.se>
date Mon, 27 Apr 2020 14:46:15 +0200
parent 10785:e210afc9296a
child 10802:c11f9cd6c761
comparison
equal deleted inserted replaced
10785:e210afc9296a 10786:a1b633ba9bd9
90 90
91 local should, why = should_copy(stanza, c2s, bare_jid); 91 local should, why = should_copy(stanza, c2s, bare_jid);
92 92
93 if not should then 93 if not should then
94 module:log("debug", "Not copying stanza: %s (%s)", stanza:top_tag(), why); 94 module:log("debug", "Not copying stanza: %s (%s)", stanza:top_tag(), why);
95 return; 95 if why == "private" and not c2s then
96 elseif why == "private" and not c2s then
97 stanza:maptags(function(tag) 96 stanza:maptags(function(tag)
98 if not ( tag.attr.xmlns == xmlns_carbons and tag.name == "private" ) then 97 if not ( tag.attr.xmlns == xmlns_carbons and tag.name == "private" ) then
99 return tag; 98 return tag;
100 end 99 end
101 end); 100 end);
101 end
102 return;
102 end 103 end
103 104
104 local carbon; 105 local carbon;
105 user_sessions = user_sessions and user_sessions.sessions; 106 user_sessions = user_sessions and user_sessions.sessions;
106 for _, session in pairs(user_sessions) do 107 for _, session in pairs(user_sessions) do