Mercurial > prosody-modules
comparison mod_smacks/mod_smacks.lua @ 2417:5e7badecf7fe
mod_smacks: Check if a session is an authenticated c2s session by looking for a username (fix for change in 0.10 9f70d35a1602)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 15 Dec 2016 02:57:03 +0100 |
parents | 4c27ebcf4cbd |
children | 5fbca7de2088 |
comparison
equal
deleted
inserted
replaced
2416:ade918cd9ca7 | 2417:5e7badecf7fe |
---|---|
51 | 51 |
52 local function can_do_smacks(session, advertise_only) | 52 local function can_do_smacks(session, advertise_only) |
53 if session.smacks then return false, "unexpected-request", "Stream management is already enabled"; end | 53 if session.smacks then return false, "unexpected-request", "Stream management is already enabled"; end |
54 | 54 |
55 local session_type = session.type; | 55 local session_type = session.type; |
56 if session_type == "c2s" then | 56 if session.username then |
57 if not(advertise_only) and not(session.resource) then -- Fail unless we're only advertising sm | 57 if not(advertise_only) and not(session.resource) then -- Fail unless we're only advertising sm |
58 return false, "unexpected-request", "Client must bind a resource before enabling stream management"; | 58 return false, "unexpected-request", "Client must bind a resource before enabling stream management"; |
59 end | 59 end |
60 return true; | 60 return true; |
61 elseif s2s_smacks and (session_type == "s2sin" or session_type == "s2sout") then | 61 elseif s2s_smacks and (session_type == "s2sin" or session_type == "s2sout") then |