瀏覽代碼

Fix paramiko password prompting

Jonas Borgström 14 年之前
父節點
當前提交
811bbb3e89
共有 1 個文件被更改,包括 7 次插入2 次删除
  1. 7 2
      darc/remote.py

+ 7 - 2
darc/remote.py

@@ -74,8 +74,13 @@ class RemoteStore(object):
             try:
             try:
                 self.client.connect(**params)
                 self.client.connect(**params)
                 break
                 break
-            except paramiko.PasswordRequiredException:
-                params['password'] = getpass.getpass('Password for %(username)s@%(hostname)s:' % params)
+            except (paramiko.PasswordRequiredException,
+		    paramiko.AuthenticationException,
+		    paramiko.SSHException):
+		if not 'password' in params:
+			params['password'] = getpass.getpass('Password for %(username)s@%(hostname)s:' % params)
+		else:
+		    raise
 
 
         self.unpacker = msgpack.Unpacker()
         self.unpacker = msgpack.Unpacker()
         self.transport = self.client.get_transport()
         self.transport = self.client.get_transport()