mirror of
https://github.com/acmesh-official/acme.sh.git
synced 2026-10-21 13:31:18 +00:00
dns_gandi_livedns: delete the TXT record when rm removes its last value
rm PUT the remaining values back even when none were left, leaving an empty TXT rrset behind. Use DELETE (204 on success) in that case; keep PUT when other values remain, since the rrset can hold values from other pending validations. Refs #7347
This commit is contained in:
1 parent
e3004b84a1
commit
aef81df5eb
1 file changed
+14
@@ -87,6 +87,20 @@ dns_gandi_livedns_rm() {
|
|||||||
_new_rrset_values=$(echo "$_new_rrset_values" | sed "s/\[ *,/\[/g")
|
_new_rrset_values=$(echo "$_new_rrset_values" | sed "s/\[ *,/\[/g")
|
||||||
_debug "New rrset_values" "$_new_rrset_values"
|
_debug "New rrset_values" "$_new_rrset_values"
|
||||||
|
|
||||||
|
# Last value removed: delete the record instead of leaving an empty TXT rrset.
|
||||||
|
if [ "$(echo "$_new_rrset_values" | tr -d ' ')" = "[]" ]; then
|
||||||
|
if ! _gandi_livedns_rest DELETE "domains/$_domain/records/$_sub_domain/TXT"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
_gandi_livedns_code="$(grep "^HTTP" "$HTTP_HEADER" | _tail_n 1 | cut -d " " -f 2 | tr -d "\\r\\n")"
|
||||||
|
if [ "$_gandi_livedns_code" != "204" ]; then
|
||||||
|
_err "Error deleting record: $response"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
_info "Removing record $(__green "success")"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
_gandi_livedns_rest PUT \
|
_gandi_livedns_rest PUT \
|
||||||
"domains/$_domain/records/$_sub_domain/TXT" \
|
"domains/$_domain/records/$_sub_domain/TXT" \
|
||||||
"{\"rrset_ttl\": 300, \"rrset_values\": $_new_rrset_values}" &&
|
"{\"rrset_ttl\": 300, \"rrset_values\": $_new_rrset_values}" &&
|
||||||
|
|||||||