Mercurial > prosody-modules
comparison mod_privacy/mod_privacy.lua @ 18:2df11ec081fe
mod_privacy: make finding the right session working
| author | Thilo Cestonaro <thilo@cestona.ro> |
|---|---|
| date | Mon, 28 Sep 2009 22:36:01 +0200 |
| parents | ccb07c0efc7e |
| children | e400ee8471b0 |
comparison
equal
deleted
inserted
replaced
| 17:ccb07c0efc7e | 18:2df11ec081fe |
|---|---|
| 387 return; | 387 return; |
| 388 end | 388 end |
| 389 if resource == nil then | 389 if resource == nil then |
| 390 local prio = 0; | 390 local prio = 0; |
| 391 local session_; | 391 local session_; |
| 392 for _,session_ in ipairs(bare_sessions[node.."@"..host].sessions) do | 392 if bare_sessions[node.."@"..host] ~= nil then |
| 393 if session_.priority > prio then | 393 for resource, session_ in pairs(bare_sessions[node.."@"..host].sessions) do |
| 394 session = session_; | 394 if session_.priority > prio then |
| 395 prio = session_.priority; | 395 session = session_; |
| 396 prio = session_.priority; | |
| 397 end | |
| 396 end | 398 end |
| 397 end | 399 end |
| 398 else | 400 else |
| 399 session = full_sessions[node.."@"..host.."/"..resource]; | 401 session = full_sessions[node.."@"..host.."/"..resource]; |
| 400 end | 402 end |
| 401 return checkIfNeedToBeBlocked(e, session); | 403 if session ~= nil then |
| 404 return checkIfNeedToBeBlocked(e, session); | |
| 405 else | |
| 406 module:log("debug", "preCheckIncoming: Couldn't get session for jid: %s@%s/%s", node or "nil", host or "nil", resource or "nil") | |
| 407 end | |
| 402 end | 408 end |
| 403 return; | 409 return; |
| 404 end | 410 end |
| 405 | 411 |
| 406 function preCheckOutgoing(e) | 412 function preCheckOutgoing(e) |
| 411 return; | 417 return; |
| 412 end | 418 end |
| 413 if resource == nil then | 419 if resource == nil then |
| 414 local prio = 0; | 420 local prio = 0; |
| 415 local session_; | 421 local session_; |
| 416 for _,session_ in ipairs(bare_sessions[node.."@"..host].sessions) do | 422 if bare_sessions[node.."@"..host] ~= nil then |
| 417 if session_.priority > prio then | 423 for resource, session_ in pairs(bare_sessions[node.."@"..host].sessions) do |
| 418 session = session_; | 424 if session_.priority > prio then |
| 419 prio = session_.priority; | 425 session = session_; |
| 426 prio = session_.priority; | |
| 427 end | |
| 420 end | 428 end |
| 421 end | 429 end |
| 422 else | 430 else |
| 423 session = full_sessions[node.."@"..host.."/"..resource]; | 431 session = full_sessions[node.."@"..host.."/"..resource]; |
| 424 end | 432 end |
| 425 return checkIfNeedToBeBlocked(e, session); | 433 if session ~= nil then |
| 434 return checkIfNeedToBeBlocked(e, session); | |
| 435 else | |
| 436 module:log("debug", "preCheckOutgoing: Couldn't get session for jid: %s@%s/%s", node or "nil", host or "nil", resource or "nil") | |
| 437 end | |
| 426 end | 438 end |
| 427 return; | 439 return; |
| 428 end | 440 end |
| 429 | 441 |
| 430 | 442 |
