From 88194e02bcd1760909dfae4a469e67ca52fe7d22 Mon Sep 17 00:00:00 2001
From: Jefry Lagrange <jefry.reyes@gmail.com>
Date: Sun, 2 Sep 2012 12:59:55 -0400
Subject: [PATCH] get right info in file_props when we receive a request for a
 file

---
 src/common/connection_handlers_events.py | 9 +++++++--
 src/common/jingle_content.py             | 1 +
 src/common/jingle_ft.py                  | 1 +
 src/common/jingle_session.py             | 7 +++++--
 src/common/protocol/bytestream.py        | 2 --
 5 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/common/connection_handlers_events.py b/src/common/connection_handlers_events.py
index f790c16208..16f5d3418b 100644
--- a/src/common/connection_handlers_events.py
+++ b/src/common/connection_handlers_events.py
@@ -1996,8 +1996,13 @@ class FileRequestReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
             desc = self.jingle_content.getTag('description')
             if desc.getTag('offer'):
                 file_tag = desc.getTag('offer').getTag('file')
+                self.file_props.sender = self.fjid
+                self.file_props.receiver = self.conn._ft_get_our_jid()
             else:
                 file_tag = desc.getTag('request').getTag('file')
+                self.file_props.sender = self.conn._ft_get_our_jid()
+                self.file_props.receiver = self.fjid
+                self.file_props.type_ = 's'
             for child in file_tag.getChildren():
                 name = child.getName()
                 val = child.getData()
@@ -2050,12 +2055,12 @@ class FileRequestReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
             mime_type = si.getAttr('mime-type')
             if mime_type is not None:
                 self.file_props.mime_type = mime_type
-        self.file_props.sender = self.fjid
+            self.file_props.sender = self.fjid
+            self.file_props.receiver = self.conn._ft_get_our_jid()
         self.file_props.request_id = self.id_
         file_desc_tag = file_tag.getTag('desc')
         if file_desc_tag is not None:
             self.file_props.desc = file_desc_tag.getData()
-        self.file_props.receiver = self.conn._ft_get_our_jid()
         self.file_props.transfered_size = []
         return True
 
diff --git a/src/common/jingle_content.py b/src/common/jingle_content.py
index 418a6ec475..b2f3171f32 100644
--- a/src/common/jingle_content.py
+++ b/src/common/jingle_content.py
@@ -195,6 +195,7 @@ class JingleContent(object):
                 h  = self._calcHash()
                 file_tag.addChild(node=h)
                 file_info = {'name' : self.file_props.name,
+                             'file-name' : self.file_props.file_name,
                              'hash' : self.file_props.hash_,
                              'size' : self.file_props.size,
                              'date' : self.file_props.date
diff --git a/src/common/jingle_ft.py b/src/common/jingle_ft.py
index db9197f64d..851a162890 100644
--- a/src/common/jingle_ft.py
+++ b/src/common/jingle_ft.py
@@ -128,6 +128,7 @@ class JingleFileTransfer(JingleContent):
         checksum.setNamespace(xmpp.NS_JINGLE_FILE_TRANSFER)
         self.session.__session_info(checksum )
         file_info = {'name' : self.file_props.name,
+                     'file-name' : self.file_props.file_name,
                      'hash' : self.file_props.hash_,
                      'size' : self.file_props.size,
                      'date' : self.file_props.date
diff --git a/src/common/jingle_session.py b/src/common/jingle_session.py
index 68c0ee313a..44cab74ed8 100644
--- a/src/common/jingle_session.py
+++ b/src/common/jingle_session.py
@@ -522,8 +522,11 @@ class JingleSession(object):
                     file_info = self.connection.get_files_info(hash_=h)
                 elif n:
                     file_info = self.connection.get_files_info(name=n)
-                if not file_info:
-                    # Send 404 error?
+                if file_info:
+                    file_props = FilesProp.getFileProp(self.connection.name,
+                                                       self.sid)
+                    file_props.file_name = file_info['file-name']
+                else:
                     log.warning('The peer ' + self.peerjid + \
                                 ' is requesting a ' + \
                                 'file that we dont have')
diff --git a/src/common/protocol/bytestream.py b/src/common/protocol/bytestream.py
index 0b3300e37a..c87e210ea7 100644
--- a/src/common/protocol/bytestream.py
+++ b/src/common/protocol/bytestream.py
@@ -32,7 +32,6 @@ import socket
 import base64
 import gobject
 import time
-import pdb
 
 from common import xmpp
 from common import gajim
@@ -838,7 +837,6 @@ class ConnectionIBBytestream(ConnectionBytestream):
         Send next portion of data if it is time to do it. Used internally.
         """
         log.debug('SendHandler called')
-        #pdb.set_trace()
         for file_props in FilesProp.getAllFileProp():
             if not file_props.direction:
                 # it's socks5 bytestream
-- 
GitLab