From 50e27348db37c4525f3a1ee2341d997364149798 Mon Sep 17 00:00:00 2001 From: openoms Date: Mon, 17 Jan 2022 09:57:27 +0000 Subject: [PATCH] cl restore: improve file handling and checks --- home.admin/99clRepairMenu.sh | 12 ++++++++---- home.admin/config.scripts/cl.backup.sh | 6 +++--- home.admin/config.scripts/cl.hsmtool.sh | 4 ++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/home.admin/99clRepairMenu.sh b/home.admin/99clRepairMenu.sh index 4a6daa589..c8181d51b 100644 --- a/home.admin/99clRepairMenu.sh +++ b/home.admin/99clRepairMenu.sh @@ -96,7 +96,7 @@ case $CHOICE in read key # reset sudo rm /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret - sudo rm /home/bitcoin/.lightning/${CLNETWORK}/*.* + sudo rm -rf /home/bitcoin/.lightning/${CLNETWORK}/*.* # make sure the new hsm_secret is treated as unencrypted and clear autounlock /home/admin/config.scripts/blitz.conf.sh set ${netprefix}clEncryptedHSM "off" /home/admin/config.scripts/blitz.conf.sh set ${netprefix}clAutoUnlock "off" @@ -130,7 +130,7 @@ case $CHOICE in read key # reset sudo rm /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret - sudo rm /home/bitcoin/.lightning/${CLNETWORK}/*.* + sudo rm -rf /home/bitcoin/.lightning/${CLNETWORK}/*.* # import file _temp="/var/cache/raspiblitz/temp/.temp.tmp" clear @@ -155,14 +155,18 @@ case $CHOICE in read key # reset sudo rm /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret - sudo rm /home/bitcoin/.lightning/${CLNETWORK}/config - sudo rm /home/bitcoin/.lightning/${CLNETWORK}/*.* + sudo rm -f /home/bitcoin/.lightning/${CLNETWORK}/config + sudo rm -rf /home/bitcoin/.lightning/${CLNETWORK}/*.* # import seed _temp="/var/cache/raspiblitz/.temp.tmp" /home/admin/config.scripts/cl.backup.sh seed-import-gui $_temp source $_temp /home/admin/config.scripts/cl.hsmtool.sh seed-force "$CHAIN" "${seedWords}" sudo rm $_temp 2>/dev/null + if ! sudo ls /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret; then + echo "# There was no hsm_secret created - exiting" + exit 15 + fi # regenerate config /home/admin/config.scripts/cl.hsmtool.sh autounlock-off /home/admin/config.scripts/cl.hsmtool.sh decrypt diff --git a/home.admin/config.scripts/cl.backup.sh b/home.admin/config.scripts/cl.backup.sh index 1d970ec86..0f1b7c2c2 100644 --- a/home.admin/config.scripts/cl.backup.sh +++ b/home.admin/config.scripts/cl.backup.sh @@ -377,7 +377,7 @@ if [ ${mode} = "seed-import-gui" ]; then sudo chown admin:admin /var/cache/raspiblitz/.seed.tmp # dialog to enter - dialog --backtitle "RaspiBlitz - C-lightning Recover" --inputbox "Please enter/paste the SEED WORD LIST:\n(just the words, seperated by spaces, in correct order as numbered)" 9 78 2>/var/cache/raspiblitz/.seed.tmp + dialog --backtitle "RaspiBlitz - Recover from C-lightning seed" --inputbox "Please enter/paste the SEED WORD LIST:\n(just the words, seperated by spaces, in correct order as numbered)" 9 78 2>/var/cache/raspiblitz/.seed.tmp wordstring=$(cat /var/cache/raspiblitz/.seed.tmp | sed 's/[^a-zA-Z0-9 ]//g') sudo shred -u /var/cache/raspiblitz/.seed.tmp 2>/dev/null echo "processing ..." @@ -416,8 +416,8 @@ Please check your list and try again. Best is to write words in external editor and then copy and paste them into dialog. -The Word list should look like this: -wordone wordtweo wordthree ... +The word list should look like this: +wordone wordtwo wordthree ... " 16 52 diff --git a/home.admin/config.scripts/cl.hsmtool.sh b/home.admin/config.scripts/cl.hsmtool.sh index 1ca8362bf..d33581952 100644 --- a/home.admin/config.scripts/cl.hsmtool.sh +++ b/home.admin/config.scripts/cl.hsmtool.sh @@ -223,6 +223,10 @@ if [ "$1" = "new" ] || [ "$1" = "new-force" ] || [ "$1" = "seed" ] || [ "$1" = " seedpassword="$4" fi + if [ "${seedwords}" = "" ]; then + echo "# No seedwords - exiting" + exit 14 + fi # place the seedwords to /home/bitcoin/.lightning/${CLNETWORK}/seedwords.info sudo touch /home/bitcoin/.lightning/${CLNETWORK}/seedwords.info sudo chown bitcoin:bitcoin /home/bitcoin/.lightning/${CLNETWORK}/seedwords.info