summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2011-08-06 00:44:32 -0700
committerLance Stout <lancestout@gmail.com>2011-08-06 00:44:32 -0700
commite83fae3a6fed7dd143aa6fed0673ff46340ea953 (patch)
tree70908999ae511b150ff90d9b98c5d65edf686fb3
parent5be5b8c02bea7cef40046ec29c513e669399633a (diff)
downloadslixmpp-e83fae3a6fed7dd143aa6fed0673ff46340ea953.tar.gz
slixmpp-e83fae3a6fed7dd143aa6fed0673ff46340ea953.tar.bz2
slixmpp-e83fae3a6fed7dd143aa6fed0673ff46340ea953.tar.xz
slixmpp-e83fae3a6fed7dd143aa6fed0673ff46340ea953.zip
Save the stream ID when the stream starts.
-rw-r--r--sleekxmpp/basexmpp.py11
-rw-r--r--sleekxmpp/componentxmpp.py4
2 files changed, 14 insertions, 1 deletions
diff --git a/sleekxmpp/basexmpp.py b/sleekxmpp/basexmpp.py
index 816f2fcc..7c131250 100644
--- a/sleekxmpp/basexmpp.py
+++ b/sleekxmpp/basexmpp.py
@@ -138,6 +138,17 @@ class BaseXMPP(XMLStream):
register_stanza_plugin(Message, Nick)
register_stanza_plugin(Message, HTMLIM)
+ def start_stream_handler(self, xml):
+ """
+ Save the stream ID once the streams have been established.
+
+ Overrides XMLStream.start_stream_handler.
+
+ Arguments:
+ xml -- The incoming stream's root element.
+ """
+ self.stream_id = xml.get('id', '')
+
def process(self, *args, **kwargs):
"""
Overrides XMLStream.process.
diff --git a/sleekxmpp/componentxmpp.py b/sleekxmpp/componentxmpp.py
index f9e7da4d..ed96016a 100644
--- a/sleekxmpp/componentxmpp.py
+++ b/sleekxmpp/componentxmpp.py
@@ -115,11 +115,13 @@ class ComponentXMPP(BaseXMPP):
Once the streams are established, attempt to handshake
with the server to be accepted as a component.
- Overrides XMLStream.start_stream_handler.
+ Overrides BaseXMPP.start_stream_handler.
Arguments:
xml -- The incoming stream's root element.
"""
+ BaseXMPP.start_stream_handler(self, xml)
+
# Construct a hash of the stream ID and the component secret.
sid = xml.get('id', '')
pre_hash = '%s%s' % (sid, self.secret)