Compare commits
12 Commits
libvirt-0_
...
libvirt-0_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
48b90fefc1 | ||
|
|
bc4bbabdf6 | ||
|
|
905627c8fd | ||
|
|
a16d752c10 | ||
|
|
29b1292019 | ||
|
|
f3546be64b | ||
|
|
fb9044931e | ||
|
|
03c5fec4d2 | ||
|
|
ce373a25b6 | ||
|
|
996d0e4709 | ||
|
|
8c01426c44 | ||
|
|
e859f7e59e |
@@ -3,7 +3,5 @@
|
||||
i686
|
||||
x86_64
|
||||
libvirt-*.tar.gz
|
||||
libvirt-0.4.6.tar.gz
|
||||
libvirt-0.5.0.tar.gz
|
||||
libvirt-0.5.1.tar.gz
|
||||
libvirt-0.6.0.tar.gz
|
||||
libvirt-0.6.1.tar.gz
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
diff -rup libvirt-0.6.0.orig/qemud/event.c libvirt-0.6.0.new/qemud/event.c
|
||||
--- libvirt-0.6.0.orig/qemud/event.c 2009-02-06 19:30:58.000000000 +0000
|
||||
+++ libvirt-0.6.0.new/qemud/event.c 2009-02-06 19:30:00.000000000 +0000
|
||||
@@ -657,6 +657,8 @@ virPollEventToEventHandleType(int events
|
||||
ret |= VIR_EVENT_HANDLE_WRITABLE;
|
||||
if(events & POLLERR)
|
||||
ret |= VIR_EVENT_HANDLE_ERROR;
|
||||
+ if(events & POLLNVAL) /* Treat NVAL as error, since libvirt doesn't distinguish */
|
||||
+ ret |= VIR_EVENT_HANDLE_ERROR;
|
||||
if(events & POLLHUP)
|
||||
ret |= VIR_EVENT_HANDLE_HANGUP;
|
||||
return ret;
|
||||
diff -rup libvirt-0.6.0.orig/src/domain_conf.c libvirt-0.6.0.new/src/domain_conf.c
|
||||
--- libvirt-0.6.0.orig/src/domain_conf.c 2009-01-31 09:04:17.000000000 +0000
|
||||
+++ libvirt-0.6.0.new/src/domain_conf.c 2009-02-06 19:30:00.000000000 +0000
|
||||
@@ -504,6 +504,7 @@ virDomainObjPtr virDomainAssignDef(virCo
|
||||
domain->state = VIR_DOMAIN_SHUTOFF;
|
||||
domain->def = def;
|
||||
domain->monitor_watch = -1;
|
||||
+ domain->monitor = -1;
|
||||
|
||||
if (VIR_REALLOC_N(doms->objs, doms->count + 1) < 0) {
|
||||
virReportOOMError(conn);
|
||||
diff -rup libvirt-0.6.0.orig/src/remote_internal.c libvirt-0.6.0.new/src/remote_internal.c
|
||||
--- libvirt-0.6.0.orig/src/remote_internal.c 2009-01-31 09:04:18.000000000 +0000
|
||||
+++ libvirt-0.6.0.new/src/remote_internal.c 2009-02-06 19:30:00.000000000 +0000
|
||||
@@ -6198,17 +6198,17 @@ processCalls(virConnectPtr conn,
|
||||
continue;
|
||||
virReportSystemError(in_open ? NULL : conn, errno,
|
||||
"%s", _("poll on socket failed"));
|
||||
- return -1;
|
||||
+ goto error;
|
||||
}
|
||||
|
||||
if (fds[0].revents & POLLOUT) {
|
||||
if (processCallSend(conn, priv, in_open) < 0)
|
||||
- return -1;
|
||||
+ goto error;
|
||||
}
|
||||
|
||||
if (fds[0].revents & POLLIN) {
|
||||
if (processCallRecv(conn, priv, in_open) < 0)
|
||||
- return -1;
|
||||
+ goto error;
|
||||
}
|
||||
|
||||
/* Iterate through waiting threads and if
|
||||
@@ -6259,9 +6259,21 @@ processCalls(virConnectPtr conn,
|
||||
if (fds[0].revents & (POLLHUP | POLLERR)) {
|
||||
errorf(in_open ? NULL : conn, VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("received hangup / error event on socket"));
|
||||
- return -1;
|
||||
+ goto error;
|
||||
}
|
||||
}
|
||||
+
|
||||
+
|
||||
+error:
|
||||
+ priv->waitDispatch = thiscall->next;
|
||||
+ DEBUG("Giving up the buck due to I/O error %d %p %p", thiscall->proc_nr, thiscall, priv->waitDispatch);
|
||||
+ /* See if someone else is still waiting
|
||||
+ * and if so, then pass the buck ! */
|
||||
+ if (priv->waitDispatch) {
|
||||
+ DEBUG("Passing the buck to %d %p", priv->waitDispatch->proc_nr, priv->waitDispatch);
|
||||
+ virCondSignal(&priv->waitDispatch->cond);
|
||||
+ }
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1,124 +0,0 @@
|
||||
diff -rup libvirt-0.6.0.orig/qemud/event.c libvirt-0.6.0.new/qemud/event.c
|
||||
--- libvirt-0.6.0.orig/qemud/event.c 2008-12-22 13:02:54.000000000 +0000
|
||||
+++ libvirt-0.6.0.new/qemud/event.c 2009-02-06 19:29:28.000000000 +0000
|
||||
@@ -68,6 +68,7 @@ struct virEventTimeout {
|
||||
/* State for the main event loop */
|
||||
struct virEventLoop {
|
||||
pthread_mutex_t lock;
|
||||
+ int running;
|
||||
pthread_t leader;
|
||||
int wakeupfd[2];
|
||||
int handlesCount;
|
||||
@@ -521,6 +522,7 @@ int virEventRunOnce(void) {
|
||||
int ret, timeout, nfds;
|
||||
|
||||
virEventLock();
|
||||
+ eventLoop.running = 1;
|
||||
eventLoop.leader = pthread_self();
|
||||
if ((nfds = virEventMakePollFDs(&fds)) < 0) {
|
||||
virEventUnlock();
|
||||
@@ -572,7 +574,7 @@ int virEventRunOnce(void) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
- eventLoop.leader = 0;
|
||||
+ eventLoop.running = 0;
|
||||
virEventUnlock();
|
||||
return 0;
|
||||
}
|
||||
@@ -611,7 +613,9 @@ int virEventInit(void)
|
||||
static int virEventInterruptLocked(void)
|
||||
{
|
||||
char c = '\0';
|
||||
- if (pthread_self() == eventLoop.leader)
|
||||
+
|
||||
+ if (!eventLoop.running ||
|
||||
+ pthread_self() == eventLoop.leader)
|
||||
return 0;
|
||||
|
||||
if (safewrite(eventLoop.wakeupfd[1], &c, sizeof(c)) != sizeof(c))
|
||||
diff -rup libvirt-0.6.0.orig/qemud/qemud.c libvirt-0.6.0.new/qemud/qemud.c
|
||||
--- libvirt-0.6.0.orig/qemud/qemud.c 2009-01-31 09:04:17.000000000 +0000
|
||||
+++ libvirt-0.6.0.new/qemud/qemud.c 2009-02-06 19:29:28.000000000 +0000
|
||||
@@ -2013,11 +2013,15 @@ static int qemudOneLoop(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static void qemudInactiveTimer(int timer ATTRIBUTE_UNUSED, void *data) {
|
||||
+static void qemudInactiveTimer(int timerid, void *data) {
|
||||
struct qemud_server *server = (struct qemud_server *)data;
|
||||
- DEBUG0("Got inactive timer expiry");
|
||||
- if (!virStateActive()) {
|
||||
- DEBUG0("No state active, shutting down");
|
||||
+
|
||||
+ if (virStateActive() ||
|
||||
+ server->clients) {
|
||||
+ DEBUG0("Timer expired but still active, not shutting down");
|
||||
+ virEventUpdateTimeoutImpl(timerid, -1);
|
||||
+ } else {
|
||||
+ DEBUG0("Timer expired and inactive, shutting down");
|
||||
server->shutdown = 1;
|
||||
}
|
||||
}
|
||||
@@ -2048,9 +2052,18 @@ static void qemudFreeClient(struct qemud
|
||||
static int qemudRunLoop(struct qemud_server *server) {
|
||||
int timerid = -1;
|
||||
int ret = -1, i;
|
||||
+ int timerActive = 0;
|
||||
|
||||
virMutexLock(&server->lock);
|
||||
|
||||
+ if (timeout > 0 &&
|
||||
+ (timerid = virEventAddTimeoutImpl(-1,
|
||||
+ qemudInactiveTimer,
|
||||
+ server, NULL)) < 0) {
|
||||
+ VIR_ERROR0(_("Failed to register shutdown timeout"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
if (min_workers > max_workers)
|
||||
max_workers = min_workers;
|
||||
|
||||
@@ -2071,11 +2084,21 @@ static int qemudRunLoop(struct qemud_ser
|
||||
* if any drivers have active state, if not
|
||||
* shutdown after timeout seconds
|
||||
*/
|
||||
- if (timeout > 0 && !virStateActive() && !server->clients) {
|
||||
- timerid = virEventAddTimeoutImpl(timeout*1000,
|
||||
- qemudInactiveTimer,
|
||||
- server, NULL);
|
||||
- DEBUG("Scheduling shutdown timer %d", timerid);
|
||||
+ if (timeout > 0) {
|
||||
+ if (timerActive) {
|
||||
+ if (server->clients) {
|
||||
+ DEBUG("Deactivating shutdown timer %d", timerid);
|
||||
+ virEventUpdateTimeoutImpl(timerid, -1);
|
||||
+ timerActive = 0;
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (!virStateActive() &&
|
||||
+ !server->clients) {
|
||||
+ DEBUG("Activating shutdown timer %d", timerid);
|
||||
+ virEventUpdateTimeoutImpl(timerid, timeout * 1000);
|
||||
+ timerActive = 1;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
virMutexUnlock(&server->lock);
|
||||
@@ -2129,15 +2152,6 @@ static int qemudRunLoop(struct qemud_ser
|
||||
}
|
||||
}
|
||||
|
||||
- /* Unregister any timeout that's active, since we
|
||||
- * just had an event processed
|
||||
- */
|
||||
- if (timerid != -1) {
|
||||
- DEBUG("Removing shutdown timer %d", timerid);
|
||||
- virEventRemoveTimeoutImpl(timerid);
|
||||
- timerid = -1;
|
||||
- }
|
||||
-
|
||||
if (server->shutdown) {
|
||||
ret = 0;
|
||||
break;
|
||||
11
libvirt-0.6.1-storage-delete-fail.patch
Normal file
11
libvirt-0.6.1-storage-delete-fail.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
diff -rup libvirt-0.6.1.orig/src/storage_driver.c libvirt-0.6.1.new/src/storage_driver.c
|
||||
--- libvirt-0.6.1.orig/src/storage_driver.c 2009-02-16 03:43:41.000000000 -0500
|
||||
+++ libvirt-0.6.1.new/src/storage_driver.c 2009-03-06 08:02:51.000000000 -0500
|
||||
@@ -1296,7 +1296,6 @@ storageVolumeDelete(virStorageVolPtr obj
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
- virStorageVolDefFree(vol);
|
||||
if (pool)
|
||||
virStoragePoolObjUnlock(pool);
|
||||
return ret;
|
||||
277
libvirt-0.6.1-vnc-sasl-auth.patch
Normal file
277
libvirt-0.6.1-vnc-sasl-auth.patch
Normal file
@@ -0,0 +1,277 @@
|
||||
diff -r 961d4b1ca1d3 qemud/libvirtd_qemu.aug
|
||||
--- a/qemud/libvirtd_qemu.aug Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/qemud/libvirtd_qemu.aug Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -27,6 +27,8 @@ module Libvirtd_qemu =
|
||||
| str_entry "vnc_tls_x509_cert_dir"
|
||||
| bool_entry "vnc_tls_x509_verify"
|
||||
| str_entry "vnc_password"
|
||||
+ | bool_entry "vnc_sasl"
|
||||
+ | str_entry "vnc_sasl_dir"
|
||||
|
||||
(* Each enty in the config is one of the following three ... *)
|
||||
let entry = vnc_entry
|
||||
diff -r 961d4b1ca1d3 qemud/test_libvirtd_qemu.aug
|
||||
--- a/qemud/test_libvirtd_qemu.aug Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/qemud/test_libvirtd_qemu.aug Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -60,6 +60,25 @@ vnc_tls_x509_verify = 1
|
||||
# example here before you set this
|
||||
#
|
||||
vnc_password = \"XYZ12345\"
|
||||
+
|
||||
+
|
||||
+# Enable use of SASL encryption on the VNC server. This requires
|
||||
+# a VNC client which supports the SASL protocol extension.
|
||||
+# Examples include vinagre, virt-viewer and virt-manager
|
||||
+# itself. UltraVNC, RealVNC, TightVNC do not support this
|
||||
+#
|
||||
+# It is necessary to configure /etc/sasl2/qemu.conf to choose
|
||||
+# the desired SASL plugin (eg, GSSPI for Kerberos)
|
||||
+#
|
||||
+vnc_sasl = 1
|
||||
+
|
||||
+
|
||||
+# The default SASL configuration file is located in /etc/sasl2/
|
||||
+# When running libvirtd unprivileged, it may be desirable to
|
||||
+# override the configs in this location. Set this parameter to
|
||||
+# point to the directory, and create a qemu.conf in that location
|
||||
+#
|
||||
+vnc_sasl_dir = \"/some/directory/sasl2\"
|
||||
"
|
||||
|
||||
test Libvirtd_qemu.lns get conf =
|
||||
@@ -123,3 +142,22 @@ vnc_password = \"XYZ12345\"
|
||||
{ "#comment" = "example here before you set this" }
|
||||
{ "#comment" = "" }
|
||||
{ "vnc_password" = "XYZ12345" }
|
||||
+{ "#empty" }
|
||||
+{ "#empty" }
|
||||
+{ "#comment" = "Enable use of SASL encryption on the VNC server. This requires" }
|
||||
+{ "#comment" = "a VNC client which supports the SASL protocol extension." }
|
||||
+{ "#comment" = "Examples include vinagre, virt-viewer and virt-manager" }
|
||||
+{ "#comment" = "itself. UltraVNC, RealVNC, TightVNC do not support this" }
|
||||
+{ "#comment" = "" }
|
||||
+{ "#comment" = "It is necessary to configure /etc/sasl2/qemu.conf to choose" }
|
||||
+{ "#comment" = "the desired SASL plugin (eg, GSSPI for Kerberos)" }
|
||||
+{ "#comment" = "" }
|
||||
+{ "vnc_sasl" = "1" }
|
||||
+{ "#empty" }
|
||||
+{ "#empty" }
|
||||
+{ "#comment" = "The default SASL configuration file is located in /etc/sasl2/" }
|
||||
+{ "#comment" = "When running libvirtd unprivileged, it may be desirable to" }
|
||||
+{ "#comment" = "override the configs in this location. Set this parameter to" }
|
||||
+{ "#comment" = "point to the directory, and create a qemu.conf in that location" }
|
||||
+{ "#comment" = "" }
|
||||
+{ "vnc_sasl_dir" = "/some/directory/sasl2" }
|
||||
diff -r 961d4b1ca1d3 src/qemu.conf
|
||||
--- a/src/qemu.conf Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/src/qemu.conf Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -60,6 +60,27 @@
|
||||
# vnc_password = "XYZ12345"
|
||||
|
||||
|
||||
+# Enable use of SASL encryption on the VNC server. This requires
|
||||
+# a VNC client which supports the SASL protocol extension.
|
||||
+# Examples include vinagre, virt-viewer and virt-manager
|
||||
+# itself. UltraVNC, RealVNC, TightVNC do not support this
|
||||
+#
|
||||
+# It is necessary to configure /etc/sasl2/qemu.conf to choose
|
||||
+# the desired SASL plugin (eg, GSSPI for Kerberos)
|
||||
+#
|
||||
+# vnc_sasl = 1
|
||||
+
|
||||
+
|
||||
+# The default SASL configuration file is located in /etc/sasl2/
|
||||
+# When running libvirtd unprivileged, it may be desirable to
|
||||
+# override the configs in this location. Set this parameter to
|
||||
+# point to the directory, and create a qemu.conf in that location
|
||||
+#
|
||||
+# vnc_sasl_dir = "/some/directory/sasl2"
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
# The default security driver is SELinux. If SELinux is disabled
|
||||
# on the host, then the security driver will automatically disable
|
||||
# itself. If you wish to disable QEMU SELinux security driver while
|
||||
diff -r 961d4b1ca1d3 src/qemu_conf.c
|
||||
--- a/src/qemu_conf.c Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/src/qemu_conf.c Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -161,6 +161,21 @@ int qemudLoadDriverConfig(struct qemud_d
|
||||
}
|
||||
}
|
||||
|
||||
+ p = virConfGetValue (conf, "vnc_sasl");
|
||||
+ CHECK_TYPE ("vnc_sasl", VIR_CONF_LONG);
|
||||
+ if (p) driver->vncSASL = p->l;
|
||||
+
|
||||
+ p = virConfGetValue (conf, "vnc_sasl_dir");
|
||||
+ CHECK_TYPE ("vnc_sasl_dir", VIR_CONF_STRING);
|
||||
+ if (p && p->str) {
|
||||
+ VIR_FREE(driver->vncSASLdir);
|
||||
+ if (!(driver->vncSASLdir = strdup(p->str))) {
|
||||
+ virReportOOMError(NULL);
|
||||
+ virConfFree(conf);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
virConfFree (conf);
|
||||
return 0;
|
||||
}
|
||||
@@ -838,15 +853,20 @@ int qemudBuildCommandLine(virConnectPtr
|
||||
goto no_memory; \
|
||||
} while (0)
|
||||
|
||||
+#define ADD_ENV_PAIR(envname, val) \
|
||||
+ do { \
|
||||
+ char *envval; \
|
||||
+ ADD_ENV_SPACE; \
|
||||
+ if (virAsprintf(&envval, "%s=%s", envname, val) < 0) \
|
||||
+ goto no_memory; \
|
||||
+ qenv[qenvc++] = envval; \
|
||||
+ } while (0)
|
||||
+
|
||||
#define ADD_ENV_COPY(envname) \
|
||||
do { \
|
||||
char *val = getenv(envname); \
|
||||
- char *envval; \
|
||||
- ADD_ENV_SPACE; \
|
||||
if (val != NULL) { \
|
||||
- if (virAsprintf(&envval, "%s=%s", envname, val) < 0) \
|
||||
- goto no_memory; \
|
||||
- qenv[qenvc++] = envval; \
|
||||
+ ADD_ENV_PAIR(envname, val); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
@@ -1295,6 +1315,15 @@ int qemudBuildCommandLine(virConnectPtr
|
||||
driver->vncTLSx509certdir);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ if (driver->vncSASL) {
|
||||
+ virBufferAddLit(&opt, ",sasl");
|
||||
+
|
||||
+ if (driver->vncSASLdir)
|
||||
+ ADD_ENV_PAIR("SASL_CONF_DIR", driver->vncSASLdir);
|
||||
+
|
||||
+ /* TODO: Support ACLs later */
|
||||
+ }
|
||||
} else {
|
||||
virBufferVSprintf(&opt, "%d",
|
||||
vm->def->graphics->data.vnc.port - 5900);
|
||||
diff -r 961d4b1ca1d3 src/qemu_conf.h
|
||||
--- a/src/qemu_conf.h Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/src/qemu_conf.h Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -73,9 +73,11 @@ struct qemud_driver {
|
||||
char *stateDir;
|
||||
unsigned int vncTLS : 1;
|
||||
unsigned int vncTLSx509verify : 1;
|
||||
+ unsigned int vncSASL : 1;
|
||||
char *vncTLSx509certdir;
|
||||
char *vncListen;
|
||||
char *vncPassword;
|
||||
+ char *vncSASLdir;
|
||||
|
||||
virCapsPtr caps;
|
||||
|
||||
diff -r 961d4b1ca1d3 src/qemu_driver.c
|
||||
--- a/src/qemu_driver.c Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/src/qemu_driver.c Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -620,6 +620,7 @@ qemudShutdown(void) {
|
||||
VIR_FREE(qemu_driver->vncTLSx509certdir);
|
||||
VIR_FREE(qemu_driver->vncListen);
|
||||
VIR_FREE(qemu_driver->vncPassword);
|
||||
+ VIR_FREE(qemu_driver->vncSASLdir);
|
||||
|
||||
/* Free domain callback list */
|
||||
virDomainEventCallbackListFree(qemu_driver->domainEventCallbacks);
|
||||
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -0,0 +1,1 @@
|
||||
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test SASL_CONF_DIR=/root/.sasl2 /usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor pty -pidfile /nowhere/QEMUGuest1.pid -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc 127.0.0.1:3,sasl
|
||||
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.xml
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.xml Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -0,0 +1,24 @@
|
||||
+<domain type='qemu'>
|
||||
+ <name>QEMUGuest1</name>
|
||||
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
+ <memory>219200</memory>
|
||||
+ <currentMemory>219200</currentMemory>
|
||||
+ <vcpu>1</vcpu>
|
||||
+ <os>
|
||||
+ <type arch='i686' machine='pc'>hvm</type>
|
||||
+ <boot dev='hd'/>
|
||||
+ </os>
|
||||
+ <clock offset='utc'/>
|
||||
+ <on_poweroff>destroy</on_poweroff>
|
||||
+ <on_reboot>restart</on_reboot>
|
||||
+ <on_crash>destroy</on_crash>
|
||||
+ <devices>
|
||||
+ <emulator>/usr/bin/qemu</emulator>
|
||||
+ <disk type='block' device='disk'>
|
||||
+ <source dev='/dev/HostVG/QEMUGuest1'/>
|
||||
+ <target dev='hda' bus='ide'/>
|
||||
+ </disk>
|
||||
+ <input type='mouse' bus='ps2'/>
|
||||
+ <graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
|
||||
+ </devices>
|
||||
+</domain>
|
||||
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -0,0 +1,1 @@
|
||||
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test SASL_CONF_DIR=/root/.sasl2 /usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor pty -pidfile /nowhere/QEMUGuest1.pid -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc 127.0.0.1:3,tls,x509verify=/etc/pki/tls/qemu,sasl
|
||||
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.xml
|
||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.xml Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -0,0 +1,24 @@
|
||||
+<domain type='qemu'>
|
||||
+ <name>QEMUGuest1</name>
|
||||
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
+ <memory>219200</memory>
|
||||
+ <currentMemory>219200</currentMemory>
|
||||
+ <vcpu>1</vcpu>
|
||||
+ <os>
|
||||
+ <type arch='i686' machine='pc'>hvm</type>
|
||||
+ <boot dev='hd'/>
|
||||
+ </os>
|
||||
+ <clock offset='utc'/>
|
||||
+ <on_poweroff>destroy</on_poweroff>
|
||||
+ <on_reboot>restart</on_reboot>
|
||||
+ <on_crash>destroy</on_crash>
|
||||
+ <devices>
|
||||
+ <emulator>/usr/bin/qemu</emulator>
|
||||
+ <disk type='block' device='disk'>
|
||||
+ <source dev='/dev/HostVG/QEMUGuest1'/>
|
||||
+ <target dev='hda' bus='ide'/>
|
||||
+ </disk>
|
||||
+ <input type='mouse' bus='ps2'/>
|
||||
+ <graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
|
||||
+ </devices>
|
||||
+</domain>
|
||||
diff -r 961d4b1ca1d3 tests/qemuxml2argvtest.c
|
||||
--- a/tests/qemuxml2argvtest.c Wed Mar 04 13:17:44 2009 +0000
|
||||
+++ b/tests/qemuxml2argvtest.c Thu Mar 05 14:22:50 2009 +0000
|
||||
@@ -213,6 +213,19 @@ mymain(int argc, char **argv)
|
||||
QEMUD_CMD_FLAG_DRIVE_CACHE_V2);
|
||||
DO_TEST("disk-usb", 0);
|
||||
DO_TEST("graphics-vnc", 0);
|
||||
+
|
||||
+ driver.vncSASL = 1;
|
||||
+ driver.vncSASLdir = strdup("/root/.sasl2");
|
||||
+ DO_TEST("graphics-vnc-sasl", 0);
|
||||
+ driver.vncTLS = 1;
|
||||
+ driver.vncTLSx509verify = 1;
|
||||
+ driver.vncTLSx509certdir = strdup("/etc/pki/tls/qemu");
|
||||
+ DO_TEST("graphics-vnc-tls", 0);
|
||||
+ driver.vncSASL = driver.vncTLSx509verify = driver.vncTLS = 0;
|
||||
+ free(driver.vncSASLdir);
|
||||
+ free(driver.vncTLSx509certdir);
|
||||
+ driver.vncSASLdir = driver.vncTLSx509certdir = NULL;
|
||||
+
|
||||
DO_TEST("graphics-sdl", 0);
|
||||
DO_TEST("graphics-sdl-fullscreen", 0);
|
||||
DO_TEST("input-usbmouse", 0);
|
||||
80
libvirt.spec
80
libvirt.spec
@@ -14,7 +14,7 @@
|
||||
%define with_network 0%{!?_without_network:1}
|
||||
|
||||
# Xen is available only on i386 x86_64 ia64
|
||||
%ifnarch i386 i686 x86_64 ia64
|
||||
%ifnarch i386 i586 i686 x86_64 ia64
|
||||
%define with_xen 0
|
||||
%endif
|
||||
|
||||
@@ -46,17 +46,18 @@
|
||||
|
||||
Summary: Library providing a simple API virtualization
|
||||
Name: libvirt
|
||||
Version: 0.6.0
|
||||
Release: 2%{?dist}%{?extra_release}
|
||||
Version: 0.6.1
|
||||
Release: 3%{?dist}%{?extra_release}
|
||||
License: LGPLv2+
|
||||
Group: Development/Libraries
|
||||
Source: libvirt-%{version}.tar.gz
|
||||
Patch1: %{name}-%{version}-timeout.patch
|
||||
Patch2: %{name}-%{version}-rpccall.patch
|
||||
Patch1: libvirt-%{version}-storage-delete-fail.patch
|
||||
|
||||
# Not upstream yet - pending QEMU merge
|
||||
Patch100: libvirt-%{version}-vnc-sasl-auth.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
URL: http://libvirt.org/
|
||||
BuildRequires: python python-devel
|
||||
Requires: libxml2
|
||||
Requires: readline
|
||||
Requires: ncurses
|
||||
Requires: dnsmasq
|
||||
@@ -96,6 +97,8 @@ Requires: lvm2
|
||||
Requires: iscsi-initiator-utils
|
||||
# For disk driver
|
||||
Requires: parted
|
||||
# For svirt support
|
||||
Requires: libselinux
|
||||
%if %{with_xen}
|
||||
BuildRequires: xen-devel
|
||||
%endif
|
||||
@@ -140,7 +143,8 @@ BuildRequires: iscsi-initiator-utils
|
||||
BuildRequires: parted-devel
|
||||
# For QEMU/LXC numa info
|
||||
BuildRequires: numactl-devel
|
||||
Obsoletes: libvir
|
||||
Obsoletes: libvir <= 0.2
|
||||
Provides: libvir = %{version}-%{release}
|
||||
|
||||
# Fedora build root suckage
|
||||
BuildRequires: gawk
|
||||
@@ -152,12 +156,13 @@ of recent versions of Linux (and other OSes).
|
||||
%package devel
|
||||
Summary: Libraries, includes, etc. to compile with the libvirt library
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt = %{version}
|
||||
Requires: libvirt = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
%if %{with_xen}
|
||||
Requires: xen-devel
|
||||
%endif
|
||||
Obsoletes: libvir-devel
|
||||
Obsoletes: libvir-devel <= 0.2
|
||||
Provides: libvir-devel = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Includes and documentations for the C library providing an API to use
|
||||
@@ -167,8 +172,9 @@ the virtualization capabilities of recent versions of Linux (and other OSes).
|
||||
%package python
|
||||
Summary: Python bindings for the libvirt library
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt = %{version}
|
||||
Obsoletes: libvir-python
|
||||
Requires: libvirt = %{version}-%{release}
|
||||
Obsoletes: libvir-python <= 0.2
|
||||
Provides: libvir-python = %{version}-%{release}
|
||||
|
||||
%description python
|
||||
The libvirt-python package contains a module that permits applications
|
||||
@@ -180,7 +186,11 @@ of recent versions of Linux (and other OSes).
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%patch100 -p1
|
||||
|
||||
mv NEWS NEWS.old
|
||||
iconv -f ISO-8859-1 -t UTF-8 < NEWS.old > NEWS
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
@@ -249,11 +259,14 @@ of recent versions of Linux (and other OSes).
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -fr %{buildroot}
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%makeinstall
|
||||
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
|
||||
(cd docs/examples/python ; rm -f Makefile Makefile.in)
|
||||
(cd docs/examples/python ; rm -rf .deps Makefile Makefile.in)
|
||||
(cd examples/hellolibvirt ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
|
||||
(cd examples/domain-events/events-c ; make clean ;rm -rf .deps .libs Makefile Makefile.in)
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
||||
@@ -291,6 +304,10 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
||||
%endif
|
||||
|
||||
%if %{with_libvirtd}
|
||||
chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -fr %{buildroot}
|
||||
|
||||
@@ -324,8 +341,7 @@ if [ $1 = 0 ]; then
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-, root, root)
|
||||
@@ -448,6 +464,7 @@ fi
|
||||
%doc docs/*.html docs/html docs/*.gif
|
||||
%doc docs/examples
|
||||
%doc docs/libvirt-api.xml
|
||||
%doc examples
|
||||
|
||||
%if %{with_python}
|
||||
%files python
|
||||
@@ -463,6 +480,33 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Mar 9 2009 Cole Robinson <crobinso@redhat.com> - 0.6.1-3.fc11
|
||||
- Add Requires: libselinux
|
||||
|
||||
* Fri Mar 6 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-2.fc11
|
||||
- Fix crash after storage vol deletion fails
|
||||
- Add patch to enable VNC SASL authentication
|
||||
|
||||
* Wed Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1.fc11
|
||||
- upstream release 0.6.1
|
||||
- support for node device detach reattach and reset
|
||||
- sVirt mandatory access control support
|
||||
- many bug fixes and small improvements
|
||||
|
||||
* Mon Mar 2 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-6.fc11
|
||||
- make sure Xen is handled in i586 new default 32bits x86 packages
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-5.fc11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Wed Feb 18 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-4.fc11
|
||||
- Fix QEMU startup timeout/race (rhbz #484649)
|
||||
- Setup DBus threading. Don't allow dbus to call _exit / change SIGPIPE (rhbz #484553)
|
||||
- Fix timeout when autostarting session daemon
|
||||
|
||||
* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.6.0-3.fc11
|
||||
- Multiple fixes to remove rpmlint warnings/errors (rhbz #226055)
|
||||
|
||||
* Fri Feb 6 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-2.fc11
|
||||
- Fix libvirtd --timeout usage
|
||||
- Fix RPC call problems and QEMU startup handling (rhbz #484414)
|
||||
@@ -531,7 +575,7 @@ fi
|
||||
|
||||
* Wed Jun 4 2008 Mark McLoughlin <markmc@redhat.com> - 0.4.2-6.fc10
|
||||
- Disable lokkit support again (#449996, #447633)
|
||||
- Ensure %{fedora} is evaluated correctly
|
||||
- Ensure %-fedora is evaluated correctly
|
||||
|
||||
* Thu May 15 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.2-5.fc10
|
||||
- Rebuild with policy enabled (rhbz #446616)
|
||||
@@ -716,7 +760,7 @@ fi
|
||||
- it's pkgconfig not pgkconfig !
|
||||
|
||||
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
||||
- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
|
||||
- fixing spec file, added %-dist, -devel requires pkgconfig and xen-devel
|
||||
- Resolves: rhbz#202320
|
||||
|
||||
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
||||
|
||||
Reference in New Issue
Block a user