From c128be482db0a7940a156dcd452cb6e8d728945d Mon Sep 17 00:00:00 2001 From: rootzoll Date: Tue, 14 Jul 2020 17:44:32 +0200 Subject: [PATCH] python handle script error --- .../blitz.subscriptions.letsencrypt.py | 9 +++++++-- home.admin/config.scripts/bonus.letsencrypt.sh | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/home.admin/config.scripts/blitz.subscriptions.letsencrypt.py b/home.admin/config.scripts/blitz.subscriptions.letsencrypt.py index b4fa4087f..27b2eafcb 100644 --- a/home.admin/config.scripts/blitz.subscriptions.letsencrypt.py +++ b/home.admin/config.scripts/blitz.subscriptions.letsencrypt.py @@ -87,6 +87,10 @@ def duckDNSupdate(domain, token, ip): def subscriptionsNew(ip, dnsservice, id, token, target): + # id needs to the full domain name + if id.find(".") == -1: + raise BlitzError("not a fully qualified domainname", dnsservice_id) + # check if id already exists if len(getSubscription(id)) > 0: raise BlitzError("id already exists", id) @@ -103,10 +107,11 @@ def subscriptionsNew(ip, dnsservice, id, token, target): # update DNS with actual IP if dnsservice == "duckdns": duckDNSupdate(getsubdomain(id), token, realip) + if [id] # run the ACME script acmeResult=subprocess.check_output(["/home/admin/config.scripts/bonus.letsencrypt.sh", "issue-cert", dnsservice, id, token, target]) - if (acmeResult.find("error=") > -1): + if acmeResult not 0: time.sleep(6) raise BlitzError("letsancrypt acme failed", acmeResult) @@ -163,7 +168,7 @@ def subscriptionsCancel(id): # run the ACME script to remove cert if removedCert: acmeResult=subprocess.check_output(["/home/admin/config.scripts/bonus.letsencrypt.sh", "remove-cert", removedCert['id'], removedCert['target']]) - if (acmeResult.find("error=") > -1): + if acmeResult not 0: time.sleep(6) raise BlitzError("letsancrypt acme failed", acmeResult) diff --git a/home.admin/config.scripts/bonus.letsencrypt.sh b/home.admin/config.scripts/bonus.letsencrypt.sh index 299908ce1..176962d91 100755 --- a/home.admin/config.scripts/bonus.letsencrypt.sh +++ b/home.admin/config.scripts/bonus.letsencrypt.sh @@ -148,8 +148,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then acme_install "${address}" echo "" + exit 0 + else - echo "*** Let's Encrypt Client 'acme.sh' appears to be installed already ***" + echo "# *** Let's Encrypt Client 'acme.sh' appears to be installed already ***" + exit 1 fi ################### @@ -234,6 +237,8 @@ elif [ "$1" = "issue-cert" ]; then echo "# restarting nginx" sudo systemctl restart nginx 2>&1 + exit 0 + ################### # REMOVE-CERT ################### @@ -300,6 +305,8 @@ elif [ "$1" = "remove-cert" ]; then echo "# restarting nginx" sudo systemctl restart nginx 2>&1 + exit 0 + ################### # OFF ################### @@ -333,8 +340,11 @@ elif [ "$1" = "0" ] || [ "$1" = "off" ]; then echo "# restarting nginx" sudo systemctl restart nginx 2>&1 + exit 0 + else - echo "*** Let's Encrypt Client 'acme.sh' not installed ***" + echo "# *** Let's Encrypt Client 'acme.sh' not installed ***" + exit 1 fi else