def bind(self, elem=MatchInstance(Stanza, uri=NS_XMPP_BIND, name='bind')): e = Stanza((NS_XMPP_BIND, 'bind')) e.addElement('resource', content=self.factory.resource) elem = yield self.sendIq("set", e) elem = elem.firstChildElement() assert elem.name == 'jid' self.jid = elem.children[0]
def bind(self, elem=MatchInstance(Stanza, uri=NS_XMPP_BIND, name="bind")): e = Stanza((NS_XMPP_BIND, "bind")) e.addElement("resource", content=self.factory.resource) elem = yield self.sendIq("set", e) elem = elem.firstChildElement() assert elem.name == "jid" self.jid = elem.children[0]
def onConnect(self): e = Stanza((NS_STREAMS, 'stream'), NS_JABBER_CLIENT, { 'to': self.factory.domain, 'version': '1.0' }, {'stream': NS_STREAMS}) self.send(e, False)
def starttls(self, elem=MatchInstance(Stanza, uri=NS_XMPP_TLS, name='starttls')): uri = NS_XMPP_TLS self.send(Stanza((uri, 'starttls'))) elem = yield self.waitStanzaOrEvent(MatchInstance(Stanza, uri=uri)) if elem.name != 'proceed': raise Exception self.transport.startTLS(self.factory.ssl_ctx) self.reset()
def onDocumentStart(self, root): self.domain = root['to'] e = Stanza( (NS_STREAMS, 'stream'), NS_JABBER_CLIENT, { 'from': self.domain, 'version': '1.0', 'id': '%x'%(id(self)) }, {'stream': NS_STREAMS}) self.send(e, close=False) try: self.factory.router.route(self, JID(self.domain), XmppStreamInitiate) except StreamError, error: e = Stanza((NS_STREAM, 'error')) e.addElement(error.message, NS_XMPP_STREAMS) self.send(e) self.closeStream()
def onDocumentStart(self, root): self.domain = root['to'] e = Stanza((NS_STREAMS, 'stream'), NS_JABBER_CLIENT, { 'from': self.domain, 'version': '1.0', 'id': '%x' % (id(self)) }, {'stream': NS_STREAMS}) self.send(e, close=False) try: self.factory.router.route(self, JID(self.domain), XmppStreamInitiate) except StreamError, error: e = Stanza((NS_STREAM, 'error')) e.addElement(error.message, NS_XMPP_STREAMS) self.send(e) self.closeStream()
def sendSaslResponse(self, content=""): e = Stanza((NS_XMPP_SASL, "response")) e.addContent(b64encode(content)) self.send(e)
def sendSaslAuth(self, mechanism, content=""): e = Stanza((NS_XMPP_SASL, "auth")) e["mechanism"] = mechanism e.addContent(b64encode(content)) self.send(e)
def sendSaslResponse(self, content=''): e = Stanza((NS_XMPP_SASL, 'response')) e.addContent(b64encode(content)) self.send(e)
def sendSaslAuth(self, mechanism, content=''): e = Stanza((NS_XMPP_SASL, 'auth')) e['mechanism'] = mechanism e.addContent(b64encode(content)) self.send(e)
def session(self, elem=MatchInstance(Stanza, uri=NS_XMPP_SESSION, name='session')): e = Stanza((NS_XMPP_SESSION, 'session')) elem = yield self.sendIq("set", e)