From 4f6687e8688d190b05441cb5acaeefa63f4fc8d7 Mon Sep 17 00:00:00 2001 From: Jefry Lagrange <jefry.reyes@gmail.com> Date: Wed, 26 Sep 2012 20:46:09 -0400 Subject: [PATCH] refactoring --- src/common/connection_handlers_events.py | 6 ++---- src/common/jingle.py | 6 +++--- src/common/jingle_session.py | 9 +++------ 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/common/connection_handlers_events.py b/src/common/connection_handlers_events.py index 2f94f80d15..9163b70922 100644 --- a/src/common/connection_handlers_events.py +++ b/src/common/connection_handlers_events.py @@ -2002,10 +2002,8 @@ class FileRequestReceivedEvent(nec.NetworkIncomingEvent, HelperEvent): file_tag = desc.getTag('request').getTag('file') h = file_tag.getTag('hash') n = file_tag.getTag('name') - if h: - file_info = self.conn.get_file_info(hash_=h) - elif n: - file_info = self.conn.get_file_info(name=n) + pjid = gajim.get_jid_without_resource(self.fjid) + file_info = self.conn.get_file_info(pjid, hash_=h, name=n) self.file_props.file_name = file_info['file-name'] self.file_props.sender = self.conn._ft_get_our_jid() self.file_props.receiver = self.fjid diff --git a/src/common/jingle.py b/src/common/jingle.py index 985003aa73..4b466e4ad6 100644 --- a/src/common/jingle.py +++ b/src/common/jingle.py @@ -194,15 +194,15 @@ class ConnectionJingle(object): # to be requested again. self.files.append(file_) - def get_file_info(self, hash_=None, name=None): + def get_file_info(self, peerjid, hash_=None, name=None): if hash_: for f in self.files: # DEBUG #if f['hash'] == '1294809248109223': - if f['hash'] == hash_: + if f['hash'] == hash_ and f['peerjid'] == peerjid: return f elif name: for f in self.files: - if f['name'] == name: + if f['name'] == name and f['peerjid'] == peerjid: return f def get_jingle_session(self, jid, sid=None, media=None): diff --git a/src/common/jingle_session.py b/src/common/jingle_session.py index 7ef8ea37e0..84ec8266c9 100644 --- a/src/common/jingle_session.py +++ b/src/common/jingle_session.py @@ -521,15 +521,12 @@ class JingleSession(object): self.request = True h = request.getTag('file').getTag('hash') n = request.getTag('file').getTag('name') - if h: - file_info = self.connection.get_file_info(hash_=h) - elif n: - file_info = self.connection.get_file_info(name=n) pjid = gajim.get_jid_without_resource(self.peerjid) - if not file_info or file_info['peerjid'] != pjid: + file_info = self.connection.get_file_info(pjid, h, n) + if not file_info: log.warning('The peer ' + pjid + \ ' is requesting a ' + \ - 'file that we dont have or' + \ + 'file that we dont have or ' + \ 'it is not allowed to request') self.decline_session() raise xmpp.NodeProcessed -- GitLab