Software /
code /
prosody
Comparison
plugins/mod_blocklist.lua @ 10434:8f709577fe8e
Merge 0.11->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 23 Nov 2019 23:12:01 +0100 |
parent | 10111:0f335815244f |
child | 12775:1dd468c63a3d |
child | 13487:84fa880bf476 |
comparison
equal
deleted
inserted
replaced
10433:7777f25d5266 | 10434:8f709577fe8e |
---|---|
65 module:log("info", "Migrating blocklist from mod_privacy storage for user '%s'", username); | 65 module:log("info", "Migrating blocklist from mod_privacy storage for user '%s'", username); |
66 for _, item in ipairs(default_list.items) do | 66 for _, item in ipairs(default_list.items) do |
67 if item.type == "jid" and item.action == "deny" then | 67 if item.type == "jid" and item.action == "deny" then |
68 local jid = jid_prep(item.value); | 68 local jid = jid_prep(item.value); |
69 if not jid then | 69 if not jid then |
70 module:log("warn", "Invalid JID in privacy store for user '%s' not migrated: %s", username, tostring(item.value)); | 70 module:log("warn", "Invalid JID in privacy store for user '%s' not migrated: %s", username, item.value); |
71 else | 71 else |
72 migrated_data[jid] = true; | 72 migrated_data[jid] = true; |
73 end | 73 end |
74 end | 74 end |
75 end | 75 end |
160 end | 160 end |
161 | 161 |
162 local blocklist = cache[username] or get_blocklist(username); | 162 local blocklist = cache[username] or get_blocklist(username); |
163 | 163 |
164 local new_blocklist = { | 164 local new_blocklist = { |
165 -- We set the [false] key to someting as a signal not to migrate privacy lists | 165 -- We set the [false] key to something as a signal not to migrate privacy lists |
166 [false] = blocklist[false] or { created = now; }; | 166 [false] = blocklist[false] or { created = now; }; |
167 }; | 167 }; |
168 if type(blocklist[false]) == "table" then | 168 if type(blocklist[false]) == "table" then |
169 new_blocklist[false].modified = now; | 169 new_blocklist[false].modified = now; |
170 end | 170 end |
187 return true; | 187 return true; |
188 end | 188 end |
189 | 189 |
190 if is_blocking then | 190 if is_blocking then |
191 for jid in pairs(send_unavailable) do | 191 for jid in pairs(send_unavailable) do |
192 -- Check that this JID isn't already blocked, i.e. this is not a change | |
192 if not blocklist[jid] then | 193 if not blocklist[jid] then |
193 for _, session in pairs(sessions[username].sessions) do | 194 for _, session in pairs(sessions[username].sessions) do |
194 if session.presence then | 195 if session.presence then |
195 module:send(st.presence({ type = "unavailable", to = jid, from = session.full_jid })); | 196 module:send(st.presence({ type = "unavailable", to = jid, from = session.full_jid })); |
196 end | 197 end |