From: Mark Andrews Date: Tue, 31 Mar 2026 01:26:42 +0000 (+1100) Subject: nsupdate does not handle zero length RDATA well X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f45762a5beea8dd07604e49ba225bebe09f9f970;p=thirdparty%2Fbind9.git nsupdate does not handle zero length RDATA well Nsupdate does not distinguish between a non-existing RDATA field and an empty RDATA field when determining which action is desired when the RDATA field is empty. This only affects a few data types, like APL, which allow an empty RDATA field. Document a workaround of using the '\# 0' form for entering these specific records. e.g. # delete the APL RRset update delete IN APL # delete the APL record with a zero length rdata update delete IN APL \# 0 --- diff --git a/bin/nsupdate/nsupdate.rst b/bin/nsupdate/nsupdate.rst index b98d70bbff7..11389420533 100644 --- a/bin/nsupdate/nsupdate.rst +++ b/bin/nsupdate/nsupdate.rst @@ -354,16 +354,25 @@ The command formats and their meanings are as follows: ``domain-name``. The ``data`` are written in the standard text representation of the resource record's RDATA. + Note RDATA which is empty (e.g. APL with an zero length rdata) + needs to be entered using ``\# 0`` form. + ``update delete domain-name ttl class type data`` This command deletes any resource records named ``domain-name``. If ``type`` and ``data`` are provided, only matching resource records are removed. The Internet class is assumed if ``class`` is not supplied. The ``ttl`` is ignored, and is only allowed for compatibility. + Note RDATA which is empty (e.g. APL with an zero length rdata) + needs to be entered using ``\# 0`` form. + ``update add domain-name ttl class type data`` This command adds a new resource record with the specified ``ttl``, ``class``, and ``data``. + Note RDATA which is empty (e.g. APL with an zero length rdata) + needs to be entered using ``\# 0`` form. + ``show`` This command displays the current message, containing all of the prerequisites and updates specified since the last send.