aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2007-08-09 20:19:12 +0000
committerDaniel P. Berrange <berrange@redhat.com>2007-08-09 20:19:12 +0000
commit46b433f069359b350b6ab39e5d4496625c940cc3 (patch)
treeb7c9e30219704bebf0fd822aaae8c119e3c4a570
parentTue Aug 7 16:35:00 BST 2007 Richard W.M. Jones <rjones@redhat.com> (diff)
downloadlibvirt-46b433f069359b350b6ab39e5d4496625c940cc3.tar.gz
libvirt-46b433f069359b350b6ab39e5d4496625c940cc3.tar.bz2
libvirt-46b433f069359b350b6ab39e5d4496625c940cc3.zip
Cleanup UUID apis & constants
-rw-r--r--ChangeLog12
-rw-r--r--proxy/Makefile.am2
-rw-r--r--qemud/internal.h2
-rw-r--r--src/libvirt.c34
-rw-r--r--src/openvz_conf.c14
-rw-r--r--src/openvz_conf.h3
-rw-r--r--src/qemu_conf.c20
-rw-r--r--src/qemu_conf.h5
-rw-r--r--src/test.c40
-rw-r--r--src/uuid.c57
-rw-r--r--src/uuid.h13
-rw-r--r--src/xend_internal.c62
-rw-r--r--src/xm_internal.c31
-rw-r--r--src/xml.c61
-rw-r--r--src/xml.h1
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-curmem.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-disk-block.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-disk-file.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-fv-utc.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-fv-v2.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-fv.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-net-bridged.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-net-routed.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml2
-rw-r--r--tests/sexpr2xmldata/sexpr2xml-pv.xml2
-rwxr-xr-xtests/xmconfigdata/test-fullvirt-localtime.cfg2
-rw-r--r--tests/xmconfigdata/test-fullvirt-localtime.xml2
-rwxr-xr-xtests/xmconfigdata/test-fullvirt-new-cdrom.cfg2
-rw-r--r--tests/xmconfigdata/test-fullvirt-new-cdrom.xml2
-rwxr-xr-xtests/xmconfigdata/test-fullvirt-old-cdrom.cfg2
-rw-r--r--tests/xmconfigdata/test-fullvirt-old-cdrom.xml2
-rwxr-xr-xtests/xmconfigdata/test-fullvirt-usbmouse.cfg2
-rw-r--r--tests/xmconfigdata/test-fullvirt-usbmouse.xml2
-rw-r--r--tests/xmconfigdata/test-fullvirt-usbtablet-no-bus.xml2
-rwxr-xr-xtests/xmconfigdata/test-fullvirt-usbtablet.cfg2
-rw-r--r--tests/xmconfigdata/test-fullvirt-usbtablet.xml2
-rwxr-xr-xtests/xmconfigdata/test-fullvirt-utc.cfg2
-rw-r--r--tests/xmconfigdata/test-fullvirt-utc.xml2
-rwxr-xr-xtests/xmconfigdata/test-paravirt-new-pvfb.cfg2
-rw-r--r--tests/xmconfigdata/test-paravirt-new-pvfb.xml2
-rwxr-xr-xtests/xmconfigdata/test-paravirt-old-pvfb.cfg2
-rw-r--r--tests/xmconfigdata/test-paravirt-old-pvfb.xml2
50 files changed, 158 insertions, 269 deletions
diff --git a/ChangeLog b/ChangeLog
index 85873f4fc..abb1442f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+Thu Aug 9 14:27:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
+
+ * src/libvirt.c, src/openvz_conf.c, src/qemu_conf.c,
+ src/test.c, src/xm_internal.c, src/xend_internal.c: Use
+ virUUIDFormat() / virUUIDGenerate / virUUIDParse apis.
+ * qemu/internal.h: Remove unused UUID_LEN constants
+ * src/openvz_conf.h, src/qemu_conf.h: Remove duplicated
+ UUID length constants
+ * src/xml.c, src/xml.h: Remove virParseUUID api
+ * src/uuid.h, src/uuid.c: Add virUUIDFormat() api.
+ * proxy/Makefile.am: Include uuid.o
+
Tue Aug 7 16:35:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/Makefile.am: gnutls_1_0_compat.h to list of sources
diff --git a/proxy/Makefile.am b/proxy/Makefile.am
index 487458de3..90fd6bcd5 100644
--- a/proxy/Makefile.am
+++ b/proxy/Makefile.am
@@ -10,7 +10,7 @@ libexec_PROGRAMS = libvirt_proxy
libvirt_proxy_SOURCES = libvirt_proxy.c @top_srcdir@/src/xend_internal.c \
@top_srcdir@/src/xen_internal.c @top_srcdir@/src/virterror.c \
@top_srcdir@/src/sexpr.c @top_srcdir@/src/xml.c \
- @top_srcdir@/src/xs_internal.c @top_srcdir@/src/buf.c
+ @top_srcdir@/src/xs_internal.c @top_srcdir@/src/buf.c @top_srcdir@/src/uuid.c
libvirt_proxy_LDFLAGS = $(WARN_CFLAGS)
libvirt_proxy_DEPENDENCIES =
libvirt_proxy_LDADD =
diff --git a/qemud/internal.h b/qemud/internal.h
index 95704622d..744e17638 100644
--- a/qemud/internal.h
+++ b/qemud/internal.h
@@ -48,8 +48,6 @@
#define ATTRIBUTE_FORMAT(...)
#endif
-#define UUID_LEN 16
-
typedef enum {
QEMUD_ERR,
QEMUD_WARN,
diff --git a/src/libvirt.c b/src/libvirt.c
index caf5aa94c..5ef3ad0cf 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -25,7 +25,7 @@
#include "internal.h"
#include "driver.h"
-#include "xml.h"
+#include "uuid.h"
#include "test.h"
#include "xen_unified.h"
#include "remote_internal.h"
@@ -1384,22 +1384,6 @@ virDomainGetUUID(virDomainPtr domain, unsigned char *uuid)
if (domain->id == 0) {
memset(uuid, 0, VIR_UUID_BUFLEN);
} else {
-#if 0
- /* Probably legacy code: It appears that we always fill in
- * the UUID when creating the virDomain structure, so this
- * shouldn't be necessary.
- */
- if ((domain->uuid[0] == 0) && (domain->uuid[1] == 0) &&
- (domain->uuid[2] == 0) && (domain->uuid[3] == 0) &&
- (domain->uuid[4] == 0) && (domain->uuid[5] == 0) &&
- (domain->uuid[6] == 0) && (domain->uuid[7] == 0) &&
- (domain->uuid[8] == 0) && (domain->uuid[9] == 0) &&
- (domain->uuid[10] == 0) && (domain->uuid[11] == 0) &&
- (domain->uuid[12] == 0) && (domain->uuid[13] == 0) &&
- (domain->uuid[14] == 0) && (domain->uuid[15] == 0))
- xenDaemonDomainLookupByName_ids(domain->conn, domain->name,
- &domain->uuid[0]);
-#endif
memcpy(uuid, &domain->uuid[0], VIR_UUID_BUFLEN);
}
return (0);
@@ -1433,12 +1417,7 @@ virDomainGetUUIDString(virDomainPtr domain, char *buf)
if (virDomainGetUUID(domain, &uuid[0]))
return (-1);
- snprintf(buf, VIR_UUID_STRING_BUFLEN,
- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
+ virUUIDFormat(uuid, buf);
return (0);
}
@@ -2853,14 +2832,9 @@ virNetworkGetUUIDString(virNetworkPtr network, char *buf)
}
if (virNetworkGetUUID(network, &uuid[0]))
- return (-1);
+ return (-1);
- snprintf(buf, VIR_UUID_STRING_BUFLEN,
- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
+ virUUIDFormat(uuid, buf);
return (0);
}
diff --git a/src/openvz_conf.c b/src/openvz_conf.c
index 2dc3f6c0c..964221aac 100644
--- a/src/openvz_conf.c
+++ b/src/openvz_conf.c
@@ -76,7 +76,7 @@ struct openvz_vm
struct openvz_vm *vm = driver->vms;
while (vm) {
- if (!memcmp(vm->vmdef->uuid, uuid, OPENVZ_UUID_MAX))
+ if (!memcmp(vm->vmdef->uuid, uuid, VIR_UUID_BUFLEN))
return vm;
vm = vm->next;
}
@@ -400,8 +400,8 @@ static int
openvzSetUUID(int vpsid)
{
char conf_file[PATH_MAX];
- char uuid[VIR_UUID_STRING_BUFLEN];
- unsigned char new_uuid[VIR_UUID_BUFLEN];
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
+ unsigned char uuid[VIR_UUID_BUFLEN];
char *conf_dir;
int fd, ret, i;
@@ -418,11 +418,9 @@ openvzSetUUID(int vpsid)
return -1;
if(uuid[0] == (int)NULL) {
- virUUIDGenerate(new_uuid);
- bzero(uuid, VIR_UUID_STRING_BUFLEN);
- for(i = 0; i < VIR_UUID_BUFLEN; i ++)
- sprintf(uuid + (i * 2), "%02x", (unsigned char)new_uuid[i]);
-
+ virUUIDGenerate(uuid);
+ virUUIDFormat(uuid, uuidstr);
+
lseek(fd, 0, SEEK_END);
write(fd, "\n#UUID: ", 8);
write(fd, uuid, strlen(uuid));
diff --git a/src/openvz_conf.h b/src/openvz_conf.h
index 8871dbfcb..e869ddab7 100644
--- a/src/openvz_conf.h
+++ b/src/openvz_conf.h
@@ -27,7 +27,6 @@
#include "openvz_driver.h"
#define OPENVZ_NAME_MAX 8
-#define OPENVZ_UUID_MAX 16
#define OPENVZ_TMPL_MAX 256
#define OPENVZ_UNAME_MAX 32
#define OPENVZ_IP_MAX 16
@@ -74,7 +73,7 @@ struct openvz_net_def {
struct openvz_vm_def {
char name[OPENVZ_NAME_MAX];
- unsigned char uuid[OPENVZ_UUID_MAX];
+ unsigned char uuid[VIR_UUID_BUFLEN];
char profile[OPENVZ_PROFILE_MAX];
struct openvz_fs_def fs;
struct openvz_net_def net;
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
index 926b1d817..79dd18002 100644
--- a/src/qemu_conf.c
+++ b/src/qemu_conf.c
@@ -83,7 +83,7 @@ struct qemud_vm *qemudFindVMByUUID(const struct qemud_driver *driver,
struct qemud_vm *vm = driver->vms;
while (vm) {
- if (!memcmp(vm->def->uuid, uuid, QEMUD_UUID_RAW_LEN))
+ if (!memcmp(vm->def->uuid, uuid, VIR_UUID_BUFLEN))
return vm;
vm = vm->next;
}
@@ -109,7 +109,7 @@ struct qemud_network *qemudFindNetworkByUUID(const struct qemud_driver *driver,
struct qemud_network *network = driver->networks;
while (network) {
- if (!memcmp(network->def->uuid, uuid, QEMUD_UUID_RAW_LEN))
+ if (!memcmp(network->def->uuid, uuid, VIR_UUID_BUFLEN))
return network;
network = network->next;
}
@@ -2724,6 +2724,7 @@ char *qemudGenerateXML(virConnectPtr conn,
int live) {
virBufferPtr buf = 0;
unsigned char *uuid;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
struct qemud_vm_disk_def *disk;
struct qemud_vm_net_def *net;
struct qemud_vm_input_def *input;
@@ -2762,11 +2763,8 @@ char *qemudGenerateXML(virConnectPtr conn,
goto no_memory;
uuid = def->uuid;
- if (virBufferVSprintf(buf, " <uuid>%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x</uuid>\n",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]) < 0)
+ virUUIDFormat(uuid, uuidstr);
+ if (virBufferVSprintf(buf, " <uuid>%s</uuid>\n", uuidstr) < 0)
goto no_memory;
if (virBufferVSprintf(buf, " <memory>%d</memory>\n", def->maxmem) < 0)
goto no_memory;
@@ -3023,6 +3021,7 @@ char *qemudGenerateNetworkXML(virConnectPtr conn,
struct qemud_network_def *def) {
virBufferPtr buf = 0;
unsigned char *uuid;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
buf = virBufferNew (QEMUD_MAX_XML_LEN);
if (!buf)
@@ -3035,11 +3034,8 @@ char *qemudGenerateNetworkXML(virConnectPtr conn,
goto no_memory;
uuid = def->uuid;
- if (virBufferVSprintf(buf, " <uuid>%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x</uuid>\n",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]) < 0)
+ virUUIDFormat(uuid, uuidstr);
+ if (virBufferVSprintf(buf, " <uuid>%s</uuid>\n", uuidstr) < 0)
goto no_memory;
if (def->forward) {
diff --git a/src/qemu_conf.h b/src/qemu_conf.h
index 836bcb0f7..60a38b7ad 100644
--- a/src/qemu_conf.h
+++ b/src/qemu_conf.h
@@ -78,7 +78,6 @@ enum qemud_vm_net_type {
QEMUD_NET_BRIDGE,
};
-#define QEMUD_UUID_RAW_LEN 16
#define QEMUD_MAX_NAME_LEN 50
#define QEMUD_MAX_XML_LEN 4096
#define QEMUD_MAX_ERROR_LEN 1024
@@ -170,7 +169,7 @@ struct qemud_vm_os_def {
/* Guest VM main configuration */
struct qemud_vm_def {
int virtType;
- unsigned char uuid[QEMUD_UUID_RAW_LEN];
+ unsigned char uuid[VIR_UUID_BUFLEN];
char name[QEMUD_MAX_NAME_LEN];
int memory;
@@ -232,7 +231,7 @@ struct qemud_dhcp_range_def {
/* Virtual Network main configuration */
struct qemud_network_def {
- unsigned char uuid[QEMUD_UUID_RAW_LEN];
+ unsigned char uuid[VIR_UUID_BUFLEN];
char name[QEMUD_MAX_NAME_LEN];
char bridge[BR_IFNAME_MAXLEN];
diff --git a/src/test.c b/src/test.c
index d31518a73..2b11d4dec 100644
--- a/src/test.c
+++ b/src/test.c
@@ -42,7 +42,7 @@
#include "test.h"
#include "xml.h"
#include "buf.h"
-
+#include "uuid.h"
struct _testDev {
char name[20];
@@ -206,8 +206,7 @@ static int testLoadDomain(virConnectPtr conn,
xmlNodePtr root = NULL;
xmlXPathContextPtr ctxt = NULL;
char *name = NULL;
- unsigned char rawuuid[VIR_UUID_BUFLEN];
- char *dst_uuid;
+ unsigned char uuid[VIR_UUID_BUFLEN];
struct timeval tv;
unsigned long memory = 0;
unsigned long maxMem = 0;
@@ -248,8 +247,7 @@ static int testLoadDomain(virConnectPtr conn,
testError(conn, NULL, NULL, VIR_ERR_XML_ERROR, _("domain uuid"));
goto error;
}
- dst_uuid = (char *) &rawuuid[0];
- if (!(virParseUUID((char **)&dst_uuid, str))) {
+ if (virUUIDParse(str, uuid) < 0) {
testError(conn, NULL, NULL, VIR_ERR_XML_ERROR, _("domain uuid"));
goto error;
}
@@ -332,7 +330,7 @@ static int testLoadDomain(virConnectPtr conn,
if (memory > maxMem)
memory = maxMem;
- memmove(privconn->domains[handle].uuid, rawuuid, VIR_UUID_BUFLEN);
+ memmove(privconn->domains[handle].uuid, uuid, VIR_UUID_BUFLEN);
privconn->domains[handle].info.maxMem = maxMem;
privconn->domains[handle].info.memory = memory;
privconn->domains[handle].info.state = domid < 0 ? VIR_DOMAIN_SHUTOFF : VIR_DOMAIN_RUNNING;
@@ -404,8 +402,7 @@ static int testLoadNetwork(virConnectPtr conn,
xmlNodePtr root = NULL;
xmlXPathContextPtr ctxt = NULL;
char *name = NULL, *bridge = NULL;
- unsigned char rawuuid[VIR_UUID_BUFLEN];
- char *dst_uuid;
+ unsigned char uuid[VIR_UUID_BUFLEN];
char *str;
char *ipaddress = NULL, *ipnetmask = NULL, *dhcpstart = NULL, *dhcpend = NULL;
int forward;
@@ -438,8 +435,7 @@ static int testLoadNetwork(virConnectPtr conn,
testError(conn, NULL, NULL, VIR_ERR_XML_ERROR, _("network uuid"));
goto error;
}
- dst_uuid = (char *) &rawuuid[0];
- if (!(virParseUUID((char **)&dst_uuid, str))) {
+ if (virUUIDParse(str, uuid) < 0) {
testError(conn, NULL, NULL, VIR_ERR_XML_ERROR, _("network uuid"));
goto error;
}
@@ -498,7 +494,7 @@ static int testLoadNetwork(virConnectPtr conn,
bridge = NULL;
}
- memmove(privconn->networks[handle].uuid, rawuuid, VIR_UUID_BUFLEN);
+ memmove(privconn->networks[handle].uuid, uuid, VIR_UUID_BUFLEN);
privconn->networks[handle].forward = forward;
if (forwardDev) {
strncpy(privconn->networks[handle].forwardDev, forwardDev, sizeof(privconn->networks[handle].forwardDev)-1);
@@ -664,7 +660,7 @@ static int testOpenFromFile(virConnectPtr conn,
char *str;
xmlDocPtr xml = NULL;
xmlNodePtr root = NULL;
- xmlNodePtr *domains, *networks;
+ xmlNodePtr *domains, *networks = NULL;
xmlXPathContextPtr ctxt = NULL;
virNodeInfoPtr nodeInfo;
testConnPtr privconn = malloc(sizeof(testConn));
@@ -1474,6 +1470,7 @@ static char *testDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED)
virBufferPtr buf;
char *xml;
unsigned char *uuid;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
GET_DOMAIN(domain, NULL);
if (!(buf = virBufferNew(4000))) {
@@ -1484,13 +1481,8 @@ static char *testDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED)
virBufferVSprintf(buf, "<domain type='test' id='%d'>\n", domain->id);
virBufferVSprintf(buf, " <name>%s</name>\n", domain->name);
uuid = domain->uuid;
- virBufferVSprintf(buf,
- " <uuid>%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x</uuid>\n",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
-
+ virUUIDFormat(uuid, uuidstr);
+ virBufferVSprintf(buf, " <uuid>%s</uuid>\n", uuidstr);
virBufferVSprintf(buf, " <memory>%lu</memory>\n", privdom->info.maxMem);
virBufferVSprintf(buf, " <vcpu>%d</vcpu>\n", privdom->info.nrVirtCpu);
virBufferVSprintf(buf, " <on_reboot>%s</on_reboot>\n", testRestartFlagToString(privdom->onReboot));
@@ -1859,6 +1851,7 @@ static char *testNetworkDumpXML(virNetworkPtr network, int flags ATTRIBUTE_UNUSE
virBufferPtr buf;
char *xml;
unsigned char *uuid;
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
GET_NETWORK(network, NULL);
if (!(buf = virBufferNew(4000))) {
@@ -1869,13 +1862,8 @@ static char *testNetworkDumpXML(virNetworkPtr network, int flags ATTRIBUTE_UNUSE
virBufferAdd(buf, "<network>\n", -1);
virBufferVSprintf(buf, " <name>%s</name>\n", network->name);
uuid = network->uuid;
- virBufferVSprintf(buf,
- " <uuid>%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x</uuid>\n",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
-
+ virUUIDFormat(uuid, uuidstr);
+ virBufferVSprintf(buf, " <uuid>%s</uuid>\n", uuidstr);
virBufferVSprintf(buf, " <bridge name='%s'/>\n", privnet->bridge);
if (privnet->forward) {
if (privnet->forwardDev[0])
diff --git a/src/uuid.c b/src/uuid.c
index 6e1dbd787..c00a1b5a7 100644
--- a/src/uuid.c
+++ b/src/uuid.c
@@ -79,7 +79,7 @@ virUUIDGeneratePseudoRandomBytes(unsigned char *buf,
/**
* virUUIDGenerate:
- * @uuid: array of VIR_UUID_RAW_LEN bytes to store the new UUID
+ * @uuid: array of VIR_UUID_BUFLEN bytes to store the new UUID
*
* Generates a randomized unique identifier.
*
@@ -93,18 +93,18 @@ virUUIDGenerate(unsigned char *uuid)
if (uuid == NULL)
return(-1);
- if ((err = virUUIDGenerateRandomBytes(uuid, VIR_UUID_RAW_LEN)))
+ if ((err = virUUIDGenerateRandomBytes(uuid, VIR_UUID_BUFLEN)))
qemudLog(QEMUD_WARN,
"Falling back to pseudorandom UUID, "
"failed to generate random bytes: %s", strerror(err));
- return virUUIDGeneratePseudoRandomBytes(uuid, VIR_UUID_RAW_LEN);
+ return virUUIDGeneratePseudoRandomBytes(uuid, VIR_UUID_BUFLEN);
}
/**
* virUUIDParse:
- * @uuid: zero terminated string representation of the UUID
- * @rawuuid: array of VIR_UUID_RAW_LEN bytes to store the raw UUID
+ * @uuidstr: zero terminated string representation of the UUID
+ * @uuid: array of VIR_UUID_BUFLEN bytes to store the raw UUID
*
* Parses the external string representation, allowing spaces and '-'
* character in the sequence, and storing the result as a raw UUID
@@ -112,20 +112,20 @@ virUUIDGenerate(unsigned char *uuid)
* Returns 0 in case of success and -1 in case of error.
*/
int
-virUUIDParse(const char *uuid, unsigned char *rawuuid) {
+virUUIDParse(const char *uuidstr, unsigned char *uuid) {
const char *cur;
int i;
- if ((uuid == NULL) || (rawuuid == NULL))
+ if ((uuidstr == NULL) || (uuid == NULL))
return(-1);
/*
* do a liberal scan allowing '-' and ' ' anywhere between character
* pairs as long as there is 32 of them in the end.
*/
- cur = uuid;
- for (i = 0;i < 16;) {
- rawuuid[i] = 0;
+ cur = uuidstr;
+ for (i = 0;i < VIR_UUID_BUFLEN;) {
+ uuid[i] = 0;
if (*cur == 0)
goto error;
if ((*cur == '-') || (*cur == ' ')) {
@@ -133,23 +133,23 @@ virUUIDParse(const char *uuid, unsigned char *rawuuid) {
continue;
}
if ((*cur >= '0') && (*cur <= '9'))
- rawuuid[i] = *cur - '0';
+ uuid[i] = *cur - '0';
else if ((*cur >= 'a') && (*cur <= 'f'))
- rawuuid[i] = *cur - 'a' + 10;
+ uuid[i] = *cur - 'a' + 10;
else if ((*cur >= 'A') && (*cur <= 'F'))
- rawuuid[i] = *cur - 'A' + 10;
+ uuid[i] = *cur - 'A' + 10;
else
goto error;
- rawuuid[i] *= 16;
+ uuid[i] *= 16;
cur++;
if (*cur == 0)
goto error;
if ((*cur >= '0') && (*cur <= '9'))
- rawuuid[i] += *cur - '0';
+ uuid[i] += *cur - '0';
else if ((*cur >= 'a') && (*cur <= 'f'))
- rawuuid[i] += *cur - 'a' + 10;
+ uuid[i] += *cur - 'a' + 10;
else if ((*cur >= 'A') && (*cur <= 'F'))
- rawuuid[i] += *cur - 'A' + 10;
+ uuid[i] += *cur - 'A' + 10;
else
goto error;
i++;
@@ -162,6 +162,29 @@ virUUIDParse(const char *uuid, unsigned char *rawuuid) {
return -1;
}
+/**
+ * virUUIDFormat:
+ * @uuid: array of VIR_UUID_RAW_LEN bytes to store the raw UUID
+ * @uuidstr: array of VIR_UUID_STRING_BUFLEN bytes to store the
+ * string representation of the UUID in. The resulting string
+ * will be NULL terminated.
+ *
+ * Converts the raw UUID into printable format, with embedded '-'
+ *
+ * Returns 0 in case of success and -1 in case of error.
+ */
+void virUUIDFormat(const unsigned char *uuid, char *uuidstr)
+{
+ snprintf(uuidstr, VIR_UUID_STRING_BUFLEN,
+ "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ uuid[0], uuid[1], uuid[2], uuid[3],
+ uuid[4], uuid[5], uuid[6], uuid[7],
+ uuid[8], uuid[9], uuid[10], uuid[11],
+ uuid[12], uuid[13], uuid[14], uuid[15]);
+ uuidstr[VIR_UUID_STRING_BUFLEN-1] = '\0';
+}
+
+
/*
* Local variables:
* indent-tabs-mode: nil
diff --git a/src/uuid.h b/src/uuid.h
index 2584694d4..f1d7d028c 100644
--- a/src/uuid.h
+++ b/src/uuid.h
@@ -22,15 +22,12 @@
#ifndef __VIR_UUID_H__
#define __VIR_UUID_H__
-/**
- * VIR_UUID_RAW_LEN:
- * number of bytes used by an UUID in raw form
- */
-#define VIR_UUID_RAW_LEN 16
-
int virUUIDGenerate(unsigned char *uuid);
-int virUUIDParse(const char *uuid,
- unsigned char *rawuuid);
+int virUUIDParse(const char *uuidstr,
+ unsigned char *uuid);
+
+void virUUIDFormat(const unsigned char *uuid,
+ char *uuidstr);
#endif /* __VIR_UUID_H__ */
diff --git a/src/xend_internal.c b/src/xend_internal.c
index 2603f208a..020e29c04 100644
--- a/src/xend_internal.c
+++ b/src/xend_internal.c
@@ -36,6 +36,7 @@
#include "sexpr.h"
#include "xml.h"
#include "buf.h"
+#include "uuid.h"
#include "xen_unified.h"
#include "xend_internal.h"
#include "xen_internal.h" /* for DOM0_INTERFACE_VERSION */
@@ -776,13 +777,15 @@ sexpr_u64(struct sexpr *sexpr, const char *name)
*
* convenience function to lookup an UUID value from the S-Expression
*
- * Returns a pointer to the stored UUID or NULL in case of error.
+ * Returns a -1 on error, 0 on success
*/
-static unsigned char *
-sexpr_uuid(char **ptr, struct sexpr *node, const char *path)
+static int
+sexpr_uuid(unsigned char *ptr, struct sexpr *node, const char *path)
{
const char *r = sexpr_node(node, path);
- return virParseUUID(ptr, r);
+ if (!r)
+ return -1;
+ return virUUIDParse(r, ptr);
}
@@ -1061,10 +1064,7 @@ xenDaemonDomainLookupByName_ids(virConnectPtr xend, const char *domname,
_("domain information incorrect domid not numeric"));
ret = -1;
} else if (uuid != NULL) {
- char *uuid_c = (char *) uuid;
- char **ptr = &uuid_c;
-
- if (sexpr_uuid(ptr, root, "domain/uuid") == NULL) {
+ if (sexpr_uuid(uuid, root, "domain/uuid") < 0) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
_("domain information incomplete, missing uuid"));
}
@@ -1094,7 +1094,6 @@ xenDaemonDomainLookupByID(virConnectPtr xend,
unsigned char *uuid)
{
const char *name = NULL;
- char *dst_uuid;
struct sexpr *root;
memset(uuid, 0, VIR_UUID_BUFLEN);
@@ -1112,8 +1111,7 @@ xenDaemonDomainLookupByID(virConnectPtr xend,
if (domname)
*domname = strdup(name);
- dst_uuid = (char *)&uuid[0];
- if (sexpr_uuid(&dst_uuid, root, "domain/uuid") == NULL) {
+ if (sexpr_uuid(uuid, root, "domain/uuid") < 0) {
virXendError(xend, VIR_ERR_INTERNAL_ERROR,
_("domain information incomplete, missing uuid"));
goto error;
@@ -1354,6 +1352,8 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root, int xendConfigVersi
int hvm = 0, bootloader = 0;
int domid = -1;
int max_mem, cur_mem;
+ unsigned char uuid[VIR_UUID_BUFLEN];
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
if (root == NULL) {
/* ERROR */
@@ -1386,21 +1386,15 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root, int xendConfigVersi
}
virBufferVSprintf(&buf, " <name>%s</name>\n", tmp);
tmp = sexpr_node(root, "domain/uuid");
- if (tmp != NULL) {
- char compact[33];
- int i, j;
- for (i = 0, j = 0;(i < 32) && (tmp[j] != 0);j++) {
- if (((tmp[j] >= '0') && (tmp[j] <= '9')) ||
- ((tmp[j] >= 'a') && (tmp[j] <= 'f'))) {
- compact[i++] = tmp[j];
- } else if ((tmp[j] >= 'A') && (tmp[j] <= 'F')) {
- compact[i++] = tmp[j] + 'a' - 'A';
- }
- }
- compact[i] = 0;
- if (i > 0)
- virBufferVSprintf(&buf, " <uuid>%s</uuid>\n", compact);
+ if (tmp == NULL) {
+ virXendError(conn, VIR_ERR_INTERNAL_ERROR,
+ _("domain information incomplete, missing name"));
+ goto error;
}
+ virUUIDParse(tmp, uuid);
+ virUUIDFormat(uuid, uuidstr);
+ virBufferVSprintf(&buf, " <uuid>%s</uuid>\n", uuidstr);
+
tmp = sexpr_node(root, "domain/bootloader");
if (tmp != NULL) {
bootloader = 1;
@@ -1884,8 +1878,7 @@ static virDomainPtr
sexpr_to_domain(virConnectPtr conn, struct sexpr *root)
{
virDomainPtr ret = NULL;
- char *dst_uuid = NULL;
- char uuid[VIR_UUID_BUFLEN];
+ unsigned char uuid[VIR_UUID_BUFLEN];
const char *name;
const char *tmp;
xenUnifiedPrivatePtr priv;
@@ -1895,14 +1888,13 @@ sexpr_to_domain(virConnectPtr conn, struct sexpr *root)
priv = (xenUnifiedPrivatePtr) conn->privateData;
- dst_uuid = (char *) &uuid[0];
- if (sexpr_uuid(&dst_uuid, root, "domain/uuid") == NULL)
+ if (sexpr_uuid(uuid, root, "domain/uuid") < 0)
goto error;
name = sexpr_node(root, "domain/name");
if (name == NULL)
goto error;
- ret = virGetDomain(conn, name, (const unsigned char *) &uuid[0]);
+ ret = virGetDomain(conn, name, uuid);
if (ret == NULL) return NULL;
tmp = sexpr_node(root, "domain/domid");
@@ -2974,15 +2966,7 @@ xenDaemonLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
char uuidstr[VIR_UUID_STRING_BUFLEN];
struct sexpr *root = NULL;
- memset(uuidstr, '\0', VIR_UUID_STRING_BUFLEN);
-
- snprintf(uuidstr, VIR_UUID_STRING_BUFLEN,
- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
-
+ virUUIDFormat(uuid, uuidstr);
root = sexpr_get(conn, "/xend/domain/%s?detail=1", uuidstr);
if (root == NULL)
return (NULL);
diff --git a/src/xm_internal.c b/src/xm_internal.c
index e559e4e47..5e807e401 100644
--- a/src/xm_internal.c
+++ b/src/xm_internal.c
@@ -50,6 +50,7 @@
#include "internal.h"
#include "xml.h"
#include "buf.h"
+#include "uuid.h"
typedef struct xenXMConfCache *xenXMConfCachePtr;
typedef struct xenXMConfCache {
@@ -200,7 +201,6 @@ static int xenXMConfigGetString(virConfPtr conf, const char *name, const char **
/* Convenience method to grab a string UUID from the config file object */
static int xenXMConfigGetUUID(virConfPtr conf, const char *name, unsigned char *uuid) {
virConfValuePtr val;
- char *rawuuid = (char *)uuid;
if (!uuid || !name || !conf)
return (-1);
if (!(val = virConfGetValue(conf, name))) {
@@ -212,20 +212,12 @@ static int xenXMConfigGetUUID(virConfPtr conf, const char *name, unsigned char *
if (!val->str)
return (-1);
- if (!virParseUUID(&rawuuid, val->str))
+ if (virUUIDParse(val->str, uuid) < 0)
return (-1);
return (0);
}
-/* Generate a rnadom UUID - used if domain doesn't already
- have one in its config */
-static void xenXMConfigGenerateUUID(unsigned char *uuid) {
- int i;
- for (i = 0 ; i < VIR_UUID_BUFLEN ; i++) {
- uuid[i] = (unsigned char)(1 + (int) (256.0 * (rand() / (RAND_MAX + 1.0))));
- }
-}
/* Ensure that a config object has a valid UUID in it,
if it doesn't then (re-)generate one */
@@ -263,14 +255,8 @@ static int xenXMConfigEnsureIdentity(virConfPtr conf, const char *filename) {
}
/* ... then generate one */
- xenXMConfigGenerateUUID(uuid);
- snprintf(uuidstr, VIR_UUID_STRING_BUFLEN,
- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x</uuid>\n",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
- uuidstr[VIR_UUID_STRING_BUFLEN-1] = '\0';
+ virUUIDGenerate(uuid);
+ virUUIDFormat(uuid, uuidstr);
value->type = VIR_CONF_STRING;
value->str = strdup(uuidstr);
@@ -587,6 +573,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
char *xml;
const char *name;
unsigned char uuid[VIR_UUID_BUFLEN];
+ char uuidstr[VIR_UUID_STRING_BUFLEN];
const char *str;
int hvm = 0;
long val;
@@ -609,12 +596,8 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
virBufferAdd(buf, "<domain type='xen'>\n", -1);
virBufferVSprintf(buf, " <name>%s</name>\n", name);
- virBufferVSprintf(buf,
- " <uuid>%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x</uuid>\n",
- uuid[0], uuid[1], uuid[2], uuid[3],
- uuid[4], uuid[5], uuid[6], uuid[7],
- uuid[8], uuid[9], uuid[10], uuid[11],
- uuid[12], uuid[13], uuid[14], uuid[15]);
+ virUUIDFormat(uuid, uuidstr);
+ virBufferVSprintf(buf, " <uuid>%s</uuid>\n", uuidstr);
if ((xenXMConfigGetString(conf, "builder", &str) == 0) &&
!strcmp(str, "hvm"))
diff --git a/src/xml.c b/src/xml.c
index 571a2fc02..1688dbdf9 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -1308,67 +1308,6 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name, int
return (NULL);
}
-#endif /* !PROXY */
-
-
-
-unsigned char *virParseUUID(char **ptr, const char *uuid) {
- int rawuuid[VIR_UUID_BUFLEN];
- const char *cur;
- unsigned char *dst_uuid = NULL;
- int i;
-
- if (uuid == NULL)
- goto error;
-
- /*
- * do a liberal scan allowing '-' and ' ' anywhere between character
- * pairs as long as there is 32 of them in the end.
- */
- cur = uuid;
- for (i = 0;i < VIR_UUID_BUFLEN;) {
- rawuuid[i] = 0;
- if (*cur == 0)
- goto error;
- if ((*cur == '-') || (*cur == ' ')) {
- cur++;
- continue;
- }
- if ((*cur >= '0') && (*cur <= '9'))
- rawuuid[i] = *cur - '0';
- else if ((*cur >= 'a') && (*cur <= 'f'))
- rawuuid[i] = *cur - 'a' + 10;
- else if ((*cur >= 'A') && (*cur <= 'F'))
- rawuuid[i] = *cur - 'A' + 10;
- else
- goto error;
- rawuuid[i] *= 16;
- cur++;
- if (*cur == 0)
- goto error;
- if ((*cur >= '0') && (*cur <= '9'))
- rawuuid[i] += *cur - '0';
- else if ((*cur >= 'a') && (*cur <= 'f'))
- rawuuid[i] += *cur - 'a' + 10;
- else if ((*cur >= 'A') && (*cur <= 'F'))
- rawuuid[i] += *cur - 'A' + 10;
- else
- goto error;
- i++;
- cur++;
- }
-
- dst_uuid = (unsigned char *) *ptr;
- *ptr += 16;
-
- for (i = 0; i < VIR_UUID_BUFLEN; i++)
- dst_uuid[i] = rawuuid[i] & 0xFF;
-
- error:
- return(dst_uuid);
-}
-
-#ifndef PROXY
/**
* virParseXMLDevice:
* @conn: pointer to the hypervisor connection
diff --git a/src/xml.h b/src/xml.h
index a8c7b3ceb..29ccd58c0 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -32,7 +32,6 @@ int virXPathNodeSet (const char *xpath,
xmlNodePtr **list);
char *virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name, int xendConfigVersion);
-unsigned char *virParseUUID(char **ptr, const char *uuid);
char *virParseXMLDevice(virConnectPtr conn, char *xmldesc, int hvm, int xendConfigVersion);
int virDomainXMLDevID(virDomainPtr domain, char *xmldesc, char *class, char *ref);
diff --git a/tests/sexpr2xmldata/sexpr2xml-curmem.xml b/tests/sexpr2xmldata/sexpr2xml-curmem.xml
index d8f662d49..8c46e18a8 100644
--- a/tests/sexpr2xmldata/sexpr2xml-curmem.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-curmem.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='5'>
<name>rhel5</name>
- <uuid>4f77abd2301958e83bab6fbf2118f880</uuid>
+ <uuid>4f77abd2-3019-58e8-3bab-6fbf2118f880</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<os>
<type>linux</type>
diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-block.xml b/tests/sexpr2xmldata/sexpr2xml-disk-block.xml
index 60cf44c45..a6d54661a 100644
--- a/tests/sexpr2xmldata/sexpr2xml-disk-block.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-disk-block.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml
index f0322b437..af2ae7b25 100644
--- a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml
index 5e8c09a46..1cb4a3978 100644
--- a/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-disk-file.xml b/tests/sexpr2xmldata/sexpr2xml-disk-file.xml
index 8197a8ed4..8c3603647 100644
--- a/tests/sexpr2xmldata/sexpr2xml-disk-file.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-disk-file.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
index 4b58de74e..a6ebc1a46 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='3'>
<name>fvtest</name>
- <uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
+ <uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
index e96ecfab5..4b9e1e4df 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='3'>
<name>fvtest</name>
- <uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
+ <uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
index 235583c60..5567e1919 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='3'>
<name>fvtest</name>
- <uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
+ <uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
index 700c957c8..0382a69f5 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='3'>
<name>fvtest</name>
- <uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
+ <uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
index b9a873fe6..8a89770b2 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='3'>
<name>fvtest</name>
- <uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
+ <uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-fv.xml b/tests/sexpr2xmldata/sexpr2xml-fv.xml
index 700c957c8..0382a69f5 100644
--- a/tests/sexpr2xmldata/sexpr2xml-fv.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-fv.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='3'>
<name>fvtest</name>
- <uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
+ <uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml b/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml
index 9ff80f40a..4eb2d186f 100644
--- a/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-net-bridged.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-net-routed.xml b/tests/sexpr2xmldata/sexpr2xml-net-routed.xml
index a0ede8a48..f1a12f63d 100644
--- a/tests/sexpr2xmldata/sexpr2xml-net-routed.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-net-routed.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
index e51311a18..ea77f57cf 100644
--- a/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>test</name>
- <uuid>cc2315e7d26a307a438c6d188ec4c09c</uuid>
+ <uuid>cc2315e7-d26a-307a-438c-6d188ec4c09c</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml b/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml
index 221832dbc..9ee542dd4 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<bootloader>/usr/bin/pypxeboot</bootloader>
<bootloader_args>mac=AA:00:86:e2:35:72</bootloader_args>
<memory>430080</memory>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
index 2fae25f86..a8b61eb5c 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
index 2fae25f86..a8b61eb5c 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/sexpr2xmldata/sexpr2xml-pv.xml b/tests/sexpr2xmldata/sexpr2xml-pv.xml
index 8197a8ed4..8c3603647 100644
--- a/tests/sexpr2xmldata/sexpr2xml-pv.xml
+++ b/tests/sexpr2xmldata/sexpr2xml-pv.xml
@@ -1,6 +1,6 @@
<domain type='xen' id='6'>
<name>pvtest</name>
- <uuid>596a5d2171f48fb2e068e2386a5c413e</uuid>
+ <uuid>596a5d21-71f4-8fb2-e068-e2386a5c413e</uuid>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.2Dn2YT</kernel>
diff --git a/tests/xmconfigdata/test-fullvirt-localtime.cfg b/tests/xmconfigdata/test-fullvirt-localtime.cfg
index 56747ce72..18165a542 100755
--- a/tests/xmconfigdata/test-fullvirt-localtime.cfg
+++ b/tests/xmconfigdata/test-fullvirt-localtime.cfg
@@ -1,5 +1,5 @@
name = "XenGuest2"
-uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-fullvirt-localtime.xml b/tests/xmconfigdata/test-fullvirt-localtime.xml
index 211f29f09..3a3aa5645 100644
--- a/tests/xmconfigdata/test-fullvirt-localtime.xml
+++ b/tests/xmconfigdata/test-fullvirt-localtime.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg b/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
index 7c158b333..2777535d1 100755
--- a/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
+++ b/tests/xmconfigdata/test-fullvirt-new-cdrom.cfg
@@ -1,5 +1,5 @@
name = "XenGuest2"
-uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-fullvirt-new-cdrom.xml b/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
index 836ee4532..4d60e66f7 100644
--- a/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
+++ b/tests/xmconfigdata/test-fullvirt-new-cdrom.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-fullvirt-old-cdrom.cfg b/tests/xmconfigdata/test-fullvirt-old-cdrom.cfg
index f84dab502..2f2cc361f 100755
--- a/tests/xmconfigdata/test-fullvirt-old-cdrom.cfg
+++ b/tests/xmconfigdata/test-fullvirt-old-cdrom.cfg
@@ -1,5 +1,5 @@
name = "XenGuest2"
-uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-fullvirt-old-cdrom.xml b/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
index 36b98a06b..e6c1d5958 100644
--- a/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
+++ b/tests/xmconfigdata/test-fullvirt-old-cdrom.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-fullvirt-usbmouse.cfg b/tests/xmconfigdata/test-fullvirt-usbmouse.cfg
index abbef2b79..b4e5f9b60 100755
--- a/tests/xmconfigdata/test-fullvirt-usbmouse.cfg
+++ b/tests/xmconfigdata/test-fullvirt-usbmouse.cfg
@@ -1,5 +1,5 @@
name = "XenGuest2"
-uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-fullvirt-usbmouse.xml b/tests/xmconfigdata/test-fullvirt-usbmouse.xml
index 0433a955a..a0eea9e97 100644
--- a/tests/xmconfigdata/test-fullvirt-usbmouse.xml
+++ b/tests/xmconfigdata/test-fullvirt-usbmouse.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-fullvirt-usbtablet-no-bus.xml b/tests/xmconfigdata/test-fullvirt-usbtablet-no-bus.xml
index 99e17b888..db0ae380d 100644
--- a/tests/xmconfigdata/test-fullvirt-usbtablet-no-bus.xml
+++ b/tests/xmconfigdata/test-fullvirt-usbtablet-no-bus.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-fullvirt-usbtablet.cfg b/tests/xmconfigdata/test-fullvirt-usbtablet.cfg
index e29507b32..fa10c9aa8 100755
--- a/tests/xmconfigdata/test-fullvirt-usbtablet.cfg
+++ b/tests/xmconfigdata/test-fullvirt-usbtablet.cfg
@@ -1,5 +1,5 @@
name = "XenGuest2"
-uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-fullvirt-usbtablet.xml b/tests/xmconfigdata/test-fullvirt-usbtablet.xml
index 7513935dc..7dcb1e56b 100644
--- a/tests/xmconfigdata/test-fullvirt-usbtablet.xml
+++ b/tests/xmconfigdata/test-fullvirt-usbtablet.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-fullvirt-utc.cfg b/tests/xmconfigdata/test-fullvirt-utc.cfg
index 7c158b333..2777535d1 100755
--- a/tests/xmconfigdata/test-fullvirt-utc.cfg
+++ b/tests/xmconfigdata/test-fullvirt-utc.cfg
@@ -1,5 +1,5 @@
name = "XenGuest2"
-uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-fullvirt-utc.xml b/tests/xmconfigdata/test-fullvirt-utc.xml
index 836ee4532..4d60e66f7 100644
--- a/tests/xmconfigdata/test-fullvirt-utc.xml
+++ b/tests/xmconfigdata/test-fullvirt-utc.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest2</name>
- <uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
diff --git a/tests/xmconfigdata/test-paravirt-new-pvfb.cfg b/tests/xmconfigdata/test-paravirt-new-pvfb.cfg
index 0d71266a8..76a6eae1a 100755
--- a/tests/xmconfigdata/test-paravirt-new-pvfb.cfg
+++ b/tests/xmconfigdata/test-paravirt-new-pvfb.cfg
@@ -1,5 +1,5 @@
name = "XenGuest1"
-uuid = "c7a5fdb0cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb0-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-paravirt-new-pvfb.xml b/tests/xmconfigdata/test-paravirt-new-pvfb.xml
index 4774cb337..72a07f56a 100644
--- a/tests/xmconfigdata/test-paravirt-new-pvfb.xml
+++ b/tests/xmconfigdata/test-paravirt-new-pvfb.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest1</name>
- <uuid>c7a5fdb0cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb0-cdaf-9455-926a-d65c16db1809</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<currentMemory>403456</currentMemory>
<memory>592896</memory>
diff --git a/tests/xmconfigdata/test-paravirt-old-pvfb.cfg b/tests/xmconfigdata/test-paravirt-old-pvfb.cfg
index fb112a103..f37b28680 100755
--- a/tests/xmconfigdata/test-paravirt-old-pvfb.cfg
+++ b/tests/xmconfigdata/test-paravirt-old-pvfb.cfg
@@ -1,5 +1,5 @@
name = "XenGuest1"
-uuid = "c7a5fdb0cdaf9455926ad65c16db1809"
+uuid = "c7a5fdb0-cdaf-9455-926a-d65c16db1809"
maxmem = 579
memory = 394
vcpus = 1
diff --git a/tests/xmconfigdata/test-paravirt-old-pvfb.xml b/tests/xmconfigdata/test-paravirt-old-pvfb.xml
index 4774cb337..72a07f56a 100644
--- a/tests/xmconfigdata/test-paravirt-old-pvfb.xml
+++ b/tests/xmconfigdata/test-paravirt-old-pvfb.xml
@@ -1,6 +1,6 @@
<domain type='xen'>
<name>XenGuest1</name>
- <uuid>c7a5fdb0cdaf9455926ad65c16db1809</uuid>
+ <uuid>c7a5fdb0-cdaf-9455-926a-d65c16db1809</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<currentMemory>403456</currentMemory>
<memory>592896</memory>