aboutsummaryrefslogtreecommitdiffstats
path: root/prosody
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2009-11-25 05:11:10 +0000
committerMatthew Wild <mwild1@gmail.com>2009-11-25 05:11:10 +0000
commitff6b4c2c6d8823412bfc4ee7946cd2bf449ea174 (patch)
treef0046719bbec2124f94240c3627f60f663b41f52 /prosody
parentc4742ed7810b3e10bfc6bdb55a11c31b3faf5426 (diff)
parent4e56a3c519bc0d46a3491ca18cb58c3e8dbb5ae9 (diff)
downloadprosody-ff6b4c2c6d8823412bfc4ee7946cd2bf449ea174.tar.gz
prosody-ff6b4c2c6d8823412bfc4ee7946cd2bf449ea174.zip
Merge with 0.6 on prosody.imvault/0.6.00.6.0
Diffstat (limited to 'prosody')
-rwxr-xr-xprosody30
1 files changed, 25 insertions, 5 deletions
diff --git a/prosody b/prosody
index ae9cd2fc..7f69e085 100755
--- a/prosody
+++ b/prosody
@@ -14,7 +14,7 @@ CFG_CONFIGDIR=os.getenv("PROSODY_CFGDIR");
CFG_PLUGINDIR=os.getenv("PROSODY_PLUGINDIR");
CFG_DATADIR=os.getenv("PROSODY_DATADIR");
--- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- --
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
if CFG_SOURCEDIR then
package.path = CFG_SOURCEDIR.."/?.lua;"..package.path;
@@ -58,7 +58,27 @@ config = require "core.configmanager"
function read_config()
-- TODO: Check for other formats when we add support for them
-- Use lfs? Make a new conf/ dir?
- local ok, level, err = config.load((CFG_CONFIGDIR or ".").."/prosody.cfg.lua");
+ local filenames = {};
+
+ local filename;
+ if arg[1] == "--config" and arg[2] then
+ table.insert(filenames, arg[2]);
+ if CFG_CONFIGDIR then
+ table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]);
+ end
+ else
+ table.insert(filenames, (CFG_CONFIGDIR or ".").."/prosody.cfg.lua");
+ end
+ for _,_filename in ipairs(filenames) do
+ filename = _filename;
+ local file = io.open(filename);
+ if file then
+ file:close();
+ CFG_CONFIGDIR = filename:match("^(.*)[\\/][^\\/]*$");
+ break;
+ end
+ end
+ local ok, level, err = config.load(filename);
if not ok then
print("\n");
print("**************************");
@@ -82,13 +102,13 @@ function read_config()
end
function load_libraries()
- --- Initialize logging
+ -- Initialize logging
require "core.loggingmanager"
- --- Check runtime dependencies
+ -- Check runtime dependencies
require "util.dependencies"
- --- Load socket framework
+ -- Load socket framework
server = require "net.server"
end