From 998a98acb55aefa3e97321a016ac97b45382edf9 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sat, 12 May 2018 11:58:07 +0100
Subject: [PATCH] Change inadyn username and password

---
 src/freedombone-ddns      | 33 +++++++++++++++++++++++++++++++++
 src/freedombone-utils-dns |  3 +++
 2 files changed, 36 insertions(+)

diff --git a/src/freedombone-ddns b/src/freedombone-ddns
index 61c1345df..3173bbbb0 100755
--- a/src/freedombone-ddns
+++ b/src/freedombone-ddns
@@ -33,6 +33,38 @@ export TEXTDOMAINDIR="/usr/share/locale"
 
 source "/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-config"
 
+function update_inadyn_config {
+    if [ ! -f /etc/inadyn.conf ]; then
+        return
+    fi
+
+    if [[ "$DDNS_PROVIDER" == *'freedns'* ]]; then
+        return
+    fi
+
+    if ! grep -q "$DDNS_PROVIDER" /etc/inadyn.conf; then
+        { echo '';
+          echo "system $DDNS_PROVIDER";
+          echo '  ssl';
+          echo "  checkip-url $GET_IP_ADDRESS_URL /"; } >> /etc/inadyn.conf
+        if [ "$DDNS_USERNAME" ]; then
+            echo "  username $DDNS_USERNAME" >> /etc/inadyn.conf
+        fi
+        if [ "$DDNS_PASSWORD" ]; then
+            echo "  password $DDNS_PASSWORD" >> /etc/inadyn.conf
+        fi
+    else
+        if [ "$DDNS_USERNAME" ]; then
+            sed -i "s|  username .*|  username $DDNS_USERNAME|g" /etc/inadyn.conf
+        fi
+        if [ "$DDNS_PASSWORD" ]; then
+            sed -i "s|  password .*|  password $DDNS_PASSWORD|g" /etc/inadyn.conf
+        fi
+    fi
+    systemctl enable inadyn
+    systemctl restart inadyn
+}
+
 function dynamic_dns_setup {
     DDNS_PROVIDER='none'
 
@@ -173,6 +205,7 @@ function dynamic_dns_setup {
             fi
         done
         save_configuration_values
+        update_inadyn_config
     fi
 }
 
diff --git a/src/freedombone-utils-dns b/src/freedombone-utils-dns
index 16a9279f1..f33a4292d 100755
--- a/src/freedombone-utils-dns
+++ b/src/freedombone-utils-dns
@@ -137,6 +137,9 @@ function add_ddns_domain {
     if [[ $ONION_ONLY != "no" ]]; then
         return
     fi
+    if [ ! "$DDNS_PROVIDER" ]; then
+        return
+    fi
     if [[ "$DDNS_PROVIDER" == 'none' ]]; then
         return
     fi
-- 
GitLab