Merge 1.2.0 changes back to master.
diff --git a/src/chapters/configuring.xml b/src/chapters/configuring.xml
index c050abf..4f5ec43 100644
--- a/src/chapters/configuring.xml
+++ b/src/chapters/configuring.xml
@@ -1326,6 +1326,117 @@
                     </tgroup>
                 </informaltable>
             </section>
+            <section xml:id="vnc-wake-on-lan">
+                <title>Wake-on-LAN Configuration</title>
+                <para>Guacamole implements the support to send a "magic wake-on-lan
+                    packet" to a remote host prior to attempting to establish a
+                    connection with the host.  The below parameters control the
+                    behavior of this functionality, which is disabled by default.
+                    </para>
+                <important>
+                    <para>There are several factors that can impact the ability
+                        of Wake-on-LAN (WoL) to function correctly, many of which
+                        are outside the scope of Guacamole configuration.  If you
+                        are configuring WoL within Guacamole you should also be
+                        familiar with the other components that need to be
+                        configured in order for it to function correctly.</para>
+                </important>
+                <informaltable frame="all">
+                    <indexterm>
+                        <primary>parameters</primary>
+                        <secondary>VNC</secondary>
+                    </indexterm>
+                    <tgroup cols="2">
+                        <colspec colname="c1" colnum="1" colwidth="1*"/>
+                        <colspec colname="c2" colnum="2" colwidth="3.55*"/>
+                        <thead>
+                            <row>
+                                <entry>Parameter name</entry>
+                                <entry>Description</entry>
+                            </row>
+                        </thead>
+                        <tbody>
+                            <row>
+                                <entry><parameter>wol-send-packet</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-send-packet</primary>
+                                        </indexterm><indexterm>
+                                            <primary>VNC</primary>
+                                            <secondary>wol-send-packet</secondary>
+                                        </indexterm>If set to "true", Guacamole will
+                                        attempt to send the Wake-On-LAN packet prior
+                                        to establishing a connection.  This parameter
+                                        is optional.  By default, Guacamole will
+                                        not send the WoL packet.  Enabling this
+                                        option requires that the
+                                            <parameter>wol-mac-addr</parameter>
+                                        parameter also be configured, otherwise
+                                        the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-mac-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-mac-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>VNC</primary>
+                                            <secondary>wol-mac-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        MAC address that Guacamole will use in
+                                        the magic WoL packet to attempt to wake
+                                        the remote system.  If
+                                            <parameter>wol-send-packet</parameter>
+                                        is enabled, this parameter is required
+                                        or else the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-broadcast-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-broadcast-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>VNC</primary>
+                                            <secondary>wol-broadcast-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        IPv4 broadcast address or IPv6 multicast
+                                        address that Guacamole will send the
+                                        WoL packet to in order to wake the host.
+                                        This parameter is optional.  If no value
+                                        is provided, the default local IPv4 broadcast
+                                        address (255.255.255.255) will be used.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-wait-time</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-wait-time</primary>
+                                        </indexterm><indexterm>
+                                            <primary>VNC</primary>
+                                            <secondary>wol-wait-time</secondary>
+                                        </indexterm>By default after the WoL packet
+                                        is sent Guacamole will attempt immediately
+                                        to connect to the remote host.  It may be
+                                        desirable in certain scenarios to have
+                                        Guacamole wait before the initial connection
+                                        in order to give the remote system time to
+                                        boot.  Setting this parameter to a positive
+                                        value will cause Guacamole to wait the specified
+                                        number of seconds before attempting the initial
+                                        connection.  This parameter is optional.
+                                    </para>
+                                </entry>
+                            </row>
+                        </tbody>
+                    </tgroup>
+                </informaltable>
+            </section>
             <section xml:id="adding-vnc">
                 <title>Adding a VNC connection</title>
                 <indexterm>
@@ -3013,6 +3124,117 @@
                     </tgroup>
                 </informaltable>
             </section>
