]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Revert "network: allow "modify" option for DNS-Srv records"
authorAdam Julis <ajulis@redhat.com>
Mon, 5 Aug 2024 08:50:43 +0000 (10:50 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Mon, 5 Aug 2024 09:42:35 +0000 (11:42 +0200)
This reverts commit cf934c87cca32149675020ea595712aad25978e6.

The matching logic is flawed and it would complicate support of
this command.

Signed-off-by: Adam Julis <ajulis@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/conf/network_conf.c
tests/networkxml2xmlupdatein/srv-not-existing.xml [deleted file]
tests/networkxml2xmlupdatein/srv-record-modify-few.xml [deleted file]
tests/networkxml2xmlupdateout/nat-network-dns-srv-modify-few.xml [deleted file]
tests/networkxml2xmlupdatetest.c

index 68eee367c43ae49f86f32fd7ae6cecb9f568f8a0..3af4e1d036f9d34a6f0c9bac22d7d32710ec3c21 100644 (file)
@@ -3257,6 +3257,12 @@ virNetworkDefUpdateDNSSrv(virNetworkDef *def,
                   command == VIR_NETWORK_UPDATE_COMMAND_ADD_LAST);
     int foundCt = 0;
 
+    if (command == VIR_NETWORK_UPDATE_COMMAND_MODIFY) {
+        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+                       _("DNS SRV records cannot be modified, only added or deleted"));
+        goto cleanup;
+    }
+
     if (virNetworkDefUpdateCheckElementName(def, ctxt->node, "srv") < 0)
         goto cleanup;
 
@@ -3306,27 +3312,6 @@ virNetworkDefUpdateDNSSrv(virNetworkDef *def,
         virNetworkDNSSrvDefClear(&dns->srvs[foundIdx]);
         VIR_DELETE_ELEMENT(dns->srvs, foundIdx, dns->nsrvs);
 
-    } else if (command == VIR_NETWORK_UPDATE_COMMAND_MODIFY) {
-
-        if (foundCt == 0) {
-            virReportError(VIR_ERR_OPERATION_INVALID,
-                           _("couldn't locate a matching DNS SRV record in network %1$s"),
-                           def->name);
-            goto cleanup;
-        }
-
-        if (foundCt > 1) {
-            virReportError(VIR_ERR_OPERATION_INVALID,
-                           _("multiple DNS SRV records matching all specified fields were found in network %1$s"),
-                           def->name);
-            goto cleanup;
-        }
-
-        virNetworkDNSSrvDefClear(&dns->srvs[foundIdx]);
-
-        memcpy(&dns->srvs[foundIdx], &srv, sizeof(virNetworkDNSSrvDef));
-        memset(&srv, 0, sizeof(virNetworkDNSSrvDef));
-
     } else {
         virNetworkDefUpdateUnknownCommand(command);
         goto cleanup;
diff --git a/tests/networkxml2xmlupdatein/srv-not-existing.xml b/tests/networkxml2xmlupdatein/srv-not-existing.xml
deleted file mode 100644 (file)
index 401e14c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<srv service='name' protocol='tcp' domain='unknown-domain' target='.' port='666' priority='99' weight='10'/>
diff --git a/tests/networkxml2xmlupdatein/srv-record-modify-few.xml b/tests/networkxml2xmlupdatein/srv-record-modify-few.xml
deleted file mode 100644 (file)
index 88ec1b9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<srv service='name' protocol='tcp' domain='test-domain-name' target='.' port='1221' priority='42' weight='69'/>
diff --git a/tests/networkxml2xmlupdateout/nat-network-dns-srv-modify-few.xml b/tests/networkxml2xmlupdateout/nat-network-dns-srv-modify-few.xml
deleted file mode 100644 (file)
index a7e5fcf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<network>
-  <name>default</name>
-  <uuid>81ff0d90-c91e-6742-64da-4a736edb9a9b</uuid>
-  <forward dev='eth1' mode='nat'>
-    <interface dev='eth1'/>
-  </forward>
-  <bridge name='virbr0' stp='on' delay='0'/>
-  <dns>
-    <srv service='name' protocol='tcp' domain='test-domain-name' target='.' port='1221' priority='42' weight='69'/>
-  </dns>
-  <ip address='192.168.122.1' netmask='255.255.255.0'>
-    <dhcp>
-      <range start='192.168.122.2' end='192.168.122.254'/>
-      <host mac='00:16:3e:77:e2:ed' name='a.example.com' ip='192.168.122.10'/>
-      <host mac='00:16:3e:3e:a9:1a' name='b.example.com' ip='192.168.122.11'/>
-    </dhcp>
-  </ip>
-  <ip family='ipv4' address='192.168.123.1' netmask='255.255.255.0'>
-  </ip>
-  <ip family='ipv6' address='2001:db8:ac10:fe01::1' prefix='64'>
-  </ip>
-  <ip family='ipv6' address='2001:db8:ac10:fd01::1' prefix='64'>
-  </ip>
-  <ip family='ipv4' address='10.24.10.1'>
-  </ip>
-</network>
index 875cede035313a3811c96c1bcf9a595b3bb7b9e5..60931a2eba6dea759b8e106b269a03e52df685b9 100644 (file)
@@ -337,6 +337,7 @@ mymain(void)
             "nat-network-dns-srv-record",
             "nat-network-dns-srv-records",
             VIR_NETWORK_UPDATE_COMMAND_ADD_LAST);
+
     DO_TEST_FAIL("delete-missing-srv-record-service",
                  "srv-record-service",
                  "nat-network",
@@ -359,15 +360,6 @@ mymain(void)
             "nat-network-dns-srv-record",
             "nat-network",
             VIR_NETWORK_UPDATE_COMMAND_DELETE);
-    DO_TEST("modify-srv-record-protocol",
-            "srv-record-modify-few",
-            "nat-network-dns-srv-record",
-            "nat-network-dns-srv-modify-few",
-            VIR_NETWORK_UPDATE_COMMAND_MODIFY);
-    DO_TEST_FAIL("modify-not-existing-srv-record",
-                 "srv-not-existing",
-                 "nat-network-dns-srv-record",
-                 VIR_NETWORK_UPDATE_COMMAND_MODIFY);
 
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;