commit:     3f1a037b36a3df7ba5acb3b91f925df06dbd61da
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  8 00:35:19 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Mar  8 00:36:13 2021 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3f1a037b

initrd.scripts: Add trim() function

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 defaults/initrd.scripts | 10 ++++++++++
 defaults/unlock-luks.sh |  1 +
 2 files changed, 11 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f7e6c3d..d005e0d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1103,6 +1103,15 @@ test_success() {
        fi
 }
 
+trim() {
+       local var="$*"
+
+       var="${var#"${var%%[![:space:]]*}"}"  # remove leading whitespace 
characters
+       var="${var%"${var##*[![:space:]]}"}"  # remove trailing whitespace 
characters
+
+       printf "%s" "${var}"
+}
+
 log_msg() {
        is_log_enabled || return
 
@@ -1779,6 +1788,7 @@ openLUKS() {
        eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
        eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
        eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+       cryptsetup_options="$(trim "${cryptsetup_options}")"
        eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
        local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
        local mntkey="/mnt/key/" crypt_filter_ret=

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 4c99a1f..9ef54e0 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -47,6 +47,7 @@ main() {
        eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"'
        eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEYFILE}"'
        eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+       cryptsetup_options="$(trim "${cryptsetup_options}")"
        eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
 
        if [ -z "${LUKS_DEVICE}" ]

Reply via email to