The 'domrename' command needs to check if the new domain name contains
the slash character. This character is not accepted by libvirt XML
definition because it is an invalid char (see Cole's commit b1fc6a7b7).
This commit enhace the 'domrename' command adding this check.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1333232
Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
---
src/qemu/qemu_driver.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 7484b00e2..70ae18524 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20757,6 +20757,12 @@ qemuDomainRenameCallback(virDomainObjPtr vm,
if (VIR_STRDUP(new_dom_name, new_name) < 0)
goto cleanup;
+ if (strchr(new_dom_name, '/')) {
+ virReportError(VIR_ERR_XML_ERROR,
+ _("name %s cannot contain '/'"), new_dom_name);
+ goto cleanup;
+ }
+
if (!(new_dom_cfg_file = virDomainConfigFile(cfg->configDir,
new_dom_name)) ||
!(old_dom_cfg_file = virDomainConfigFile(cfg->configDir,
--
2.14.1
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 04/23/2018 09:26 PM, Julio Faracco wrote: > The 'domrename' command needs to check if the new domain name contains > the slash character. This character is not accepted by libvirt XML > definition because it is an invalid char (see Cole's commit b1fc6a7b7). > This commit enhace the 'domrename' command adding this check. > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1333232 > > Signed-off-by: Julio Faracco <jcfaracco@gmail.com> > --- > src/qemu/qemu_driver.c | 6 ++++++ > 1 file changed, 6 insertions(+) > The change/check could have gone right after virCheckFlags and used @new_name (we're already guaranteed @new_name is not NULL from the virDomainRename API) and just return -1 directly. Reviewed-by: John Ferlan <jferlan@redhat.com> John I will push after the freeze. If you'd like I can also move the check. > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c > index 7484b00e2..70ae18524 100644 > --- a/src/qemu/qemu_driver.c > +++ b/src/qemu/qemu_driver.c > @@ -20757,6 +20757,12 @@ qemuDomainRenameCallback(virDomainObjPtr vm, > if (VIR_STRDUP(new_dom_name, new_name) < 0) > goto cleanup; > > + if (strchr(new_dom_name, '/')) { > + virReportError(VIR_ERR_XML_ERROR, > + _("name %s cannot contain '/'"), new_dom_name); > + goto cleanup; > + } > + > if (!(new_dom_cfg_file = virDomainConfigFile(cfg->configDir, > new_dom_name)) || > !(old_dom_cfg_file = virDomainConfigFile(cfg->configDir, > -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Hi John, Thanks for your comments. Probably, this is a requirement for test driver too. See my tests: # virsh -c test:///default virsh # shutdown test Domain test is being shutdown virsh # domrename test / Domain successfully renamed virsh # start / error: Failed to start domain / error: XML error: name / cannot contain '/' The same behavior of QEMU driver. -- Julio Cesar Faracco 2018-04-30 10:23 GMT-03:00 John Ferlan <jferlan@redhat.com>: > > > On 04/23/2018 09:26 PM, Julio Faracco wrote: >> The 'domrename' command needs to check if the new domain name contains >> the slash character. This character is not accepted by libvirt XML >> definition because it is an invalid char (see Cole's commit b1fc6a7b7). >> This commit enhace the 'domrename' command adding this check. >> >> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1333232 >> >> Signed-off-by: Julio Faracco <jcfaracco@gmail.com> >> --- >> src/qemu/qemu_driver.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> > > The change/check could have gone right after virCheckFlags and used > @new_name (we're already guaranteed @new_name is not NULL from the > virDomainRename API) and just return -1 directly. > > Reviewed-by: John Ferlan <jferlan@redhat.com> > > John > > I will push after the freeze. If you'd like I can also move the check. > >> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c >> index 7484b00e2..70ae18524 100644 >> --- a/src/qemu/qemu_driver.c >> +++ b/src/qemu/qemu_driver.c >> @@ -20757,6 +20757,12 @@ qemuDomainRenameCallback(virDomainObjPtr vm, >> if (VIR_STRDUP(new_dom_name, new_name) < 0) >> goto cleanup; >> >> + if (strchr(new_dom_name, '/')) { >> + virReportError(VIR_ERR_XML_ERROR, >> + _("name %s cannot contain '/'"), new_dom_name); >> + goto cleanup; >> + } >> + >> if (!(new_dom_cfg_file = virDomainConfigFile(cfg->configDir, >> new_dom_name)) || >> !(old_dom_cfg_file = virDomainConfigFile(cfg->configDir, >> -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On 04/30/2018 02:28 PM, Julio Faracco wrote: > Hi John, > > Thanks for your comments. > Probably, this is a requirement for test driver too. > See my tests: > > # virsh -c test:///default > > virsh # shutdown test > Domain test is being shutdown > > virsh # domrename test / > Domain successfully renamed > > virsh # start / > error: Failed to start domain / > error: XML error: name / cannot contain '/' > > The same behavior of QEMU driver. > ah true - so post a v4 where patch 1 is the qemu patch and patch 2 is the test patch... We have another day or so of waiting for the release anyway... Tks, John > -- > Julio Cesar Faracco > > 2018-04-30 10:23 GMT-03:00 John Ferlan <jferlan@redhat.com>: >> >> >> On 04/23/2018 09:26 PM, Julio Faracco wrote: >>> The 'domrename' command needs to check if the new domain name contains >>> the slash character. This character is not accepted by libvirt XML >>> definition because it is an invalid char (see Cole's commit b1fc6a7b7). >>> This commit enhace the 'domrename' command adding this check. >>> >>> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1333232 >>> >>> Signed-off-by: Julio Faracco <jcfaracco@gmail.com> >>> --- >>> src/qemu/qemu_driver.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >> >> The change/check could have gone right after virCheckFlags and used >> @new_name (we're already guaranteed @new_name is not NULL from the >> virDomainRename API) and just return -1 directly. >> >> Reviewed-by: John Ferlan <jferlan@redhat.com> >> >> John >> >> I will push after the freeze. If you'd like I can also move the check. >> >>> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c >>> index 7484b00e2..70ae18524 100644 >>> --- a/src/qemu/qemu_driver.c >>> +++ b/src/qemu/qemu_driver.c >>> @@ -20757,6 +20757,12 @@ qemuDomainRenameCallback(virDomainObjPtr vm, >>> if (VIR_STRDUP(new_dom_name, new_name) < 0) >>> goto cleanup; >>> >>> + if (strchr(new_dom_name, '/')) { >>> + virReportError(VIR_ERR_XML_ERROR, >>> + _("name %s cannot contain '/'"), new_dom_name); >>> + goto cleanup; >>> + } >>> + >>> if (!(new_dom_cfg_file = virDomainConfigFile(cfg->configDir, >>> new_dom_name)) || >>> !(old_dom_cfg_file = virDomainConfigFile(cfg->configDir, >>> -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.