Software /
code /
prosody-modules
Comparison
mod_firewall/actions.lib.lua @ 2541:76f03d514b13
mod_firewall: Add FORWARD action (XEP-0297)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 21 Feb 2017 13:37:44 +0000 |
parent | 2531:9d2bfff515b8 |
child | 2542:cca9de97526b |
comparison
equal
deleted
inserted
replaced
2540:d637bc0ac604 | 2541:76f03d514b13 |
---|---|
153 | 153 |
154 function action_handlers.REPLY(with) | 154 function action_handlers.REPLY(with) |
155 return route_modify(("reply(stanza):body(%q)"):format(with)); | 155 return route_modify(("reply(stanza):body(%q)"):format(with)); |
156 end | 156 end |
157 | 157 |
158 function action_handlers.FORWARD(where) | |
159 local code = [[ | |
160 local newstanza = st.stanza("message", { to = %q }):tag("forwarded", { xmlns = "urn:xmpp:forward:0" }); | |
161 local tmp_stanza = st.clone(stanza); tmp_stanza.attr.xmlns = "jabber:client"; newstanza:add_child(tmp_stanza); | |
162 core_post_stanza(session, newstanza); | |
163 ]]; | |
164 return code:format(where); | |
165 end | |
166 | |
158 function action_handlers.LOG(string) | 167 function action_handlers.LOG(string) |
159 local level = string:match("^%[(%a+)%]") or "info"; | 168 local level = string:match("^%[(%a+)%]") or "info"; |
160 string = string:gsub("^%[%a+%] ?", ""); | 169 string = string:gsub("^%[%a+%] ?", ""); |
161 local meta_deps = {}; | 170 local meta_deps = {}; |
162 local code = meta(("(session.log or log)(%q, %q);"):format(level, string), meta_deps); | 171 local code = meta(("(session.log or log)(%q, %q);"):format(level, string), meta_deps); |