diff --git a/src/common/jingle_ft.py b/src/common/jingle_ft.py index a3dfaec31..0d7f05790 100644 --- a/src/common/jingle_ft.py +++ b/src/common/jingle_ft.py @@ -118,11 +118,15 @@ class JingleFileTransfer(JingleContent): if self.session.hash_algo == None: return try: - file = open(self.file_props['file-name'], 'r') + file_ = open(self.file_props['file-name'], 'r') except: + # can't open file return h = xmpp.Hashes() - hash_ = h.calculateHash(self.session.hash_algo, file) + hash_ = h.calculateHash(self.session.hash_algo, file_) + if not hash_: + # Hash alogrithm not supported + return self.file_props['hash'] = hash_ h.addHash(hash_, self.session.hash_algo) checksum = xmpp.Node(tag='checksum', diff --git a/src/common/xmpp/protocol.py b/src/common/xmpp/protocol.py index 007549691..3a8f092a7 100644 --- a/src/common/xmpp/protocol.py +++ b/src/common/xmpp/protocol.py @@ -1078,10 +1078,7 @@ class Hashes(Node): elif algo == 'sha-512': hl = hashlib.sha512() - if hl == None: - # Raise exception - raise Exception('Hash algorithm not supported') - else: + if hl: hl.update(file_string) hash_ = hl.hexdigest() else: # if it is a file @@ -1095,10 +1092,7 @@ class Hashes(Node): elif algo == 'sha-512': hl = hashlib.sha512() - if hl == None: - # Raise exception - raise Exception('Hash algorithm not supported') - else: + if hl: for line in file_string: hl.update(line) hash_ = hl.hexdigest()