]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool dns: delete uses DnsConnWrapper messages
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 12 Aug 2022 05:17:16 +0000 (17:17 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Tue, 6 Sep 2022 21:12:36 +0000 (21:12 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/dns.py

index 2fcbc40b457f172c98a41a322daef941aa45fd59..b7402f9979be34e20d5020180b29e9ab23e6091f 100644 (file)
@@ -1292,20 +1292,22 @@ class cmd_delete_record(Command):
         del_rec_buf = dnsserver.DNS_RPC_RECORD_BUF()
         del_rec_buf.rec = rec
 
-        try:
-            dns_conn.DnssrvUpdateRecord2(dnsserver.DNS_CLIENT_VERSION_LONGHORN,
-                                         0,
-                                         server,
-                                         zone,
-                                         name,
-                                         None,
-                                         del_rec_buf)
-        except WERRORError as e:
-            if e.args[0] == werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST:
-                raise CommandError('Zone does not exist; record could not be deleted. zone[%s] name[%s]' % (zone, name))
-            if e.args[0] == werror.WERR_DNS_ERROR_RECORD_DOES_NOT_EXIST:
-                raise CommandError('Record does not exist; record could not be deleted. zone[%s] name[%s]' % (zone, name))
-            raise e
+        messages = {
+            werror.WERR_DNS_ERROR_NAME_DOES_NOT_EXIST: (
+                'Zone does not exist; record could not be deleted. '
+                f'zone[{zone}] name[{name}'),
+            werror.WERR_DNS_ERROR_RECORD_ALREADY_EXISTS: (
+                'Record already exists; record could not be deleted. '
+                f'zone[{zone}] name[{name}]')
+        }
+        dns_conn.DnssrvUpdateRecord2(dnsserver.DNS_CLIENT_VERSION_LONGHORN,
+                                     0,
+                                     server,
+                                     zone,
+                                     name,
+                                     None,
+                                     del_rec_buf,
+                                     messages=messages)
 
         self.outf.write('Record deleted successfully\n')