diff options
author | Cole Robinson <crobinso@redhat.com> | 2013-09-01 16:08:14 -0400 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2013-12-05 15:52:30 -0500 |
commit | cdde6ba5c6ad008e8574fa3dd1cfb0b98eed90c9 (patch) | |
tree | 168568bb3078ef21753845690526eadf6e8192f5 | |
parent | 5f505aa8ab5333620907d34a2fef7f9b53df1e11 (diff) | |
download | virt-manager-cdde6ba5c6ad008e8574fa3dd1cfb0b98eed90c9.tar.gz |
console: Fix spice with TLS (bz #904295)
We now use the same CA trust store as virt-viewer's default, which is:
~/.spicec/spice_truststore.pem
(cherry picked from commit cdc82e62a236d0e737851c693d6673f65ca278c1)
Conflicts:
virtManager/console.py
-rw-r--r-- | virtManager/console.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/virtManager/console.py b/virtManager/console.py index 001318e3..90db31cf 100644 --- a/virtManager/console.py +++ b/virtManager/console.py @@ -63,6 +63,7 @@ class ConnectionInfo(object): self.gport = gdev.port and str(gdev.port) or None self.gsocket = gdev.socket self.gaddr = gdev.listen or "127.0.0.1" + self.gtlsport = gdev.tlsPort or None self.transport, self.connuser = conn.get_transport() self._connhost = conn.get_uri_hostname() or "127.0.0.1" @@ -80,19 +81,22 @@ class ConnectionInfo(object): def get_conn_host(self): host = self._connhost port = self._connport + tlsport = None if not self.need_tunnel(): port = self.gport + tlsport = self.gtlsport if self.gaddr != "0.0.0.0": host = self.gaddr - return host, port + return host, port, tlsport def logstring(self): return ("proto=%s trans=%s connhost=%s connuser=%s " - "connport=%s gaddr=%s gport=%s gsocket=%s" % + "connport=%s gaddr=%s gport=%s gtlsport=%s gsocket=%s" % (self.gtype, self.transport, self._connhost, self.connuser, - self._connport, self.gaddr, self.gport, self.gsocket)) + self._connport, self.gaddr, self.gport, self.gtlsport, + self.gsocket)) def console_active(self): if self.gsocket: return True @@ -111,7 +115,7 @@ class Tunnel(object): if self.outfd is not None: return -1 - host, port = ginfo.get_conn_host() + host, port, ignore = ginfo.get_conn_host() # Build SSH cmd argv = ["ssh", "ssh"] @@ -406,7 +410,7 @@ class VNCViewer(Viewer): return self.display.is_open() def open_host(self, ginfo, password=None): - host, port = ginfo.get_conn_host() + host, port, ignore = ginfo.get_conn_host() if not ginfo.gsocket: logging.debug("VNC connection to %s:%s", host, port) @@ -553,14 +557,14 @@ class SpiceViewer(Viewer): return self.display_channel.get_properties("width", "height") def open_host(self, ginfo, password=None): - host, port = ginfo.get_conn_host() - - uri = "spice://" - uri += str(host) + "?port=" + str(port) - logging.debug("spice uri: %s", uri) + host, port, tlsport = ginfo.get_conn_host() self.spice_session = SpiceClientGLib.Session() - self.spice_session.set_property("uri", uri) + SpiceClientGLib.set_session_option(self.spice_session) + self.spice_session.set_property("host", str(host)) + self.spice_session.set_property("port", str(port)) + if tlsport: + self.spice_session.set_property("tls-port", str(tlsport)) if password: self.spice_session.set_property("password", password) GObject.GObject.connect(self.spice_session, "channel-new", |