- OpenBSD CVS update
   [channels.c]
   - init all fds, close all fds.
   [sshconnect2.c]
   - check whether file exists before asking for passphrase
   [servconf.c servconf.h sshd.8 sshd.c]
   - PidFile, pr 1210
   [channels.c]
   - EINTR
   [channels.c]
   - unbreak, ok niels@
   [sshd.c]
   - unlink pid file, ok niels@
   [auth2.c]
   - Add missing #ifdefs; ok - markus
diff --git a/sshconnect2.c b/sshconnect2.c
index 31ef308..a4342e2 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -28,7 +28,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.4 2000/04/27 17:54:01 markus Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.5 2000/05/01 18:41:06 markus Exp $");
 
 #include <openssl/bn.h>
 #include <openssl/rsa.h>
@@ -310,7 +310,12 @@
 	Key *k;
 	unsigned char *blob, *signature;
 	int bloblen, slen;
+	struct stat st;
 
+	if (stat(filename, &st) != 0) {
+		debug("key does not exist: %s", filename);
+		return 0;
+	}
 	debug("try pubkey: %s", filename);
 
 	k = key_new(KEY_DSA);
@@ -318,9 +323,9 @@
 		int success = 0;
 		char *passphrase;
 		char prompt[300];
-                snprintf(prompt, sizeof prompt,
+		snprintf(prompt, sizeof prompt,
 		     "Enter passphrase for DSA key '%.100s': ",
-                     filename);
+		     filename);
 		passphrase = read_passphrase(prompt, 0);
 		success = load_private_key(filename, passphrase, k, NULL);
 		memset(passphrase, 0, strlen(passphrase));