From e39a2395d7d5b1490e66316cd46b3f31b787cb37 Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Fri, 15 Jan 2010 21:07:28 -0800 Subject: xep 30 and 50 always reply from jid iq sent to --- sleekxmpp/plugins/stanza_pubsub.py | 5 +++-- sleekxmpp/plugins/xep_0030.py | 6 +++--- sleekxmpp/plugins/xep_0050.py | 3 +++ 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'sleekxmpp/plugins') diff --git a/sleekxmpp/plugins/stanza_pubsub.py b/sleekxmpp/plugins/stanza_pubsub.py index 900f3c82..58f9c896 100644 --- a/sleekxmpp/plugins/stanza_pubsub.py +++ b/sleekxmpp/plugins/stanza_pubsub.py @@ -58,7 +58,7 @@ class Subscription(ElementBase): namespace = 'http://jabber.org/protocol/pubsub' name = 'subscription' plugin_attrib = name - interfaces = set(('jid', 'node', 'subscription')) + interfaces = set(('jid', 'node', 'subscription', 'subid')) plugin_attrib_map = {} plugin_tag_map = {} @@ -207,9 +207,10 @@ class Publish(Items): namespace = 'http://jabber.org/protocol/pubsub' name = 'publish' plugin_attrib = name - interfaces = set(('node')) + interfaces = set(('node',)) plugin_attrib_map = {} plugin_tag_map = {} + subitem = Item stanzaPlugin(Pubsub, Publish) diff --git a/sleekxmpp/plugins/xep_0030.py b/sleekxmpp/plugins/xep_0030.py index 791038cd..bff0dc17 100644 --- a/sleekxmpp/plugins/xep_0030.py +++ b/sleekxmpp/plugins/xep_0030.py @@ -53,7 +53,7 @@ class xep_0030(base.base_plugin): def info_handler(self, xml): logging.debug("Info request from %s" % xml.get('from', '')) iq = self.xmpp.makeIqResult(xml.get('id', self.xmpp.getNewId())) - iq.attrib['from'] = self.xmpp.fulljid + iq.attrib['from'] = xml.get('to') iq.attrib['to'] = xml.get('from', self.xmpp.server) query = xml.find('{http://jabber.org/protocol/disco#info}query') node = query.get('node', 'main') @@ -74,7 +74,7 @@ class xep_0030(base.base_plugin): def item_handler(self, xml): logging.debug("Item request from %s" % xml.get('from', '')) iq = self.xmpp.makeIqResult(xml.get('id', self.xmpp.getNewId())) - iq.attrib['from'] = self.xmpp.fulljid + iq.attrib['from'] = xml.get('to') iq.attrib['to'] = xml.get('from', self.xmpp.server) query = self.xmpp.makeIqQuery(iq, 'http://jabber.org/protocol/disco#items').find('{http://jabber.org/protocol/disco#items}query') node = xml.find('{http://jabber.org/protocol/disco#items}query').get('node', 'main') @@ -82,7 +82,7 @@ class xep_0030(base.base_plugin): itemxml = ET.Element('item') itemxml.attrib = item if itemxml.attrib['jid'] is None: - itemxml.attrib['jid'] = self.xmpp.fulljid + itemxml.attrib['jid'] = xml.get('to') query.append(itemxml) self.xmpp.send(iq) diff --git a/sleekxmpp/plugins/xep_0050.py b/sleekxmpp/plugins/xep_0050.py index b75a675c..0ca66ddb 100644 --- a/sleekxmpp/plugins/xep_0050.py +++ b/sleekxmpp/plugins/xep_0050.py @@ -62,6 +62,7 @@ class xep_0050(base.base_plugin): name, form, pointer, multi = self.commands[node] self.sessions[sessionid] = {} self.sessions[sessionid]['jid'] = xml.get('from') + self.sessions[sessionid]['to'] = xml.get('to') self.sessions[sessionid]['past'] = [(form, None)] self.sessions[sessionid]['next'] = pointer npointer = pointer @@ -133,6 +134,8 @@ class xep_0050(base.base_plugin): command.append(xmlactions) if not sessionid: sessionid = self.getNewSession() + else: + iq.attrib['from'] = self.sessions[sessionid]['to'] command.attrib['sessionid'] = sessionid if form is not None: if hasattr(form,'getXML'): -- cgit v1.2.3