projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mod_saslauth: Add sasl_backend config parameter
[prosody.git]
/
net
/
server_event.lua
diff --git
a/net/server_event.lua
b/net/server_event.lua
index 6ef0f5b17dff901f9c4693a4359c501d27cc2674..53198a128d34c6acf4b0d6fb692c9da4c8b6bffa 100644
(file)
--- a/
net/server_event.lua
+++ b/
net/server_event.lua
@@
-44,8
+44,8
@@
local tostring = use "tostring"
local coroutine = use "coroutine"
local setmetatable = use "setmetatable"
local coroutine = use "coroutine"
local setmetatable = use "setmetatable"
-local ssl = use "ssl"
-local socket = use "socket"
+local ssl = use "ssl"
or require "ssl"
+local socket = use "socket"
or require "socket"
local log = require ("util.logger").init("socket")
local log = require ("util.logger").init("socket")
@@
-352,6
+352,10
@@
do
return self._port
end
return self._port
end
+ function interface_mt:serverport()
+ return self._serverport
+ end
+
function interface_mt:ip()
return self._ip
end
function interface_mt:ip()
return self._ip
end
@@
-464,6
+468,7
@@
do
-- Properties
_ip = ip, _port = port, _server = server, _pattern = pattern,
-- Properties
_ip = ip, _port = port, _server = server, _pattern = pattern,
+ _serverport = (server and server:port() or nil),
_sslctx = sslctx; -- parameters
_usingssl = false; -- client is using ssl;
}
_sslctx = sslctx; -- parameters
_usingssl = false; -- client is using ssl;
}
@@
-618,6
+623,9
@@
do
readcallback = false; -- read event callback
fatalerror = false; -- error message
nointerface = true; -- lock/unlock parameter
readcallback = false; -- read event callback
fatalerror = false; -- error message
nointerface = true; -- lock/unlock parameter
+
+ _ip = addr, _port = port, _pattern = pattern,
+ _sslctx = sslctx;
}
interface.id = tostring(interface):match("%x+$");
interface.readcallback = function( event ) -- server handler, called on incoming connections
}
interface.id = tostring(interface):match("%x+$");
interface.readcallback = function( event ) -- server handler, called on incoming connections
@@
-760,12
+768,24
@@
end )( )
local closeallservers = function( arg )
for _, item in ipairs( interfacelist( ) ) do
local closeallservers = function( arg )
for _, item in ipairs( interfacelist( ) ) do
- if item
"type"
== "server" then
- item
( "close",
arg )
+ if item
.type
== "server" then
+ item
:close(
arg )
end
end
end
end
end
end
+local function setquitting(yes)
+ if yes then
+ -- Quit now
+ closeallservers();
+ base:loopexit();
+ end
+end
+
+function get_backend()
+ return base:method();
+end
+
return {
cfg = cfg,
return {
cfg = cfg,
@@
-777,7
+797,9
@@
return {
addserver = addserver,
addclient = addclient,
wrapclient = wrapclient,
addserver = addserver,
addclient = addclient,
wrapclient = wrapclient,
- closeallservers = closeallservers,
+ setquitting = setquitting,
+ closeall = closeallservers,
+ get_backend = get_backend,
__NAME = SCRIPT_NAME,
__DATE = LAST_MODIFIED,
__NAME = SCRIPT_NAME,
__DATE = LAST_MODIFIED,