summaryrefslogtreecommitdiff
path: root/sleekxmpp/componentxmpp.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/componentxmpp.py')
-rwxr-xr-xsleekxmpp/componentxmpp.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/sleekxmpp/componentxmpp.py b/sleekxmpp/componentxmpp.py
index 8eaa1408..33514859 100755
--- a/sleekxmpp/componentxmpp.py
+++ b/sleekxmpp/componentxmpp.py
@@ -23,14 +23,6 @@ from __future__ import absolute_import
from . basexmpp import basexmpp
from xml.etree import cElementTree as ET
-# some servers use different namespaces for components -- this is a hack, but is there for compatibility
-from . xmlstream.matcher import xmlmask
-from . xmlstream.matcher import xpath
-
-xmlmask.ignore_ns = True
-xpath.ignore_ns = True
-# ----------
-
from . xmlstream.xmlstream import XMLStream
from . xmlstream.xmlstream import RestartStream
from . xmlstream.matcher.xmlmask import MatchXMLMask
@@ -77,6 +69,14 @@ class ComponentXMPP(basexmpp, XMLStream):
MatchXMLMask("<presence xmlns='%s' type='unsubscribe'/>" % self.default_ns), \
MatchXMLMask("<presence xmlns='%s' type='unsubscribed'/>" % self.default_ns) \
)), self._handlePresenceSubscription))
+
+ def incoming_filter(self, xmlobj):
+ if xmlobj.tag.startswith('{jabber:client}'):
+ xmlobj.tag = xmlobj.tag.replace('jabber:client', 'jabber:component:accept')
+ for child in xmlobj.children():
+ child = self.incoming_filter(child)
+ return xmlobj
+
def _handlePresenceProbe(self, stanza):
xml = stanza.xml