From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=48008 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P4B1s-0000o6-Un for qemu-devel@nongnu.org; Fri, 08 Oct 2010 07:22:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P4B1r-0002To-Nt for qemu-devel@nongnu.org; Fri, 08 Oct 2010 07:22:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60531) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P4B1r-0002Tg-HV for qemu-devel@nongnu.org; Fri, 08 Oct 2010 07:22:23 -0400 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o98BMMN2021056 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 8 Oct 2010 07:22:23 -0400 From: Gerd Hoffmann Date: Fri, 8 Oct 2010 13:22:05 +0200 Message-Id: <1286536926-25378-5-git-send-email-kraxel@redhat.com> In-Reply-To: <1286536926-25378-1-git-send-email-kraxel@redhat.com> References: <1286536926-25378-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH v2 4/5] spice: add config options for the listening address List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann Make listening address configurable. Also add options to force using IPv4 or IPv6. Signed-off-by: Gerd Hoffmann --- qemu-config.c | 9 +++++++++ qemu-options.hx | 7 +++++++ ui/spice-core.c | 13 +++++++++++-- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/qemu-config.c b/qemu-config.c index f52e50c..5a62ae1 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -365,6 +365,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 5a0d26b..0410b90 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -682,6 +682,13 @@ Enable the spice remote desktop protocol. Valid options are @item port= Set the TCP port spice is listening on for plaintext channels. +@item 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= Set the password you need to authenticate. diff --git a/ui/spice-core.c b/ui/spice-core.c index 7664ef7..6f613c6 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -221,14 +221,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; @@ -278,7 +278,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); } -- 1.7.1