Software /
code /
prosody
Comparison
prosodyctl @ 5394:3d1de30fefec
Merge 0.9->trunk
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 28 Mar 2013 12:17:15 +0000 |
parent | 5303:19a4a3462574 |
parent | 5384:24f4aed5824f |
child | 5442:e66973c81e89 |
comparison
equal
deleted
inserted
replaced
5382:214c32e10734 | 5394:3d1de30fefec |
---|---|
107 print("**************************"); | 107 print("**************************"); |
108 print(""); | 108 print(""); |
109 os.exit(1); | 109 os.exit(1); |
110 end | 110 end |
111 end | 111 end |
112 local original_logging_config = config.get("*", "core", "log"); | 112 local original_logging_config = config.get("*", "log"); |
113 config.set("*", "core", "log", { { levels = { min="info" }, to = "console" } }); | 113 config.set("*", "log", { { levels = { min="info" }, to = "console" } }); |
114 | 114 |
115 local data_path = config.get("*", "core", "data_path") or CFG_DATADIR or "data"; | 115 local data_path = config.get("*", "data_path") or CFG_DATADIR or "data"; |
116 local custom_plugin_paths = config.get("*", "core", "plugin_paths"); | 116 local custom_plugin_paths = config.get("*", "plugin_paths"); |
117 if custom_plugin_paths then | 117 if custom_plugin_paths then |
118 local path_sep = package.config:sub(3,3); | 118 local path_sep = package.config:sub(3,3); |
119 -- path1;path2;path3;defaultpath... | 119 -- path1;path2;path3;defaultpath... |
120 CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); | 120 CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins"); |
121 end | 121 end |
140 if ok and pposix then | 140 if ok and pposix then |
141 if pposix._VERSION ~= want_pposix_version then print(string.format("Unknown version (%s) of binary pposix module, expected %s", tostring(pposix._VERSION), want_pposix_version)); return; end | 141 if pposix._VERSION ~= want_pposix_version then print(string.format("Unknown version (%s) of binary pposix module, expected %s", tostring(pposix._VERSION), want_pposix_version)); return; end |
142 current_uid = pposix.getuid(); | 142 current_uid = pposix.getuid(); |
143 if current_uid == 0 then | 143 if current_uid == 0 then |
144 -- We haz root! | 144 -- We haz root! |
145 local desired_user = config.get("*", "core", "prosody_user") or "prosody"; | 145 local desired_user = config.get("*", "prosody_user") or "prosody"; |
146 local desired_group = config.get("*", "core", "prosody_group") or desired_user; | 146 local desired_group = config.get("*", "prosody_group") or desired_user; |
147 local ok, err = pposix.setgid(desired_group); | 147 local ok, err = pposix.setgid(desired_group); |
148 if ok then | 148 if ok then |
149 ok, err = pposix.initgroups(desired_user); | 149 ok, err = pposix.initgroups(desired_user); |
150 end | 150 end |
151 if ok then | 151 if ok then |
160 print("Warning: Couldn't switch to Prosody user/group '"..tostring(desired_user).."'/'"..tostring(desired_group).."': "..tostring(err)); | 160 print("Warning: Couldn't switch to Prosody user/group '"..tostring(desired_user).."'/'"..tostring(desired_group).."': "..tostring(err)); |
161 end | 161 end |
162 end | 162 end |
163 | 163 |
164 -- Set our umask to protect data files | 164 -- Set our umask to protect data files |
165 pposix.umask(config.get("*", "core", "umask") or "027"); | 165 pposix.umask(config.get("*", "umask") or "027"); |
166 pposix.setenv("HOME", data_path); | 166 pposix.setenv("HOME", data_path); |
167 pposix.setenv("PROSODY_CONFIG", ENV_CONFIG); | 167 pposix.setenv("PROSODY_CONFIG", ENV_CONFIG); |
168 else | 168 else |
169 print("Error: Unable to load pposix module. Check that Prosody is installed correctly.") | 169 print("Error: Unable to load pposix module. Check that Prosody is installed correctly.") |
170 print("For more help send the below error to us through http://prosody.im/discuss"); | 170 print("For more help send the below error to us through http://prosody.im/discuss"); |
265 local getchar, getpass = prosodyctl.getchar, prosodyctl.getpass; | 265 local getchar, getpass = prosodyctl.getchar, prosodyctl.getpass; |
266 local show_yesno = prosodyctl.show_yesno; | 266 local show_yesno = prosodyctl.show_yesno; |
267 local show_prompt = prosodyctl.show_prompt; | 267 local show_prompt = prosodyctl.show_prompt; |
268 local read_password = prosodyctl.read_password; | 268 local read_password = prosodyctl.read_password; |
269 | 269 |
270 local prosodyctl_timeout = (config.get("*", "core", "prosodyctl_timeout") or 5) * 2; | 270 local prosodyctl_timeout = (config.get("*", "prosodyctl_timeout") or 5) * 2; |
271 ----------------------- | 271 ----------------------- |
272 local commands = {}; | 272 local commands = {}; |
273 local command = arg[1]; | 273 local command = arg[1]; |
274 | 274 |
275 function commands.adduser(arg) | 275 function commands.adduser(arg) |
408 return 1; | 408 return 1; |
409 end | 409 end |
410 | 410 |
411 local ok, ret = prosodyctl.start(); | 411 local ok, ret = prosodyctl.start(); |
412 if ok then | 412 if ok then |
413 if config.get("*", "core", "daemonize") ~= false then | 413 if config.get("*", "daemonize") ~= false then |
414 local i=1; | 414 local i=1; |
415 while true do | 415 while true do |
416 local ok, running = prosodyctl.isrunning(); | 416 local ok, running = prosodyctl.isrunning(); |
417 if ok and running then | 417 if ok and running then |
418 break; | 418 break; |