castris
Verified User
Hi,
I would like to report a persistent bug in CMD_API_DNS_CONTROL action=delete: the API answers error=0&text=Records Deleted while the record is still in the zone. The delete never happens, in any of the parameter formats documented or mentioned in older threads.
Environment
Steps to reproduce
Parameter formats tried (12 in total, none works)
Verification of "not deleted" was done against action=view immediately after each call, not with dig (named reload lag gives false negatives).
What works
The web panel deletes the same record without any issue, and the change propagates normally to the DNS cluster. So the data path is fine: only the API action is broken.
Expected
action=delete removes the record, or at least returns an error when it does not.
Actual
error=0&text=Records Deleted with the record untouched — a silent false positive. This is the worst part: automation believes the delete succeeded.
Questions
Thanks!
I would like to report a persistent bug in CMD_API_DNS_CONTROL action=delete: the API answers error=0&text=Records Deleted while the record is still in the zone. The delete never happens, in any of the parameter formats documented or mentioned in older threads.
Environment
- DirectAdmin 1.705
- Bind/named zones, cluster DNS (two receivers)
- Reproduced both as the reseller/owner of the domain and as admin — identical result
Steps to reproduce
- Create a disposable TXT record in a test zone, e.g. _deletetest.example.com. 3600 IN TXT "probe-1234567890" (via panel or API).
- Call the API delete. One of the formats tried:
Code:curl -k -u "user:pass" "https://server:2222/CMD_API_DNS_CONTROL?domain=example.com&action=select&delete=yes&txtrecs[]=name=_deletetest&value=probe-1234567890" - The response is error=0&text=Records Deleted.
- The record is still there: CMD_API_DNS_CONTROL?action=view&domain=example.com still lists it, and the zone file is unchanged.
Parameter formats tried (12 in total, none works)
- Flat fields: type=TXT&name=_deletetest&value=... with action=delete
- Per-type record arrays (txtrecs[]= / nsrecs0= / arecs0=) carrying the combined name=...&value=... string exactly as returned by action=view
- action=select with select0=<combined string>
- The same variants with and without confirmed=Confirm
- The "fixed" format from the 2020 thread on this same command (value in quotes + short record name without the domain): also fails
Verification of "not deleted" was done against action=view immediately after each call, not with dig (named reload lag gives false negatives).
What works
The web panel deletes the same record without any issue, and the change propagates normally to the DNS cluster. So the data path is fine: only the API action is broken.
Expected
action=delete removes the record, or at least returns an error when it does not.
Actual
error=0&text=Records Deleted with the record untouched — a silent false positive. This is the worst part: automation believes the delete succeeded.
Questions
- Is there a working parameter format for action=delete on 1.705+?
- Has the accepted format changed again since the 2020 thread? undocumented changes in CMD_API_DNS_CONTROL
Thanks!