Mercurial > prosody-modules
comparison mod_firewall/conditions.lib.lua @ 5792:14e17927c0ec
mod_firewall: Fix TO/FROM ROLE
These conditions did not match because get_jid_role() returns a role object.
We want to compare based on the name.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 11 Dec 2023 19:09:25 +0000 |
parents | ad5c77793750 |
children | e304e19536f2 |
comparison
equal
deleted
inserted
replaced
5791:9d3d719db285 | 5792:14e17927c0ec |
---|---|
203 function condition_handlers.MAY(permission_to_check) | 203 function condition_handlers.MAY(permission_to_check) |
204 return ("module:may(%q, event)"):format(permission_to_check); | 204 return ("module:may(%q, event)"):format(permission_to_check); |
205 end | 205 end |
206 | 206 |
207 function condition_handlers.TO_ROLE(role_name) | 207 function condition_handlers.TO_ROLE(role_name) |
208 return ("get_jid_role(bare_to, current_host) == %q"):format(role_name), { "get_jid_role", "current_host", "bare_to" }; | 208 return ("get_jid_role(bare_to, current_host).name == %q"):format(role_name), { "get_jid_role", "current_host", "bare_to" }; |
209 end | 209 end |
210 | 210 |
211 function condition_handlers.FROM_ROLE(role_name) | 211 function condition_handlers.FROM_ROLE(role_name) |
212 return ("get_jid_role(bare_from, current_host) == %q"):format(role_name), { "get_jid_role", "current_host", "bare_from" }; | 212 return ("get_jid_role(bare_from, current_host).name == %q"):format(role_name), { "get_jid_role", "current_host", "bare_from" }; |
213 end | 213 end |
214 | 214 |
215 local day_numbers = { sun = 0, mon = 2, tue = 3, wed = 4, thu = 5, fri = 6, sat = 7 }; | 215 local day_numbers = { sun = 0, mon = 2, tue = 3, wed = 4, thu = 5, fri = 6, sat = 7 }; |
216 | 216 |
217 local function current_time_check(op, hour, minute) | 217 local function current_time_check(op, hour, minute) |