Merge 1.0.0 changes back to master.
diff --git a/src/chapters/configuring.xml b/src/chapters/configuring.xml
index 526db8b..2618d3a 100644
--- a/src/chapters/configuring.xml
+++ b/src/chapters/configuring.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<chapter xml:id="configuring-guacamole"
+<chapter xml:id="configuring-guacamole"
xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"
xmlns:xi="http://www.w3.org/2001/XInclude">
@@ -216,6 +216,29 @@
need an SSL certificate and private key.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><indexterm xmlns:xl="http://www.w3.org/1999/xlink">
+ <primary>skip-if-unavailable</primary>
+ </indexterm><parameter>skip-if-unavailable</parameter></term>
+ <listitem>
+ <para>A comma-separated list of the identifiers of authentication providers that
+ should be allowed to fail internally without aborting the authentication
+ process. For example, to request that Guacamole ignore failures due to the
+ LDAP directory or MySQL server being unexpectedly down, allowing other
+ authentication providers to continue functioning:</para>
+ <informalexample>
+ <programlisting>skip-if-unavailable: mysql, ldap</programlisting>
+ </informalexample>
+ <para>By default, Guacamole takes a conservative approach to internal failures,
+ aborting the authentication process if an internal error occurs within any
+ authentication provider. Depending on the nature of the error, this may mean
+ that no users can log in until the cause of the failure is dealt with. The
+ <parameter>skip-if-unavailable</parameter> property may be used to
+ explicitly inform Guacamole that one or more underlying systems are expected
+ to occasionally experience failures, and that other functioning systems
+ should be relied upon if they do fail.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
<example>
<title>Example <filename>guacamole.properties</filename></title>
@@ -350,7 +373,7 @@
located at <filename>GUACAMOLE_HOME/user-mapping.xml</filename>. An example of a
user mapping file is included with Guacamole, and looks something like this:</para>
<programlisting><user-mapping>
-
+
<!-- Per-user authentication and config information -->
<authorize username="USERNAME" password="PASSWORD">
<protocol>vnc</protocol>
@@ -361,7 +384,7 @@
<!-- Another user, but using md5 to hash the password
(example below uses the md5 hash of "PASSWORD") -->
- <authorize
+ <authorize
username="USERNAME2"
password="319f4d26e3c536b5dd871bb2c52e3178"
encoding="md5">
@@ -1566,7 +1589,7 @@
translated, and you will need to explicitly choose a different layout in your
connection settings. If your keyboard layout is not supported, please notify the
Guacamole team by <link xmlns:xlink="http://www.w3.org/1999/xlink"
- xlink:href="https://glyptodon.org/jira/">opening an issue in
+ xlink:href="https://issues.apache.org/jira/browse/GUACAMOLE">opening an issue in
JIRA</link>.</para>
<informaltable frame="all">
<indexterm>
@@ -2557,10 +2580,10 @@
<row>
<entry><parameter>sftp-server-alive-interval</parameter></entry>
<entry>
- <para>The interval in seconds at which to send keepalive
- packets to the SSH server for the SFTP connection. This
- parameter is optional. If omitted, the default of 0 will be
- used, disabling sending keepalive packets. The minimum
+ <para>The interval in seconds at which to send keepalive
+ packets to the SSH server for the SFTP connection. This
+ parameter is optional. If omitted, the default of 0 will be
+ used, disabling sending keepalive packets. The minimum
value is 2.
</para>
</entry>
@@ -2683,7 +2706,7 @@
<row>
<entry><parameter>disable-offscreen-caching</parameter></entry>
<entry>
- <para><indexterm>
+ <para><indexterm>
<primary>RDP</primary>
<secondary>offscreen bitmap caching</secondary>
</indexterm>RDP normally maintains caches of regions of the screen
@@ -3740,6 +3763,30 @@
<command>egrep</command>).</para>
</entry>
</row>
+ <row>
+ <entry><parameter>login-success-regex</parameter></entry>
+ <entry>
+ <para>The regular expression to use when detecting that the
+ login attempt has succeeded. This parameter is optional. If
+ specified, the terminal display will not be shown to the
+ user until text matching this regular expression has been
+ received from the telnet server. The regular expression must
+ be written in the POSIX ERE dialect (the dialect typically
+ used by <command>egrep</command>).</para>
+ </entry>
+ </row>
+ <row>
+ <entry><parameter>login-failure-regex</parameter></entry>
+ <entry>
+ <para>The regular expression to use when detecting that the
+ login attempt has failed. This parameter is optional. If
+ specified, the connection will be closed with an explicit
+ login failure error if text matching this regular expression
+ has been received from the telnet server. The regular
+ expression must be written in the POSIX ERE dialect (the
+ dialect typically used by <command>egrep</command>).</para>
+ </entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
diff --git a/src/chapters/installing.xml b/src/chapters/installing.xml
index 841c8af..70840c7 100644
--- a/src/chapters/installing.xml
+++ b/src/chapters/installing.xml
@@ -198,6 +198,30 @@
</entry>
</row>
<row>
+ <entry><link xl:href="https://www.gnu.org/software/libtool/manual/libtool.html"
+ >libtool</link></entry>
+ <entry>
+ <para>libtool is used during the build process.
+ libtool creates compiled libraries needed for Guacamole.</para>
+ <informaltable frame="none" rowheader="firstcol">
+ <tgroup cols="2">
+ <colspec colname="c1" colnum="1" colwidth="1.0*"/>
+ <colspec colname="c2" colnum="2" colwidth="1.0*"/>
+ <tbody>
+ <row>
+ <entry>Debian / Ubuntu package</entry>
+ <entry><package>libtool-bin</package></entry>
+ </row>
+ <row>
+ <entry>Fedora / CentOS / RHEL package</entry>
+ <entry><package>libtool</package></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </entry>
+ </row>
+ <row>
<entry><link xl:href="http://www.ossp.org/pkg/lib/uuid/">OSSP
UUID</link></entry>
<entry>
diff --git a/src/chapters/ldap-auth.xml b/src/chapters/ldap-auth.xml
index 97dc84c..d9f09e9 100644
--- a/src/chapters/ldap-auth.xml
+++ b/src/chapters/ldap-auth.xml
@@ -357,6 +357,67 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><property>ldap-user-attributes</property></term>
+ <listitem>
+ <para>The attribute or attributes to retrieve from the LDAP directory for
+ the currently logged-in user, separated by commas. If specified, the
+ attributes listed here are retrieved from each authenticated user and
+ dynamically applied to the parameters of that user's connections as
+ <link linkend="parameter-tokens">parameter tokens</link> with the
+ prefix "<varname>LDAP_</varname>".</para>
+ <para>When a user authenticates with LDAP and accesses a particular
+ Guacamole connection, the values of these tokens will be the values of
+ their corresponding attributes at the time of authentication. If the
+ attribute has no value for the current user, then the corresponding
+ token is not applied. If the attribute has multiple values, then the
+ first value of the attribute is used.</para>
+ <para>When converting an LDAP attribute name into a parameter token name,
+ the name of the attribute is transformed into uppercase with each word
+ separated by underscores, a naming convention referred to as "uppercase
+ with underscores" or "<link
+ xlink:href="https://en.wikipedia.org/wiki/Naming_convention_(programming)#Multiple-word_identifiers"
+ >screaming snake case</link>". For example:</para>
+ <table frame="all">
+ <title>Example LDAP attribute / parameter token conversions</title>
+ <tgroup cols="2">
+ <colspec colname="c1" colnum="1" colwidth="1.0*"/>
+ <colspec colname="c2" colnum="2" colwidth="1.0*"/>
+ <thead>
+ <row>
+ <entry>LDAP Attribute</entry>
+ <entry>Parameter Token</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><varname>lowercase-with-dashes</varname></entry>
+ <entry><varname>${LDAP_LOWERCASE_WITH_DASHES}</varname></entry>
+ </row>
+ <row>
+ <entry><varname>CamelCase</varname></entry>
+ <entry><varname>${LDAP_CAMEL_CASE}</varname></entry>
+ </row>
+ <row>
+ <entry><varname>headlessCamelCase</varname></entry>
+ <entry><varname>${LDAP_HEADLESS_CAMEL_CASE}</varname></entry>
+ </row>
+ <row>
+ <entry><varname>lettersAndNumbers1234</varname></entry>
+ <entry><varname>${LDAP_LETTERS_AND_NUMBERS_1234}</varname></entry>
+ </row>
+ <row>
+ <entry><varname>aRANDOM_mixOf-3NAMINGConventions</varname></entry>
+ <entry><varname>${LDAP_A_RANDOM_MIX_OF_3_NAMING_CONVENTIONS}</varname></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>Usage of parameter tokens is discussed in more detail in <xref
+ linkend="configuring-guacamole"/> in <xref
+ linkend="parameter-tokens"/>.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><property>ldap-user-search-filter</property></term>
<listitem>
<para>The search filter used to query the LDAP tree for users that
@@ -539,7 +600,7 @@
utility:</para>
<informalexample>
<screen><prompt>$</prompt> <userinput>ldapadd -x -D <replaceable>cn=admin,dc=example,dc=net</replaceable> -W -f <replaceable>example-connection.ldif</replaceable></userinput>
-<computeroutput>Enter LDAP Password:
+<computeroutput>Enter LDAP Password:
adding new entry "cn=Example Connection,ou=groups,dc=example,dc=net"
</computeroutput>
<prompt>$</prompt></screen>