Add TLS/SSL interception support
[privoxy.git] / doc / source / p-config.sgml
index 6c5ab40..9bd21eb 100644 (file)
@@ -1,11 +1,9 @@
 <!--
 <!--
- File        :  $Source: /cvsroot/ijbswa/current/doc/source/p-config.sgml,v $
+ File        :  doc/source/p-config.sgml
 
  Purpose     :  Used with other docs and files only.
 
 
  Purpose     :  Used with other docs and files only.
 
- $Id: p-config.sgml,v 2.124 2017/02/20 13:44:54 fabiankeil Exp $
-
- Copyright (C) 2001-2017 Privoxy Developers https://www.privoxy.org/
+ Copyright (C) 2001-2019 Privoxy Developers https://www.privoxy.org/
  See LICENSE.
 
  ========================================================================
  See LICENSE.
 
  ========================================================================
  example:
 </para>
 
  example:
 </para>
 
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>confdir /etc/privoxy</emphasis></literallayout>
-  </msgtext>
- </literal>
-</para>
+<literallayout>
+  <emphasis>confdir /etc/privoxy</emphasis>
+</literallayout>
 
 <para>
  Assigns the value <literal>/etc/privoxy</literal> to the option
 
 <para>
  Assigns the value <literal>/etc/privoxy</literal> to the option
  Sample Configuration File for Privoxy &p-version;
 </title>
 <para>
  Sample Configuration File for Privoxy &p-version;
 </title>
 <para>
- $Id: p-config.sgml,v 2.124 2017/02/20 13:44:54 fabiankeil Exp $
-</para>
-<para>
-Copyright (C) 2001-2017 Privoxy Developers https://www.privoxy.org/
+Copyright (C) 2001-2019 Privoxy Developers https://www.privoxy.org/
 </para>
 
 </para>
 
-<para>
- <literallayout>
+<literallayout>
 ##################################################################
                                                                  #
                     Table of Contents                            #
 ##################################################################
                                                                  #
                     Table of Contents                            #
@@ -118,14 +107,15 @@ Copyright (C) 2001-2017 Privoxy Developers https://www.privoxy.org/
       4. ACCESS CONTROL AND SECURITY                             #
       5. FORWARDING                                              #
       6. MISCELLANEOUS                                           #
       4. ACCESS CONTROL AND SECURITY                             #
       5. FORWARDING                                              #
       6. MISCELLANEOUS                                           #
-      7. WINDOWS GUI OPTIONS                                     #
+      7. TLS                                                     #
+      8. WINDOWS GUI OPTIONS                                     #
                                                                  #
 ##################################################################
                                                                  #
 ##################################################################
- </literallayout>
-</para>
 
 
-<literallayout>I. INTRODUCTION
- ===============  <!-- fuck this madness --></literallayout>
+
+I. INTRODUCTION
+ ===============
+</literallayout>
 
 <para>
  This file holds Privoxy's main configuration.  Privoxy detects
 
 <para>
  This file holds Privoxy's main configuration.  Privoxy detects
@@ -251,30 +241,22 @@ II. FORMAT OF THE CONFIGURATION FILE
   <para>
    Unix, in local filesystem (may not work with all browsers):
   </para>
   <para>
    Unix, in local filesystem (may not work with all browsers):
   </para>
-  <para>
    <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file:///usr/share/doc/privoxy-&p-version;/user-manual/</screen>
    <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file:///usr/share/doc/privoxy-&p-version;/user-manual/</screen>
-  </para>
   <para>
    Windows, in local filesystem, <emphasis>must</emphasis> use forward slash notation:
   </para>
   <para>
    Windows, in local filesystem, <emphasis>must</emphasis> use forward slash notation:
   </para>
-  <para>
    <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file:/c:/some-dir/privoxy-&p-version;/user-manual/</screen>
    <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file:/c:/some-dir/privoxy-&p-version;/user-manual/</screen>
-  </para>
   <para>
    Windows, UNC notation (with forward slashes):
   </para>
   <para>
    Windows, UNC notation (with forward slashes):
   </para>
-  <para>
    <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file://///some-server/some-path/privoxy-&p-version;/user-manual/</screen>
    <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file://///some-server/some-path/privoxy-&p-version;/user-manual/</screen>
