diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-08-27 14:29:16 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-08-31 16:13:35 +0200 |
commit | 255a8b0ddad413a09bab4e77cf9cf9bdbd9279b7 (patch) | |
tree | 553fc3c67340eca3db1dcadbbf9e624aef161be7 | |
parent | 766ceade7f421e4d9c2b5cd9b01cc9cd3ab0bd7f (diff) |
spice: add config options for the listening address
Make listening address configurable. Also add options to
force using IPv4 or IPv6.
-rw-r--r-- | qemu-config.c | 9 | ||||
-rw-r--r-- | qemu-options.hx | 7 | ||||
-rw-r--r-- | ui/spice-core.c | 13 |
3 files changed, 27 insertions, 2 deletions
diff --git a/qemu-config.c b/qemu-config.c index 7b447d77f..f709bd5cf 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -347,6 +347,15 @@ QemuOptsList qemu_spice_opts = { .name = "tls-port", .type = QEMU_OPT_NUMBER, },{ + .name = "addr", + .type = QEMU_OPT_STRING, + },{ + .name = "ipv4", + .type = QEMU_OPT_BOOL, + },{ + .name = "ipv6", + .type = QEMU_OPT_BOOL, + },{ .name = "password", .type = QEMU_OPT_STRING, },{ diff --git a/qemu-options.hx b/qemu-options.hx index fcb3ccd03..526d10bd8 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -682,6 +682,13 @@ Enable the spice remote desktop protocol. Valid options are @item port=<nr> Set the TCP port spice is listening on for plaintext channels. +@item addr=<addr> +Set the IP address spice is listening on. Default is any address. + +@item ipv4 +@item ipv6 +Force using the specified IP version. + @item password=<secret> Set the password you need to authenticate. diff --git a/ui/spice-core.c b/ui/spice-core.c index 8f7384802..b7f2cb38c 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -218,14 +218,14 @@ static int add_channel(const char *name, const char *value, void *opaque) void qemu_spice_init(void) { QemuOpts *opts = QTAILQ_FIRST(&qemu_spice_opts.head); - const char *password, *str, *x509_dir, + const char *password, *str, *x509_dir, *addr, *x509_key_password = NULL, *x509_dh_file = NULL, *tls_ciphers = NULL; char *x509_key_file = NULL, *x509_cert_file = NULL, *x509_cacert_file = NULL; - int port, tls_port, len; + int port, tls_port, len, addr_flags; spice_image_compression_t compression; spice_wan_compression_t wan_compr; @@ -275,7 +275,16 @@ void qemu_spice_init(void) tls_ciphers = qemu_opt_get(opts, "tls-ciphers"); } + addr = qemu_opt_get(opts, "addr"); + addr_flags = 0; + if (qemu_opt_get_bool(opts, "ipv4", 0)) { + addr_flags |= SPICE_ADDR_FLAG_IPV4_ONLY; + } else if (qemu_opt_get_bool(opts, "ipv6", 0)) { + addr_flags |= SPICE_ADDR_FLAG_IPV6_ONLY; + } + spice_server = spice_server_new(); + spice_server_set_addr(spice_server, addr ? addr : "", addr_flags); if (port) { spice_server_set_port(spice_server, port); } |