discover: Recognise and open LUKS encrypted partitions
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>
Thu, 14 Feb 2019 23:40:14 +0000 (10:40 +1100)
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>
Tue, 26 Mar 2019 05:46:38 +0000 (16:46 +1100)
commitf583f0cf35fc227db5f73ecd04daf7702735b740
treea53121f28618766c0b79dc322897bb08f695fada
parent5f8fa2c151b8f0e568dc4015b7d307250b354a04
discover: Recognise and open LUKS encrypted partitions

Handle devices encrypted with LUKS and call cryptsetup to open them if a
client sends the associated password.
If a new device has the "crypto_LUKS" filesystem type it is marked as a
LUKS device and sent to clients but further discovery is not performed.
Once a client sends the device's password cryptsetup is called to open
it. The opened device will appear separately, so the source device is
"forgotten" at this point and then the newly opened device is treated as
a normal partition. On destruction the device is "closed" with
cryptsetup so that discovery can start from the beginning.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
discover/device-handler.c
discover/device-handler.h
discover/discover-server.c
discover/udev.c
test/parser/handler.c