Mercurial > prosody-hg
comparison plugins/mod_c2s.lua @ 5720:449399a7e136
Merge
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 29 Jun 2013 14:45:47 +0100 |
| parents | 9345c161481f |
| children | cef2a1122b43 |
comparison
equal
deleted
inserted
replaced
| 5719:84025249fc04 | 5720:449399a7e136 |
|---|---|
| 48 end | 48 end |
| 49 session.version = tonumber(attr.version) or 0; | 49 session.version = tonumber(attr.version) or 0; |
| 50 session.streamid = uuid_generate(); | 50 session.streamid = uuid_generate(); |
| 51 (session.log or session)("debug", "Client sent opening <stream:stream> to %s", session.host); | 51 (session.log or session)("debug", "Client sent opening <stream:stream> to %s", session.host); |
| 52 | 52 |
| 53 if not hosts[session.host] then | 53 if not hosts[session.host] or not hosts[session.host].modules.c2s then |
| 54 -- We don't serve this host... | 54 -- We don't serve this host... |
| 55 session:close{ condition = "host-unknown", text = "This server does not serve "..tostring(session.host)}; | 55 session:close{ condition = "host-unknown", text = "This server does not serve "..tostring(session.host)}; |
| 56 return; | 56 return; |
| 57 end | 57 end |
| 58 | 58 |
| 260 sm_destroy_session(session, err); | 260 sm_destroy_session(session, err); |
| 261 sessions[conn] = nil; | 261 sessions[conn] = nil; |
| 262 end | 262 end |
| 263 end | 263 end |
| 264 | 264 |
| 265 function listener.onreadtimeout(conn) | |
| 266 local session = sessions[conn]; | |
| 267 if session then | |
| 268 return (hosts[session.host] or prosody).events.fire_event("c2s-read-timeout", { session = session }); | |
| 269 end | |
| 270 end | |
| 271 | |
| 272 local function keepalive(event) | |
| 273 return event.session.send(' '); | |
| 274 end | |
| 275 | |
| 265 function listener.associate_session(conn, session) | 276 function listener.associate_session(conn, session) |
| 266 sessions[conn] = session; | 277 sessions[conn] = session; |
| 267 end | 278 end |
| 279 | |
| 280 function module.add_host(module) | |
| 281 module:hook("c2s-read-timeout", keepalive, -1); | |
| 282 end | |
| 283 | |
| 284 module:hook("c2s-read-timeout", keepalive, -1); | |
| 268 | 285 |
| 269 module:hook("server-stopping", function(event) | 286 module:hook("server-stopping", function(event) |
| 270 local reason = event.reason; | 287 local reason = event.reason; |
| 271 for _, session in pairs(sessions) do | 288 for _, session in pairs(sessions) do |
| 272 session:close{ condition = "system-shutdown", text = reason }; | 289 session:close{ condition = "system-shutdown", text = reason }; |
