X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcryptsetup%2Fcryptsetup.c;h=3f613d9b6572aa0056eb9c66563cdc4524b6a250;hb=32c3d7144cf9a5c8c03761d7f198142ca0f5f7b8;hp=38930aee072b69ffd0884006419a4cf25a7c98bb;hpb=05f73ad22b85270c7db4ff7cbb6da852ad71d4c1;p=elogind.git diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index 38930aee0..3f613d9b6 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -295,7 +295,7 @@ static int get_password(const char *name, usec_t until, bool accept_cached, char if (!escaped_name) return log_oom(); - id = strappenda("cryptsetup:", escaped_name); + id = strjoina("cryptsetup:", escaped_name); r = ask_password_auto(text, "drive-harddisk", id, until, accept_cached, passwords); if (r < 0) @@ -309,7 +309,7 @@ static int get_password(const char *name, usec_t until, bool accept_cached, char if (asprintf(&text, "Please enter passphrase for disk %s! (verification)", name) < 0) return log_oom(); - id = strappenda("cryptsetup-verification:", escaped_name); + id = strjoina("cryptsetup-verification:", escaped_name); r = ask_password_auto(text, "drive-harddisk", id, until, false, &passwords2); if (r < 0) @@ -624,10 +624,8 @@ int main(int argc, char *argv[]) { /* Ideally we'd do this on the open fd, but since this is just a * warning it's OK to do this in two steps. */ - if (stat(key_file, &st) >= 0 && (st.st_mode & 0005)) { - if(!STR_IN_SET(key_file, "/dev/urandom", "/dev/random", "/dev/hw_random")) - log_warning("Key file %s is world-readable. This is not a good idea!", key_file); - } + if (stat(key_file, &st) >= 0 && S_ISREG(st.st_mode) && (st.st_mode & 0005)) + log_warning("Key file %s is world-readable. This is not a good idea!", key_file); } for (tries = 0; arg_tries == 0 || tries < arg_tries; tries++) {