X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcryptsetup-generator.c;h=a48b7a45626abad773f2cf7c92871e0eafb13e59;hp=696f44ae3670dee8868a1b97f6d8d93858560c30;hb=9f84624270432cdff35c4f499fbdb9e0f94fe705;hpb=155da4572965abb2ced1d0eeba2e9f0de81d94b7 diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c index 696f44ae3..a48b7a456 100644 --- a/src/cryptsetup-generator.c +++ b/src/cryptsetup-generator.c @@ -47,7 +47,7 @@ static bool has_option(const char *haystack, const char *needle) { continue; } - if (f[l] != 0 && f[l] == ',') { + if (f[l] != 0 && f[l] != ',') { f++; continue; } @@ -124,6 +124,9 @@ static int create_disk( streq(password, "/dev/hw_random"))) fprintf(f, "After=systemd-random-seed-load.service\n"); + else + fprintf(f, + "Before=local-fs.target\n"); fprintf(f, "\n[Service]\n" @@ -246,6 +249,8 @@ int main(int argc, char *argv[]) { log_parse_environment(); log_open(); + umask(0022); + if (!(f = fopen("/etc/crypttab", "re"))) { if (errno == ENOENT)