From: Harald Hoyer Date: Thu, 11 Jan 2018 10:39:44 +0000 (+0100) Subject: crypt: escape backslashes for systemd unit names b/c udev/initqueue/bash X-Git-Tag: 047~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3;p=thirdparty%2Fdracut.git crypt: escape backslashes for systemd unit names b/c udev/initqueue/bash otherwise luks\x2d25e41d19\x2d1580\x2d4e7c\x2d8875\x2d134045008f33 turns to luksx2d25e41d19x2d1580x2d4e7cx2d8875x2d134045008f33 --- diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh index f0a4fba96..ea6802e8b 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", '