Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fde-tools for openSUSE:Factory 
checked in at 2023-07-13 17:18:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fde-tools (Old)
 and      /work/SRC/openSUSE:Factory/.fde-tools.new.8922 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fde-tools"

Thu Jul 13 17:18:51 2023 rev:4 rq:1098478 version:0.6.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/fde-tools/fde-tools.changes      2023-07-07 
15:52:45.082137152 +0200
+++ /work/SRC/openSUSE:Factory/.fde-tools.new.8922/fde-tools.changes    
2023-07-13 17:18:51.745228423 +0200
@@ -1,0 +2,6 @@
+Thu Jul 13 06:57:46 UTC 2023 - Gary Ching-Pang Lin <g...@suse.com>
+
+- Add fde-tools-enable-authpol-in-firstboot.patch to enable
+  authorized policy in the firstboot script
+
+-------------------------------------------------------------------

New:
----
  fde-tools-enable-authpol-in-firstboot.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fde-tools.spec ++++++
--- /var/tmp/diff_new_pack.DDCjn5/_old  2023-07-13 17:18:52.241231350 +0200
+++ /var/tmp/diff_new_pack.DDCjn5/_new  2023-07-13 17:18:52.245231374 +0200
@@ -29,6 +29,7 @@
 Patch1:         fde-tools-avoid-cleaning-temp-dir.patch
 Patch2:         fde-tools-fix-bootloader-func.patch
 Patch3:         fde-tools-force-dracut.patch
+Patch4:         fde-tools-enable-authpol-in-firstboot.patch
 BuildRequires:  help2man
 BuildRequires:  openssl >= 0.9.8
 BuildRequires:  tpm2-0-tss-devel

++++++ fde-tools-enable-authpol-in-firstboot.patch ++++++
>From 23e675bb74905bd21a60ac6d9e97ac3c2e8d57d7 Mon Sep 17 00:00:00 2001
From: Gary Lin <g...@suse.com>
Date: Thu, 13 Jul 2023 14:48:41 +0800
Subject: [PATCH 1/2] fdectl: add '--passfile' option to read the password file

In some cases, we may need to read the recovery password from a file.
This commit adds the new option to read the password from a file.

Signed-off-by: Gary Lin <g...@suse.com>
---
 fde.sh     | 7 ++++++-
 share/util | 3 +++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/fde.sh b/fde.sh
index 0198d4a..ffc9801 100755
--- a/fde.sh
+++ b/fde.sh
@@ -29,6 +29,7 @@ opt_uefi_bootdir=""
 opt_ui=shell
 opt_keyfile=""
 opt_password=""
+opt_passfile=""
 
 ##################################################################
 # Display a usage message.
@@ -61,6 +62,8 @@ Global options:
   --password
        Specify the LUKS recovery password. Should be used by the
        installer only.
+  --passfile
+       Specify the path to a LUKS recovery password file.
 
 Commands:
   help         display this message
@@ -121,7 +124,7 @@ function fde_maybe_chroot {
 
 fde_maybe_chroot "$@"
 
-long_options="help,version,bootloader:,device:,use-dialog,keyfile:,uefi-boot-dir:,password:"
+long_options="help,version,bootloader:,device:,use-dialog,keyfile:,uefi-boot-dir:,password:,passfile:"
 
 if ! getopt -Q -n fdectl -l "$long_options" -o h -- "$@"; then
     fde_usage
@@ -156,6 +159,8 @@ while [ $# -gt 0 ]; do
        opt_keyfile=$1; shift;;
     --password)
        opt_password=$1; shift;;
+    --passfile)
+       opt_passfile=$1; shift;;
     --uefi-boot-dir)
        opt_uefi_bootdir=$1; shift;;
     *)
diff --git a/share/util b/share/util
index 0a305ce..a9482aa 100644
--- a/share/util
+++ b/share/util
@@ -32,6 +32,9 @@ function fde_request_recovery_password {
     if [ -n "$opt_password" ]; then
        result_password="$opt_password"
        return 0
+    elif [ -n "$opt_passfile" -a -f "$opt_passfile" ]; then
+       result_password="$(<$opt_passfile)"
+       return 0
     fi
 
     # Ask for the recovery password just once
-- 
2.35.3


>From ce1b3907bbf76bc9719c7d81a951548f5c9122ea Mon Sep 17 00:00:00 2001
From: Gary Lin <g...@suse.com>
Date: Thu, 13 Jul 2023 14:50:08 +0800
Subject: [PATCH 2/2] firstboot: use 'fdectl regenerate-key' to enroll the key

Directly invoke 'fdectl regenerate-key' to create the new random key and
seal it with the TPM PCR policy.

Also enable fde-tpm-enroll.service if the key is sealed successfully.

Signed-off-by: Gary Lin <g...@suse.com>
---
 firstboot/fde | 28 +++-------------------------
 1 file changed, 3 insertions(+), 25 deletions(-)

diff --git a/firstboot/fde b/firstboot/fde
index f1a95ab..4143961 100755
--- a/firstboot/fde
+++ b/firstboot/fde
@@ -43,10 +43,6 @@ KIWI_ROOT_KEYFILE=/root/.root.keyfile
 # Set the bootloader specific functions here as aliases
 ##################################################################
 
-function bootloader_enable_fde_pcr_policy {
-    grub_enable_fde_pcr_policy "$@"
-}
-
 function bootloader_enable_fde_without_tpm {
     grub_enable_fde_without_tpm "$@"
 }
@@ -59,18 +55,6 @@ function bootloader_get_fde_password {
 # FDE Firstboot functions
 ##################################################################
 
-function fde_protect_tpm {
-
-    local luks_dev=$1
-    local luks_keyfile=$2
-
-    luks_set_random_key "${luks_dev}" "${luks_keyfile}"
-
-    bootloader_enable_fde_pcr_policy "${luks_keyfile}"
-
-    return $?
-}
-
 function fde_protect_notpm {
 
     local luks_dev=$1
@@ -150,18 +134,12 @@ function fde_setup_encrypted {
     luks_reencrypt "${luks_dev}" "${pass_keyfile}"
 
     if $with_tpm; then
-       # Generate a random key again
-       luks_keyfile="/root/.root.keyfile"
-       luks_add_random_key "${luks_dev}" "${pass_keyfile}" "${luks_keyfile}"
-
-       # FIXME: fde_protect_tpm should not have to change key slot key any 
more.
-       if ! fde_protect_tpm "${luks_dev}" "${luks_keyfile}"; then
+       if ! fdectl regenerate-key --passfile "${pass_keyfile}"; then
            display_errorbox "Failed to protect encrypted volume with TPM"
            with_tpm=false
+       else
+           systemctl enable fde-tpm-enroll.service
        fi
-
-       rm -f "${luks_keyfile}"
-       luks_keyfile=""
     else
        # Update grub.cfg to attempt a cryptomount and ask the user for the
        # password
-- 
2.35.3

Reply via email to