Philipp Hörist pushed to branch master at gajim / gajim
Commits: 328ceedd by Philipp Hörist at 2019-06-20T11:08:15Z Fix rejecting file transfer
- - - - -
3 changed files:
- gajim/common/jingle_session.py - gajim/common/modules/bytestream.py - gajim/common/modules/jingle.py
Changes:
===================================== gajim/common/jingle_session.py ===================================== @@ -538,7 +538,7 @@ class JingleSession: # If we are not receiving a file # Check if there's already a session with this user: if contents[0].media != 'file': - for session in self.connection.get_module('Jingle').iter_jingle_sessions(self.peerjid): + for session in self.connection.get_module('Jingle').get_jingle_sessions(self.peerjid): if session is not self: reason = nbxmpp.Node('reason') alternative_session = reason.setTag('alternative-session')
===================================== gajim/common/modules/bytestream.py ===================================== @@ -179,10 +179,9 @@ class Bytestream(BaseModule): if not app.account_is_connected(self._account): return
- if file_props.sid in self._sessions: - jingle = self._sessions[file_props.sid] - jingle.cancel_session() - return + for session in self._con.get_module('Jingle').get_jingle_sessions( + None, file_props.sid): + session.cancel_session()
def send_success_connect_reply(self, streamhost): """
===================================== gajim/common/modules/jingle.py ===================================== @@ -230,16 +230,16 @@ class Jingle(BaseModule): return 'sha-256' return None
- def iter_jingle_sessions(self, jid, sid=None, media=None): + def get_jingle_sessions(self, jid, sid=None, media=None): if sid: - return (session for session in self._sessions.values() if \ - session.sid == sid) - sessions = (session for session in self._sessions.values() if \ - session.peerjid == jid) + return [session for session in self._sessions.values() if \ + session.sid == sid] + sessions = [session for session in self._sessions.values() if \ + session.peerjid == jid] if media: if media not in ('audio', 'video', 'file'): - return tuple() - return (session for session in sessions if session.get_content(media)) + return [] + return [session for session in sessions if session.get_content(media)] return sessions
def set_file_info(self, file_):
View it on GitLab: https://dev.gajim.org/gajim/gajim/commit/328ceedd2fe32eae9f0d97ce45fcc31074d...