]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
feat(fido2): introducing the fido2 module
authorAntonio Alvarez Feijoo <antonio.feijoo@suse.com>
Wed, 24 Nov 2021 07:24:07 +0000 (08:24 +0100)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Wed, 24 Nov 2021 09:54:44 +0000 (09:54 +0000)
This module allows to unlock an encrypted filesystem using a FIDO2
security token.

modules.d/91fido2/module-setup.sh [new file with mode: 0755]
pkgbuild/dracut.spec

diff --git a/modules.d/91fido2/module-setup.sh b/modules.d/91fido2/module-setup.sh
new file mode 100755 (executable)
index 0000000..9078ee8
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Prerequisite check(s) for module.
+check() {
+    # Return 255 to only include the module, if another module requires it.
+    return 255
+}
+
+# Module dependency requirements.
+depends() {
+    # This module has external dependency on other module(s).
+    echo systemd-udevd
+    # Return 0 to include the dependent module(s) in the initramfs.
+    return 0
+}
+
+# Install the required file(s) and directories for the module in the initramfs.
+install() {
+    # Install required libraries.
+    _arch=${DRACUT_ARCH:-$(uname -m)}
+    inst_libdir_file \
+        {"tls/$_arch/",tls/,"$_arch/",}"libfido2.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"libcryptsetup.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"libcbor.so.*" \
+        {"tls/$_arch/",tls/,"$_arch/",}"libhidapi-hidraw.so.*"
+}
index 04c61f90b056a929061e36149f133273d7976f1a..df031913e784eea868aa7b225ce76ea179519867 100644 (file)
@@ -372,6 +372,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{dracutlibdir}/modules.d/90qemu
 %{dracutlibdir}/modules.d/91crypt-gpg
 %{dracutlibdir}/modules.d/91crypt-loop
+%{dracutlibdir}/modules.d/91fido2
 %{dracutlibdir}/modules.d/91tpm2-tss
 %{dracutlibdir}/modules.d/95debug
 %{dracutlibdir}/modules.d/95fstab-sys