=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/authfile.c,v retrieving revision 1.50.2.1 retrieving revision 1.50.2.2 diff -u -r1.50.2.1 -r1.50.2.2 --- src/usr.bin/ssh/authfile.c 2003/04/01 00:12:13 1.50.2.1 +++ src/usr.bin/ssh/authfile.c 2003/09/16 21:20:24 1.50.2.2 @@ -36,7 +36,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: authfile.c,v 1.50.2.1 2003/04/01 00:12:13 margarida Exp $"); +RCSID("$OpenBSD: authfile.c,v 1.50.2.2 2003/09/16 21:20:24 brad Exp $"); #include #include @@ -511,7 +511,7 @@ error("@ WARNING: UNPROTECTED PRIVATE KEY FILE! @"); error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); error("Permissions 0%3.3o for '%s' are too open.", - st.st_mode & 0777, filename); + (u_int)st.st_mode & 0777, filename); error("It is recommended that your private key files are NOT accessible by others."); error("This private key will be ignored."); return 0; @@ -626,9 +626,18 @@ Key *pub; char file[MAXPATHLEN]; + /* try rsa1 private key */ pub = key_load_public_type(KEY_RSA1, filename, commentp); if (pub != NULL) return pub; + + /* try rsa1 public key */ + pub = key_new(KEY_RSA1); + if (key_try_load_public(pub, filename, commentp) == 1) + return pub; + key_free(pub); + + /* try ssh2 public key */ pub = key_new(KEY_UNSPEC); if (key_try_load_public(pub, filename, commentp) == 1) return pub;