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