net/server_event: add_client should have same arguments no-matter the server backend
[prosody.git] / net / server_select.lua
index 14d55a329caf5105ab4594a88ce30c4fa2b48c7c..71db5006bd7cc8e4fcc4f6769dbbf93e90b22e64 100644 (file)
@@ -943,6 +943,21 @@ local wrapclient = function( socket, ip, serverport, listeners, pattern, sslctx
 end
 
 local addclient = function( address, port, listeners, pattern, sslctx )
+       local err
+       if type( listeners ) ~= "table" then
+               err = "invalid listener table"
+       elseif type ( address ) ~= "string" then
+               err = "invalid address"
+       elseif type( port ) ~= "number" or not ( port >= 0 and port <= 65535 ) then
+               err = "invalid port"
+       elseif sslctx and not has_luasec then
+               err = "luasec not found"
+       end
+       if err then
+               out_error( "server.lua, addclient: ", err )
+               return nil, err
+       end
+
        local client, err = luasocket.tcp( )
        if err then
                return nil, err