[pkg-cryptsetup-devel] Bug#907243: cryptsetup-initramfs recursive resolution broken
Nathaniel Filardo
nwfilardo at gmail.com
Sat Aug 25 09:33:46 BST 2018
Package: cryptsetup-initramfs
Version: 2:2.0.4-2
Severity: important
Dear Maintainer,
https://salsa.debian.org/cryptsetup-team/cryptsetup/commit/cb5985935713deb6bd4fd45c77d1f54cc28b204b#a630d04e2df57150e6a092fc23f955c6ea0ce412_214_193
is subtly wrong: while 'name' and friends were local variables of
crypttab_print_entry, _CRYPTTAB_NAME and friends are not. For the
/etc/crypttab contents below, this resulted in the initramfs crypttab
contaning two copies of the pf2-zfs line but none of the pf2-swap. A simple
fix is to buffer the output into a local variable, thus:
local STR
STR=$(printf '%s %s %s %s\n' \
"$_CRYPTTAB_NAME" "$_CRYPTTAB_SOURCE" "$_CRYPTTAB_KEY"
"$_CRYPTTAB_OPTIONS")
if [ -n "${CRYPTTAB_OPTION_keyscript+x}" ]; then
copy_exec "$CRYPTTAB_OPTION_keyscript"
fi
if [ "${CRYPTTAB_OPTION_keyscript-}" =
"/lib/cryptsetup/scripts/decrypt_derived" ]; then
# (recursively) list first the device to derive the key from (so
# the boot scripts unlock it first)
crypttab_find_and_print_entry "$CRYPTTAB_KEY"
fi
echo "$STR" >&3
Having just tested, the variant above generates the correct contents in the
initramfs's keytab. Please deploy it or an equivalent change at your
earliest convenience.
Thank you,
--nwf;
-- Package-specific info:
-- /proc/cmdline
BOOT_IMAGE=/vmlinuz-4.17.0-3-amd64 root=ZFS=pf2/root ro quiet boot=zfs
luks=no
-- /etc/crypttab
# <target name> <source device> <key file> <options>
pf2-zfs UUID=f9135fb3-c044-4317-9a42-3933e8702511 none
luks,initramfs,discard
pf2-swap UUID=454fadc5-8023-499a-a766-39a92313d241 pf2-zfs
luks,initramfs,discard,keyscript=/lib/cryptsetup/scripts/decrypt_derived
# preserve last line
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'stable'), (102, 'unstable'), (101,
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.17.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages cryptsetup-initramfs depends on:
ii busybox 1:1.27.2-3
ii cryptsetup-run 2:2.0.4-2
ii initramfs-tools [linux-initramfs-tool] 0.132
Versions of packages cryptsetup-initramfs recommends:
ii console-setup 1.184
ii kbd 2.0.4-4
cryptsetup-initramfs suggests no packages.
-- no debconf information
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-cryptsetup-devel/attachments/20180825/f6d72db3/attachment.html>
More information about the pkg-cryptsetup-devel
mailing list