-  </para>
  -->
   <para>
    The best all purpose solution is simply to put the full local
    <literal>PATH</literal> to where the <citetitle>User Manual</citetitle> is
    located:
   </para>
  -->
   <para>
    The best all purpose solution is simply to put the full local
    <literal>PATH</literal> to where the <citetitle>User Manual</citetitle> is
    located:
   </para>
-  <para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;/usr/share/doc/privoxy/user-manual</screen>
-  </para>
+   <screen>  user-manual  /usr/share/doc/privoxy/user-manual</screen>
   <para>
    The User Manual is then available to anyone with access to
    <application>Privoxy</application>, by following the built-in URL:
   <para>
    The User Manual is then available to anyone with access to
    <application>Privoxy</application>, by following the built-in URL:
@@ -285,9 +267,7 @@ II. FORMAT OF THE CONFIGURATION FILE
    If the documentation is not on the local system, it can be accessed
    from a remote server, as:
   </para>
    If the documentation is not on the local system, it can be accessed
    from a remote server, as:
   </para>
-  <para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;http://example.com/privoxy/user-manual/</screen>
-  </para>
+   <screen>  user-manual  http://example.com/privoxy/user-manual/</screen>
   <![%user-man;[
    <!-- this gets hammered in conversion to config. Text repeated below. -->
   <warning>
   <![%user-man;[
    <!-- this gets hammered in conversion to config. Text repeated below. -->
   <warning>
@@ -1035,7 +1015,6 @@ actionsfile
    <para>
     The available debug levels are:
    </para>
    <para>
     The available debug levels are:
    </para>
-   <para>
     <programlisting>
   debug     1 # Log the destination for each request &my-app; let through. See also debug 1024.
   debug     2 # show each connection status
     <programlisting>
   debug     1 # Log the destination for each request &my-app; let through. See also debug 1024.
   debug     2 # show each connection status
@@ -1054,7 +1033,6 @@ actionsfile
   debug 32768 # log all data read from the network
   debug 65536 # Log the applying actions
 </programlisting>
   debug 32768 # log all data read from the network
   debug 65536 # Log the applying actions
 </programlisting>
-   </para>
    <para>
     To select multiple debug levels, you can either add them or use
     multiple <literal>debug</literal> lines.
    <para>
     To select multiple debug levels, you can either add them or use
     multiple <literal>debug</literal> lines.
@@ -1329,21 +1307,17 @@ actionsfile
      (192.168.0.0) and has another outside connection with a different address.
      You want it to serve requests from inside only:
    </para>
      (192.168.0.0) and has another outside connection with a different address.
      You want it to serve requests from inside only:
    </para>
-   <para>
     <programlisting>
   listen-address  192.168.0.1:8118
 </programlisting>
     <programlisting>
   listen-address  192.168.0.1:8118
 </programlisting>
-   </para>
    <para>
     Suppose you are running <application>Privoxy</application> on an
     IPv6-capable machine and you want it to listen on the IPv6 address
     of the loopback device:
    </para>
    <para>
     Suppose you are running <application>Privoxy</application> on an
     IPv6-capable machine and you want it to listen on the IPv6 address
     of the loopback device:
    </para>
-   <para>
     <programlisting>
   listen-address [::1]:8118
 </programlisting>
     <programlisting>
   listen-address [::1]:8118
 </programlisting>
-   </para>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -1790,49 +1764,39 @@ ACLs: permit-access and deny-access</title>
     is OK. The absence of a <replaceable class="parameter">dst_addr</replaceable> implies that
     <emphasis>all</emphasis> destination addresses are OK:
    </para>
     is OK. The absence of a <replaceable class="parameter">dst_addr</replaceable> implies that
     <emphasis>all</emphasis> destination addresses are OK:
    </para>
-   <para>
     <screen>
   permit-access  localhost
 </screen>
     <screen>
   permit-access  localhost
 </screen>
-   </para>
    <para>
     Allow any host on the same class C subnet as www.privoxy.org access to
     nothing but www.example.com (or other domains hosted on the same system):
    </para>
    <para>
     Allow any host on the same class C subnet as www.privoxy.org access to
     nothing but www.example.com (or other domains hosted on the same system):
    </para>
-   <para>
     <screen>
   permit-access  www.privoxy.org/24 www.example.com/32
 </screen>
     <screen>
   permit-access  www.privoxy.org/24 www.example.com/32
 </screen>
-   </para>
    <para>
     Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
     with the exception that 192.168.45.73 may not access the IP address behind
     www.dirty-stuff.example.com:
    </para>
    <para>
     Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
     with the exception that 192.168.45.73 may not access the IP address behind
     www.dirty-stuff.example.com:
    </para>
-   <para>
     <screen>
   permit-access  192.168.45.64/26
   deny-access    192.168.45.73    www.dirty-stuff.example.com
 </screen>
     <screen>
   permit-access  192.168.45.64/26
   deny-access    192.168.45.73    www.dirty-stuff.example.com
 </screen>
-   </para>
    <para>
      Allow access from the IPv4 network 192.0.2.0/24 even if listening on
      an IPv6 wild card address (not supported on all platforms):
    </para>
    <para>
      Allow access from the IPv4 network 192.0.2.0/24 even if listening on
      an IPv6 wild card address (not supported on all platforms):
    </para>
-   <para>
     <programlisting>
   permit-access  192.0.2.0/24
 </programlisting>
     <programlisting>
   permit-access  192.0.2.0/24
 </programlisting>
-   </para>
    <para>
      This is equivalent to the following line even if listening on an
      IPv4 address (not supported on all platforms):
    </para>
    <para>
      This is equivalent to the following line even if listening on an
      IPv4 address (not supported on all platforms):
    </para>
-   <para>
     <programlisting>
   permit-access  [::ffff:192.0.2.0]/120
 </programlisting>
     <programlisting>
   permit-access  [::ffff:192.0.2.0]/120
 </programlisting>
-   </para>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -2020,6 +1984,11 @@ ACLs: permit-access and deny-access</title>
     Requests are accepted if the specified trusted-cgi-refer is the prefix
     of the Referer.
    </para>
     Requests are accepted if the specified trusted-cgi-refer is the prefix
     of the Referer.
    </para>
+   <para>
+    If the trusted source is supposed to access the CGI pages via
+    JavaScript the <link linkend="cors-allowed-origin">cors-allowed-origin</link>
+    option can be used.
+   </para>
    <warning>
     <para>
      Declaring pages the admin doesn't control trustworthy may allow
    <warning>
     <para>
      Declaring pages the admin doesn't control trustworthy may allow
@@ -2031,7 +2000,75 @@ ACLs: permit-access and deny-access</title>
  </varlistentry>
 </variablelist>
 
  </varlistentry>
 </variablelist>
 
-<![%config-file;[<literallayout>@@trusted-cgi-referer http://www.example.org/local-privoxy-control-page</literallayout>]]>
+<![%config-file;[<literallayout>@@#trusted-cgi-referer http://www.example.org/local-privoxy-control-page</literallayout>]]>
+</sect3>
+
+
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 renderas="sect4" id="cors-allowed-origin"><title>cors-allowed-origin</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    A trusted website which can access &my-app;'s CGI pages through JavaScript.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>URL</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>Unset</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    No external sites get access via cross-origin resource sharing.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    Modern browsers by default prevent cross-origin requests made
+    via JavaScript to &my-app;'s CGI interface even if &my-app;
+    would trust the referer because it's white listed via the
+    <link linkend="trusted-cgi-referer">trusted-cgi-referer</link>
+    directive.
+   </para>
+   <para>
+    <ulink url="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing"
+     >Cross-origin resource sharing (CORS)</ulink> is a mechanism to allow
+    cross-origin requests.
+   </para>
+   <para>
+    The <quote>cors-allowed-origin</quote> option can be used to specify
+    a domain that is allowed to make requests to Privoxy CGI interface
+    via JavaScript. It is used in combination with the
+    <link linkend="trusted-cgi-referer">trusted-cgi-referer</link>
+    directive.
+   </para>
+   <warning>
+    <para>
+     Declaring domains the admin doesn't control trustworthy may allow
+     malicious third parties to modify Privoxy's internal state against
+     the user's wishes and without the user's knowledge.
+   </para>
+   </warning>
+  </listitem>
+ </varlistentry>
+</variablelist>
+
+<![%config-file;[<literallayout>@@#cors-allowed-origin http://www.example.org/</literallayout>]]>
 </sect3>
 
 </sect2>
 </sect3>
 
 </sect2>
@@ -2138,40 +2175,32 @@ ACLs: permit-access and deny-access</title>
    <para>
     Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
    </para>
    <para>
     Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
    </para>
-   <para>
     <screen>
   forward   /      parent-proxy.example.org:8080
   forward   :443   .
 </screen>
     <screen>
   forward   /      parent-proxy.example.org:8080
   forward   :443   .
 </screen>
-   </para>
    <para>
     Everything goes to our example ISP's caching proxy, except for requests
     to that ISP's sites:
    </para>
    <para>
     Everything goes to our example ISP's caching proxy, except for requests
     to that ISP's sites:
    </para>
-   <para>
     <screen>
   forward   /                  caching-proxy.isp.example.net:8000
   forward   .isp.example.net   .
 </screen>
     <screen>
   forward   /                  caching-proxy.isp.example.net:8000
   forward   .isp.example.net   .
 </screen>
-   </para>
    <para>
     Parent proxy specified by an IPv6 address:
    </para>
    <para>
     Parent proxy specified by an IPv6 address:
    </para>
-   <para>
     <programlisting>
   forward   /                   [2001:DB8::1]:8000
 </programlisting>
     <programlisting>
   forward   /                   [2001:DB8::1]:8000
 </programlisting>
-   </para>
    <para>
     Suppose your parent proxy doesn't support IPv6:
    </para>
    <para>
     Suppose your parent proxy doesn't support IPv6:
    </para>
-   <para>
     <programlisting>
   forward  /                        parent-proxy.example.org:8000
   forward  ipv6-server.example.org  .
   forward  &lt;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&gt;   .
 </programlisting>
     <programlisting>
   forward  /                        parent-proxy.example.org:8000
   forward  ipv6-server.example.org  .
   forward  &lt;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&gt;   .
 </programlisting>
-   </para>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -2198,7 +2227,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   <listitem>
    <para>
     <replaceable class="parameter">target_pattern</replaceable>
   <listitem>
    <para>
     <replaceable class="parameter">target_pattern</replaceable>
-    <replaceable class="parameter">socks_proxy</replaceable>[:<replaceable class="parameter">port</replaceable>]
+    [<replaceable class="parameter">user</replaceable>:<replaceable class="parameter">pass</replaceable>@]<replaceable class="parameter">socks_proxy</replaceable>[:<replaceable class="parameter">port</replaceable>]
     <replaceable class="parameter">http_parent</replaceable>[:<replaceable class="parameter">port</replaceable>]
    </para>
    <para>
     <replaceable class="parameter">http_parent</replaceable>[:<replaceable class="parameter">port</replaceable>]
    </para>
    <para>
@@ -2211,7 +2240,8 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     (<replaceable class="parameter">http_parent</replaceable>
     may be <quote>.</quote> to denote <quote>no HTTP forwarding</quote>), and the optional
     <replaceable class="parameter">port</replaceable> parameters are TCP ports,
     (<replaceable class="parameter">http_parent</replaceable>
     may be <quote>.</quote> to denote <quote>no HTTP forwarding</quote>), and the optional
     <replaceable class="parameter">port</replaceable> parameters are TCP ports,
-    i.e. integer values from 1 to 65535
+    i.e. integer values from 1 to 65535. <replaceable class="parameter">user</replaceable> and
+    <replaceable class="parameter">pass</replaceable> can be used for SOCKS5 authentication if required.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -2276,30 +2306,31 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
      their ISP's proxy by way of example.com's corporate SOCKS 4A gateway to
      the Internet.
    </para>
      their ISP's proxy by way of example.com's corporate SOCKS 4A gateway to
      the Internet.
    </para>
-   <para>
     <screen>
   forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
   forward           .example.com   .
 </screen>
     <screen>
   forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
   forward           .example.com   .
 </screen>
-   </para>
    <para>
     A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
    </para>
    <para>
     A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
    </para>
-   <para>
     <screen>
   forward-socks4   /               socks-gw.example.com:1080  .
 </screen>
     <screen>
   forward-socks4   /               socks-gw.example.com:1080  .
 </screen>
+
+   <para>
+    To connect SOCKS5 proxy which requires username/password authentication:
    </para>
    </para>
+    <screen>
+  forward-socks5   /               user:pass@socks-gw.example.com:1080  .
+</screen>
 
     <para>
     To chain Privoxy and Tor, both running on the same system, you would use
     something like:
    </para>
 
     <para>
     To chain Privoxy and Tor, both running on the same system, you would use
     something like:
    </para>
-   <para>
     <screen>
   forward-socks5t   /               127.0.0.1:9050 .
 </screen>
     <screen>
   forward-socks5t   /               127.0.0.1:9050 .
 </screen>
-   </para>
    <para>
     Note that if you got Tor through one of the bundles, you may
     have to change the port from 9050 to 9150 (or even another one).
    <para>
     Note that if you got Tor through one of the bundles, you may
     have to change the port from 9050 to 9150 (or even another one).
@@ -2311,13 +2342,11 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     reach your local network, if you need to access local servers you
     therefore might want to make some exceptions:
    </para>
     reach your local network, if you need to access local servers you
     therefore might want to make some exceptions:
    </para>
-   <para>
     <screen>
   forward         192.168.*.*/     .
     <screen>
   forward         192.168.*.*/     .
-  forward            10.*.*.*/     .
-  forward           127.*.*.*/     .
+  forward          10.*.*.*/       .
+  forward         127.*.*.*/       .
 </screen>
 </screen>
-   </para>
    <para>
     Unencrypted connections to systems in these address ranges will
     be as (un)secure as the local network is, but the alternative is that you
    <para>
     Unencrypted connections to systems in these address ranges will
     be as (un)secure as the local network is, but the alternative is that you
@@ -2330,11 +2359,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     using their names, you will need additional exceptions that look like
     this:
    </para>
     using their names, you will need additional exceptions that look like
     this:
    </para>
-   <para>
     <screen>
  forward           localhost/     .
 </screen>
     <screen>
  forward           localhost/     .
 </screen>
-   </para>
 
   </listitem>
  </varlistentry>
 
   </listitem>
  </varlistentry>
@@ -2362,23 +2389,19 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  host-a:
 </para>
 
  host-a:
 </para>
 
-<para>
  <screen>
   forward    /           .
   forward    .isp-b.example.net  host-b:8118
 </screen>
  <screen>
   forward    /           .
   forward    .isp-b.example.net  host-b:8118
 </screen>
-</para>
 
 <para>
  host-b:
 </para>
 
 
 <para>
  host-b:
 </para>
 
-<para>
  <screen>
   forward    /           .
   forward    .isp-a.example.org  host-a:8118
 </screen>
  <screen>
   forward    /           .
   forward    .isp-a.example.org  host-a:8118
 </screen>
-</para>
 
 <para>
  Now, your users can set their browser's proxy to use either
 
 <para>
  Now, your users can set their browser's proxy to use either
@@ -2397,7 +2420,6 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  run on the same box, your <application>squid</application> configuration could then look like this:
 </para>
 
  run on the same box, your <application>squid</application> configuration could then look like this:
 </para>
 
-<para>
  <screen>
   # Define Privoxy as parent proxy (without ICP)
   cache_peer 127.0.0.1 parent 8118 7 no-query
  <screen>
   # Define Privoxy as parent proxy (without ICP)
   cache_peer 127.0.0.1 parent 8118 7 no-query
@@ -2410,7 +2432,6 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
   # Forward all the rest to Privoxy
   never_direct allow all</screen>
 
   # Forward all the rest to Privoxy
   never_direct allow all</screen>
-</para>
 
 <para>
  You would then need to change your browser's proxy settings to <application>squid</application>'s address and port.
 
 <para>
  You would then need to change your browser's proxy settings to <application>squid</application>'s address and port.
@@ -2423,11 +2444,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  say, on <literal>antivir.example.com</literal>, port 8010:
 </para>
 
  say, on <literal>antivir.example.com</literal>, port 8010:
 </para>
 
-<para>
  <screen>
   forward   /                          .
   forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</screen>
  <screen>
   forward   /                          .
   forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</screen>
-</para>
 
 </sect3>
 ]]>
 
 </sect3>
 ]]>
@@ -3176,6 +3195,156 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 </sect3>
 
 
 </sect3>
 
 
+<sect3 renderas="sect4" id="listen-backlog"><title>listen-backlog</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Connection queue length requested from the operating system.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    <replaceable>Number.</replaceable>
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>128</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    A connection queue length of 128 is requested from the operating system.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    Under high load incoming connection may queue up before Privoxy
+    gets around to serve them. The queue length is limitted by the
+    operating system. Once the queue is full, additional connections
+    are dropped before Privoxy can accept and serve them.
+   </para>
+   <para>
+    Increasing the queue length allows Privoxy to accept more
+    incomming connections that arrive roughly at the same time.
+   </para>
+   <para>
+    Note that Privoxy can only request a certain queue length,
+    whether or not the requested length is actually used depends
+    on the operating system which may use a different length instead.
+   </para>
+   <para>
+    On many operating systems a limit of -1 can be specified to
+    instruct the operating system to use the maximum queue length
+    allowed. Check the listen man page to see if your platform allows this.
+   </para>
+   <para>
+    On some platforms you can use "netstat -Lan -p tcp" to see the effective
+    queue length.
+   </para>
+   <para>
+    Effectively using a value above 128 usually requires changing
+    the system configuration as well. On FreeBSD-based system the
+    limit is controlled by the kern.ipc.soacceptqueue sysctl.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    listen-backlog 4096
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#listen-backlog -1</literallayout>]]>
+</sect3>
+
+
+<sect3 renderas="sect4" id="enable-accept-filter"><title>enable-accept-filter</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Whether or not Privoxy should use an accept filter
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    <replaceable>0 or 1</replaceable>
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>0</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    No accept filter is enabled.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    Accept filters reduce the number of context switches by not
+    passing sockets for new connections to Privoxy until a complete
+    HTTP request is available.
+   </para>
+   <para>
+    As a result, Privoxy can process the whole request right away
+    without having to wait for additional data first.
+   </para>
+   <para>
+    For this option to work, Privoxy has to be compiled with
+    FEATURE_ACCEPT_FILTER and the operating system has to support
+    it (which may require loading a kernel module).
+   </para>
+   <para>
+    Currently accept filters are only supported on FreeBSD-based
+    systems. Check the
+    <ulink url="https://www.freebsd.org/cgi/man.cgi?query=accf_http">accf_http(9)
+     man page</ulink>
+    to learn how to enable the support in the operating system.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    enable-accept-filter 1
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#enable-accept-filter 1</literallayout>]]>
+</sect3>
+
+
 <sect3 renderas="sect4" id="handle-as-empty-doc-returns-ok"><title>handle-as-empty-doc-returns-ok</title>
 <variablelist>
  <varlistentry>
 <sect3 renderas="sect4" id="handle-as-empty-doc-returns-ok"><title>handle-as-empty-doc-returns-ok</title>
 <variablelist>
  <varlistentry>
@@ -3225,8 +3394,8 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
    <para>
     This directive was added as a work-around for Firefox bug 492459:
     <quote>Websites are no longer rendered if SSL requests for JavaScripts are blocked by a proxy.</quote>
    <para>
     This directive was added as a work-around for Firefox bug 492459:
     <quote>Websites are no longer rendered if SSL requests for JavaScripts are blocked by a proxy.</quote>
-    (<ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=492459"
-       >https://bugzilla.mozilla.org/show_bug.cgi?id=492459</ulink>),
+    (<ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=492459">
+                 https://bugzilla.mozilla.org/show_bug.cgi?id=492459</ulink>),
     the bug has been fixed for quite some time, but this directive is also useful
     to make it harder for websites to detect whether or not resources are being
     blocked.
     the bug has been fixed for quite some time, but this directive is also useful
     to make it harder for websites to detect whether or not resources are being
     blocked.
@@ -3345,20 +3514,20 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
-   <para>
     <screen>
     # Best speed (compared to the other levels)
     compression-level 1
     <screen>
     # Best speed (compared to the other levels)
     compression-level 1
+
     # Best compression
     compression-level 9
     # Best compression
     compression-level 9
+
     # No compression. Only useful for testing as the added header
     # slightly increases the amount of data that has to be sent.
     # If your benchmark shows that using this compression level
     # is superior to using no compression at all, the benchmark
     # is likely to be flawed.
     compression-level 0
     # No compression. Only useful for testing as the added header
     # slightly increases the amount of data that has to be sent.
     # If your benchmark shows that using this compression level
     # is superior to using no compression at all, the benchmark
     # is likely to be flawed.
     compression-level 0
-    </screen>
-   </para>
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3506,14 +3675,12 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
-   <para>
     <screen>
     # Define a couple of tags, the described effect requires action sections
     # that are enabled based on CLIENT-TAG patterns.
     client-specific-tag circumvent-blocks Overrule blocks but do not affect other actions
     disable-content-filters Disable content-filters but do not affect other actions
     <screen>
     # Define a couple of tags, the described effect requires action sections
     # that are enabled based on CLIENT-TAG patterns.
     client-specific-tag circumvent-blocks Overrule blocks but do not affect other actions
     disable-content-filters Disable content-filters but do not affect other actions
-    </screen>
-   </para>
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3571,12 +3738,10 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
-   <para>
     <screen>
       # Increase the time to life for temporarily enabled tags to 3 minutes
       client-tag-lifetime 180
     <screen>
       # Increase the time to life for temporarily enabled tags to 3 minutes
       client-tag-lifetime 180
-    </screen>
-   </para>
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3645,50 +3810,476 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
  <varlistentry>
   <term>Examples:</term>
   <listitem>
-   <para>
     <screen>
       # Allow systems that can reach Privoxy to provide the client
       # IP address with a X-Forwarded-For header.
       trust-x-forwarded-for 1
     <screen>
       # Allow systems that can reach Privoxy to provide the client
       # IP address with a X-Forwarded-For header.
       trust-x-forwarded-for 1
-    </screen>
-   </para>
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
 </sect3>
 
   </listitem>
  </varlistentry>
 </variablelist>
 </sect3>
 
-</sect2>
-
 <!--  ~  End section  ~  -->
 
 <!--   ~~~~~       New section      ~~~~~     -->
 
 <!--  ~  End section  ~  -->
 
 <!--   ~~~~~       New section      ~~~~~     -->
 
-<sect2 id="windows-gui">
-<title>Windows GUI Options</title>
-<para>
- <application>Privoxy</application> has a number of options specific to the
- Windows GUI interface:
-</para>
-
-<anchor id="activity-animation">
-<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
-<para>
- If <quote>activity-animation</quote> is set to 1, the
- <application>Privoxy</application> icon will animate when
- <quote>Privoxy</quote> is active. To turn off, set to 0.
-</para>
-
+<sect3 renderas="sect4" id="receive-buffer-size"><title>receive-buffer-size</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The size of the buffer Privoxy uses to receive data from the server.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    <replaceable>Size in bytes</replaceable>
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>5000</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    Increasing the receive-buffer-size increases Privoxy's memory usage but
+    can lower the number of context switches and thereby reduce the
+    cpu usage and potentially increase the throughput.
+   </para>
+   <para>
+    This is mostly relevant for fast network connections and
+    large downloads that don't require filtering.
+   </para>
+   <para>
+    Reducing the buffer size reduces the amount of memory Privoxy
+    needs to handle the request but increases the number of systemcalls
+    and may reduce the throughput.
+   </para>
+   <para>
+    A dtrace command like:
+    <quote>sudo dtrace -n 'syscall::read:return /execname == "privoxy"/ { @[execname] = llquantize(arg0, 10, 0, 5, 20); @m = max(arg0)}'</quote>
+    can be used to properly tune the receive-buffer-size.
+    On systems without dtrace, strace or truss may be used as
+    less convenient alternatives.
+   </para>
+   <para>
+    If the buffer is too large it will increase Privoxy's memory
+    footprint without any benefit. As the memory is (currently)
+    cleared before using it, a buffer that is too large can
+    actually reduce the throughput.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+    <screen>
+      # Increase the receive buffer size
+      receive-buffer-size 32768
+</screen>
+  </listitem>
+ </varlistentry>
+</variablelist>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+</sect2>
+
+
+<sect2 id="tls">
+<title>TLS/SSL</title>
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="ca-directory"><title>ca-directory</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Directory with the CA key, the CA certificate and the trusted CAs file.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>Empty string</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the directory where the
+    CA key, the CA certificate and the trusted CAs file
+    are located.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    ca-directory /usr/local/etc/privoxy/CA
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-directory /usr/local/etc/privoxy/CA</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="ca-cert-file"><title>ca-cert-file</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The CA certificate file in ".crt" format.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>cacert.crt</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the name of the CA certificate file
+    in ".crt" format.
+   </para>
+   <para>
+    It can be generated with: openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.crt -days 3650
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    ca-cert-file root.crt
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-cert-file cacert.crt</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="ca-key-file"><title>ca-key-file</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The CA key file in ".pem" format.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>cacert.pem</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the name of the CA key file
+    in ".pem" format. See the <ulink url="#CA-CERT-FILE">ca-cert-file</ulink>
+    for a command to generate it.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    ca-key-file cakey.pem
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-key-file root.pem</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="ca-password"><title>ca-password</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The password for the CA keyfile.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>Empty string</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the password for the CA keyfile
+    that is used when Privoxy generates certificates for intercepted
+    requests.
+   </para>
+   <para>
+     Note that the password is shown on the CGI page so don't
+     reuse an important one.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    ca-password blafasel
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-password swordfish</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="certificate-directory"><title>certificate-directory</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Directory to safe generated keys and certificates.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>./certs</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the directory where generated
+    TLS/SSL keys and certificates are saved.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    certificate-directory /usr/local/var/privoxy/certs
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#certificate-directory /usr/local/var/privoxy/certs</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="trusted-cas-file"><title>trusted-cas-file</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The trusted CAs file in ".pem" format.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    File name relative to ca-directory
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>trustedCAs.pem</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the trusted CAs file that is used when validating
+    certificates for intercepted TLS/SSL request.
+   </para>
+   <para>
+    An example file can be downloaded from
+    <ulink url="https://curl.haxx.se/ca/cacert.pem">https://curl.haxx.se/ca/cacert.pem</ulink>.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <para>
+    trusted-cas-file trusted_cas_file.pem
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#trusted-cas-file trustedCAs.pem</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+</sect2>
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect2 id="windows-gui">
+<title>Windows GUI Options</title>
+<para>
+ <application>Privoxy</application> has a number of options specific to the
+ Windows GUI interface:
+</para>
+
+<anchor id="activity-animation">
+<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
+<para>
+ If <quote>activity-animation</quote> is set to 1, the
+ <application>Privoxy</application> icon will animate when
+ <quote>Privoxy</quote> is active. To turn off, set to 0.
+</para>
+
 <![%config-file;[<literallayout>@@#activity-animation   1</literallayout>]]>
 <![%user-man;[
 <![%config-file;[<literallayout>@@#activity-animation   1</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>activity-animation   1</emphasis>
    <literallayout>
   <emphasis>activity-animation   1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-messages">
 ]]>
 
 <anchor id="log-messages">
@@ -3702,15 +4293,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-messages   1</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-messages   1</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-messages       1</emphasis>
    <literallayout>
   <emphasis>log-messages       1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-buffer-size">
 ]]>
 
 <anchor id="log-buffer-size">
@@ -3728,15 +4313,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-buffer-size 1</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-buffer-size 1</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-buffer-size      1</emphasis>
    <literallayout>
   <emphasis>log-buffer-size      1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-max-lines">
 ]]>
 
 <anchor id="log-max-lines">
@@ -3748,15 +4327,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-max-lines 200</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-max-lines 200</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-max-lines      200</emphasis>
    <literallayout>
   <emphasis>log-max-lines      200</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-highlight-messages">
 ]]>
 
 <anchor id="log-highlight-messages">
@@ -3769,15 +4342,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-highlight-messages 1</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-highlight-messages 1</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-highlight-messages   1</emphasis>
    <literallayout>
   <emphasis>log-highlight-messages   1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-font-name">
 ]]>
 
 <anchor id="log-font-name">
@@ -3788,15 +4355,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-font-name Comic Sans MS</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-font-name Comic Sans MS</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-font-name        Comic Sans MS</emphasis>
    <literallayout>
   <emphasis>log-font-name        Comic Sans MS</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-font-size">
 ]]>
 
 <anchor id="log-font-size">
@@ -3807,15 +4368,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-font-size 8</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-font-size 8</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-font-size        8</emphasis>
    <literallayout>
   <emphasis>log-font-size        8</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="show-on-task-bar">
 ]]>
 
 <anchor id="show-on-task-bar">
@@ -3828,15 +4383,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#show-on-task-bar 0</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#show-on-task-bar 0</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>show-on-task-bar     0</emphasis>
    <literallayout>
   <emphasis>show-on-task-bar     0</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="close-button-minimizes">
 ]]>
 
 <anchor id="close-button-minimizes">
@@ -3849,15 +4398,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#close-button-minimizes 1</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#close-button-minimizes 1</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>close-button-minimizes  1</emphasis>
    <literallayout>
   <emphasis>close-button-minimizes  1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="hide-console">
 ]]>
 
 <anchor id="hide-console">
@@ -3871,15 +4414,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#hide-console</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#hide-console</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   #<emphasis>hide-console</emphasis>
    <literallayout>
   #<emphasis>hide-console</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 </sect2>
 ]]>
 
 </sect2>