correctly close file when we cancel a transfer. Fixes #7281

This commit is contained in:
Yann Leboulanger 2013-01-24 21:23:57 +01:00
parent 38df4d2c1f
commit 3a84a5de26
2 changed files with 12 additions and 2 deletions

View File

@ -790,6 +790,7 @@ class ConnectionIBBytestream(ConnectionBytestream):
rep = nbxmpp.Protocol('iq', stanza.getFrom(), 'result',
stanza.getTo(), {'id': stanza.getID()})
file_props.block_size = blocksize
file_props.direction = '<'
file_props.seq = 0
file_props.received_len = 0
file_props.last_time = time.time()
@ -812,7 +813,6 @@ class ConnectionIBBytestream(ConnectionBytestream):
payload=[nbxmpp.Node(nbxmpp.NS_IBB + ' close',
{'sid':file_props.sid})]))
def OpenStream(self, sid, to, fp, blocksize=4096):
"""
Start new stream. You should provide stream id 'sid', the endpoind jid
@ -990,7 +990,10 @@ class ConnectionIBBytestream(ConnectionBytestream):
break
else:
if stanza.getTag('data'):
if self.IBBMessageHandler(conn, stanza):
sid = stanza.getTagAttr('data', 'sid')
file_props = FilesProp.getFileProp(self.name, sid)
if file_props.connected and self.IBBMessageHandler(conn,
stanza):
reply = stanza.buildReply('result')
reply.delChild('data')
conn.send(reply)

View File

@ -538,6 +538,7 @@ class Socks5:
raise IOError(str(e))
def close_file(self):
# Close file we're sending from
if self.file:
if not self.file.closed:
try:
@ -545,6 +546,12 @@ class Socks5:
except Exception:
pass
self.file = None
# Close file we're receiving into
if self.file_props.fd:
try:
self.file_props.fd.close()
except Exception:
pass
def get_fd(self):
"""