Added temporary fix for srv on windows: using opendns nameservers
[prosody.git] / net / connlisteners.lua
index a5c8755f28790ae40a6b25974753fe4c82dddc90..2b95331c2a6a2d68f9c4f7e6891acb14dc458df6 100644 (file)
@@ -23,18 +23,23 @@ function deregister(name)
        listeners[name] = nil;
 end
 
-function start(name, udata)
-       local h = listeners[name]
+function get(name)
+       local h = listeners[name];
        if not h then
                pcall(dofile, "net/"..name:gsub("[^%w%-]", "_").."_listener.lua");
                h = listeners[name];
-               if not h then
-                       error("No such connection module: "..name, 0);
-               end
+       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.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.interface or "*", udata.mode or h.default_mode or 1, udata.ssl );
+                       (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 );
 end
 
 return _M;
\ No newline at end of file