blob: 70c7d4cb714b843630feff66e48e7dd73502bbd8 [file] [log] [blame]
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="/styles/main.css?s=1714581448">
<link rel="icon" type="image/svg+xml" href="/images/logos/guac-classic-logo.svg"/>
<link rel="icon" type="image/png" href="/images/logos/guac-classic-logo-64.png"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi"/>
<meta charset="UTF-8"/>
<title>Apache Guacamole™: 0.9.11-incubating</title>
</head>
<body class="">
<!-- Header -->
<div id="header">
<div class="readable-content">
<h1><a href="/">Apache Guacamole™</a></h1>
<ul id="navigation" class="menu">
<li>
<a href="/releases/"
class="releases"
>Release Archives</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Documentation</a>
<ul class="dropdown-menu">
<li>
<a href="/faq/"
>FAQ</a>
</li>
<li>
<a href="/api-documentation/"
>API / Development</a>
</li>
<li>
<a href="/doc/gug/"
>Guacamole Manual</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Community</a>
<ul class="dropdown-menu">
<li>
<a href="/open-source/"
>Contributing to Guacamole</a>
</li>
<li>
<a href="/support/#mailing-lists"
>Mailing Lists</a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/"
>Bug/Issue Tracker</a>
</li>
<li>
<a href="https://github.com/search?utf8=%E2%9C%93&q=repo%3Aapache%2Fguacamole-client+repo%3Aapache%2Fguacamole-server+repo%3Aapache%2Fguacamole-manual+repo%3Aapache%2Fguacamole-website&type=repositories&ref=searchresults"
>Source Code</a>
</li>
</ul>
</li>
<li>
<a href="/security/"
>Security Reports</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Support</a>
<ul class="dropdown-menu">
<li>
<a href="/support/#mailing-lists"
>Mailing Lists</a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/"
>Bug/Issue Tracker</a>
</li>
<li>
<a href="/support/#commercial-support"
>Commercial Support</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle apache"
href="#">ASF</a>
<ul class="dropdown-menu">
<li>
<a href="http://www.apache.org/"
>ASF Homepage</a>
</li>
<li>
<a href="http://www.apache.org/licenses/"
>License</a>
</li>
<li>
<a href="http://www.apache.org/foundation/thanks.html"
>Thanks</a>
</li>
<li>
<a href="http://www.apache.org/foundation/sponsorship.html"
>Sponsorship</a>
</li>
<li>
<a href="http://www.apache.org/foundation/policies/conduct.html"
>Code of Conduct</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- Content -->
<div class="fullwidth-content">
<h1 class="title">
Apache Guacamole 0.9.11-incubating
<span class="release-type">
(Archived)
</span>
</h1>
<div class="readable-content">
<div class="note">
<p>Apache Guacamole 0.9.11-incubating is an archived release, and was
originally released on 2017-02-02. <strong>The
latest release of Apache Guacamole is <a href="/releases/1.5.5/">1.5.5</a>.</strong></p>
</div>
<div id="links">
<h2>Release documentation</h2>
<ul>
<li><a href="/doc/0.9.11-incubating/gug">Manual</a></li>
<li><a href="/doc/0.9.10-incubating/guacamole-common">guacamole-common</a></li>
<li><a href="/doc/0.9.10-incubating/guacamole-common-js">guacamole-common-js</a></li>
<li><a href="/doc/0.9.11-incubating/guacamole-ext">guacamole-ext</a></li>
<li><a href="/doc/0.9.11-incubating/libguac">libguac</a></li>
</ul>
</div>
<p>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.</p>
<p>You <strong>must</strong> <a href="https://www.apache.org/info/verification.html">
verify the integrity of any downloaded files</a> using the OpenPGP signatures
we provide with each release. The signatures should be verified against the
<a href="https://downloads.apache.org/guacamole/KEYS">KEYS</a>
file, which contains the OpenPGP keys of Apache Guacamole's Release Managers.
Checksums of each released file are also provided.</p>
<!-- Source archives -->
<div class="release-downloads">
<table>
<tr>
<th>Filename</th>
<th>Signatures / Hashes</th>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-client-0.9.11-incubating.tar.gz">guacamole-client-0.9.11-incubating.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-client-0.9.11-incubating.tar.gz.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-client-0.9.11-incubating.tar.gz.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-client-0.9.11-incubating.tar.gz.asc">PGP</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz">guacamole-server-0.9.11-incubating.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/source/guacamole-server-0.9.11-incubating.tar.gz.asc">PGP</a>
</td>
</tr>
</table>
</div>
<p>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. <strong>Please note that guacamole-server must
still be built and installed from source.</strong></p>
<!-- All binaries -->
<div class="release-downloads">
<table>
<tr>
<th>Filename</th>
<th>Signatures / Hashes</th>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-0.9.11-incubating.war">guacamole-0.9.11-incubating.war</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-0.9.11-incubating.war.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-0.9.11-incubating.war.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-0.9.11-incubating.war.asc">PGP</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-duo-0.9.11-incubating.tar.gz">guacamole-auth-duo-0.9.11-incubating.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-duo-0.9.11-incubating.tar.gz.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-duo-0.9.11-incubating.tar.gz.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-duo-0.9.11-incubating.tar.gz.asc">PGP</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-jdbc-0.9.11-incubating.tar.gz">guacamole-auth-jdbc-0.9.11-incubating.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-jdbc-0.9.11-incubating.tar.gz.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-jdbc-0.9.11-incubating.tar.gz.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-jdbc-0.9.11-incubating.tar.gz.asc">PGP</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-ldap-0.9.11-incubating.tar.gz">guacamole-auth-ldap-0.9.11-incubating.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-ldap-0.9.11-incubating.tar.gz.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-ldap-0.9.11-incubating.tar.gz.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-ldap-0.9.11-incubating.tar.gz.asc">PGP</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-noauth-0.9.11-incubating.tar.gz">guacamole-auth-noauth-0.9.11-incubating.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-noauth-0.9.11-incubating.tar.gz.md5">MD5</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-noauth-0.9.11-incubating.tar.gz.sha">SHA</a>
<a href="https://archive.apache.org/dist/incubator/guacamole/0.9.11-incubating/binary/guacamole-auth-noauth-0.9.11-incubating.tar.gz.asc">PGP</a>
</td>
</tr>
</table>
</div>
<!-- Release notes -->
<div id="release-notes">
<h1>Release notes</h1>
<p>The 0.9.11-incubating release features support for two-factor authentication,
password policies (complexity rules, preventing password reuse, etc.), and
the ability to use the Docker images with arbitrary Guacamole extensions, not
just MySQL, PostgreSQL, and LDAP. If using both a database and LDAP, new
settings allow you to restrict access to only those users which exist in the
database, rather than allowing any LDAP user access.</p>
<p><strong>This release contains changes which break compatibility with past releases.</strong>
Please see the <a href="#deprecation--compatibility-notes">deprecation / compatibility
notes</a> section for more information.</p>
<h2 id="two-factor-authentication">Two-factor authentication</h2>
<p>Guacamole now provides support for two-factor authentication, and includes
a new extension which integrates with Duo using their “Auth API”. Users who use
the Duo authentication service can add Guacamole to their list of applications.
Once configured, Guacamole will then require confirmation from Duo before
allowing an otherwise successful authentication attempt to proceed.</p>
<p>With this first implementation of two-factor authentication completed, support
for other two-factor authentication services is expected to follow.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-136">GUACAMOLE-136</a> - Add support for TFA - initially Duo</li>
</ul>
<h2 id="password-policies">Password policies</h2>
<p>The database authentication extensions can now be configured to enforce
password complexity rules, including requiring specific classes of characters,
disallowing passwords containing the user’s username, and preventing previous
passwords from being reused. Users can also now be required to change their
password regularly, or prevented from changing their password too frequently.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-36">GUACAMOLE-36</a> - Add support for password policies</li>
</ul>
<h2 id="docker-improvements">Docker improvements</h2>
<p>The Guacamole Docker image previously only supported the official MySQL,
PostgreSQL, and LDAP extensions, with configuration automatically generated
based on environment variables. No support for deploying other extensions was
provided. As of 0.9.11-incubating, arbitrary extensions and their configuration
files can be deployed through providing a template <code class="language-plaintext highlighter-rouge">GUACAMOLE_HOME</code> directory.</p>
<p>The requirement that the Guacamole Docker image be linked to the guacd Docker
image has also been lifted. Though Guacamole still requires a connection to
guacd, that connection can now be described using the <code class="language-plaintext highlighter-rouge">GUACD_HOSTNAME</code> and
<code class="language-plaintext highlighter-rouge">GUACD_PORT</code> environment variables.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-99">GUACAMOLE-99</a> - Do not require Docker link for guacd</li>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-100">GUACAMOLE-100</a> - Support arbitrary extensions within Guacamole Docker image</li>
</ul>
<h2 id="ldap-improvements">LDAP improvements</h2>
<p>For the common case where Guacamole’s LDAP support is used purely for
authentication, with an MySQL or PostgreSQL database used to house connection
data, it is now possible to configure the database authentication extensions
to reject authentication attempts for users which are not defined in the
database. For those whose LDAP directories contain many users that will never
be granted access to Guacamole, these new settings mean that such users can
be denied access immediately, rather than presenting them with an empty and
useless Guacamole home screen.</p>
<p>In addition, if your LDAP directory was so extensive that it exceeded the
default query size limit of 1000 records, the query size limit can now be
manually increased within <code class="language-plaintext highlighter-rouge">guacamole.properties</code>.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-70">GUACAMOLE-70</a> - Add option to restrict access to users within database</li>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-79">GUACAMOLE-79</a> - Add an option to allow the default LDAP result size limit (1000) to be overridden</li>
</ul>
<h2 id="capacity-regression-from-0910-incubating">Capacity regression from 0.9.10-incubating</h2>
<p>The new screen sharing support added in 0.9.10-incubating lead to a regression
which could cause connections to fail when the maximum number of file
descriptors supported by <code class="language-plaintext highlighter-rouge">select()</code> was exceeded. This effectively limited the
maximum number of connections a Guacamole server could support, regardless of
how powerful the server might otherwise be. This has been fixed, and Guacamole
has been refactored to use <code class="language-plaintext highlighter-rouge">poll()</code> instead of <code class="language-plaintext highlighter-rouge">select()</code>.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-118">GUACAMOLE-118</a> - Migrate from select() to poll()</li>
</ul>
<h2 id="miscellaneous-fixes--improvements">Miscellaneous fixes / improvements</h2>
<p>This latest release of Guacamole also addresses potential resource leaks in the
use of SSL/TLS by guacd, segfaults in the built-in terminal emulator and VNC
client, and adds a Norwegian translation for the Guacamole interface.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-86">GUACAMOLE-86</a> - Connection closed when printing large content in SSH</li>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-117">GUACAMOLE-117</a> - File descriptor leak if SSL/TLS negotiation fails</li>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-130">GUACAMOLE-130</a> - Merge contributed Norwegian translation</li>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-157">GUACAMOLE-157</a> - Connecting to unavailable VNC endpoint causes SIGSEGV in SSH SSL lock free</li>
</ul>
<h1 id="deprecation--compatibility-notes">Deprecation / Compatibility notes</h1>
<p>As of 0.9.11-incubating, the following changes have been made which affect
compatibility with past releases:</p>
<h2 id="database-schema-changes">Database schema changes</h2>
<p>The MySQL and PostgreSQL schemas have changed to facilitate support for
password policies. Users of the database authentication will need to run the
<code class="language-plaintext highlighter-rouge">upgrade-pre-0.9.11.sql</code> script specific to their chosen database.</p>
</div>
</div>
</div>
<!-- Footer -->
<div id="footer">
<div class="readable-content">
<!-- Copyrights -->
<p class="copyright">
Copyright &copy; 2024 <a href="http://www.apache.org/">The Apache
Software Foundation</a>, Licensed under the <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache License,
Version 2.0</a>.
</p>
<!-- Trademarks -->
<p class="trademarks">
Apache Guacamole, Guacamole, Apache, the Apache feather logo, and the
Apache Guacamole project logo are trademarks of The Apache Software
Foundation.
</p>
</div>
</div>
<!-- jQuery -->
<script src="/scripts/jquery.min.js" type="text/javascript"></script>
<!-- Dropdown toggle -->
<script src="/scripts/dropdown.js" type="text/javascript"></script>
</body>
</html>