summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvery Pennarun <apenwarr@gmail.com>2010-10-01 10:34:20 -0700
committerAvery Pennarun <apenwarr@gmail.com>2010-10-01 10:34:20 -0700
commit76bbbfd67b14ae8f6541ba1fc321f27f359362c6 (patch)
treeff3594101d77f0accc634f7d78075608c2bae141
parent6e336c09bf04bc4e3e3bc0f34154ac0a31ab4e1a (diff)
Catch the exception thrown when ssh can't connect.
Easiest test: give it an invalid hostname. Reported by Chetan Kunte.
-rw-r--r--client.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/client.py b/client.py
index dd29909..6e4eca6 100644
--- a/client.py
+++ b/client.py
@@ -100,7 +100,13 @@ def _main(listener, fw, use_server, remotename, python, seed_hosts, auto_nets):
else:
helpers.logprefix = 'client: '
debug1('connecting to server...\n')
- (serverproc, serversock) = ssh.connect(remotename, python)
+ try:
+ (serverproc, serversock) = ssh.connect(remotename, python)
+ except socket.error, e:
+ if e.errno == errno.EPIPE:
+ raise Fatal("failed to establish ssh session")
+ else:
+ raise
mux = Mux(serversock, serversock)
handlers.append(mux)