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) |
