diff --git a/src/common/connection_handlers_events.py b/src/common/connection_handlers_events.py
index 4a8fc1bde592fb614a0f42dddaf97b9b8fd3e4ee..a30c9f1f81d740f24a33134b8270d8826f1c24bb 100644
--- a/src/common/connection_handlers_events.py
+++ b/src/common/connection_handlers_events.py
@@ -1978,6 +1978,21 @@ class FileRequestReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
             self.file_props.stream_methods = xmpp.NS_BYTESTREAM
             file_tag = self.jingle_content.getTag('description').getTag(
                 'offer').getTag('file')
+            for child in file_tag.getChildren():
+                name = child.getName()
+                val = child.getData()
+                if val is None:
+                    continue
+                if name == 'name':
+                    self.file_props.name = val
+                if name == 'size':
+                    self.file_props.size = val
+                if name == 'hash':
+                    self.file_props.algo = child.getAttr('algo')
+                    self.file_props.hash_ = val
+                if name == 'date':
+                    self.file_props.date = val
+
         else:
             profile = si.getAttr('profile')
             if profile != xmpp.NS_FILE:
@@ -2002,20 +2017,13 @@ class FileRequestReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
                     typ='stream')
                 raise xmpp.NodeProcessed
             file_tag = si.getTag('file')
-        for child in file_tag.getChildren():
-            name = child.getName()
-            val = child.getData()
-            if val is None:
-                continue
-            if name == 'name':
-                self.file_props.name = val
-            if name == 'size':
-                self.file_props.size = val
-            if name == 'hash':
-                self.file_props.algo = child.getAttr('algo')
-                self.file_props.hash_ = val
-            if name == 'date':
-                self.file_props.date = val
+            for name, val in file_tag.getAttrs().items():
+                if val is None:
+                    continue
+                if name == 'name':
+                    self.file_props.name = val
+                if name == 'size':
+                    self.file_props.size = val
         file_desc_tag = file_tag.getTag('desc')
         if file_desc_tag is not None:
             self.file_props.desc = file_desc_tag.getData()
diff --git a/src/common/protocol/bytestream.py b/src/common/protocol/bytestream.py
index 644c854545451a96453c53d2c98cf524ade11fe9..0dd437d331bcabef4b50de1a97da24c937a93bd9 100644
--- a/src/common/protocol/bytestream.py
+++ b/src/common/protocol/bytestream.py
@@ -569,7 +569,7 @@ class ConnectionSocks5Bytestream(ConnectionBytestream):
         err.setData(msg)
         self.connection.send(iq)
         if code == 404:
-            file_props = FilesProp.getFileProp(self.name, sid) 
+            file_props = FilesProp.getFileProp(self.name, sid)
             if file_props is not None:
                 self.disconnect_transfer(file_props)
                 file_props.error = -3
