# HG changeset patch # User Matthew Wild # Date 1259125870 0 # Node ID 1a99a3bf3ce6dbdfb362b7fd101d761fb3cc10af # Parent 529af807ba1af533385736b60c383c0bca83bd41# Parent e41a6ea7fc0f9308e1c56b991f58465de21d59c4 Merge with 0.6 on prosody.im diff -r e41a6ea7fc0f -r 1a99a3bf3ce6 core/s2smanager.lua --- a/core/s2smanager.lua Tue Nov 24 22:42:08 2009 +0500 +++ b/core/s2smanager.lua Wed Nov 25 05:11:10 2009 +0000 @@ -79,6 +79,10 @@ end function send_to_host(from_host, to_host, data) + if not hosts[from_host] then + log("warn", "Attempt to send stanza from %s - a host we don't serve", from_host); + return false; + end local host = hosts[from_host].s2sout[to_host]; if host then -- We have a connection to this host already diff -r e41a6ea7fc0f -r 1a99a3bf3ce6 util/datamanager.lua --- a/util/datamanager.lua Tue Nov 24 22:42:08 2009 +0500 +++ b/util/datamanager.lua Wed Nov 25 05:11:10 2009 +0000 @@ -15,13 +15,13 @@ local log = require "util.logger".init("datamanager"); local io_open = io.open; local os_remove = os.remove; -local io_popen = io.popen; local tostring, tonumber = tostring, tonumber; local error = error; local next = next; local t_insert = table.insert; local append = require "util.serialization".append; local path_separator = "/"; if os.getenv("WINDIR") then path_separator = "\\" end +local lfs_mkdir = require "lfs".mkdir; module "datamanager" @@ -43,7 +43,7 @@ local function mkdir(path) path = path:gsub("/", path_separator); -- TODO as an optimization, do this during path creation rather than here if not _mkdir[path] then - local x = io_popen("mkdir \""..path.."\" 2>&1"):read("*a"); + lfs_mkdir(path); _mkdir[path] = true; end return path; diff -r e41a6ea7fc0f -r 1a99a3bf3ce6 util/dependencies.lua --- a/util/dependencies.lua Tue Nov 24 22:42:08 2009 +0500 +++ b/util/dependencies.lua Wed Nov 25 05:11:10 2009 +0000 @@ -30,24 +30,46 @@ local lxp = softreq "lxp" if not lxp then - missingdep("luaexpat", { ["Ubuntu 8.04 (Hardy)"] = "sudo apt-get install liblua5.1-expat0"; ["luarocks"] = "luarocks install luaexpat"; }); + missingdep("luaexpat", { + ["Debian/Ubuntu"] = "sudo apt-get install liblua5.1-expat0"; + ["luarocks"] = "luarocks install luaexpat"; + ["Source"] = "http://www.keplerproject.org/luaexpat/"; + }); fatal = true; end local socket = softreq "socket" if not socket then - missingdep("luasocket", { ["Ubuntu 8.04 (Hardy)"] = "sudo apt-get install liblua5.1-socket2"; ["luarocks"] = "luarocks install luasocket"; }); + missingdep("luasocket", { + ["Debian/Ubuntu"] = "sudo apt-get install liblua5.1-socket2"; + ["luarocks"] = "luarocks install luasocket"; + ["Source"] = "http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/"; + }); fatal = true; end +local lfs, err = softreq "lfs" +if not lfs then + missingdep("luafilesystem", { + ["luarocks"] = "luarocks install luafilesystem"; + ["Debian/Ubuntu"] = "sudo apt-get install liblua5.1-luafilesystem0"; + ["Source"] = "http://www.keplerproject.org/luafilesystem/"; + }); + fatal = true; +end + local ssl = softreq "ssl" if not ssl then if config.get("*", "core", "run_without_ssl") then log("warn", "Running without SSL support because run_without_ssl is defined in the config"); else - missingdep("LuaSec", { ["Source"] = "http://www.inf.puc-rio.br/~brunoos/luasec/" }, "SSL/TLS support will not be available"); + missingdep("LuaSec", { + ["Debian/Ubuntu"] = "http://prosody.im/download/start#debian_and_ubuntu"; + ["luarocks"] = "luarocks install luasec"; + ["Source"] = "http://www.inf.puc-rio.br/~brunoos/luasec/"; + }, "SSL/TLS support will not be available"); end end