teknoraver / rpms / systemd

Forked from rpms/systemd 4 months ago
Clone

Blame 0054-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch

Zbigniew Jędrzejewski-Szmek e4fbe4
From 2acc158f96a5ac62acd8d57eb5acf55f7d6a988c Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek e4fbe4
From: Lennart Poettering <lennart@poettering.net>
Zbigniew Jędrzejewski-Szmek e4fbe4
Date: Mon, 23 Jun 2014 19:18:44 +0200
Zbigniew Jędrzejewski-Szmek e4fbe4
Subject: [PATCH] cryptsetup: don't add unit dependency on /dev/null devices
Zbigniew Jędrzejewski-Szmek e4fbe4
 when it is listed as password file
Zbigniew Jędrzejewski-Szmek e4fbe4
Zbigniew Jędrzejewski-Szmek e4fbe4
As special magic, don't create device dependencies for /dev/null. Of
Zbigniew Jędrzejewski-Szmek e4fbe4
course, there might be similar devices we might want to include, but
Zbigniew Jędrzejewski-Szmek e4fbe4
given that none of them really make sense to specify as password source
Zbigniew Jędrzejewski-Szmek e4fbe4
there's really no point in checking for anything else here.
Zbigniew Jędrzejewski-Szmek e4fbe4
Zbigniew Jędrzejewski-Szmek e4fbe4
https://bugs.freedesktop.org/show_bug.cgi?id=75816
Zbigniew Jędrzejewski-Szmek e4fbe4
(cherry picked from commit bde29068aa3815c88190a91e9867605a0aeaf9c4)
Zbigniew Jędrzejewski-Szmek e4fbe4
---
Zbigniew Jędrzejewski-Szmek e4fbe4
 src/cryptsetup/cryptsetup-generator.c | 20 ++++++++++++--------
Zbigniew Jędrzejewski-Szmek e4fbe4
 1 file changed, 12 insertions(+), 8 deletions(-)
Zbigniew Jędrzejewski-Szmek e4fbe4
Zbigniew Jędrzejewski-Szmek e4fbe4
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
Zbigniew Jędrzejewski-Szmek e4fbe4
index dfdca1e4..62fc620b 100644
Zbigniew Jędrzejewski-Szmek e4fbe4
--- a/src/cryptsetup/cryptsetup-generator.c
Zbigniew Jędrzejewski-Szmek e4fbe4
+++ b/src/cryptsetup/cryptsetup-generator.c
Zbigniew Jędrzejewski-Szmek e4fbe4
@@ -29,6 +29,7 @@
Zbigniew Jędrzejewski-Szmek e4fbe4
 #include "mkdir.h"
Zbigniew Jędrzejewski-Szmek e4fbe4
 #include "strv.h"
Zbigniew Jędrzejewski-Szmek e4fbe4
 #include "fileio.h"
Zbigniew Jędrzejewski-Szmek e4fbe4
+#include "path-util.h"
Zbigniew Jędrzejewski-Szmek e4fbe4
 
Zbigniew Jędrzejewski-Szmek e4fbe4
 static const char *arg_dest = "/tmp";
Zbigniew Jędrzejewski-Szmek e4fbe4
 static bool arg_enabled = true;
Zbigniew Jędrzejewski-Szmek e4fbe4
@@ -144,16 +145,19 @@ static int create_disk(
Zbigniew Jędrzejewski-Szmek e4fbe4
                         if (!uu)
Zbigniew Jędrzejewski-Szmek e4fbe4
                                 return log_oom();
Zbigniew Jędrzejewski-Szmek e4fbe4
 
Zbigniew Jędrzejewski-Szmek e4fbe4
-                        if (is_device_path(uu)) {
Zbigniew Jędrzejewski-Szmek e4fbe4
-                                _cleanup_free_ char *dd;
Zbigniew Jędrzejewski-Szmek e4fbe4
+                        if (!path_equal(uu, "/dev/null")) {
Zbigniew Jędrzejewski-Szmek e4fbe4
 
Zbigniew Jędrzejewski-Szmek e4fbe4
-                                dd = unit_name_from_path(uu, ".device");
Zbigniew Jędrzejewski-Szmek e4fbe4
-                                if (!dd)
Zbigniew Jędrzejewski-Szmek e4fbe4
-                                        return log_oom();
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                if (is_device_path(uu)) {
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                        _cleanup_free_ char *dd;
Zbigniew Jędrzejewski-Szmek e4fbe4
 
Zbigniew Jędrzejewski-Szmek e4fbe4
-                                fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
Zbigniew Jędrzejewski-Szmek e4fbe4
-                        } else
Zbigniew Jędrzejewski-Szmek e4fbe4
-                                fprintf(f, "RequiresMountsFor=%s\n", password);
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                        dd = unit_name_from_path(uu, ".device");
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                        if (!dd)
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                                return log_oom();
Zbigniew Jędrzejewski-Szmek e4fbe4
+
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                        fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                } else
Zbigniew Jędrzejewski-Szmek e4fbe4
+                                        fprintf(f, "RequiresMountsFor=%s\n", password);
Zbigniew Jędrzejewski-Szmek e4fbe4
+                        }
Zbigniew Jędrzejewski-Szmek e4fbe4
                 }
Zbigniew Jędrzejewski-Szmek e4fbe4
         }
Zbigniew Jędrzejewski-Szmek e4fbe4