diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -203,8 +203,12 @@ int login_user(char *username) fprintf(stderr, "Logging you in to %s\n", userhost); - if(fopen(SYSCONFDIR "distren.id_rsa", "r") == NULL){ - fprintf(stderr,"Your key has not been found! Re-register or somehow regenerate your key!\nWe need a way to regenerate keys coded in, but we don't have the facilities yet!"); + + int status; + struct stat buffer; + status = stat(SYSCONFDIR "/distren.id_rsa", &buffer); + if(status != -1){ + fprintf(stderr,"Your key has not been found! Re-register or somehow regenerate your key!\nWe need a way to regenerate keys coded in, but we don't have the facilities yet!\n"); return 0; } execio_open(&testrem, "ssh", execargv); // TODO: Grab returns from this someday