summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--NEWS7
-rw-r--r--paramiko/packet.py12
2 files changed, 11 insertions, 8 deletions
diff --git a/NEWS b/NEWS
index 7365e4d7..7f576633 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,13 @@ Issues noted as "Fabric #NN" can be found at https://github.com/fabric/fabric/.
Releases
========
+v1.10.3 (20th Sep 2013)
+-----------------------
+
+* #162: Clean up HMAC module import to avoid deadlocks in certain uses of
+ SSHClient. Thanks to Gernot Hillier for the catch & suggested
+ fix.
+
v1.11.0 (26th Jul 2013)
-----------------------
diff --git a/paramiko/packet.py b/paramiko/packet.py
index 38a6d4b5..be502e9b 100644
--- a/paramiko/packet.py
+++ b/paramiko/packet.py
@@ -33,17 +33,13 @@ from paramiko.ssh_exception import SSHException, ProxyCommandFailure
from paramiko.message import Message
-got_r_hmac = False
try:
- import r_hmac
- got_r_hmac = True
+ from r_hmac import HMAC
except ImportError:
- pass
+ from Crypto.Hash.HMAC import HMAC
+
def compute_hmac(key, message, digest_class):
- if got_r_hmac:
- return r_hmac.HMAC(key, message, digest_class).digest()
- from Crypto.Hash import HMAC
- return HMAC.HMAC(key, message, digest_class).digest()
+ return HMAC(key, message, digest_class).digest()
class NeedRekeyException (Exception):