- The SPICE client cannot determine in advance whether a SPICE server requires a password for authentication. Thus, the SPICE client attempts to establish the connection and if it receives an authentication error, the client closes the connection, prompts the user for a password, and then reconnects to the SPICE server. Previously, the SPICE client was unable to perform the reconnection step when the connection to the server was using SSH tunneling. With this update, the SPICE client is allowed to request a new SSH tunnel connection to the SPICE server after obtaining the password from the user. Now, users are able to connect to password-protected SPICE servers when using an SSH tunnel.
- The virt-viewer utility has been modified to enable support for USB redirection introduced in the latest version of the spice-gtk packages. Users are now able to attach local USB devices to remote virtual machines using the
- Previously, the virt-viewer manual page did not describe the
-a, option. With this update, the virt-viewer manual page explains that libvirt can be used to directly attach virt-viewer to a local display instead of making a TCP/UNIX socket connection when using one of the aforementioned options.
- When running a guest while the user password is set, the virt-viewer application asks for authentication. However, due to incorrect signal handling, if the user canceled the dialog box, the following error message was returned:
Unable to authenticate with remote desktop server at localhost:5900: Unable to collect credentials.Retry connection again?The underlying source code has been modified to ensure correct signal handling. Now, if virt-viewer receives a signal about a session being canceled, virt-viewer is disconnected and exits without error messages, as expected.
- Previously, the URI parsing code did not expect URIs containing square brackets,
], around the host component. It was thus not possible to connect to a remote libvirt server whose URI address contained raw IPv6 addresses (for example
qemu+ssh://root@[2001::xxxx:1]/system). With this update, the URI parsing has been fixed to take account of the IPv6 address syntax, so it is now possible to connect to remote libvirt servers using raw IPv6 addresses.
- On 32-bit Intel architectures, an arithmetic error caused inaccurate calculation of the desired window size. The error manifested itself as a one-pixel black bar appended to the bottom of the window in full-screen mode, thus causing the guest display to be unnecessarily scaled. The scaling code has been changed to round to the nearest integer instead of truncating, which avoids a reliance on precision of floating point calculations. On 32-bit Intel architectures, windows are resized such that scaling is not required if the guest display is small enough to fit on the host desktop.
- Due to a race condition, the following message could be displayed at the command line when closing the virt-viewer application:
Segmentation fault (core dumped)The underlying source code has been modified to prevent the race condition from occurring, and virt-viewer now exits gracefully, without error messages.
- When reconnecting a guest with multiple monitors (for example after a restart), virt-viewer created new windows for the additional monitors, while the old windows still existed. This was because the
GtkWindowobject was not freed. This update modifies virt-viewer ensure that windows are closed when a display closes.
- With this update, thebutton label of the dialog box has been changed to .