]> git.proxmox.com Git - mirror_acme.sh.git/blobdiff - dnsapi/dns_dynv6.sh
Merge pull request #3279 from acmesh-official/dev
[mirror_acme.sh.git] / dnsapi / dns_dynv6.sh
index 9c6d330d681fa4819135666ba7127a86d73b1cc8..9efc9aeb0b4ebef787f18e88eff861fc86b4e89b 100644 (file)
@@ -14,36 +14,11 @@ dns_dynv6_add() {
   _info "Using dynv6 api"
   _debug fulldomain "$fulldomain"
   _debug txtvalue "$txtvalue"
-<<<<<<< HEAD
-<<<<<<< HEAD
-
-=======
->>>>>>> no supporting HTTP API as well
   _get_authentication
   if [ "$dynv6_token" ]; then
     _dns_dynv6_add_http
     return $?
-<<<<<<< HEAD
-=======
-  _get_keyfile
-  _info "using keyfile $dynv6_keyfile"
-  _your_hosts="$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts)"
-  if ! _get_domain "$fulldomain" "$_your_hosts"; then
-    _err "Host not found on your account"
-    return 1
-  fi
-  _debug "found host on your account"
-  returnval="$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts \""$_host"\" records set \""$_record"\" txt data \""$txtvalue"\")"
-  _debug "Dynv6 returend this after record was added: $returnval"
-  if _contains "$returnval" "created"; then
-    return 0
-  elif _contains "$returnval" "updated"; then
-    return 0
->>>>>>> first attempt to make travis happy
   else
-=======
-  else 
->>>>>>> no supporting HTTP API as well
     _info "using key file $dynv6_keyfile"
     _your_hosts="$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts)"
     if ! _get_domain "$fulldomain" "$_your_hosts"; then
@@ -73,20 +48,11 @@ dns_dynv6_rm() {
   _info "Using dynv6 API"
   _debug fulldomain "$fulldomain"
   _debug txtvalue "$txtvalue"
-<<<<<<< HEAD
-<<<<<<< HEAD
   _get_authentication
   if [ "$dynv6_token" ]; then
     _dns_dynv6_rm_http
     return $?
   else
-=======
-  _get_authentication
-   if [ "$dynv6_token" ]; then
-    _dns_dynv6_rm_http
-    return $?
-  else 
->>>>>>> no supporting HTTP API as well
     _info "using key file $dynv6_keyfile"
     _your_hosts="$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts)"
     if ! _get_domain "$fulldomain" "$_your_hosts"; then
@@ -96,23 +62,7 @@ dns_dynv6_rm() {
     _debug "found host on your account"
     _info "$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts "\"$_host\"" records del "\"$_record\"" txt)"
     return 0
-<<<<<<< HEAD
-  fi
-=======
-  _get_keyfile
-  _info "using keyfile $dynv6_keyfile"
-  _your_hosts="$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts)"
-  if ! _get_domain "$fulldomain" "$_your_hosts"; then
-    _err "Host not found on your account"
-    return 1
-  fi
-  _debug "found host on your account"
-  _info "$(ssh -i "$dynv6_keyfile" api@dynv6.com hosts "\"$_host\"" records del "\"$_record\"" txt)"
-  return 0
->>>>>>> first attempt to make travis happy
-=======
   fi
->>>>>>> no supporting HTTP API as well
 }
 #################### Private functions below ##################################
 #Usage: No Input required
