Browse Source

Fixes DNSimple for Wildcard certificates

Chris 7 years ago
parent
commit
7588fc0989
1 changed files with 28 additions and 27 deletions
  1. 28 27
      dnsapi/dns_dnsimple.sh

+ 28 - 27
dnsapi/dns_dnsimple.sh

@@ -39,7 +39,7 @@ dns_dnsimple_add() {
 
   _get_records "$_account_id" "$_domain" "$_sub_domain"
 
-  if [ "$_records_count" = "0" ]; then
+# if [ "$_records_count" = "0" ]; then
     _info "Adding record"
     if _dnsimple_rest POST "$_account_id/zones/$_domain/records" "{\"type\":\"TXT\",\"name\":\"$_sub_domain\",\"content\":\"$txtvalue\",\"ttl\":120}"; then
       if printf -- "%s" "$response" | grep "\"name\":\"$_sub_domain\"" >/dev/null; then
@@ -51,22 +51,22 @@ dns_dnsimple_add() {
       fi
     fi
     _err "Add txt record error."
-  else
-    _info "Updating record"
-    _extract_record_id "$_records" "$_sub_domain"
-
-    if _dnsimple_rest \
-      PATCH \
-      "$_account_id/zones/$_domain/records/$_record_id" \
-      "{\"type\":\"TXT\",\"name\":\"$_sub_domain\",\"content\":\"$txtvalue\",\"ttl\":120}"; then
-
-      _info "Updated!"
-      return 0
-    fi
-
-    _err "Update error"
-    return 1
-  fi
+# else
+#   _info "Updating record"
+#   _extract_record_id "$_records" "$_sub_domain"
+
+#   if _dnsimple_rest \
+#     PATCH \
+#     "$_account_id/zones/$_domain/records/$_record_id" \
+#     "{\"type\":\"TXT\",\"name\":\"$_sub_domain\",\"content\":\"$txtvalue\",\"ttl\":120}"; then
+
+#     _info "Updated!"
+#     return 0
+#   fi
+
+#   _err "Update error"
+#   return 1
+# fi
 }
 
 # fulldomain
@@ -84,19 +84,20 @@ dns_dnsimple_rm() {
   fi
 
   _get_records "$_account_id" "$_domain" "$_sub_domain"
-  _extract_record_id "$_records" "$_sub_domain"
 
+  _extract_record_id "$_records" "$_sub_domain"
   if [ "$_record_id" ]; then
-
-    if _dnsimple_rest DELETE "$_account_id/zones/$_domain/records/$_record_id"; then
-      _info "removed record" "$_record_id"
-      return 0
-    fi
+    echo "$_record_id" | while read -r item
+    do
+      if _dnsimple_rest DELETE "$_account_id/zones/$_domain/records/$item"; then
+        _info "removed record" "$item"
+        return 0
+      else
+        _err "failed to remove record" "$item"
+        return 1
+      fi
+    done
   fi
-
-  _err "failed to remove record" "$_record_id"
-  return 1
-
 }
 
 ####################  Private functions bellow ##################################