--- jabber-irc-0.4cvs20080505.orig/adhoc.py
+++ jabber-irc-0.4cvs20080505/adhoc.py
@@ -1,4 +1,4 @@
-# $Id: adhoc.py,v 1.3 2007/08/29 09:14:31 normanr Exp $
+# $Id: adhoc.py,v 1.4 2007/12/18 21:34:38 normanr Exp $
import sys, xmpp
from xmpp.protocol import *
@@ -98,6 +98,7 @@
def _DiscoHandler(self,conn,event,type):
"""The handler for discovery events"""
fromjid = event.getFrom().getStripped().__str__()
+ resource = event.getFrom().getResource()
to = event.getTo()
room = irc_ulower(to.getNode())
try:
@@ -107,7 +108,10 @@
channel=''
server=room
sys.exc_clear()
- if channel == '' and (not self.transport.users.has_key(fromjid) or not self.transport.users[fromjid].has_key(server)):
+ if channel == '' and not (
+ self.transport.users.has_key(fromjid) and
+ self.transport.users[fromjid].has_key(server) and
+ self.transport.users[fromjid][server].xresources.has_key(resource)):
return xmpp.commands.Command_Handler_Prototype._DiscoHandler(self,conn,event,type)
else:
return None
@@ -154,6 +158,7 @@
def _DiscoHandler(self,conn,event,type):
"""The handler for discovery events"""
fromjid = event.getFrom().getStripped().__str__()
+ resource = event.getFrom().getResource()
to = event.getTo()
room = irc_ulower(to.getNode())
try:
@@ -163,7 +168,10 @@
channel=''
server=room
sys.exc_clear()
- if channel == '' and self.transport.users.has_key(fromjid) and self.transport.users[fromjid].has_key(server):
+ if channel == '' and (
+ self.transport.users.has_key(fromjid) and
+ self.transport.users[fromjid].has_key(server) and
+ self.transport.users[fromjid][server].xresources.has_key(resource)):
return xmpp.commands.Command_Handler_Prototype._DiscoHandler(self,conn,event,type)
else:
return None