net/acme: issue_cert should always call post_checks on exit
authorAlexey I. Froloff <redacted>
Thu, 7 Feb 2019 12:16:10 +0000 (15:16 +0300)
committerAlexey I. Froloff <redacted>
Thu, 7 Feb 2019 12:22:39 +0000 (15:22 +0300)
issue_cert fuction may return without calling post_checks, which leaves
port 80 open and uhttpd configuration is not restored is listen_http was
set.

Always call post_checks when returning from issue_cert.

Signed-off-by: Alexey I. Froloff <redacted>
net/acme/files/run.sh

index 233abee68667cca2bbbb3355ae665844d1cf60d5..144cdcd090d8a866b91d4c817985a08560f74645 100644 (file)
@@ -180,6 +180,7 @@ issue_cert()
     local failed_dir
     local webroot
     local dns
+    local ret
 
     config_get_bool enabled "$section" enabled 0
     config_get_bool use_staging "$section" use_staging
@@ -211,8 +212,9 @@ issue_cert()
             moved_staging=1
         else
             log "Found previous cert config. Issuing renew."
-            $ACME --home "$STATE_DIR" --renew -d "$main_domain" $acme_args || return 1
-            return 0
+            $ACME --home "$STATE_DIR" --renew -d "$main_domain" $acme_args && ret=0 || ret=1
+            post_checks
+            return $ret
         fi
     fi
 
@@ -231,6 +233,7 @@ issue_cert()
     else
         if [ ! -d "$webroot" ]; then
             err "$main_domain: Webroot dir '$webroot' does not exist!"
+            post_checks
             return 1
         fi
         log "Using webroot dir: $webroot"
git clone https://git.99rst.org/PROJECT