spice: add config options for the listening address
Make listening address configurable. Also add options to force using IPv4 or IPv6.
This commit is contained in:
parent
17b6dea08b
commit
333b0eebcc
|
@ -364,6 +364,15 @@ QemuOptsList qemu_spice_opts = {
|
||||||
},{
|
},{
|
||||||
.name = "tls-port",
|
.name = "tls-port",
|
||||||
.type = QEMU_OPT_NUMBER,
|
.type = QEMU_OPT_NUMBER,
|
||||||
|
},{
|
||||||
|
.name = "addr",
|
||||||
|
.type = QEMU_OPT_STRING,
|
||||||
|
},{
|
||||||
|
.name = "ipv4",
|
||||||
|
.type = QEMU_OPT_BOOL,
|
||||||
|
},{
|
||||||
|
.name = "ipv6",
|
||||||
|
.type = QEMU_OPT_BOOL,
|
||||||
},{
|
},{
|
||||||
.name = "password",
|
.name = "password",
|
||||||
.type = QEMU_OPT_STRING,
|
.type = QEMU_OPT_STRING,
|
||||||
|
|
|
@ -682,6 +682,13 @@ Enable the spice remote desktop protocol. Valid options are
|
||||||
@item port=<nr>
|
@item port=<nr>
|
||||||
Set the TCP port spice is listening on for plaintext channels.
|
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>
|
@item password=<secret>
|
||||||
Set the password you need to authenticate.
|
Set the password you need to authenticate.
|
||||||
|
|
||||||
|
|
|
@ -221,14 +221,14 @@ static int add_channel(const char *name, const char *value, void *opaque)
|
||||||
void qemu_spice_init(void)
|
void qemu_spice_init(void)
|
||||||
{
|
{
|
||||||
QemuOpts *opts = QTAILQ_FIRST(&qemu_spice_opts.head);
|
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_key_password = NULL,
|
||||||
*x509_dh_file = NULL,
|
*x509_dh_file = NULL,
|
||||||
*tls_ciphers = NULL;
|
*tls_ciphers = NULL;
|
||||||
char *x509_key_file = NULL,
|
char *x509_key_file = NULL,
|
||||||
*x509_cert_file = NULL,
|
*x509_cert_file = NULL,
|
||||||
*x509_cacert_file = NULL;
|
*x509_cacert_file = NULL;
|
||||||
int port, tls_port, len;
|
int port, tls_port, len, addr_flags;
|
||||||
spice_image_compression_t compression;
|
spice_image_compression_t compression;
|
||||||
spice_wan_compression_t wan_compr;
|
spice_wan_compression_t wan_compr;
|
||||||
|
|
||||||
|
@ -278,7 +278,16 @@ void qemu_spice_init(void)
|
||||||
tls_ciphers = qemu_opt_get(opts, "tls-ciphers");
|
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 = spice_server_new();
|
||||||
|
spice_server_set_addr(spice_server, addr ? addr : "", addr_flags);
|
||||||
if (port) {
|
if (port) {
|
||||||
spice_server_set_port(spice_server, port);
|
spice_server_set_port(spice_server, port);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue