Blob Blame History Raw
From 0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 11 Jan 2018 11:39:44 +0100
Subject: [PATCH] crypt: escape backslashes for systemd unit names b/c
 udev/initqueue/bash

otherwise
luks\x2d25e41d19\x2d1580\x2d4e7c\x2d8875\x2d134045008f33
turns to
luksx2d25e41d19x2d1580x2d4e7cx2d8875x2d134045008f33
---
 modules.d/90crypt/parse-crypt.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
index f0a4fba9..ea6802e8 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -64,6 +64,8 @@ else
                 } >> /etc/udev/rules.d/70-luks.rules.new
             else
                 luksname=$(dev_unit_name "$luksname")
+                luksname="$(str_replace "$luksname" '\' '\\')"
+
                 if ! crypttab_contains "$serialid"; then
                     {
                         printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
@@ -95,6 +97,8 @@ else
                 } >> /etc/udev/rules.d/70-luks.rules.new
             else
                 luksname=$(dev_unit_name "$luksname")
+                luksname="$(str_replace "$luksname" '\' '\\')"
+
                 if ! crypttab_contains "$luksid"; then
                     {
                         printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '