Daniel Veillard wrote:
On Mon, Oct 15, 2007 at 08:33:08PM +0100, Daniel P. Berrange wrote:
On Mon, Oct 15, 2007 at 04:37:22PM +0100, Richard W.M. Jones wrote:
Daniel P. Berrange wrote:
It is a bug in xend_internal.c

   if (strcasecmp (name, "xen") == 0 ||
       strncasecmp (name, "xen:///", 7) == 0) {


This needs to die & be replaced with code calling the libxml URI parsing.
I fixed a similar bug in the QEMU driver a few weeks back.
Sorry yes, Dan is right, so ignore the hack/patch I just posted.

In fact xen_unified.c already parses the URI once, so we just need to change the xen_unified <-> xen low level drivers API to pass the parsed URI instead of the name string.
In fact we could take it one bit further. Have the 'do_open' method in
the src/libvirt.c file parse it & change the src/driver.h so that the
open method for drivers takes  xmlURIPtr instead of a char *. That way
we guarentee that all drivers will use a correctly parsed form.

  Sounds good but we would have to reserialize for the network access
I assume.

Yes, it already does this because it has to reconstruct a URI suitable for the remote end of the connection. Specifically one which doesn't contain the transport, server and port. (Otherwise the remote end might try to do another remote connection, which wouldn't be fun).

Rich.

--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to