FS#63880 - [systemd] Regression for /etc/crypttab: can't use key devices with colon in name/path

Attached to Project: Arch Linux
Opened by Jay Strict (jaystrictor) - Saturday, 21 September 2019, 19:08 GMT
Last edited by freswa (frederik) - Friday, 21 February 2020, 22:08 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: Since an upgrade of my system today (21st of September), the automatic LUKS-opening of my devices does not work anymore with my unchanged /etc/crypttab.
In August, everything was working just fine. I did not upgrade the system for a few weeks.

In the journal I can find the following lines:
Sep 21 21:30:37 machine mount[323]: mount: /run/systemd/cryptsetup/keydev-luks-hdd: special device 0-part2 does not exist.
...
Sep 21 21:57:11 machine systemd[1]: Mounting /run/systemd/cryptsetup/keydev-luks-home...
Sep 21 21:57:11 machine mount[573]: mount: /run/systemd/cryptsetup/keydev-luks-home: special device 0-part2 does not exist.
Sep 21 21:57:11 machine systemd[1]: run-systemd-cryptsetup-keydev\x2dluks\x2dhome.mount: Mount process exited, code=exited, status=32/n/a
Sep 21 21:57:11 machine systemd[1]: run-systemd-cryptsetup-keydev\x2dluks\x2dhome.mount: Failed with result 'exit-code'.
Sep 21 21:57:11 machine systemd[1]: Failed to mount /run/systemd/cryptsetup/keydev-luks-home.
Sep 21 21:57:11 machine systemd[1]: Dependency failed for Cryptography Setup for luks-home.
Sep 21 21:57:11 machine systemd[1]: systemd-cryptsetup@luks\x2dhome.service: Job systemd-cryptsetup@luks\x2dhome.service/start failed with result 'dependency'.

It seems like some software (cryptsetup / systemd ?) cannot handle the colon (":") correctly.


Additional info:
* package versions:
cryptsetup 2.2.1-1
systemd 243.0-1

* config and/or log files etc.
/etc/cryptsetup:
luks-home UUID=04cc5203d1-737f-836f-7354-e342a1c6a89f /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_985874B75CD64-0:0-part2 keyfile-offset=0,keyfile-size=512


Steps to reproduce:
1. Create a partition on your USB key, fill it with random data and use that data to encrypt a LUKS partition.
2. Then create /etc/crypttab as above.
3. Reboot.
This task depends upon

Closed by  freswa (frederik)
Friday, 21 February 2020, 22:08 GMT
Reason for closing:  Upstream
Additional comments about closing:  https://github.com/systemd/systemd/issue s/13615
Comment by Dave Reisner (falconindy) - Saturday, 21 September 2019, 21:12 GMT
Looks it was caused by systemd commit 50d2eba27b9bfc77ef6b40e5721713846815418b. Previously, the colon was meaningful only on the kernel commandline in order to specify /keyfile:keydevice, but this commit added that "feature" to crypttab parsing as well.
Comment by Dave Reisner (falconindy) - Saturday, 21 September 2019, 21:19 GMT Comment by Jay Strict (jaystrictor) - Monday, 23 September 2019, 13:49 GMT
Thank you (as always) for the quick and proficient processing of the issue upstream.

Loading...