X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt_common.c;h=1fd8189ca3c5a201bd2d227bb366bd800757a5a5;hp=a05572df85b1de5fb5e1043abfc34c66e26c65e7;hb=b1206644af64376f11877f14fa9f9dd3c30f8e4b;hpb=94802b02fadd65ac1704fe9fcbcf0a2b023d2fa4 diff --git a/crypt_common.c b/crypt_common.c index a05572df..1fd8189c 100644 --- a/crypt_common.c +++ b/crypt_common.c @@ -103,25 +103,22 @@ int check_ssh_key_header(const unsigned char *blob, int blen) } /** - * Check existence and permissions of a key file. + * Check existence and permissions of a private key file. * * \param file The path of the key file. - * \param private_key Whether this is a private key. * - * This checks whether the file exists. If it is a private key, we additionally - * check that the permissions are restrictive enough. It is considered an error - * if we own the file and it is readable for others. + * This checks whether the file exists and its permissions are restrictive + * enough. It is considered an error if we own the file and it is readable for + * others. * * \return Standard. */ -int check_key_file(const char *file, bool private_key) +int check_private_key_file(const char *file) { struct stat st; if (stat(file, &st) != 0) return -ERRNO_TO_PARA_ERROR(errno); - if (!private_key) - return 0; if ((st.st_uid == getuid()) && (st.st_mode & 077) != 0) return -E_KEY_PERM; return 1;