Blame SOURCES/virt-manager-graphics-skip-authentication-only-for-VNC-with-liste.patch

184e0d
From 92c2af7fd7fa73cce11a6b0a51aaa3c01caf7a17 Mon Sep 17 00:00:00 2001
184e0d
From: Pavel Hrdina <phrdina@redhat.com>
184e0d
Date: Thu, 23 Mar 2017 15:26:19 +0100
184e0d
Subject: [virt-manager PATCH 1/6] graphics: skip authentication only for VNC
184e0d
 with listen type none
184e0d
184e0d
This is in fact a bug in QEMU so we have to workaround this issue
184e0d
to allow to connect to guest with VNC and listen type none.
184e0d
184e0d
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1434551
184e0d
184e0d
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
184e0d
(cherry picked from commit cb182f7e3a569bde926818a4c55bb8427fba2728)
184e0d
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
184e0d
---
184e0d
 virtManager/domain.py | 13 +++++++++++--
184e0d
 1 file changed, 11 insertions(+), 2 deletions(-)
184e0d
184e0d
diff --git a/virtManager/domain.py b/virtManager/domain.py
184e0d
index 3478cc58..fc5f54a6 100644
184e0d
--- a/virtManager/domain.py
184e0d
+++ b/virtManager/domain.py
184e0d
@@ -1190,8 +1190,17 @@ class vmmDomain(vmmLibvirtObject):
184e0d
         return self._backend.openConsole(devname, stream, flags)
184e0d
 
184e0d
     def open_graphics_fd(self):
184e0d
-        return self._backend.openGraphicsFD(0,
184e0d
-                libvirt.VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH)
184e0d
+        flags = 0
184e0d
+
184e0d
+        # Ugly workaround for VNC bug where the display cannot be opened
184e0d
+        # if the listen type is "none".  When this gets fixed in QEMU
184e0d
+        # we should skip auth only for broken QEMUs.
184e0d
+        graphics = self.get_graphics_devices()[0]
184e0d
+        if (graphics.type == "vnc" and
184e0d
+            graphics.get_first_listen_type() == "none"):
184e0d
+            flags = libvirt.VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH
184e0d
+
184e0d
+        return self._backend.openGraphicsFD(0, flags)
184e0d
 
184e0d
     def refresh_snapshots(self):
184e0d
         self._snapshot_list = None
184e0d
-- 
184e0d
2.12.2
184e0d