X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=util%2Fprosodyctl.lua;h=7f3ce20e028ac811eeaa9564592f561b9f98783f;hb=d67b44d083d688733b9e4f8fe66e0b4c6995dccb;hp=dafc7118e725b360a6a854e7eeb0d15f09aed0ad;hpb=de6c7adfacd8c7c5e80b3babee6730f64bd00533;p=prosody.git diff --git a/util/prosodyctl.lua b/util/prosodyctl.lua index dafc7118..7f3ce20e 100644 --- a/util/prosodyctl.lua +++ b/util/prosodyctl.lua @@ -1,6 +1,6 @@ -- Prosody IM --- Copyright (C) 2008-2009 Matthew Wild --- Copyright (C) 2008-2009 Waqas Hussain +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. @@ -21,6 +21,8 @@ local tostring, tonumber = tostring, tonumber; local CFG_SOURCEDIR = _G.CFG_SOURCEDIR; +local prosody = prosody; + module "prosodyctl" function adduser(params) @@ -30,6 +32,11 @@ function adduser(params) elseif not host then return false, "invalid-hostname"; end + + local provider = prosody.hosts[host].users; + if not(provider) or provider.name == "null" then + usermanager.initialize_host(host); + end local ok = usermanager.create_user(user, password, host); if not ok then @@ -39,6 +46,11 @@ function adduser(params) end function user_exists(params) + local provider = prosody.hosts[params.host].users; + if not(provider) or provider.name == "null" then + usermanager.initialize_host(params.host); + end + return usermanager.user_exists(params.user, params.host); end @@ -65,7 +77,7 @@ function getpid() return false, "no-pidfile"; end - local file, err = io.open(pidfile, "w"); + local file, err = io.open(pidfile, "r+"); if not file then return false, "pidfile-read-failed", err; end