+            <section xml:id="rdp-wake-on-lan">
+                <title>Wake-on-LAN Configuration</title>
+                <para>Guacamole implements the support to send a "magic wake-on-lan
+                    packet" to a remote host prior to attempting to establish a
+                    connection with the host.  The below parameters control the
+                    behavior of this functionality, which is disabled by default.
+                    </para>
+                <important>
+                    <para>There are several factors that can impact the ability
+                        of Wake-on-LAN (WoL) to function correctly, many of which
+                        are outside the scope of Guacamole configuration.  If you
+                        are configuring WoL within Guacamole you should also be
+                        familiar with the other components that need to be
+                        configured in order for it to function correctly.</para>
+                </important>
+                <informaltable frame="all">
+                    <indexterm>
+                        <primary>parameters</primary>
+                        <secondary>RDP</secondary>
+                    </indexterm>
+                    <tgroup cols="2">
+                        <colspec colname="c1" colnum="1" colwidth="1*"/>
+                        <colspec colname="c2" colnum="2" colwidth="3.55*"/>
+                        <thead>
+                            <row>
+                                <entry>Parameter name</entry>
+                                <entry>Description</entry>
+                            </row>
+                        </thead>
+                        <tbody>
+                            <row>
+                                <entry><parameter>wol-send-packet</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-send-packet</primary>
+                                        </indexterm><indexterm>
+                                            <primary>RDP</primary>
+                                            <secondary>wol-send-packet</secondary>
+                                        </indexterm>If set to "true", Guacamole will
+                                        attempt to send the Wake-On-LAN packet prior
+                                        to establishing a connection.  This parameter
+                                        is optional.  By default, Guacamole will
+                                        not send the WoL packet.  Enabling this
+                                        option requires that the
+                                            <parameter>wol-mac-addr</parameter>
+                                        parameter also be configured, otherwise
+                                        the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-mac-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-mac-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>RDP</primary>
+                                            <secondary>wol-mac-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        MAC address that Guacamole will use in
+                                        the magic WoL packet to attempt to wake
+                                        the remote system.  If
+                                            <parameter>wol-send-packet</parameter>
+                                        is enabled, this parameter is required
+                                        or else the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-broadcast-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-broadcast-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>RDP</primary>
+                                            <secondary>wol-broadcast-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        IPv4 broadcast address or IPv6 multicast
+                                        address that Guacamole will send the
+                                        WoL packet to in order to wake the host.
+                                        This parameter is optional.  If no value
+                                        is provided, the default local IPv4 broadcast
+                                        address (255.255.255.255) will be used.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-wait-time</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-wait-time</primary>
+                                        </indexterm><indexterm>
+                                            <primary>RDP</primary>
+                                            <secondary>wol-wait-time</secondary>
+                                        </indexterm>By default after the WoL packet
+                                        is sent Guacamole will attempt immediately
+                                        to connect to the remote host.  It may be
+                                        desirable in certain scenarios to have
+                                        Guacamole wait before the initial connection
+                                        in order to give the remote system time to
+                                        boot.  Setting this parameter to a positive
+                                        value will cause Guacamole to wait the specified
+                                        number of seconds before attempting the initial
+                                        connection.  This parameter is optional.
+                                    </para>
+                                </entry>
+                            </row>
+                        </tbody>
+                    </tgroup>
+                </informaltable>
+            </section>
             <section xml:id="adding-rdp">
                 <title>Adding an RDP connection</title>
                 <indexterm>
@@ -3972,6 +4194,117 @@
                     </tgroup>
                 </informaltable>
             </section>
+            <section xml:id="ssh-wake-on-lan">
+                <title>Wake-on-LAN Configuration</title>
+                <para>Guacamole implements the support to send a "magic wake-on-lan
+                    packet" to a remote host prior to attempting to establish a
+                    connection with the host.  The below parameters control the
+                    behavior of this functionality, which is disabled by default.
+                    </para>
+                <important>
+                    <para>There are several factors that can impact the ability
+                        of Wake-on-LAN (WoL) to function correctly, many of which
+                        are outside the scope of Guacamole configuration.  If you
+                        are configuring WoL within Guacamole you should also be
+                        familiar with the other components that need to be
+                        configured in order for it to function correctly.</para>
+                </important>
+                <informaltable frame="all">
+                    <indexterm>
+                        <primary>parameters</primary>
+                        <secondary>SSH</secondary>
+                    </indexterm>
+                    <tgroup cols="2">
+                        <colspec colname="c1" colnum="1" colwidth="1*"/>
+                        <colspec colname="c2" colnum="2" colwidth="3.55*"/>
+                        <thead>
+                            <row>
+                                <entry>Parameter name</entry>
+                                <entry>Description</entry>
+                            </row>
+                        </thead>
+                        <tbody>
+                            <row>
+                                <entry><parameter>wol-send-packet</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-send-packet</primary>
+                                        </indexterm><indexterm>
+                                            <primary>SSH</primary>
+                                            <secondary>wol-send-packet</secondary>
+                                        </indexterm>If set to "true", Guacamole will
+                                        attempt to send the Wake-On-LAN packet prior
+                                        to establishing a connection.  This parameter
+                                        is optional.  By default, Guacamole will
+                                        not send the WoL packet.  Enabling this
+                                        option requires that the
+                                            <parameter>wol-mac-addr</parameter>
+                                        parameter also be configured, otherwise
+                                        the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-mac-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-mac-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>SSH</primary>
+                                            <secondary>wol-mac-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        MAC address that Guacamole will use in
+                                        the magic WoL packet to attempt to wake
+                                        the remote system.  If
+                                            <parameter>wol-send-packet</parameter>
+                                        is enabled, this parameter is required
+                                        or else the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-broadcast-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-broadcast-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>SSH</primary>
+                                            <secondary>wol-broadcast-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        IPv4 broadcast address or IPv6 multicast
+                                        address that Guacamole will send the
+                                        WoL packet to in order to wake the host.
+                                        This parameter is optional.  If no value
+                                        is provided, the default local IPv4 broadcast
+                                        address (255.255.255.255) will be used.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-wait-time</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-wait-time</primary>
+                                        </indexterm><indexterm>
+                                            <primary>SSH</primary>
+                                            <secondary>wol-wait-time</secondary>
+                                        </indexterm>By default after the WoL packet
+                                        is sent Guacamole will attempt immediately
+                                        to connect to the remote host.  It may be
+                                        desirable in certain scenarios to have
+                                        Guacamole wait before the initial connection
+                                        in order to give the remote system time to
+                                        boot.  Setting this parameter to a positive
+                                        value will cause Guacamole to wait the specified
+                                        number of seconds before attempting the initial
+                                        connection.  This parameter is optional.
+                                    </para>
+                                </entry>
+                            </row>
+                        </tbody>
+                    </tgroup>
+                </informaltable>
+            </section>
             <section xml:id="adding-ssh">
                 <title>Adding an SSH connection</title>
                 <indexterm>
