Browse Source

fix https://github.com/Neilpang/acme.sh/issues/1247

neilpang 7 years ago
parent
commit
52b945164c
1 changed files with 3 additions and 4 deletions
  1. 3 4
      dnsapi/dns_yandex.sh

+ 3 - 4
dnsapi/dns_yandex.sh

@@ -18,7 +18,6 @@ dns_yandex_add() {
 
 
   curDomain=$(_PDD_get_domain "$fulldomain")
   curDomain=$(_PDD_get_domain "$fulldomain")
   _debug "Found suitable domain in pdd: $curDomain"
   _debug "Found suitable domain in pdd: $curDomain"
-  curSubdomain="$(echo "${fulldomain}" | sed -e "s@.${curDomain}\$@@")"
   curData="domain=${curDomain}&type=TXT&subdomain=${curSubdomain}&ttl=360&content=${txtvalue}"
   curData="domain=${curDomain}&type=TXT&subdomain=${curSubdomain}&ttl=360&content=${txtvalue}"
   curUri="https://pddimp.yandex.ru/api2/admin/dns/add"
   curUri="https://pddimp.yandex.ru/api2/admin/dns/add"
   curResult="$(_post "${curData}" "${curUri}")"
   curResult="$(_post "${curData}" "${curUri}")"
@@ -36,7 +35,6 @@ dns_yandex_rm() {
 
 
   curDomain=$(_PDD_get_domain "$fulldomain")
   curDomain=$(_PDD_get_domain "$fulldomain")
   _debug "Found suitable domain in pdd: $curDomain"
   _debug "Found suitable domain in pdd: $curDomain"
-  curSubdomain="$(echo "${fulldomain}" | sed -e "s@.${curDomain}\$@@")"
 
 
   curUri="https://pddimp.yandex.ru/api2/admin/dns/del"
   curUri="https://pddimp.yandex.ru/api2/admin/dns/del"
   curData="domain=${curDomain}&record_id=${record_id}"
   curData="domain=${curDomain}&record_id=${record_id}"
@@ -61,7 +59,7 @@ _PDD_get_domain() {
       __last=1
       __last=1
     fi
     fi
 
 
-    __all_domains="$__all_domains $(echo "$res1" | sed -e "s@,@\n@g" | grep '"name"' | cut -d: -f2 | sed -e 's@"@@g')"
+    __all_domains="$__all_domains $(echo "$res1" | tr "," "\n" | grep '"name"' | cut -d: -f2 | sed -e 's@"@@g')"
 
 
     __page=$(_math $__page + 1)
     __page=$(_math $__page + 1)
   done
   done
@@ -72,6 +70,8 @@ _PDD_get_domain() {
     _debug "finding zone for domain $__t"
     _debug "finding zone for domain $__t"
     for d in $__all_domains; do
     for d in $__all_domains; do
       if [ "$d" = "$__t" ]; then
       if [ "$d" = "$__t" ]; then
+        p=$(_math $k - 1)
+        curSubdomain="$(echo "$fulldomain" | cut -d . -f 1-$p)"
         echo "$__t"
         echo "$__t"
         return
         return
       fi
       fi
@@ -98,7 +98,6 @@ pdd_get_record_id() {
 
 
   curDomain=$(_PDD_get_domain "$fulldomain")
   curDomain=$(_PDD_get_domain "$fulldomain")
   _debug "Found suitable domain in pdd: $curDomain"
   _debug "Found suitable domain in pdd: $curDomain"
-  curSubdomain="$(echo "${fulldomain}" | sed -e "s@.${curDomain}\$@@")"
 
 
   curUri="https://pddimp.yandex.ru/api2/admin/dns/list?domain=${curDomain}"
   curUri="https://pddimp.yandex.ru/api2/admin/dns/list?domain=${curDomain}"
   curResult="$(_get "${curUri}" | _normalizeJson)"
   curResult="$(_get "${curUri}" | _normalizeJson)"