Add documentation for external filters
[privoxy.git] / doc / source / p-config.sgml
index 8e5799e..d8d9fb3 100644 (file)
@@ -3,7 +3,7 @@
 
  Purpose     :  Used with other docs and files only.
 
- $Id: p-config.sgml,v 2.93 2013/01/09 15:02:47 fabiankeil Exp $
+ $Id: p-config.sgml,v 2.104 2014/05/05 09:59:30 fabiankeil Exp $
 
  Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
  See LICENSE.
 <sect1 id="config">
 <title>
  @@TITLE<!-- between the @@ is stripped by Makefile -->@@
- Sample Configuration File for Privoxy v&p-version;
+ Sample Configuration File for Privoxy &p-version;
 </title>
 <para>
- $Id: p-config.sgml,v 2.93 2013/01/09 15:02:47 fabiankeil Exp $
+ $Id: p-config.sgml,v 2.104 2014/05/05 09:59:30 fabiankeil Exp $
 </para>
 <para>
 Copyright (C) 2001-2013 Privoxy Developers http://www.privoxy.org/
@@ -117,7 +117,8 @@ Copyright (C) 2001-2013 Privoxy Developers http://www.privoxy.org/
       3. DEBUGGING                                              #
       4. ACCESS CONTROL AND SECURITY                            #
       5. FORWARDING                                             #
-      6. WINDOWS GUI OPTIONS                                    #
+      6. MISCELLANEOUS                                          #
+      7. WINDOWS GUI OPTIONS                                    #
                                                                 #
 #################################################################
  </literallayout>
@@ -533,16 +534,6 @@ II. FORMAT OF THE CONFIGURATION FILE
    <para>
     No trailing <quote><literal>/</literal></quote>, please.
    </para>
-  <!--
-   This is really outdated and not likely to happen. HB 09/20/06
-   <para>
-    When development goes modular and multi-user, the blocker, filter, and
-    per-user config will be stored in subdirectories of <quote>confdir</quote>.
-    For now, the configuration directory structure is flat, except for
-    <filename>confdir/templates</filename>, where the HTML templates for CGI
-    output reside (e.g. <application>Privoxy's</application> 404 error page).
-   </para>
-  -->
   </listitem>
  </varlistentry>
 </variablelist>
@@ -597,6 +588,55 @@ II. FORMAT OF THE CONFIGURATION FILE
 </sect3>
 
 
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 renderas="sect4" id="temporary-directory"><title>temporary-directory</title>
+
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>A directory where Privoxy can create temporary files.</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>Path name</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>unset</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>No temporary files are created, external filters don't work.</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    To execute <literal><ulink url="actions-file.html#EXTERNAL-FILTER">external filters</ulink></literal>,
+    <application>Privoxy</application> has to create temporary files.
+    This directive specifies the directory the temporary files should
+    be written to.
+   </para>
+   <para>
+    It should be a directory only <application>Privoxy</application>
+    (and trusted users) can access.
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+
+<![%config-file;[<literallayout>@@#temporary-directory .</literallayout>]]>
+</sect3>
+
+
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect3 renderas="sect4" id="logdir"><title>logdir</title>
 
@@ -1083,13 +1123,13 @@ actionsfile
  <varlistentry>
   <term>Type of value:</term>
   <listitem>
-   <para><emphasis>None</emphasis></para>
+   <para><emphasis>1 or 0</emphasis></para>
   </listitem>
  </varlistentry>
  <varlistentry>
   <term>Default value:</term>
   <listitem>
-   <para><emphasis>Unset</emphasis></para>
+   <para><emphasis>0</emphasis></para>
   </listitem>
  </varlistentry>
  <varlistentry>
@@ -1112,7 +1152,7 @@ actionsfile
  </varlistentry>
 </variablelist>
 
-<![%config-file;[<literallayout>@@#single-threaded</literallayout>]]>
+<![%config-file;[<literallayout>@@#single-threaded 1</literallayout>]]>
 </sect3>
 
 <!--   ~~~~~       New section      ~~~~~     -->
@@ -1870,6 +1910,67 @@ ACLs: permit-access and deny-access</title>
 <![%config-file;[<literallayout>@@buffer-limit 4096</literallayout>]]>
 </sect3>
 
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 renderas="sect4" id="enable-proxy-authentication-forwarding"><title>enable-proxy-authentication-forwarding</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Whether or not proxy authentication through &my-app; should work.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>0 or 1</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>0</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Proxy authentication headers are removed.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    Privoxy itself does not support proxy authentication, but can
+    allow clients to authenticate against Privoxy's parent proxy.
+   </para>
+   <para>
+    By default Privoxy (3.0.21 and later) don't do that and remove
+    Proxy-Authorization headers in requests and Proxy-Authenticate
+    headers in responses to make it harder for malicious sites to
+    trick inexperienced users into providing login information.
+   </para>
+   <para>
+    If this option is enabled the headers are forwarded.
+   </para>
+   <para>
+    Enabling this option is <emphasis>not recommended</emphasis> if there is
+    no parent proxy that requires authentication or if the local network between
+    Privoxy and the parent proxy isn't trustworthy. If proxy authentication is
+    only required for some requests, it is recommended to use a client header filter
+    to remove the authentication headers for requests where they aren't needed.
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+
+<![%config-file;[<literallayout>@@enable-proxy-authentication-forwarding 0</literallayout>]]>
+</sect3>
+
 </sect2>
 
 <!--  ~  End section  ~  -->
@@ -2133,7 +2234,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
    </para>
    <para>
     <screen>
-  forward-socks5   /               127.0.0.1:9050 .
+  forward-socks5t   /               127.0.0.1:9050 .
 </screen>
    </para>
 
@@ -2374,6 +2475,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     option and configure your packet filter to redirect outgoing
     HTTP connections into <application>Privoxy</application>.
    </para>
+   <para>
+    Note that intercepting encrypted connections (HTTPS) isn't supported.
+   </para>
    <para>
     Make sure that <application>Privoxy's</application> own requests
     aren't redirected as well. Additionally take care that
@@ -2931,7 +3035,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Default value:</term>
   <listitem>
-   <para>None</para>
+   <para>128</para>
   </listitem>
  </varlistentry>
  <varlistentry>
@@ -2976,6 +3080,13 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     Obviously using this option only makes sense if you choose a limit
     below the one enforced by the operating system.
    </para>
+   <para>
+    One most POSIX-compliant systems &my-app; can't properly deal with
+    more than FD_SETSIZE file descriptors at the same time and has to reject
+    connections if the limit is reached. This will likely change in a
+    future version, but currently this limit can't be increased without
+    recompiling &my-app; with a different FD_SETSIZE limit.
+   </para>
   </listitem>
  </varlistentry>
  <varlistentry>
@@ -3237,8 +3348,10 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  Accept \
  Accept-Language \
  Accept-Encoding \
- Proxy-Connection,\
- Referer,Cookie \
+ Proxy-Connection \
+ Referer \
+ Cookie \
+ DNT \
  If-Modified-Since \
  Cache-Control \
  Content-Length \