aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Dunlap <george.dunlap@eu.citrix.com>2012-12-04 15:50:20 +0000
committerGeorge Dunlap <george.dunlap@eu.citrix.com>2012-12-04 15:50:20 +0000
commit9a8913176113eacff0f236c247d6e1bb244afdd9 (patch)
tree65bd477bd1a6ea7f21e79ef3d47ae01c632ff313
parent37b52a8d58023c060a08b956d6c87215fd670222 (diff)
downloadxen-9a8913176113eacff0f236c247d6e1bb244afdd9.tar.gz
xen-9a8913176113eacff0f236c247d6e1bb244afdd9.tar.bz2
xen-9a8913176113eacff0f236c247d6e1bb244afdd9.zip
xl: Check for duplicate vncdisplay options, and return an error
If the user has set a vnc display number both in vnclisten (with "xxxx:yy"), and with vncdisplay, throw an error. Update man pages to match. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--docs/man/xl.cfg.pod.56
-rw-r--r--tools/libxl/xl_cmdimpl.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index fe4fac95dd..dc3f49417c 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -350,11 +350,17 @@ other VNC-related settings. The default is to enable this.
Specifies the IP address, and optionally VNC display number, to use.
+NB that if you specify the display number here, you should not use
+vncdisplay.
+
=item C<vncdisplay=DISPLAYNUM>
Specifies the VNC display number to use. The actual TCP port number
will be DISPLAYNUM+5900.
+NB that you should not use this option if you set the displaynum in the
+vnclisten string.
+
=item C<vncunused=BOOLEAN>
Requests that the VNC display setup search for a free TCP port to use.
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5d444a88d6..4b75fc3d66 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1257,6 +1257,7 @@ skip_nic:
vfb->sdl.xauthority = strdup(p2 + 1);
}
} while ((p = strtok(NULL, ",")) != NULL);
+
skip_vfb:
free(buf2);
d_config->num_vfbs++;
@@ -1490,6 +1491,16 @@ skip_vfb:
xlu_cfg_replace_string (config, "soundhw", &b_info->u.hvm.soundhw, 0);
xlu_cfg_get_defbool(config, "xen_platform_pci",
&b_info->u.hvm.xen_platform_pci, 0);
+
+ if(b_info->u.hvm.vnc.listen
+ && b_info->u.hvm.vnc.display
+ && strchr(b_info->u.hvm.vnc.listen, ':') != NULL) {
+ fprintf(stderr,
+ "ERROR: Display specified both in vnclisten"
+ " and vncdisplay!\n");
+ exit (1);
+
+ }
}
xlu_cfg_destroy(config);