equal
deleted
inserted
replaced
17 end |
17 end |
18 |
18 |
19 local server = require "net.server"; |
19 local server = require "net.server"; |
20 |
20 |
21 local adminstream = require "util.adminstream"; |
21 local adminstream = require "util.adminstream"; |
|
22 local st = require "util.stanza"; |
22 |
23 |
23 local socket_path = module:get_option_path("admin_socket", "prosody.sock", "data"); |
24 local socket_path = module:get_option_path("admin_socket", "prosody.sock", "data"); |
24 |
25 |
25 local sessions = module:shared("sessions"); |
26 local sessions = module:shared("sessions"); |
26 |
27 |
33 event_name = "admin/"..stanza.attr.xmlns..":"..stanza.name; |
34 event_name = "admin/"..stanza.attr.xmlns..":"..stanza.name; |
34 else |
35 else |
35 event_name = "admin/"..stanza.name; |
36 event_name = "admin/"..stanza.name; |
36 end |
37 end |
37 module:log("debug", "Firing %s", event_name); |
38 module:log("debug", "Firing %s", event_name); |
38 return module:fire_event(event_name, event_data); |
39 local ret = module:fire_event(event_name, event_data); |
|
40 if ret == nil then |
|
41 session.send(st.stanza("repl-result", { type = "error" }):text("No module handled this query. Is mod_admin_shell enabled?")); |
|
42 end |
|
43 return ret; |
39 end |
44 end |
40 |
45 |
41 module:hook("server-stopping", function () |
46 module:hook("server-stopping", function () |
42 for _, session in pairs(sessions) do |
47 for _, session in pairs(sessions) do |
43 session:close("system-shutdown"); |
48 session:close("system-shutdown"); |