On Thu, May 09, 2013 at 01:07:59PM -0600, Jim Fehlig wrote:
Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange(a)redhat.com>
>
> Introduce use of a virDomainDefPtr in the domain property
> APIs to simplify introduction of ACL security checks.
> The virDomainPtr cannot be safely used, since the app
> may have supplied mis-matching name/uuid/id fields. eg
> the name points to domain X, while the uuid points to
> domain Y. Resolving the virDomainPtr to a virDomainDefPtr
> ensures a consistent name/uuid/id set.
>
> Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
> xenUnifiedDomainGetOSType(virDomainPtr dom)
> {
> xenUnifiedPrivatePtr priv = dom->conn->privateData;
> + char *ret = NULL;
> + virDomainDefPtr def;
>
> - if (dom->id < 0) {
> + if (!(def = xenGetDomainDefForDom(dom)))
> + goto cleanup;
> +
> + if (def->id < 0) {
> if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> _("Unable to query OS type for inactive
domain"));
> return NULL;
> } else {
> - return xenDaemonDomainGetOSType(dom);
> + ret = xenHypervisorDomainGetOSType(dom->conn, def);
>
Should still call xenDaemonDomainGetOSType here since id < 0 right?
> }
> } else {
> - return xenHypervisorDomainGetOSType(dom);
> + ret = xenDaemonDomainGetOSType(dom->conn, def);
>
And call the hypervisor one here when the domain is active.
Yes, dunno how i managed to screw that up :-(
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|