Use trap for cleanup
authorAndreas Bilke <andreas@bilke.org>
Tue, 30 May 2017 17:45:57 +0000 (19:45 +0200)
committerAndreas Bilke <andreas@bilke.org>
Tue, 30 May 2017 17:45:57 +0000 (19:45 +0200)
letsencrypt-helper/refresh-acme-certificate-standalone

index f320359..18a7e21 100755 (executable)
@@ -83,6 +83,17 @@ then
     exit 1
 fi
 
+function cleanup {
+    echo "Kill acme-http-responder"
+    kill -TERM `pgrep -u letsencrypt`
+    echo "Delete firewall rules"
+    iptables -D INPUT -p tcp --dport "$SERVER_PORT" -j ACCEPT
+    iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports "$SERVER_PORT"
+    iptables -t nat -D OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports "$SERVER_PORT"
+}
+
+trap cleanup EXIT
+
 echo "Setting up firewall rules"
 iptables -I INPUT -p tcp --dport "$SERVER_PORT" -j ACCEPT
 iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports "$SERVER_PORT"
@@ -100,14 +111,6 @@ echo "Starting acme-tiny client"
 su -c "$ACME_TINY_COMMAND" -s /bin/sh letsencrypt > $TMP_SIGNED_CERT
 cat $TMP_SIGNED_CERT $PUBLIC_KEY_DIR/letsencrypt-intermediate.pem > "$PUBLIC_KEY_DIR/$DOMAIN.intermediate.pem"
 
-echo "Kill acme-http-responder"
-kill -TERM `pgrep -u letsencrypt`
-
-echo "Delete firewall rules"
-iptables -D INPUT -p tcp --dport "$SERVER_PORT" -j ACCEPT
-iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports "$SERVER_PORT"
-iptables -t nat -D OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports "$SERVER_PORT"
-
 if [ -d "$HOOKS_DIR" ];
 then
     find $HOOKS_DIR -name "*.sh" -executable -exec {} "$DOMAIN" \;