Mercurial > prosody-modules
comparison mod_smacks/mod_smacks.lua @ 987:fabff75bfc3f
mod_smacks: If a hibernating session was destroyed before the timeout, don't destroy it again or say that it was resumed
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 25 Apr 2013 17:34:30 +0200 |
| parents | 720b8268778e |
| children | c15cea87036f |
comparison
equal
deleted
inserted
replaced
| 986:8b1250df82e8 | 987:fabff75bfc3f |
|---|---|
| 228 -- We need to check the current resumption token for this resource | 228 -- We need to check the current resumption token for this resource |
| 229 -- matches the smacks session this timer is for in case it changed | 229 -- matches the smacks session this timer is for in case it changed |
| 230 -- (for example, the client may have bound a new resource and | 230 -- (for example, the client may have bound a new resource and |
| 231 -- started a new smacks session, or not be using smacks) | 231 -- started a new smacks session, or not be using smacks) |
| 232 local curr_session = full_sessions[session.full_jid]; | 232 local curr_session = full_sessions[session.full_jid]; |
| 233 if curr_session and curr_session.resumption_token == resumption_token | 233 if false and session.destroyed then |
| 234 session.log("debug", "The session has already been destroyed"); | |
| 235 elseif curr_session and curr_session.resumption_token == resumption_token | |
| 234 -- Check the hibernate time still matches what we think it is, | 236 -- Check the hibernate time still matches what we think it is, |
| 235 -- otherwise the session resumed and re-hibernated. | 237 -- otherwise the session resumed and re-hibernated. |
| 236 and session.hibernating == hibernate_time then | 238 and session.hibernating == hibernate_time then |
| 237 session.log("debug", "Destroying session for hibernating too long"); | 239 session.log("debug", "Destroying session for hibernating too long"); |
| 238 session_registry[session.resumption_token] = nil; | 240 session_registry[session.resumption_token] = nil; |
