projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 0.9->trunk
[prosody.git]
/
plugins
/
mod_posix.lua
diff --git
a/plugins/mod_posix.lua
b/plugins/mod_posix.lua
index d229c1b8e35fd74f202b6e91e68c3c9318524ce1..e871e5cf4d8c9ab825f6b13b0eb8d1a5a95fe95a 100644
(file)
--- a/
plugins/mod_posix.lua
+++ b/
plugins/mod_posix.lua
@@
-22,7
+22,7
@@
local stat = lfs.attributes;
local prosody = _G.prosody;
local prosody = _G.prosody;
-module
.host = "*"
; -- we're a global module
+module
:set_global()
; -- we're a global module
local umask = module:get_option("umask") or "027";
pposix.umask(umask);
local umask = module:get_option("umask") or "027";
pposix.umask(umask);
@@
-34,19
+34,19
@@
module:hook("server-started", function ()
if gid then
local success, msg = pposix.setgid(gid);
if success then
if gid then
local success, msg = pposix.setgid(gid);
if success then
- module:log("debug", "Changed group to
"..gid.." successfully."
);
+ module:log("debug", "Changed group to
%s successfully.", gid
);
else
else
- module:log("error", "Failed to change group to
"..gid..". Error: "..
msg);
- prosody.shutdown("Failed to change group to
"..
gid);
+ module:log("error", "Failed to change group to
%s. Error: %s", gid,
msg);
+ prosody.shutdown("Failed to change group to
%s",
gid);
end
end
if uid then
local success, msg = pposix.setuid(uid);
if success then
end
end
if uid then
local success, msg = pposix.setuid(uid);
if success then
- module:log("debug", "Changed user to
"..uid.." successfully."
);
+ module:log("debug", "Changed user to
%s successfully.", uid
);
else
else
- module:log("error", "Failed to change user to
"..uid..". Error: "..
msg);
- prosody.shutdown("Failed to change user to
"..
uid);
+ module:log("error", "Failed to change user to
%s. Error: %s", uid,
msg);
+ prosody.shutdown("Failed to change user to
%s",
uid);
end
end
end);
end
end
end);
@@
-112,7
+112,7
@@
end
local syslog_opened;
function syslog_sink_maker(config)
if not syslog_opened then
local syslog_opened;
function syslog_sink_maker(config)
if not syslog_opened then
- pposix.syslog_open("prosody");
+ pposix.syslog_open("prosody"
, module:get_option_string("syslog_facility")
);
syslog_opened = true;
end
local syslog, format = pposix.syslog_log, string.format;
syslog_opened = true;
end
local syslog, format = pposix.syslog_log, string.format;
@@
-136,8
+136,17
@@
if daemonize == nil then
end
end
end
end
+local function remove_log_sinks()
+ local lm = require "core.loggingmanager";
+ lm.register_sink_type("console", nil);
+ lm.register_sink_type("stdout", nil);
+ lm.reload_logging();
+end
+
if daemonize then
local function daemonize_server()
if daemonize then
local function daemonize_server()
+ module:log("info", "Prosody is about to detach from the console, disabling further console output");
+ remove_log_sinks();
local ok, ret = pposix.daemonize();
if not ok then
module:log("error", "Failed to daemonize: %s", ret);
local ok, ret = pposix.daemonize();
if not ok then
module:log("error", "Failed to daemonize: %s", ret);