diff -urp libvirt-1.3.3.orig/src/qemu/qemu_command.c libvirt-1.3.3/src/qemu/qemu_command.c --- libvirt-1.3.3.orig/src/qemu/qemu_command.c 2016-04-14 10:17:35.131170000 +0000 +++ libvirt-1.3.3/src/qemu/qemu_command.c 2016-04-14 10:30:12.861170000 +0000 @@ -7336,6 +7336,10 @@ qemuBuildGraphicsVNCCommandLine(virQEMUD virCommandAddEnvPair(cmd, "SASL_CONF_PATH", cfg->vncSASLdir); /* TODO: Support ACLs later */ + + if (cfg->vncACL) + virBufferAddLit(&opt, ",acl"); + } virCommandAddArg(cmd, "-vnc"); diff -urp libvirt-1.3.3.orig/src/qemu/qemu.conf libvirt-1.3.3/src/qemu/qemu.conf --- libvirt-1.3.3.orig/src/qemu/qemu.conf 2016-04-14 10:17:35.131170000 +0000 +++ libvirt-1.3.3/src/qemu/qemu.conf 2016-04-14 10:18:01.034170000 +0000 @@ -80,6 +80,15 @@ #vnc_sasl = 1 +# Enable the VNC access control lists. When switched on this will +# initially block all vnc users from accessing the vnc server. To +# add and remove ids from the ACLs you will need to send the appropriate +# commands to the qemu monitor as required by your particular version of +# QEMU. See the QEMU documentation for more details. +# +# vnc_acl = 1 + + # The default SASL configuration file is located in /etc/sasl/ # When running libvirtd unprivileged, it may be desirable to # override the configs in this location. Set this parameter to diff -urp libvirt-1.3.3.orig/src/qemu/qemu_conf.c libvirt-1.3.3/src/qemu/qemu_conf.c --- libvirt-1.3.3.orig/src/qemu/qemu_conf.c 2016-04-14 10:17:35.130170000 +0000 +++ libvirt-1.3.3/src/qemu/qemu_conf.c 2016-04-14 10:18:01.034170000 +0000 @@ -536,6 +536,7 @@ int virQEMUDriverConfigLoadFile(virQEMUD GET_VALUE_STR("vnc_sasl_dir", cfg->vncSASLdir); GET_VALUE_BOOL("vnc_allow_host_audio", cfg->vncAllowHostAudio); GET_VALUE_BOOL("nographics_allow_host_audio", cfg->nogfxAllowHostAudio); + GET_VALUE_LONG("vnc_acl", cfg->vncACL); p = virConfGetValue(conf, "security_driver"); if (p && p->type == VIR_CONF_LIST) { diff -urp libvirt-1.3.3.orig/src/qemu/qemu_conf.h libvirt-1.3.3/src/qemu/qemu_conf.h --- libvirt-1.3.3.orig/src/qemu/qemu_conf.h 2016-04-14 10:17:35.130170000 +0000 +++ libvirt-1.3.3/src/qemu/qemu_conf.h 2016-04-14 10:18:01.035170000 +0000 @@ -112,6 +112,7 @@ struct _virQEMUDriverConfig { bool vncTLS; bool vncTLSx509verify; bool vncSASL; + bool vncACL; char *vncTLSx509certdir; char *vncListen; char *vncPassword;