This reverts commit cf934c87cca32149675020ea595712aad25978e6.
The matching logic is flawed and it would complicate support of
this command.
Signed-off-by: Adam Julis <ajulis(a)redhat.com>
---
See discussion:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/message/6...
src/conf/network_conf.c | 27 +++++--------------
.../srv-not-existing.xml | 1 -
.../srv-record-modify-few.xml | 1 -
.../nat-network-dns-srv-modify-few.xml | 26 ------------------
tests/networkxml2xmlupdatetest.c | 10 +------
5 files changed, 7 insertions(+), 58 deletions(-)
delete mode 100644 tests/networkxml2xmlupdatein/srv-not-existing.xml
delete mode 100644 tests/networkxml2xmlupdatein/srv-record-modify-few.xml
delete mode 100644 tests/networkxml2xmlupdateout/nat-network-dns-srv-modify-few.xml
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 68eee367c4..3af4e1d036 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -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
index 401e14c616..0000000000
--- a/tests/networkxml2xmlupdatein/srv-not-existing.xml
+++ /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
index 88ec1b97d9..0000000000
--- a/tests/networkxml2xmlupdatein/srv-record-modify-few.xml
+++ /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
index a7e5fcffa6..0000000000
--- a/tests/networkxml2xmlupdateout/nat-network-dns-srv-modify-few.xml
+++ /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>
diff --git a/tests/networkxml2xmlupdatetest.c b/tests/networkxml2xmlupdatetest.c
index 875cede035..60931a2eba 100644
--- a/tests/networkxml2xmlupdatetest.c
+++ b/tests/networkxml2xmlupdatetest.c
@@ -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;
--
2.45.2