diff options
-rwxr-xr-x | prosody | 6 | ||||
-rw-r--r-- | util/startup.lua | 12 |
2 files changed, 7 insertions, 11 deletions
@@ -43,11 +43,7 @@ if CFG_DATADIR then end end -if #arg > 0 and arg[1] ~= "--config" then - print("Unknown command-line option: "..tostring(arg[1])); - print("Perhaps you meant to use prosodyctl instead?"); - return 1; -end + local startup = require "util.startup"; local async = require "util.async"; diff --git a/util/startup.lua b/util/startup.lua index fb898970..93f40c8f 100644 --- a/util/startup.lua +++ b/util/startup.lua @@ -70,12 +70,11 @@ function startup.read_config() local filenames = {}; local filename; - if arg[1] == "--config" and arg[2] then - table.insert(filenames, arg[2]); + if prosody.opts.config then + table.insert(filenames, prosody.opts.config); if CFG_CONFIGDIR then - table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]); + table.insert(filenames, CFG_CONFIGDIR.."/"..prosody.opts.config); end - table.remove(arg, 1); table.remove(arg, 1); elseif os.getenv("PROSODY_CONFIG") then -- Passed by prosodyctl table.insert(filenames, os.getenv("PROSODY_CONFIG")); else @@ -459,8 +458,7 @@ function startup.switch_user() os.exit(1); end prosody.current_uid = pposix.getuid(); - local arg_root = arg[1] == "--root"; - if arg_root then table.remove(arg, 1); end + local arg_root = prosody.opts.root; if prosody.current_uid == 0 and config.get("*", "run_as_root") ~= true and not arg_root then -- We haz root! local desired_user = config.get("*", "prosody_user") or "prosody"; @@ -569,6 +567,7 @@ end -- prosodyctl only function startup.prosodyctl() + startup.parse_args(); startup.init_global_state(); startup.read_config(); startup.force_console_logging(); @@ -589,6 +588,7 @@ end function startup.prosody() -- These actions are in a strict order, as many depend on -- previous steps to have already been performed + startup.parse_args(); startup.init_global_state(); startup.read_config(); startup.init_logging(); |