cryptsetup: don't add unit dependency on /dev/null devices when it is listed as password file

As special magic, don't create device dependencies for /dev/null. Of
course, there might be similar devices we might want to include, but
given that none of them really make sense to specify as password source
there's really no point in checking for anything else here.

https://bugs.freedesktop.org/show_bug.cgi?id=75816
This commit is contained in:
Lennart Poettering 2014-06-23 19:18:44 +02:00
parent d1d8e5d49f
commit bde29068aa

View file

@ -29,6 +29,7 @@
#include "mkdir.h"
#include "strv.h"
#include "fileio.h"
#include "path-util.h"
static const char *arg_dest = "/tmp";
static bool arg_enabled = true;
@ -144,16 +145,19 @@ static int create_disk(
if (!uu)
return log_oom();
if (is_device_path(uu)) {
_cleanup_free_ char *dd;
if (!path_equal(uu, "/dev/null")) {
dd = unit_name_from_path(uu, ".device");
if (!dd)
return log_oom();
if (is_device_path(uu)) {
_cleanup_free_ char *dd;
fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
} else
fprintf(f, "RequiresMountsFor=%s\n", password);
dd = unit_name_from_path(uu, ".device");
if (!dd)
return log_oom();
fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
} else
fprintf(f, "RequiresMountsFor=%s\n", password);
}
}
}