
I wrote:
Ok, this bit definitely sounds like a server side bug, unless perhaps there is some buffering taking place in ssh or nc causing the errore reply packet to not be send back promptly
I'll try to get some better traces of what's going on here.
The error is getting back to the client. On the client, remoteAuthenticate does fail and return -1. The client then ends up blocked in the waitpid at remote_internal.c:877: 865 failed: 866 /* Close the socket if we failed. */ 867 if (priv->sock >= 0) { 868 if (priv->uses_tls && priv->session) { 869 gnutls_bye (priv->session, GNUTLS_SHUT_RDWR); 870 gnutls_deinit (priv->session); 871 } 872 close (priv->sock); 873 #ifndef WIN32 874 if (priv->pid > 0) { 875 pid_t reap; 876 do { 877 reap = waitpid(priv->pid, NULL, 0); 878 if (reap == -1 && errno == EINTR) 879 continue; 880 } while (reap != -1 && reap != priv->pid); 881 } 882 #endif 883 } Nothing gets printed up until this point, which is why there's no output. I guess the client is waiting for SSH to die, which isn't happening for some reason. That must be a bug on the server side, although the client should also probably be more robust in this case.. -jim