@@ -584,7 +584,7 @@ class ConnectionSocks5Bytestream(ConnectionBytestream):
         """
         if not self.connection or self.connected < 2:
             return
-        file_props = FilesProp.getFileProp(self.connection, proxy['sid']) 
+        file_props = FilesProp.getFileProp(self.connection, proxy['sid'])
         iq = xmpp.Iq(to=proxy['initiator'],     typ='set')
         auth_id = "au_" + proxy['sid']
         iq.setID(auth_id)
@@ -617,7 +617,7 @@ class ConnectionSocks5Bytestream(ConnectionBytestream):
         id_ = unicode(iq_obj.getAttr('id'))
         query = iq_obj.getTag('query')
         sid = unicode(query.getAttr('sid'))
-        file_props = FilesProp.getFileProp(self.name, sid) 
+        file_props = FilesProp.getFileProp(self.name, sid)
         streamhosts = []
         for item in query.getChildren():
             if item.getName() == 'streamhost':
@@ -780,14 +780,14 @@ class ConnectionIBBytestream(ConnectionBytestream):
         blocksize = stanza.getTagAttr('open', 'block-size')
         log.debug('StreamOpenHandler called sid->%s blocksize->%s' % (sid,
             blocksize))
-        file_props = FilesProp.getFileProp(self.name, sid) 
+        file_props = FilesProp.getFileProp(self.name, sid)
         try:
             blocksize = int(blocksize)
         except:
             err = xmpp.ERR_BAD_REQUEST
         if not sid or not blocksize:
             err = xmpp.ERR_BAD_REQUEST
-        elif not file_props: 
+        elif not file_props:
             err = xmpp.ERR_UNEXPECTED_REQUEST
         if err:
             rep = xmpp.Error(stanza, err)
@@ -900,8 +900,8 @@ class ConnectionIBBytestream(ConnectionBytestream):
             seq = ''
             data = ''
         err = None
-        file_props = FilesProp.getFileProp(self.name, sid) 
-        if file_props is None: 
+        file_props = FilesProp.getFileProp(self.name, sid)
+        if file_props is None:
             err = xmpp.ERR_ITEM_NOT_FOUND
         else:
             if not data:
diff --git a/src/common/xmpp/protocol.py b/src/common/xmpp/protocol.py
index daac07278e3e1b9f6c5105c6f084a23a6e35c70b..d4c5fb25425d6b8b66669947ea00c761704cba71 100644
--- a/src/common/xmpp/protocol.py
+++ b/src/common/xmpp/protocol.py
@@ -167,7 +167,7 @@ NS_HASHES_MD5     = 'urn:xmpp:hash-function-textual-names:md5'
 NS_HASHES_SHA1    = 'urn:xmpp:hash-function-textual-names:sha-1'
 NS_HASHES_SHA256  = 'urn:xmpp:hash-function-textual-names:sha-256'
 NS_HASHES_SHA512  = 'urn:xmpp:hash-function-textual-names:sha-512'
-                 
+
 xmpp_stream_error_conditions = '''
 bad-format --  --  -- The entity has sent XML that cannot be processed.
 bad-namespace-prefix --  --  -- The entity has sent a namespace prefix that is unsupported, or has sent no namespace prefix on an element that requires such a prefix.
@@ -1037,12 +1037,12 @@ class Iq(Protocol):
             attrs={'id': self.getID()})
         iq.setQuery(self.getQuery().getName()).setNamespace(self.getQueryNS())
         return iq
-    
-class Hashes(Node): 
+
+class Hashes(Node):
     """
     Hash elements for various XEPs as defined in XEP-300
     """
-    
+
     """
     RECOMENDED HASH USE:
     Algorithm     Support
@@ -1053,14 +1053,14 @@ class Hashes(Node):
     SHA-256       MUST
     SHA-512       SHOULD
     """
-    
+
     supported = ('md5', 'sha-1', 'sha-256', 'sha-512')
-    
+
     def __init__(self, nsp=NS_HASHES):
         Node.__init__(self, None, {}, [], None, None, False, None)
         self.setNamespace(nsp)
         self.setName('hash')
-    
+
     def calculateHash(self, algo, file_string):
         """
         Calculate the hash and add it. It is preferable doing it here
@@ -1078,12 +1078,12 @@ class Hashes(Node):
                 hl = hashlib.sha256()
             elif algo == 'sha-512':
                 hl = hashlib.sha512()
-                
+
             if hl:
                 hl.update(file_string)
                 hash_ = hl.hexdigest()
         else: # if it is a file
-                
+
             if algo == 'md5':
                 hl = hashlib.md5()
             elif algo == 'sha-1':
@@ -1092,18 +1092,18 @@ class Hashes(Node):
                 hl = hashlib.sha256()
             elif algo == 'sha-512':
                 hl = hashlib.sha512()
-                
+
             if hl:
                 for line in file_string:
                     hl.update(line)
                 hash_ = hl.hexdigest()
-                
-        return hash_        
-            
+
+        return hash_
+
     def addHash(self, hash_, algo):
         self.setAttr('algo', algo)
         self.setData(hash_)
-     
+
 class Acks(Node):
     """
     Acknowledgement elements for Stream Management