With 'ControlMaster auto' a stale socket will prevent ssh from being
able to connect. It'll try to use the socket, fail, then connect for
itself... but will then abort when it can't create its own socket.
--- openssh-4.2p1/ssh.c~ 2005-09-05 09:49:31.000000000 +0100
+++ openssh-4.2p1/ssh.c 2005-09-05 09:56:34.000000000 +0100
@@ -1247,7 +1247,11 @@ control_client(const char *path)
}
if (errno == ENOENT)
debug("Control socket \"%.100s\" does not exist",
path);
- else {
+ else if (errno == ECONNREFUSED) {
+ debug("Control socket connect(%.100s): %s", path,
+ strerror(errno));
+ unlink(path);
+ } else {
error("Control socket connect(%.100s): %s", path,
strerror(errno));
}
--
dwmw2