Apache Guacamole 0.9.12-incubating
Apache Guacamole is split into two subprojects: "guacamole-client", the HTML5 web application which serves the Guacamole client to users, and "guacamole-server", the remote desktop proxy which the web application communicates with. The source code for each of these may be downloaded below.
|guacamole-client-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
|guacamole-server-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
If you do not wish to build Apache Guacamole entirely from source, pre-built versions of the web application (.war) and all extensions are provided here in binary form for convenience. Please note that guacamole-server must still be built and installed from source.
|guacamole-0.9.12-incubating.war||[ MD5 ]||[ SHA ]||[ PGP ]|
|guacamole-auth-duo-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
|guacamole-auth-jdbc-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
|guacamole-auth-header-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
|guacamole-auth-ldap-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
|guacamole-auth-noauth-0.9.12-incubating.tar.gz||[ MD5 ]||[ SHA ]||[ PGP ]|
The 0.9.12-incubating release features nifty auto-updating connection thumbnails for tab icons, performance improvements, and fixes for issues with printing, file transfer, and terminal emulation.
New support for authenticating users based on arbitrary HTTP headers has also been added, allowing the authentication result of external systems sitting between the user and Guacamole to be trusted (as long as those headers can be truly guaranteed to come only from those trusted systems).
Thumbnails as tab icon
Guacamole normally updates the locally-stored thumbnail of previously-used connections for reference on the home screen. This update now occurs more regularly while the connection is in use, and the result is used for the tab icon (“favicon”), allowing multiple open connections and bookmarks of individual connections to be more easily distinguished from each other.
- GUACAMOLE-190 - Use thumbnail of connection for tab icon
Part of the continuing development of the experimental Guacamole driver for the X.Org X11 server, the performance surrounding certain rendering operations has been improved, in particular the handling of updates to client-side layer size, position, and the calculation of client lag.
- GUACAMOLE-172 - Calculation of processing lag (potentially) incorrect
- GUACAMOLE-177 - Update layer properties only on flush
- GUACAMOLE-187 - Improve performance of layer/surface resize
Printing / file transfer issues
Regressions related to improvements to file transfer made in 0.9.10-incubating have been identified and fixed. Some of these regressions were specific to Internet Explorer and Microsoft Edge, but others were generic, such as file transfer itself possibly blocking interaction until the transfer has completed.
- GUACAMOLE-129 - Office mime-types problem with IE
- GUACAMOLE-138 - Print with Microsoft Edge
- GUACAMOLE-196 - Backslashes in document title cause printing to fail
- GUACAMOLE-200 - read() in RDPDR printer can block user input
- GUACAMOLE-201 - HTTP transfer of files can make connection unresponsive
Terminal emulation bugs
The Guacamole terminal emulator is currently intended to implement the same subset of VT102 / ECMA-48 codes as the Linux console. Issues with Guacamole’s implementation of these codes (specifically with handling of scrolling vs. non-scrolling regions) were identified and fixed. These issues affected use of GNU screen, tmux, vim, and others.
- GUACAMOLE-148 - SSH does not behave properly when using GNU screen
- GUACAMOLE-149 - Potential busy loop in guac_terminal_display_set_columns()
- GUACAMOLE-193 - Terminal emulator forgets background color of spaces
HTTP header authentication
Guacamole now supports for authenticating users based on arbitrary HTTP headers. While this support was always possible to implement via an extension, such an extension is now included as part of the Guacamole codebase, with a binary version built alongside the release for convenience. This new extension allowing the authentication result of external systems sitting between the user and Guacamole to be trusted.
NOTE: For this to be safe, the header added by the external system MUST be guaranteed to come only from the trusted authentication system itself. It is up to the configuration of the external system, proxies, etc. to ensure that users cannot manipulate or add these headers, and thus that the header will be present if and only if they are authenticated as the user identified by that header.
- GUACAMOLE-195 - Support for HTTP Header-Based Authentication
Build issues (deprecated functions)
Two functions used within the guacamole-server build,
avcodec_encode_video2(), have been marked as deprecated, resulting in build
failures. Guacamole has been modified to no longer depend on these functions,
using the recommended alternatives instead, and the build should no longer fail
on platforms where these functions are deprecated or unavailable.
Cursor/layer rendering issues
In addition to performance improvements, development for the experimental Guacamole driver for the X.Org X11 server revealed issues with layer rendering with respect to stacking order, threadsafety, and transparency.
In most cases, due to the way that VNC and RDP are currently implemented, these issues had no effect, but handling of alpha transparency for RDP cursors was noticeably incorrect when the remote desktop used cursor shadows. This was a regression due to changes introduced in 0.9.10-incubating for screen sharing, and should now be fixed.
- GUACAMOLE-176 - Support layer position and opacity in guac_common_surface
- GUACAMOLE-178 - Shared cursor can be obscured by other layers
- GUACAMOLE-180 - Common display/surface should be threadsafe
- GUACAMOLE-184 - guac_common_surface_dup() may send invalid PNG
- GUACAMOLE-185 - Source rectangle for transfer/copy not properly clipped
- GUACAMOLE-188 - Support alpha transparency in guac_common_surface
- GUACAMOLE-211 - RDP mouse cursor shadow black
Client hostname/address tokens
Two new parameter
have been added,
the hostname and IP address of the user respectively. The values of these
tokens are determined at the time the user authenticated, and can be used to
include the user’s hostname/address within connection parameters.
- GUACAMOLE-47 - Get client hostname for use in guac RDP session
This latest release of Guacamole also adds translation strings for French which were previously missing, support for RDP servers having Swiss-French keyboard layouts, and reorganizes some of the internal convenience libraries used by guacamole-server for the sake of cleanliness and maintainability.
- GUACAMOLE-126 - Property “guacd-host” should actually be “guacd-hostname”
- GUACAMOLE-135 - Add Swiss-French keymap for RDP
- GUACAMOLE-156 - Missing translations in 0.9.10-incubating
- GUACAMOLE-169 - Use namespace for common utility headers
- GUACAMOLE-170 - Always initialize guac_client args
- GUACAMOLE-171 - Bring broadcast socket into public libguac API
- GUACAMOLE-175 - Move core of guacd into utility library
- GUACAMOLE-179 - Move PulseAudio support into utility library
- GUACAMOLE-186 - Duo-Web-v2.js license missing from LICENSE