Software /
code /
prosody
Comparison
plugins/mod_blocklist.lua @ 6972:9e926e48cbf9
mod_blocklist: session[username] can't possibly be unset if that user is sending queries
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 06 Dec 2015 02:19:04 +0100 |
parent | 6971:96080d86bab8 |
child | 6973:f350f840a6f7 |
comparison
equal
deleted
inserted
replaced
6971:96080d86bab8 | 6972:9e926e48cbf9 |
---|---|
160 return true; | 160 return true; |
161 end | 161 end |
162 | 162 |
163 if is_blocking then | 163 if is_blocking then |
164 for jid, in_roster in pairs(new) do | 164 for jid, in_roster in pairs(new) do |
165 if not blocklist[jid] and in_roster and sessions[username] then | 165 if not blocklist[jid] and in_roster then |
166 for _, session in pairs(sessions[username].sessions) do | 166 for _, session in pairs(sessions[username].sessions) do |
167 if session.presence then | 167 if session.presence then |
168 module:send(st.presence({ type = "unavailable", to = jid, from = session.full_jid })); | 168 module:send(st.presence({ type = "unavailable", to = jid, from = session.full_jid })); |
169 end | 169 end |
170 end | 170 end |
171 end | 171 end |
172 end | 172 end |
173 end | 173 end |
174 if sessions[username] then | 174 |
175 local blocklist_push = st.iq({ type = "set", id = "blocklist-push" }) | 175 local blocklist_push = st.iq({ type = "set", id = "blocklist-push" }) |
176 :add_child(action); -- I am lazy | 176 :add_child(action); -- I am lazy |
177 | 177 |
178 for _, session in pairs(sessions[username].sessions) do | 178 for _, session in pairs(sessions[username].sessions) do |
179 if session.interested_blocklist then | 179 if session.interested_blocklist then |
180 blocklist_push.attr.to = session.full_jid; | 180 blocklist_push.attr.to = session.full_jid; |
181 session.send(blocklist_push); | 181 session.send(blocklist_push); |
182 end | |
183 end | 182 end |
184 end | 183 end |
185 | 184 |
186 return true; | 185 return true; |
187 end | 186 end |