Diff

plugins/mod_posix.lua @ 1682:883cf1f516a0

Shutdown prosody if changing user or group fails.
author Tobias Markmann <tm@ayena.de>
date Sat, 15 Aug 2009 12:30:43 +0200
parent 1681:e76e2fb26fca
child 1712:45a81d6d8777
line wrap: on
line diff
--- a/plugins/mod_posix.lua	Sat Aug 15 12:19:07 2009 +0200
+++ b/plugins/mod_posix.lua	Sat Aug 15 12:30:43 2009 +0200
@@ -29,12 +29,22 @@
 		local uid = config_get("*", "core", "setuid");
 		local gid = config_get("*", "core", "setgid");
 		if gid then
-			pposix.setgid(gid);
-			module:log("debug", "Change group to "..gid..".");
+			local success, msg = pposix.setgid(gid);
+			if success then
+				module:log("debug", "Changed group to "..gid.." successfully.");
+			else
+				module:log("error", "Failed to change group to "..gid..". Error: "..msg);
+				prosody.shutdown("Failed to change group to "..gid);
+			end
 		end
 		if uid then
-			pposix.setuid(uid);
-			module:log("debug", "Change user to "..uid..".");
+			local success, msg = pposix.setuid(uid);
+			if success then
+				module:log("debug", "Changed user to "..uid.." successfully.");
+			else
+				module:log("error", "Failed to change user to "..uid..". Error: "..msg);
+				prosody.shutdown("Failed to change user to "..uid);
+			end
 		end
 	end);