- if(fstat(fileno(fp), &s)) {
- logger(LOG_ERR, "Could not stat RSA private key file `%s': %s'",
- fname, strerror(errno));
- free(fname);
- return false;
+ if(!fstat(fileno(fp), &s)) {
+ if(s.st_mode & ~0100700)
+ logger(LOG_WARNING, "Warning: insecure file permissions for RSA private key file `%s'!", fname);
+ } else {
+ logger(LOG_WARNING, "Could not stat RSA private key file `%s': %s'", fname, strerror(errno));