From: Christian Heller <c.heller@plomlompom.de>
Date: Thu, 19 Jun 2025 21:44:53 +0000 (+0200)
Subject: Fix.
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/blog?a=commitdiff_plain;h=cae73c37cd03a78e57c447f60015a02918cdb6cb;p=config

Fix.
---

diff --git a/testing/copy/desktop/home/plom/.local/bin/borgplom b/testing/copy/desktop/home/plom/.local/bin/borgplom
index b0fc653..ff4ca61 100755
--- a/testing/copy/desktop/home/plom/.local/bin/borgplom
+++ b/testing/copy/desktop/home/plom/.local/bin/borgplom
@@ -39,6 +39,16 @@ explore_key_id() {
     printf '%s %s %s' "${PREFIX} ${NAME_SERVER} ${LOCATION}"
 }
 
+keydata_obsolete() {
+    KEY_DATA=$1
+    local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
+    if [ "${PREFIX}" = '-' ]; then
+        echo "Ignoring ${KEY_ID}, location doesn't match expected pattern."
+        return 0
+    fi
+    return 1
+}
+
 # exits
 export BORG_EXIT_CODES=modern
 error_exit() { abort "Aborting due to $1"; }
@@ -76,11 +86,10 @@ CMDFNC_backup_keys() {
     mkdir -p "${PATH_TARGET_DIR}"
     cd "${PATH_BORG_CONF_KEYS}"
     ls -1 | while read _FILENAME; do
+        local KEY_ID=$(_id_from_file "${PATH_BORG_CONF_KEYS}/${_FILENAME}")
 	local KEY_DATA=$(explore_key_id "${KEY_ID}")
-	local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
-        if [ "${PREFIX}" = '-' ]; then
-            echo "Ignoring ${KEY_ID}, location doesn't match expected patten."
-	    continue
+        if keydata_obsolete "${KEY_DATA}"; then
+            continue;
         fi
 	local NAME_SERVER=$(echo "${KEY_DATA}" | cut -d' ' -f2)
         local PATH_TARGET="${PATH_TARGET_DIR}/${NAME_SERVER}"
@@ -184,10 +193,8 @@ CMDFNC_orgpull() {
     ls -1 "${PATH_BORG_CONF_SECURITY}/" > "${PATH_PIPE}" &
     while read _FILENAME; do
         local KEY_DATA=$(explore_key_id "${_FILENAME}")
-	local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
-        if [ "${PREFIX}" = '-' ]; then
-            echo "Ignoring ${_FILENAME}, location doesn't match expected patten."
-            continue
+        if keydata_obsolete "${KEY_DATA}"; then
+            continue;
         fi
 	local NAME_SERVER=$(echo "${KEY_DATA}" | cut -d' ' -f2)
 	local LOCATION=$(echo "${KEY_DATA}" | cut -d' ' -f3)
@@ -220,10 +227,8 @@ CMDFNC_orgpush() {
 
     for _FILENAME in $(ls "${PATH_BORG_CONF_SECURITY}/"); do
         local KEY_DATA=$(explore_key_id "${_FILENAME}")
-	local PREFIX=$(echo "${KEY_DATA}" | cut -d' ' -f1)
-        if [ "${PREFIX}" = '-' ]; then
-            echo "Ignoring ${_FILENAME}, location doesn't match expected patten."
-            continue
+        if keydata_obsolete "${KEY_DATA}"; then
+            continue;
         fi
 	local LOCATION=$(echo "${KEY_DATA}" | cut -d' ' -f3)
         local ARCHIVE="${LOCATION}::${NAME_ARCHIVE_ORG}-{utcnow:%Y-%m-%dT%H:%M}"
diff --git a/testing/copy/desktop/home/plom/.local/bin/make_secrets b/testing/copy/desktop/home/plom/.local/bin/make_secrets
index c03c315..6b29b00 100755
--- a/testing/copy/desktop/home/plom/.local/bin/make_secrets
+++ b/testing/copy/desktop/home/plom/.local/bin/make_secrets
@@ -4,7 +4,7 @@ set -e
 cd $(dirname "$0")
 . lib/abort_if_exists
 . lib/constants_borg  # NAME_BORGAPP, PATH_BORG_CONF
-. lib/constants_secrets  # PATH_REL_SECRETS, PATH_SECRETS, PATH_SECRETS_BORGKEYS
+. lib/constants_secrets  # PATH_REL_SECRETS, PATH_SECRETS, PATH_SECRETS_BORGKEYS, PATH_SECRETS_KDBX, PATH_USER_KDBX
 . lib/constants_ssh  # PATH_USER_SSH 
 . lib/constants_user  # USERNAME
 . lib/copy_and_unmount_secrets
@@ -15,9 +15,12 @@ prefixed_msg_init
 
 abort_if_exists "${PATH_SECRETS}"
 prefixed_msg "Collecting new ${PATH_REL_SECRETS}."
+
 mkdir "${PATH_SECRETS}"
-"${NAME_BORGAPP}" backup_keys "${PATH_SECRETS_BORGKEYS}"
 cp -a "${PATH_USER_SSH}" "${PATH_SECRETS_SSH}"
+cp -a "${PATH_USER_KDBX}" "${PATH_SECRETS_KDBX}"
+"${NAME_BORGAPP}" backup_keys "${PATH_SECRETS_BORGKEYS}"
+
 prefixed_msg "secrets file, last update: $(whoami)/$(hostname) at $(date)" > "${PATH_SECRETS}/info"
 
 mount_secrets "$1" # sets PATH_MOUNTED_SECRETS
diff --git a/testing/scripts/_setup_secrets_user.sh b/testing/scripts/_setup_secrets_user.sh
index b60f591..f4557c9 100644
--- a/testing/scripts/_setup_secrets_user.sh
+++ b/testing/scripts/_setup_secrets_user.sh
@@ -5,7 +5,7 @@ cd $(dirname "$0")
 . lib/abort_if_exists
 . lib/abort_if_not_user
 . lib/abort_if_offline
-. lib/constants_secrets  # PATH_SECRETS, PATH_SECRETS_BORGKEYS
+. lib/constants_secrets  # PATH_SECRETS, PATH_SECRETS_KDBX, PATH_SECRETS_SSH, PATH_SECRETS_BORGKEYS, PATH_USER_KDBX
 . lib/constants_ssh  # PATH_USER_SSH
 . lib/constants_user  # USERNAME
 . lib/constants_borg  # NAME_BORGAPP
@@ -32,6 +32,9 @@ mount_secrets "$1" # sets PASSPHRASE
 copy_and_unmount_secrets 'in'
 export BORG_PASSPHRASE="${PASSPHRASE}"
 
+prefixed_msg 'Copying passwords DB …'
+cp -a "${PATH_USER_KDBX}" "${PATH_SECRETS_KDBX}"
+
 prefixed_msg 'Setting up ~/.ssh …'
 cp -a "${PATH_SECRETS_SSH}" "${PATH_USER_SSH}"
 stty -echo
diff --git a/testing/scripts/lib/constants_secrets b/testing/scripts/lib/constants_secrets
index ddd6064..9b0cf7e 100644
--- a/testing/scripts/lib/constants_secrets
+++ b/testing/scripts/lib/constants_secrets
@@ -4,3 +4,6 @@ PATH_REL_SECRETS=.secrets
 PATH_SECRETS="${PATH_USER_HOME}/${PATH_REL_SECRETS}"
 PATH_SECRETS_SSH="${PATH_SECRETS}/ssh"
 PATH_SECRETS_BORGKEYS="${PATH_SECRETS}/borgkeys"
+FILENAME_KDBX=Passwords.kdbx
+PATH_SECRETS_KDBX="${PATH_SECRETS}/${FILENAME_KDBX}"
+PATH_USER_KDBX="${PATH_USER_HOME}/${FILENAME_KDBX}"