X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=net%2Fconnlisteners.lua;h=000bfa63effa2d85598ca02eb72652240bbc4928;hb=3f2cecc3e9967a2bb2b6a95c4843cea7a73a22a1;hp=f027dfeb6457ed02308c45a90830e826849ab36f;hpb=f4de45962bcc62bfdb629103d5904907f38d9d3d;p=prosody.git diff --git a/net/connlisteners.lua b/net/connlisteners.lua index f027dfeb..000bfa63 100644 --- a/net/connlisteners.lua +++ b/net/connlisteners.lua @@ -1,67 +1,18 @@ --- Prosody IM v0.2 --- Copyright (C) 2008 Matthew Wild --- Copyright (C) 2008 Waqas Hussain --- --- This program is free software; you can redistribute it and/or --- modify it under the terms of the GNU General Public License --- as published by the Free Software Foundation; either version 2 --- of the License, or (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program; if not, write to the Free Software --- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --- +-- COMPAT w/pre-0.9 +local log = require "util.logger".init("net.connlisteners"); +local traceback = debug.traceback; +local _ENV = nil; - -local listeners_dir = (CFG_SOURCEDIR or ".").."/net/"; -local server_add = require "net.server".add; -local log = require "util.logger".init("connlisteners"); - -local dofile, pcall, error = - dofile, pcall, error - -module "connlisteners" - -local listeners = {}; - -function register(name, listener) - if listeners[name] and listeners[name] ~= listener then - log("warning", "Listener %s is already registered, not registering any more", name); - return false; - end - listeners[name] = listener; - log("info", "Registered connection listener %s", name); - return true; -end - -function deregister(name) - listeners[name] = nil; -end - -function get(name) - local h = listeners[name]; - if not h then - local ok, ret = pcall(dofile, listeners_dir..name:gsub("[^%w%-]", "_").."_listener.lua"); - if not ok then return nil, ret; end - h = listeners[name]; - end - return h; -end - -function start(name, udata) - local h = get(name); - if not h then - error("No such connection module: "..name, 0); - end - return server_add(h, - (udata and udata.port) or h.default_port or error("Can't start listener "..name.." because no port was specified, and it has no default port", 0), - (udata and udata.interface) or "*", (udata and udata.mode) or h.default_mode or 1, (udata and udata.ssl) or nil ); +local function fail() + log("error", "Attempt to use legacy connlisteners API. For more info see http://prosody.im/doc/developers/network"); + log("error", "Legacy connlisteners API usage, %s", traceback("", 2)); end -return _M; +return { + register = fail; + register = fail; + get = fail; + start = fail; + -- epic fail +};