Browse Source

Merge pull request #2168 from Neilpang/dev

sync
neil 6 years ago
parent
commit
02882fb327
3 changed files with 24 additions and 13 deletions
  1. 10 7
      acme.sh
  2. 13 6
      dnsapi/dns_namecom.sh
  3. 1 0
      dnsapi/dns_netcup.sh

+ 10 - 7
acme.sh

@@ -2111,7 +2111,7 @@ _startserver() {
 echo 'HTTP/1.0 200 OK'; \
 echo 'HTTP/1.0 200 OK'; \
 echo 'Content-Length\: $_content_len'; \
 echo 'Content-Length\: $_content_len'; \
 echo ''; \
 echo ''; \
-printf '$content';" &
+printf -- '$content';" &
   serverproc="$!"
   serverproc="$!"
 }
 }
 
 
@@ -3931,21 +3931,21 @@ $_authorizations_map"
           else
           else
             txtdomain="_acme-challenge.$_d_alias"
             txtdomain="_acme-challenge.$_d_alias"
           fi
           fi
-          dns_entries="${dns_entries}${_dns_root_d}${dvsep}_acme-challenge.$_dns_root_d$dvsep$txtdomain$dvsep$_currentRoot"
+          dns_entry="${_dns_root_d}${dvsep}_acme-challenge.$_dns_root_d$dvsep$txtdomain$dvsep$_currentRoot"
         else
         else
           txtdomain="_acme-challenge.$_dns_root_d"
           txtdomain="_acme-challenge.$_dns_root_d"
-          dns_entries="${dns_entries}${_dns_root_d}${dvsep}_acme-challenge.$_dns_root_d$dvsep$dvsep$_currentRoot"
+          dns_entry="${_dns_root_d}${dvsep}_acme-challenge.$_dns_root_d$dvsep$dvsep$_currentRoot"
         fi
         fi
+
         _debug txtdomain "$txtdomain"
         _debug txtdomain "$txtdomain"
         txt="$(printf "%s" "$keyauthorization" | _digest "sha256" | _url_replace)"
         txt="$(printf "%s" "$keyauthorization" | _digest "sha256" | _url_replace)"
         _debug txt "$txt"
         _debug txt "$txt"
 
 
         d_api="$(_findHook "$_dns_root_d" dnsapi "$_currentRoot")"
         d_api="$(_findHook "$_dns_root_d" dnsapi "$_currentRoot")"
-
         _debug d_api "$d_api"
         _debug d_api "$d_api"
-        dns_entries="$dns_entries$dvsep$txt${dvsep}$d_api
-"
-        _debug2 "$dns_entries"
+
+        dns_entry="$dns_entry$dvsep$txt${dvsep}$d_api"
+        _debug2 dns_entry "$dns_entry"
         if [ "$d_api" ]; then
         if [ "$d_api" ]; then
           _info "Found domain api file: $d_api"
           _info "Found domain api file: $d_api"
         else
         else
@@ -3984,6 +3984,9 @@ $_authorizations_map"
           _clearup
           _clearup
           return 1
           return 1
         fi
         fi
+        dns_entries="$dns_entries$dns_entry
+"
+        _debug2 "$dns_entries"
         dnsadded='1'
         dnsadded='1'
       fi
       fi
     done
     done

+ 13 - 6
dnsapi/dns_namecom.sh