@@ -4750,6 +5083,117 @@
                     </tgroup>
                 </informaltable>
             </section>
+            <section xml:id="telnet-wake-on-lan">
+                <title>Wake-on-LAN Configuration</title>
+                <para>Guacamole implements the support to send a "magic wake-on-lan
+                    packet" to a remote host prior to attempting to establish a
+                    connection with the host.  The below parameters control the
+                    behavior of this functionality, which is disabled by default.
+                    </para>
+                <important>
+                    <para>There are several factors that can impact the ability
+                        of Wake-on-LAN (WoL) to function correctly, many of which
+                        are outside the scope of Guacamole configuration.  If you
+                        are configuring WoL within Guacamole you should also be
+                        familiar with the other components that need to be
+                        configured in order for it to function correctly.</para>
+                </important>
+                <informaltable frame="all">
+                    <indexterm>
+                        <primary>parameters</primary>
+                        <secondary>telnet</secondary>
+                    </indexterm>
+                    <tgroup cols="2">
+                        <colspec colname="c1" colnum="1" colwidth="1*"/>
+                        <colspec colname="c2" colnum="2" colwidth="3.55*"/>
+                        <thead>
+                            <row>
+                                <entry>Parameter name</entry>
+                                <entry>Description</entry>
+                            </row>
+                        </thead>
+                        <tbody>
+                            <row>
+                                <entry><parameter>wol-send-packet</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-send-packet</primary>
+                                        </indexterm><indexterm>
+                                            <primary>telnet</primary>
+                                            <secondary>wol-send-packet</secondary>
+                                        </indexterm>If set to "true", Guacamole will
+                                        attempt to send the Wake-On-LAN packet prior
+                                        to establishing a connection.  This parameter
+                                        is optional.  By default, Guacamole will
+                                        not send the WoL packet.  Enabling this
+                                        option requires that the
+                                            <parameter>wol-mac-addr</parameter>
+                                        parameter also be configured, otherwise
+                                        the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-mac-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-mac-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>telnet</primary>
+                                            <secondary>wol-mac-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        MAC address that Guacamole will use in
+                                        the magic WoL packet to attempt to wake
+                                        the remote system.  If
+                                            <parameter>wol-send-packet</parameter>
+                                        is enabled, this parameter is required
+                                        or else the WoL packet will not be sent.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-broadcast-addr</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-broadcast-addr</primary>
+                                        </indexterm><indexterm>
+                                            <primary>telnet</primary>
+                                            <secondary>wol-broadcast-addr</secondary>
+                                        </indexterm>This parameter configures the
+                                        IPv4 broadcast address or IPv6 multicast
+                                        address that Guacamole will send the
+                                        WoL packet to in order to wake the host.
+                                        This parameter is optional.  If no value
+                                        is provided, the default local IPv4 broadcast
+                                        address (255.255.255.255) will be used.
+                                    </para>
+                                </entry>
+                            </row>
+                            <row>
+                                <entry><parameter>wol-wait-time</parameter></entry>
+                                <entry>
+                                    <para><indexterm>
+                                            <primary>wol-wait-time</primary>
+                                        </indexterm><indexterm>
+                                            <primary>telnet</primary>
+                                            <secondary>wol-wait-time</secondary>
+                                        </indexterm>By default after the WoL packet
+                                        is sent Guacamole will attempt immediately
+                                        to connect to the remote host.  It may be
+                                        desirable in certain scenarios to have
+                                        Guacamole wait before the initial connection
+                                        in order to give the remote system time to
+                                        boot.  Setting this parameter to a positive
+                                        value will cause Guacamole to wait the specified
+                                        number of seconds before attempting the initial
+                                        connection.  This parameter is optional.
+                                    </para>
+                                </entry>
+                            </row>
+                        </tbody>
+                    </tgroup>
+                </informaltable>
+            </section>
             <section xml:id="adding-telnet">
                 <title>Adding a telnet connection</title>
                 <indexterm>
