- Merged OpenBSD CVS changes:
   - [auth-krb4.c auth-passwd.c auth-skey.c ssh.
     move skey-auth from auth-passwd.c to auth-s
   - [auth-rsa.c]
     warn only about mismatch if key is _used_
     warn about keysize-mismatch with log() not
     channels.c readconf.c readconf.h ssh.c ssh.
     ports are u_short
   - [hostfile.c]
     indent, shorter warning
   - [nchan.c]
     use error() for internal errors
   - [packet.c]
     set loglevel for SSH_MSG_DISCONNECT to log(
     serverloop.c
     indent
   - [ssh-add.1 ssh-add.c ssh.h]
     document , reasonable default
   - [ssh.1]
     CheckHostIP is not available for connects v
   - [sshconnect.c]
     typo
     easier to read client code for passwd and s
     turn of checkhostip for proxy connects, sin
diff --git a/packet.c b/packet.c
index f4b44f5..9e8cf2e 100644
--- a/packet.c
+++ b/packet.c
@@ -15,7 +15,7 @@
  */
 
 #include "includes.h"
-RCSID("$Id: packet.c,v 1.6 1999/11/25 00:54:59 damien Exp $");
+RCSID("$Id: packet.c,v 1.7 1999/12/06 00:47:29 damien Exp $");
 
 #include "xmalloc.h"
 #include "buffer.h"
@@ -530,8 +530,10 @@
 	*payload_len_ptr = buffer_len(&incoming_packet);
 
 	/* Handle disconnect message. */
-	if ((unsigned char) buf[0] == SSH_MSG_DISCONNECT)
-		fatal("Received disconnect: %.900s", packet_get_string(NULL));
+	if ((unsigned char) buf[0] == SSH_MSG_DISCONNECT) {
+		log("Received disconnect: %.900s", packet_get_string(NULL));
+		fatal_cleanup();
+	}	
 
 	/* Ignore ignore messages. */
 	if ((unsigned char) buf[0] == SSH_MSG_IGNORE)
@@ -662,7 +664,8 @@
 	packet_close();
 
 	/* Display the error locally and exit. */
-	fatal("Disconnecting: %.100s", buf);
+	log("Disconnecting: %.100s", buf);
+	fatal_cleanup();
 }
 
 /* Checks if there is any buffered output, and tries to write some of the output. */