@@ -159,7 +109,6 @@ _get_domain() {
 #returns
 #dynv6_keyfile path to the key that will be used
 _get_authentication() {
-<<<<<<< HEAD
   dynv6_token="${DYNV6_TOKEN:-$(_readaccountconf_mutable dynv6_token)}"
   if [ "$dynv6_token" ]; then
     _debug "Found HTTP Token. Going to use the HTTP API and not the SSH API"
@@ -167,16 +116,6 @@ _get_authentication() {
       _saveaccountconf_mutable dynv6_token "$dynv6_token"
     fi
   else
-=======
-       if [ "$DYNV6_TOKEN" ]; then
-               _debug "Going to use the HTTP Token you specifed and saving it for futur use"
-               _saveaccountconf_mutable dynv6_token "$DYNV6_TOKEN"
-               dynv6_token="$DYNV6_TOKEN"
-       elif [ "$(_readaccountconf_mutable dynv6_token)" ]; then
-               _debug "Found a previously used HTTP token going to use that"
-               dynv6_token="$(_readaccountconf_mutable dynv6_token)"
-       else
->>>>>>> no supporting HTTP API as well
     _debug "no HTTP token found. Looking for an SSH key"
     dynv6_keyfile="${dynv6_keyfile:-$(_readaccountconf_mutable dynv6_keyfile)}"
     _debug "Your key is $dynv6_keyfile"
@@ -193,7 +132,6 @@ _get_authentication() {
         dynv6_keyfile="$KEY"
       fi
       _saveaccountconf_mutable dynv6_keyfile "$dynv6_keyfile"
-<<<<<<< HEAD
     fi
   fi
 }
@@ -331,153 +269,6 @@ _dynv6_rest() {
   export _H1="Authorization: Bearer $token_trimmed"
   export _H2="Content-Type: application/json"
 
-  if [ "$m" != "GET" ]; then
-    _debug data "$data"
-    response="$(_post "$data" "$dynv6_api/$ep" "" "$m")"
-  else
-    response="$(_get "$dynv6_api/$ep")"
-=======
-    fi
->>>>>>> no supporting HTTP API as well
-  fi
-}
-
-
-
-_dns_dynv6_add_http(){
-_debug "Got HTTP token form _get_authentication method. Going to use the HTTP API"
-    if ! _get_zone_id "$fulldomain" ;then
-       _err "Could not find a matching zone for $fulldomain. Maybe your HTTP Token is not authorized to access the zone"
-       return 1
-    fi
-               _get_zone_name "$_zone_id"
-               record="${fulldomain%%.$_zone_name}"
-               _set_record TXT "$record" "$txtvalue"
-               if _contains "$response" "$txtvalue"; then
-               _info "Successfully added record"
-               return 0
-               else
-                       _err "Something went wrong while adding the record"
-                       return 1
-               fi
-}
-
-_dns_dynv6_rm_http(){
-  _debug "Got HTTP token form _get_authentication method. Going to use the HTTP API"
-    if ! _get_zone_id "$fulldomain" ;then
-       _err "Could not find a matching zone for $fulldomain. Maybe your HTTP Token is not authorized to access the zone"
-       return 1
-    fi
-               _get_zone_name "$_zone_id"
-               record="${fulldomain%%.$_zone_name}"
-               _get_record_id "$_zone_id" "$record" "$txtvalue"
-               _del_record "$_zone_id" "$_record_id"
-               if [ -z "$response" ] ; then
-               _info "Successfully deleted record"
-               return 0
-               else
-                       _err "Something went wrong while deleting the record"
-                       return 1
-               fi
-}
-
-
-#get the zoneid for a specifc record or zone
-#usage: _get_zone_id §record
-#where $record is the record to get the id for
-#returns _zone_id the id of the zone
-_get_zone_id(){
-  record="$1"
-  _debug "getting zone id for $record"
-  _dynv6_rest GET zones
-       
-       zones="$(echo "$response" | tr '}' '\n' | tr ',' '\n' | grep name  | sed 's/\[//g' | tr -d '{' | tr -d '"')"
-       #echo $zones
-
-       selected=""
-       for z in $zones; do
-               z="${z#name:}"
-               _debug zone: "$z"
-               if _contains "$record" "$z"; then
-                       _debug "$z found in $record"
-                       selected="$z"
-               fi
-       done
-       if [ -z "$selected" ]; then
-               _err "no zone found"
-               return 1
-       fi
-       
-       zone_id="$(echo "$response" | tr '}' '\n' | grep "$selected" | tr ',' '\n' | grep id | tr -d '"')"
-       _zone_id="${zone_id#id:}"
-       _debug "zone id: $_zone_id"
-}
-
-_get_zone_name(){
-       _zone_id="$1"
-       _dynv6_rest GET zones/"$_zone_id"
-       _zone_name="$(echo "$response" | tr ',' '\n'| tr -d '{'|grep name|tr -d '"')"
-       _zone_name="${_zone_name#name:}"
-}
-
-#usaage _get_record_id $zone_id $record
-# where zone_id is thevalue returned by _get_zone_id
-# and record ist in the form _acme.www for an fqdn of _acme.www.example.com
-# returns _record_id
-_get_record_id(){
-  _zone_id="$1"
-  record="$2"
-  value="$3"
-  _dynv6_rest GET "zones/$_zone_id/records" 
-       if ! _get_record_id_from_response "$response" ; then
-         _err "no such record $record found in zone $_zone_id"
-         return 1
-       fi      
-}
-
-_get_record_id_from_response(){
-  response="$1"
-  _record_id="$(echo "$response" | tr '}' '\n' | grep "\"name\":\"$record\"" | grep "\"data\":\"$value\"" | tr ',' '\n' | grep id |tr -d '"'|tr -d 'id:')"
-       #_record_id="${_record_id#id:}"
-       if [ -z "$_record_id" ]; then
-               _err "no such record: $record found in zone $_zone_id"
-               return 1
-       fi
-       _debug "record id: $_record_id"
-       return 0
-}
-#usage: _set_record TXT _acme_challenge.www longvalue 12345678
-#zone id is optional can also be set as vairable bevor calling this method
-_set_record(){
-       type="$1"
-       record="$2"
-       value="$3"
-       if [ "$4" ]; then
-               _zone_id="$4"
-       fi
-       data="{\"name\": \"$record\", \"data\": \"$value\", \"type\": \"$type\"}"
-       #data='{ "name": "acme.test.thorn.dynv6.net", "type": "A", "data": "192.168.0.1"}'
-       echo "$data"
-       #"{\"type\":\"TXT\",\"name\":\"$fulldomain\",\"content\":\"$txtvalue\",\"ttl\":120}"
-       _dynv6_rest POST "zones/$_zone_id/records" "$data"      
-}
-_del_record(){
-  _zone_id=$1
-  _record_id=$2
-  _dynv6_rest DELETE zones/"$_zone_id"/records/"$_record_id"
-}
-
-_dynv6_rest() {
-  m=$1 #method GET,POST,DELETE or PUT
-  ep="$2" #the endpoint 
-  data="$3"
-  _debug "$ep"
-
-  token_trimmed=$(echo "$dynv6_token" | tr -d '"')
-  export _H1="Authorization: Bearer $token_trimmed"
-  export _H2="Content-Type: application/json"
   if [ "$m" != "GET" ]; then
     _debug data "$data"
     response="$(_post "$data" "$dynv6_api/$ep" "" "$m")"
@@ -492,4 +283,3 @@ _dynv6_rest() {
   _debug2 response "$response"
   return 0
 }
-