diff --git a/src/chapters/jdbc-auth.xml b/src/chapters/jdbc-auth.xml
index d837254..967abc2 100644
--- a/src/chapters/jdbc-auth.xml
+++ b/src/chapters/jdbc-auth.xml
@@ -70,12 +70,34 @@
                             <filename>GUACAMOLE_HOME/extensions</filename>, while the MySQL JDBC
                         driver must be placed within <filename>GUACAMOLE_HOME/lib</filename>.</para>
                     <para><emphasis>The MySQL JDBC driver is not included with the
-                            extension.</emphasis> You must obtain the JDBC driver
-                            <filename>.jar</filename> yourself from <link
-                            xlink:href="http://dev.mysql.com/downloads/connector/j/">MySQL's
-                            website</link>. The driver is known as "Connector/J", and the required
+                            extension.</emphasis> You must obtain a supported JDBC driver
+                            <filename>.jar</filename> yourself.  The MySQL driver can be downloaded
+                            from <link xlink:href="http://dev.mysql.com/downloads/connector/j/">MySQL's
+                            website</link>, and is known as "Connector/J". The required
                             <filename>.jar</filename> will be within a <filename>.tar.gz</filename>
                         archive.</para>
+                    <para>In addition to the parameters below that are common to all database
+                            extensions, the MySQL extension supports the <property>mysql-driver</property>
+                            property, which controls which JDBC driver the extension attempts to load
+                            and its compatibility with various target database implementations.
+                            The extension currently supports the following values for the
+                            <property>mysql-driver</property> property:
+                        <variablelist>
+                            <varlistentry>
+                                <term>mysql</term>
+                                <listitem>
+                                    <para>The MySQL JDBC driver, known as Connector/J.
+                                            This is the default.</para>
+                                </listitem>
+                            </varlistentry>
+                            <varlistentry>
+                                <term>mariadb</term>
+                                <listitem>
+                                    <para>The MariaDB JDBC driver.</para>
+                                </listitem>
+                            </varlistentry>
+                        </variablelist>
+                    </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
@@ -116,12 +138,18 @@
                         directory.  Microsoft's JDBC driver can be downloaded from Microsoft's <link
                         xlink:href="https://docs.microsoft.com/en-us/sql/connect/sql-connection-libraries#anchor-20-drivers-relational-access">
                         SQL Connection Libraries</link> page.</para>
-                    <para>In addition to the various parameters mentioned below, the SQL Server driver has a
-                        unique parameter available to control the driver compatibility of the JDBC module:
-                        <property>sqlserver-driver</property>.  This parameter allows you to choose the compatibility
-                        mode of the module with various TDS-comptabile drivers such that it can be used with different
-                        versions of SQL Server and even non-Microsoft SQL Server databases.  The following options are available
-                        for the <property>sqlserver-driver</property> property:
+                    <para>In addition to the various parameters mentioned below, the SQL Server driver implements
+                        two parameters to control SQL Server-specific configuration items:
+                            <property>sqlserver-driver</property> and <property>sqlserver-instance</property>.</para>
+                    <para>The <property>sqlserver-instance</property> property controls the instance name that the
+                        SQL Server driver should attempt to connect to, if it is something other than the default
+                        SQL Server instance.  This instance name is configured during the SQL Server installation.
+                        This property is optional, and most installations should work without the need to specify
+                        an instance name.</para>
+                    <para>The <property>sqlserver-driver</property> allows you to choose the compatibility mode of
+                        of the module with various TDS-compatible drivers such that it can be used with different
+                        versions of SQL Server and even non-Microsoft SQL Server TDS-compatible databases.  The
+                        following options are available for the <property>sqlserver-driver</property> property:
                         <variablelist>
                             <varlistentry>
                                 <term>microsoft2005</term>