Also cancel the jingle session when initiator for IBB transfer cancellation
This commit is contained in:
parent
5b97ef278d
commit
cc198ec347
|
@ -135,6 +135,7 @@ class FileProp(object):
|
||||||
self.hash_ = None
|
self.hash_ = None
|
||||||
self.fd = None
|
self.fd = None
|
||||||
self.startexmpp = None
|
self.startexmpp = None
|
||||||
|
# Type of the session, if it is 'jingle' or 'si'
|
||||||
self.session_type = None
|
self.session_type = None
|
||||||
self.request_id = None
|
self.request_id = None
|
||||||
self.proxyhosts = None
|
self.proxyhosts = None
|
||||||
|
|
|
@ -811,6 +811,14 @@ class ConnectionIBBytestream(ConnectionBytestream):
|
||||||
file_props.direction[1:], 'set',
|
file_props.direction[1:], 'set',
|
||||||
payload=[nbxmpp.Node(nbxmpp.NS_IBB + ' close',
|
payload=[nbxmpp.Node(nbxmpp.NS_IBB + ' close',
|
||||||
{'sid':file_props.sid})]))
|
{'sid':file_props.sid})]))
|
||||||
|
if file_props.session_type == 'jingle':
|
||||||
|
peerjid = \
|
||||||
|
file_props.receiver if file_props.type_ == 's' else file_props.sender
|
||||||
|
session = self.get_jingle_session(peerjid, file_props.sid, 'file')
|
||||||
|
# According to the xep, the initiator also cancels the jingle session
|
||||||
|
# if there are no more files to send using IBB
|
||||||
|
if session.weinitiate:
|
||||||
|
session.cancel_session()
|
||||||
|
|
||||||
|
|
||||||
def OpenStream(self, sid, to, fp, blocksize=4096):
|
def OpenStream(self, sid, to, fp, blocksize=4096):
|
||||||
|
|
Loading…
Reference in New Issue