|
@ -137,11 +137,9 @@ _get_authentication() { |
|
|
fi |
|
|
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 |
|
|
|
|
|
|
|
|
_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" |
|
|
_err "Could not find a matching zone for $fulldomain. Maybe your HTTP Token is not authorized to access the zone" |
|
|
return 1 |
|
|
return 1 |
|
|
fi |
|
|
fi |
|
@ -157,9 +155,9 @@ _debug "Got HTTP token form _get_authentication method. Going to use the HTTP AP |
|
|
fi |
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_dns_dynv6_rm_http(){ |
|
|
|
|
|
|
|
|
_dns_dynv6_rm_http() { |
|
|
_debug "Got HTTP token form _get_authentication method. Going to use the HTTP API" |
|
|
_debug "Got HTTP token form _get_authentication method. Going to use the HTTP API" |
|
|
if ! _get_zone_id "$fulldomain" ;then |
|
|
|
|
|
|
|
|
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" |
|
|
_err "Could not find a matching zone for $fulldomain. Maybe your HTTP Token is not authorized to access the zone" |
|
|
return 1 |
|
|
return 1 |
|
|
fi |
|
|
fi |
|
@ -167,7 +165,7 @@ _dns_dynv6_rm_http(){ |
|
|
record="${fulldomain%%.$_zone_name}" |
|
|
record="${fulldomain%%.$_zone_name}" |
|
|
_get_record_id "$_zone_id" "$record" "$txtvalue" |
|
|
_get_record_id "$_zone_id" "$record" "$txtvalue" |
|
|
_del_record "$_zone_id" "$_record_id" |
|
|
_del_record "$_zone_id" "$_record_id" |
|
|
if [ -z "$response" ] ; then |
|
|
|
|
|
|
|
|
if [ -z "$response" ]; then |
|
|
_info "Successfully deleted record" |
|
|
_info "Successfully deleted record" |
|
|
return 0 |
|
|
return 0 |
|
|
else |
|
|
else |
|
@ -176,12 +174,11 @@ _dns_dynv6_rm_http(){ |
|
|
fi |
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#get the zoneid for a specifc record or zone |
|
|
#get the zoneid for a specifc record or zone |
|
|
#usage: _get_zone_id §record |
|
|
#usage: _get_zone_id §record |
|
|
#where $record is the record to get the id for |
|
|
#where $record is the record to get the id for |
|
|
#returns _zone_id the id of the zone |
|
|
#returns _zone_id the id of the zone |
|
|
_get_zone_id(){ |
|
|
|
|
|
|
|
|
_get_zone_id() { |
|
|
record="$1" |
|
|
record="$1" |
|
|
_debug "getting zone id for $record" |
|
|
_debug "getting zone id for $record" |
|
|
_dynv6_rest GET zones |
|
|
_dynv6_rest GET zones |
|
@ -208,10 +205,10 @@ _get_zone_id(){ |
|
|
_debug "zone id: $_zone_id" |
|
|
_debug "zone id: $_zone_id" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_get_zone_name(){ |
|
|
|
|
|
|
|
|
_get_zone_name() { |
|
|
_zone_id="$1" |
|
|
_zone_id="$1" |
|
|
_dynv6_rest GET zones/"$_zone_id" |
|
|
_dynv6_rest GET zones/"$_zone_id" |
|
|
_zone_name="$(echo "$response" | tr ',' '\n'| tr -d '{'|grep name|tr -d '"')" |
|
|
|
|
|
|
|
|
_zone_name="$(echo "$response" | tr ',' '\n' | tr -d '{' | grep name | tr -d '"')" |
|
|
_zone_name="${_zone_name#name:}" |
|
|
_zone_name="${_zone_name#name:}" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -219,20 +216,20 @@ _get_zone_name(){ |
|
|
# where zone_id is thevalue returned by _get_zone_id |
|
|
# 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 |
|
|
# and record ist in the form _acme.www for an fqdn of _acme.www.example.com |
|
|
# returns _record_id |
|
|
# returns _record_id |
|
|
_get_record_id(){ |
|
|
|
|
|
|
|
|
_get_record_id() { |
|
|
_zone_id="$1" |
|
|
_zone_id="$1" |
|
|
record="$2" |
|
|
record="$2" |
|
|
value="$3" |
|
|
value="$3" |
|
|
_dynv6_rest GET "zones/$_zone_id/records" |
|
|
_dynv6_rest GET "zones/$_zone_id/records" |
|
|
if ! _get_record_id_from_response "$response" ; then |
|
|
|
|
|
|
|
|
if ! _get_record_id_from_response "$response"; then |
|
|
_err "no such record $record found in zone $_zone_id" |
|
|
_err "no such record $record found in zone $_zone_id" |
|
|
return 1 |
|
|
return 1 |
|
|
fi |
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_get_record_id_from_response(){ |
|
|
|
|
|
|
|
|
_get_record_id_from_response() { |
|
|
response="$1" |
|
|
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="$(echo "$response" | tr '}' '\n' | grep "\"name\":\"$record\"" | grep "\"data\":\"$value\"" | tr ',' '\n' | grep id | tr -d '"' | tr -d 'id:')" |
|
|
#_record_id="${_record_id#id:}" |
|
|
#_record_id="${_record_id#id:}" |
|
|
if [ -z "$_record_id" ]; then |
|
|
if [ -z "$_record_id" ]; then |
|
|
_err "no such record: $record found in zone $_zone_id" |
|
|
_err "no such record: $record found in zone $_zone_id" |
|
@ -243,7 +240,7 @@ _get_record_id_from_response(){ |
|
|
} |
|
|
} |
|
|
#usage: _set_record TXT _acme_challenge.www longvalue 12345678 |
|
|
#usage: _set_record TXT _acme_challenge.www longvalue 12345678 |
|
|
#zone id is optional can also be set as vairable bevor calling this method |
|
|
#zone id is optional can also be set as vairable bevor calling this method |
|
|
_set_record(){ |
|
|
|
|
|
|
|
|
_set_record() { |
|
|
type="$1" |
|
|
type="$1" |
|
|
record="$2" |
|
|
record="$2" |
|
|
value="$3" |
|
|
value="$3" |
|
@ -256,7 +253,7 @@ _set_record(){ |
|
|
#"{\"type\":\"TXT\",\"name\":\"$fulldomain\",\"content\":\"$txtvalue\",\"ttl\":120}" |
|
|
#"{\"type\":\"TXT\",\"name\":\"$fulldomain\",\"content\":\"$txtvalue\",\"ttl\":120}" |
|
|
_dynv6_rest POST "zones/$_zone_id/records" "$data" |
|
|
_dynv6_rest POST "zones/$_zone_id/records" "$data" |
|
|
} |
|
|
} |
|
|
_del_record(){ |
|
|
|
|
|
|
|
|
_del_record() { |
|
|
_zone_id=$1 |
|
|
_zone_id=$1 |
|
|
_record_id=$2 |
|
|
_record_id=$2 |
|
|
_dynv6_rest DELETE zones/"$_zone_id"/records/"$_record_id" |
|
|
_dynv6_rest DELETE zones/"$_zone_id"/records/"$_record_id" |
|
@ -287,4 +284,3 @@ _dynv6_rest() { |
|
|
_debug2 response "$response" |
|
|
_debug2 response "$response" |
|
|
return 0 |
|
|
return 0 |
|
|
} |
|
|
} |
|
|
|
|
|
|