@@ -13,6 +13,8 @@ dns_namecom_add() {
   fulldomain=$1
   fulldomain=$1
   txtvalue=$2
   txtvalue=$2
 
 
+  Namecom_Username="${Namecom_Username:-$(_readaccountconf_mutable Namecom_Username)}"
+  Namecom_Token="${Namecom_Token:-$(_readaccountconf_mutable Namecom_Token)}"
   # First we need name.com credentials.
   # First we need name.com credentials.
   if [ -z "$Namecom_Username" ]; then
   if [ -z "$Namecom_Username" ]; then
     Namecom_Username=""
     Namecom_Username=""
@@ -27,10 +29,11 @@ dns_namecom_add() {
     _err "Please specify that in your environment variable."
     _err "Please specify that in your environment variable."
     return 1
     return 1
   fi
   fi
-
+  _debug Namecom_Username "$Namecom_Username"
+  _secure_debug Namecom_Token "$Namecom_Token"
   # Save them in configuration.
   # Save them in configuration.
-  _saveaccountconf Namecom_Username "$Namecom_Username"
-  _saveaccountconf Namecom_Token "$Namecom_Token"
+  _saveaccountconf_mutable Namecom_Username "$Namecom_Username"
+  _saveaccountconf_mutable Namecom_Token "$Namecom_Token"
 
 
   # Login in using API
   # Login in using API
   if ! _namecom_login; then
   if ! _namecom_login; then
@@ -46,7 +49,7 @@ dns_namecom_add() {
   # Add TXT record.
   # Add TXT record.
   _namecom_addtxt_json="{\"host\":\"$_sub_domain\",\"type\":\"TXT\",\"answer\":\"$txtvalue\",\"ttl\":\"300\"}"
   _namecom_addtxt_json="{\"host\":\"$_sub_domain\",\"type\":\"TXT\",\"answer\":\"$txtvalue\",\"ttl\":\"300\"}"
   if _namecom_rest POST "domains/$_domain/records" "$_namecom_addtxt_json"; then
   if _namecom_rest POST "domains/$_domain/records" "$_namecom_addtxt_json"; then
-    _retvalue=$(printf "%s\n" "$response" | _egrep_o "\"$_sub_domain\"")
+    _retvalue=$(echo "$response" | _egrep_o "\"$_sub_domain\"")
     if [ "$_retvalue" ]; then
     if [ "$_retvalue" ]; then
       _info "Successfully added TXT record, ready for validation."
       _info "Successfully added TXT record, ready for validation."
       return 0
       return 0
@@ -63,6 +66,8 @@ dns_namecom_rm() {
   fulldomain=$1
   fulldomain=$1
   txtvalue=$2
   txtvalue=$2
 
 
+  Namecom_Username="${Namecom_Username:-$(_readaccountconf_mutable Namecom_Username)}"
+  Namecom_Token="${Namecom_Token:-$(_readaccountconf_mutable Namecom_Token)}"
   if ! _namecom_login; then
   if ! _namecom_login; then
     return 1
     return 1
   fi
   fi
@@ -75,7 +80,7 @@ dns_namecom_rm() {
 
 
   # Get the record id.
   # Get the record id.
   if _namecom_rest GET "domains/$_domain/records"; then
   if _namecom_rest GET "domains/$_domain/records"; then
-    _record_id=$(printf "%s\n" "$response" | _egrep_o "\"id\":[0-9]+,\"domainName\":\"$_domain\",\"host\":\"$_sub_domain\",\"fqdn\":\"$fulldomain.\",\"type\":\"TXT\",\"answer\":\"$txtvalue\"" | cut -d \" -f 3 | _egrep_o [0-9]+)
+    _record_id=$(echo "$response" | _egrep_o "\"id\":[0-9]+,\"domainName\":\"$_domain\",\"host\":\"$_sub_domain\",\"fqdn\":\"$fulldomain.\",\"type\":\"TXT\",\"answer\":\"$txtvalue\"" | cut -d \" -f 3 | _egrep_o [0-9]+)
     _debug record_id "$_record_id"
     _debug record_id "$_record_id"
     if [ "$_record_id" ]; then
     if [ "$_record_id" ]; then
       _info "Successfully retrieved the record id for ACME challenge."
       _info "Successfully retrieved the record id for ACME challenge."
@@ -126,10 +131,12 @@ _namecom_login() {
   _namecom_auth=$(printf "%s:%s" "$Namecom_Username" "$Namecom_Token" | _base64)
   _namecom_auth=$(printf "%s:%s" "$Namecom_Username" "$Namecom_Token" | _base64)
 
 
   if _namecom_rest GET "hello"; then
   if _namecom_rest GET "hello"; then
-    retcode=$(printf "%s\n" "$response" | _egrep_o "\"username\"\:\"$Namecom_Username\"")
+    retcode=$(echo "$response" | _egrep_o "\"username\"\:\"$Namecom_Username\"")
     if [ "$retcode" ]; then
     if [ "$retcode" ]; then
       _info "Successfully logged in."
       _info "Successfully logged in."
     else
     else
+      _err "$response"
+      _err "Please add your ip to api whitelist"
       _err "Logging in failed."
       _err "Logging in failed."
       return 1
       return 1
     fi
     fi

+ 1 - 0
dnsapi/dns_netcup.sh

@@ -8,6 +8,7 @@ end="https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON"
 client=""
 client=""
 
 
 dns_netcup_add() {
 dns_netcup_add() {
+  _debug NC_Apikey "$NC_Apikey"
   login
   login
   if [ "$NC_Apikey" = "" ] || [ "$NC_Apipw" = "" ] || [ "$NC_CID" = "" ]; then
   if [ "$NC_Apikey" = "" ] || [ "$NC_Apipw" = "" ] || [ "$NC_CID" = "" ]; then
     _err "No Credentials given"
     _err "No Credentials given"