CF_Email="${CF_Email:-$(_readaccountconf_mutable CF_Email)}"
if [ "$CF_Token" ]; then
- _saveaccountconf_mutable CF_Token "$CF_Token"
- _saveaccountconf_mutable CF_Account_ID "$CF_Account_ID"
- _saveaccountconf_mutable CF_Zone_ID "$CF_Zone_ID"
+ if [ "$CF_Zone_ID" ]; then
+ _savedomainconf CF_Token "$CF_Token"
+ _savedomainconf CF_Account_ID "$CF_Account_ID"
+ _savedomainconf CF_Zone_ID "$CF_Zone_ID"
+ else
+ _saveaccountconf_mutable CF_Token "$CF_Token"
+ _saveaccountconf_mutable CF_Account_ID "$CF_Account_ID"
+ _clearaccountconf_mutable CF_Zone_ID
+ _clearaccountconf CF_Zone_ID
+ fi
else
if [ -z "$CF_Key" ] || [ -z "$CF_Email" ]; then
CF_Key=""
#save the api key and email to the account conf file.
_saveaccountconf_mutable CF_Key "$CF_Key"
_saveaccountconf_mutable CF_Email "$CF_Email"
+
+ _clearaccountconf_mutable CF_Token
+ _clearaccountconf_mutable CF_Account_ID
+ _clearaccountconf_mutable CF_Zone_ID
+ _clearaccountconf CF_Token
+ _clearaccountconf CF_Account_ID
+ _clearaccountconf CF_Zone_ID
+
fi
_debug "First detect the root zone"
_debug "Getting txt records"
_cf_rest GET "zones/${_domain_id}/dns_records?type=TXT&name=$fulldomain"
- if ! printf "%s" "$response" | grep \"success\":true >/dev/null; then
+ if ! echo "$response" | tr -d " " | grep \"success\":true >/dev/null; then
_err "Error"
return 1
fi
_debug "Getting txt records"
_cf_rest GET "zones/${_domain_id}/dns_records?type=TXT&name=$fulldomain&content=$txtvalue"
- if ! printf "%s" "$response" | grep \"success\":true >/dev/null; then
+ if ! echo "$response" | tr -d " " | grep \"success\":true >/dev/null; then
_err "Error: $response"
return 1
fi
- count=$(printf "%s\n" "$response" | _egrep_o "\"count\":[^,]*" | cut -d : -f 2)
+ count=$(echo "$response" | _egrep_o "\"count\": *[^,]*" | cut -d : -f 2 | tr -d " ")
_debug count "$count"
if [ "$count" = "0" ]; then
_info "Don't need to remove."
else
- record_id=$(printf "%s\n" "$response" | _egrep_o "\"id\":\"[^\"]*\"" | cut -d : -f 2 | tr -d \" | head -n 1)
+ record_id=$(echo "$response" | _egrep_o "\"id\": *\"[^\"]*\"" | cut -d : -f 2 | tr -d \" | _head_n 1 | tr -d " ")
_debug "record_id" "$record_id"
if [ -z "$record_id" ]; then
_err "Can not get record id to remove."
_err "Delete record error."
return 1
fi
- _contains "$response" '"success":true'
+ echo "$response" | tr -d " " | grep \"success\":true >/dev/null
fi
}
if ! _cf_rest GET "zones/$CF_Zone_ID"; then
return 1
else
- if _contains "$response" '"success":true'; then
- _domain=$(printf "%s\n" "$response" | _egrep_o "\"name\":\"[^\"]*\"" | cut -d : -f 2 | tr -d \" | head -n 1)
+ if echo "$response" | tr -d " " | grep \"success\":true >/dev/null; then
+ _domain=$(echo "$response" | _egrep_o "\"name\": *\"[^\"]*\"" | cut -d : -f 2 | tr -d \" | _head_n 1 | tr -d " ")
if [ "$_domain" ]; then
_cutlength=$((${#domain} - ${#_domain} - 1))
_sub_domain=$(printf "%s" "$domain" | cut -c "1-$_cutlength")
fi
if _contains "$response" "\"name\":\"$h\"" || _contains "$response" '"total_count":1'; then
- _domain_id=$(echo "$response" | _egrep_o "\[.\"id\":\"[^\"]*\"" | _head_n 1 | cut -d : -f 2 | tr -d \")
+ _domain_id=$(echo "$response" | _egrep_o "\[.\"id\": *\"[^\"]*\"" | _head_n 1 | cut -d : -f 2 | tr -d \" | tr -d " ")
if [ "$_domain_id" ]; then
_sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p)
_domain=$h