plugins/mod_roster.lua
changeset 1198 545c81364939
parent 1133 b293d7dc6a45
child 1200 57a72472e1bc
equal deleted inserted replaced
1197:1f4a4e6ae694 1198:545c81364939
    33 
    33 
    34 module:add_iq_handler("c2s", "jabber:iq:roster", 
    34 module:add_iq_handler("c2s", "jabber:iq:roster", 
    35 		function (session, stanza)
    35 		function (session, stanza)
    36 			if stanza.tags[1].name == "query" then
    36 			if stanza.tags[1].name == "query" then
    37 				if stanza.attr.type == "get" then
    37 				if stanza.attr.type == "get" then
    38 					local roster = st.reply(stanza)
    38 					local roster = st.reply(stanza);
    39 								:query("jabber:iq:roster");
       
    40 					
    39 					
    41 					local ver = stanza.tags[1].attr.ver
    40 					local ver = stanza.tags[1].attr.ver
    42 					
    41 					
    43 					if (not ver) or tonumber(ver) ~= (session.roster[false].version or 1) then
    42 					if (not ver) or tonumber(ver) ~= (session.roster[false].version or 1) then
       
    43 						roster:query("jabber:iq:roster");
    44 						-- Client does not support versioning, or has stale roster
    44 						-- Client does not support versioning, or has stale roster
    45 						for jid in pairs(session.roster) do
    45 						for jid in pairs(session.roster) do
    46 							if jid ~= "pending" and jid then
    46 							if jid ~= "pending" and jid then
    47 								roster:tag("item", {
    47 								roster:tag("item", {
    48 									jid = jid,
    48 									jid = jid,