Sync generated html with sgml source.
[privoxy.git] / doc / webserver / user-manual / config.html
index 7d68900..6214cb8 100644 (file)
@@ -1,13 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
 <HTML
 ><HEAD
 ><TITLE
 >The Main Configuration File</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="Privoxy 3.0.6 User Manual"
+TITLE="Privoxy 3.0.7 User Manual"
 HREF="index.html"><LINK
 REL="PREVIOUS"
 TITLE="Privoxy Configuration"
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->Privoxy 3.0.6 User Manual</TH
+>Privoxy 3.0.7 User Manual</TH
 ></TR
 ><TR
 ><TD
@@ -76,8 +76,8 @@ CLASS="SECT1"
 CLASS="SECT1"
 ><A
 NAME="CONFIG"
-></A
->7. The Main Configuration File</H1
+>7. The Main Configuration File</A
+></H1
 ><P
 > Again, the main configuration file is named <TT
 CLASS="FILENAME"
@@ -141,8 +141,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="LOCAL-SET-UP"
-></A
->7.1. Local Set-up Documentation</H2
+>7.1. Local Set-up Documentation</A
+></H2
 ><P
 >    If you intend to operate <SPAN
 CLASS="APPLICATION"
@@ -157,8 +157,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="USER-MANUAL"
-></A
->7.1.1. user-manual</H4
+>7.1.1. user-manual</A
+></H4
 ><P
 ></P
 ><DIV
@@ -332,8 +332,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="TRUST-INFO-URL"
-></A
->7.1.2. trust-info-url</H4
+>7.1.2. trust-info-url</A
+></H4
 ><P
 ></P
 ><DIV
@@ -356,7 +356,7 @@ CLASS="VARIABLELIST"
 >Default value:</DT
 ><DD
 ><P
->Two example URL are provided</P
+>Two example URLs are provided</P
 ></DD
 ><DT
 >Effect if unset:</DT
@@ -400,8 +400,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="ADMIN-ADDRESS"
-></A
->7.1.3. admin-address</H4
+>7.1.3. admin-address</A
+></H4
 ><P
 ></P
 ><DIV
@@ -463,8 +463,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="PROXY-INFO-URL"
-></A
->7.1.4. proxy-info-url</H4
+>7.1.4. proxy-info-url</A
+></H4
 ><P
 ></P
 ><DIV
@@ -534,8 +534,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="CONF-LOG-LOC"
-></A
->7.2. Configuration and Log File Locations</H2
+>7.2. Configuration and Log File Locations</A
+></H2
 ><P
 > <SPAN
 CLASS="APPLICATION"
@@ -560,8 +560,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="CONFDIR"
-></A
->7.2.1. confdir</H4
+>7.2.1. confdir</A
+></H4
 ><P
 ></P
 ><DIV
@@ -627,9 +627,59 @@ CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
+NAME="TEMPLDIR"
+>7.2.2. templdir</A
+></H4
+><P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>Specifies:</DT
+><DD
+><P
+>An alternative directory where the templates are loaded from</P
+></DD
+><DT
+>Type of value:</DT
+><DD
+><P
+>Path name</P
+></DD
+><DT
+>Default value:</DT
+><DD
+><P
+>unset</P
+></DD
+><DT
+>Effect if unset:</DT
+><DD
+><P
+>The templates are assumed to be located in confdir/template.</P
+></DD
+><DT
+>Notes:</DT
+><DD
+><P
+>    Privoxy's original templates are usually overwritten
+    with each update. Use this option to relocate customized templates
+    that should be kept. Note that you might be missing new features
+    if you use outdated templates.
+   </P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H4
+CLASS="SECT3"
+><A
 NAME="LOGDIR"
-></A
->7.2.2. logdir</H4
+>7.2.3. logdir</A
+></H4
 ><P
 ></P
 ><DIV
@@ -704,8 +754,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="ACTIONSFILE"
-></A
->7.2.3. actionsfile</H4
+>7.2.4. actionsfile</A
+></H4
 ><A
 NAME="DEFAULT.ACTION"
 ></A
@@ -734,13 +784,10 @@ HREF="actions-file.html"
 >Type of value:</DT
 ><DD
 ><P
->File name, relative to <TT
+>Complete file name, relative to <TT
 CLASS="LITERAL"
 >confdir</TT
->, without the <TT
-CLASS="LITERAL"
->.action</TT
-> suffix</P
+></P
 ></DD
 ><DT
 >Default values:</DT
@@ -754,7 +801,7 @@ BORDER="0"
 ><TD
 >     <P
 CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;standard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Internal&nbsp;purposes,&nbsp;no&nbsp;editing&nbsp;recommended</P
+>&nbsp;&nbsp;standard.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Internal&nbsp;purposes,&nbsp;no&nbsp;editing&nbsp;recommended</P
 >
     </TD
 ></TR
@@ -762,7 +809,7 @@ CLASS="LITERALLAYOUT"
 ><TD
 >     <P
 CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Main&nbsp;actions&nbsp;file</P
+>&nbsp;&nbsp;default.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Main&nbsp;actions&nbsp;file</P
 >
     </TD
 ></TR
@@ -770,7 +817,7 @@ CLASS="LITERALLAYOUT"
 ><TD
 >     <P
 CLASS="LITERALLAYOUT"
->&nbsp;&nbsp;user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;User&nbsp;customizations</P
+>&nbsp;&nbsp;user.action&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;User&nbsp;customizations</P
 >
     </TD
 ></TR
@@ -783,7 +830,7 @@ CLASS="LITERALLAYOUT"
 >Effect if unset:</DT
 ><DD
 ><P
->    No actions are taken at all. Simple neutral proxying. 
+>    No actions are taken at all. More or less neutral proxying. 
    </P
 ></DD
 ><DT
@@ -818,6 +865,14 @@ CLASS="APPLICATION"
 > without at 
     least one actions file.
    </P
+><P
+>    Note that since Privoxy 3.0.7, the complete filename, including the <SPAN
+CLASS="QUOTE"
+>".action"</SPAN
+>
+    extension has to be specified.  The syntax change was necessary to be consistent
+    with the other file options and to allow previously forbidden characters.
+   </P
 ></DD
 ></DL
 ></DIV
@@ -828,8 +883,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="FILTERFILE"
-></A
->7.2.4. filterfile</H4
+>7.2.5. filterfile</A
+></H4
 ><A
 NAME="DEFAULT.FILTER"
 ></A
@@ -966,8 +1021,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="LOGFILE"
-></A
->7.2.5. logfile</H4
+>7.2.6. logfile</A
+></H4
 ><P
 ></P
 ><DIV
@@ -993,7 +1048,13 @@ CLASS="LITERAL"
 >Default value:</DT
 ><DD
 ><P
->logfile (Unix) <SPAN
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Unset (commented out)</I
+></SPAN
+>. When activated: logfile (Unix) <SPAN
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
@@ -1025,7 +1086,9 @@ CLASS="LITERAL"
 CLASS="APPLICATION"
 >Privoxy</SPAN
 > (e.g., it's not blocking an ad you
-    think it should block) but in most cases you probably will never look at it.
+    think it should block) but in most cases you probably will never look at
+    it. For this reason, it is disabled by default. For troubleshooting
+    purposes, you will have to explicitly enable it.
    </P
 ><P
 >    Your logfile will grow indefinitely, and you will probably want to
@@ -1033,11 +1096,11 @@ CLASS="APPLICATION"
     (see <SPAN
 CLASS="QUOTE"
 >"man cron"</SPAN
->). For Red Hat, a <B
+>). For Red Hat based Linux distributions, a
+    <B
 CLASS="COMMAND"
 >logrotate</B
-> 
-    script has been included.
+> script has been included.
    </P
 ><P
 >    On SuSE Linux systems, you can place a line like <SPAN
@@ -1071,8 +1134,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="JARFILE"
-></A
->7.2.6. jarfile</H4
+>7.2.7. jarfile</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1098,7 +1161,13 @@ CLASS="LITERAL"
 >Default value:</DT
 ><DD
 ><P
->Unset (commented out). When activated: jarfile (Unix) <SPAN
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Unset (commented out)</I
+></SPAN
+>. When activated: jarfile (Unix) <SPAN
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
@@ -1133,8 +1202,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="TRUSTFILE"
-></A
->7.2.7. trustfile</H4
+>7.2.8. trustfile</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1282,8 +1351,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="DEBUGGING"
-></A
->7.3. Debugging</H2
+>7.3. Debugging</A
+></H2
 ><P
 >  These options are mainly useful when tracing a problem.
   Note that you might also want to invoke
@@ -1302,8 +1371,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="DEBUG"
-></A
->7.3.1. debug</H4
+>7.3.1. debug</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1364,10 +1433,10 @@ CLASS="PROGRAMLISTING"
   debug         2 # show each connection status
   debug         4 # show I/O status
   debug         8 # show header parsing
-  debug        16 # log all data into the logfile
+  debug        16 # log all data written to the network into the logfile
   debug        32 # debug force feature
-  debug        64 # debug regular expression filter
-  debug       128 # debug fast redirects
+  debug        64 # debug regular expression filters
+  debug       128 # debug redirects
   debug       256 # debug GIF de-animation
   debug       512 # Common Log Format
   debug      1024 # debug kill pop-ups
@@ -1407,11 +1476,11 @@ CLASS="emphasis"
 CLASS="EMPHASIS"
 >fatal</I
 ></SPAN
-> errors (i.e. ones which crash 
+> errors (i.e. ones which causes 
     <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
->) is always on and cannot be disabled.
+> to exit) is always on and cannot be disabled.
    </P
 ><P
 >    If you want to use CLF (Common Log Format), you should set <SPAN
@@ -1426,6 +1495,17 @@ CLASS="EMPHASIS"
 ></SPAN
 > and not enable anything else.
    </P
+><P
+>    <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> has a hard-coded limit for the
+    length of log messages. If it's reached, messages are logged truncated
+    and marked with <SPAN
+CLASS="QUOTE"
+>"... [too long, truncated]"</SPAN
+>.
+   </P
 ></DD
 ></DL
 ></DIV
@@ -1436,8 +1516,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="SINGLE-THREADED"
-></A
->7.3.2. single-threaded</H4
+>7.3.2. single-threaded</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1506,8 +1586,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="ACCESS-CONTROL"
-></A
->7.4. Access Control and Security</H2
+>7.4. Access Control and Security</A
+></H2
 ><P
 >  This section of the config file controls the security-relevant aspects
   of <SPAN
@@ -1521,8 +1601,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="LISTEN-ADDRESS"
-></A
->7.4.1. listen-address</H4
+>7.4.1. listen-address</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1655,8 +1735,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="TOGGLE"
-></A
->7.4.2. toggle</H4
+>7.4.2. toggle</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1699,8 +1779,8 @@ CLASS="APPLICATION"
     <SPAN
 CLASS="QUOTE"
 >"toggled off"</SPAN
-> mode, i.e. behave like a normal, content-neutral
-    proxy where all ad blocking, filtering, etc are disabled. See
+> mode, i.e. mostly behave like a normal,
+    content-neutral proxy where all ad blocking, filtering, etc are disabled. See
     <TT
 CLASS="LITERAL"
 >enable-remote-toggle</TT
@@ -1729,8 +1809,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="ENABLE-REMOTE-TOGGLE"
-></A
->7.4.3. enable-remote-toggle</H4
+>7.4.3. enable-remote-toggle</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1758,7 +1838,7 @@ TARGET="_top"
 >Default value:</DT
 ><DD
 ><P
->1</P
+>0</P
 ></DD
 ><DT
 >Effect if unset:</DT
@@ -1774,12 +1854,12 @@ TARGET="_top"
 >    When toggled off, <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
-> acts like a normal,
+> mostly acts like a normal,
     content-neutral proxy, i.e. it acts as if none of the actions applied to
     any URL.
    </P
 ><P
->    For the time being, access to the toggle feature can <SPAN
+>    Access to the toggle feature can <SPAN
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
@@ -1808,7 +1888,14 @@ CLASS="EMPHASIS"
 >not recommended</I
 ></SPAN
 >
-    for multi-user environments with untrusted users.
+    for multi-user environments with untrusted users. Because of 
+    the obvious security implications, this feature is off by default.
+    Note that malicious client side code (e.g JavaScript) is also potentially
+    capable of changing <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> intended
+    behavior.
    </P
 ><P
 >    Note that you must have compiled <SPAN
@@ -1827,8 +1914,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="ENABLE-REMOTE-HTTP-TOGGLE"
-></A
->7.4.4. enable-remote-http-toggle</H4
+>7.4.4. enable-remote-http-toggle</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1851,7 +1938,7 @@ CLASS="VARIABLELIST"
 >Default value:</DT
 ><DD
 ><P
->1</P
+>0</P
 ></DD
 ><DT
 >Effect if unset:</DT
@@ -1876,13 +1963,17 @@ CLASS="QUOTE"
     the ongoing request, even if it is enabled in one of the action files.
    </P
 ><P
->    If you are using <SPAN
+>    This feature is disabled by default. If you are using
+    <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
-> in a
-    multi-user environment or with untrustworthy clients and want to
-    enforce filtering, you will have to disable this option,
-    otherwise you can ignore it. 
+> in a environment with trusted clients,
+    you may enable this feature at your discretion. Note that malicious client
+    side code (e.g JavaScript) is also potentially capable of changing
+    <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> intended behavior.
    </P
 ></DD
 ></DL
@@ -1894,8 +1985,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="ENABLE-EDIT-ACTIONS"
-></A
->7.4.5. enable-edit-actions</H4
+>7.4.5. enable-edit-actions</A
+></H4
 ><P
 ></P
 ><DIV
@@ -1923,7 +2014,7 @@ TARGET="_top"
 >Default value:</DT
 ><DD
 ><P
->1</P
+>0</P
 ></DD
 ><DT
 >Effect if unset:</DT
@@ -1936,7 +2027,7 @@ TARGET="_top"
 >Notes:</DT
 ><DD
 ><P
->    For the time being, access to the editor can <SPAN
+>    Access to the editor can <SPAN
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
@@ -1958,14 +2049,20 @@ CLASS="QUOTE"
 CLASS="LITERAL"
 >listen-address</TT
 > above) can
-    modify its configuration for all users. So this option is <SPAN
+    modify its configuration for all users. This option is <SPAN
 CLASS="emphasis"
 ><I
 CLASS="EMPHASIS"
 >not
     recommended</I
 ></SPAN
-> for multi-user environments with untrusted users.
+> for multi-user environments with untrusted users 
+    and is therefore disabled by default. Note that malicious client side code
+    (e.g JavaScript) is also potentially capable of changing
+    <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> intended behavior.
    </P
 ><P
 >    Note that you must have compiled <SPAN
@@ -1983,9 +2080,134 @@ CLASS="SECT3"
 ><H4
 CLASS="SECT3"
 ><A
+NAME="ENFORCE-BLOCKS"
+>7.4.6. enforce-blocks</A
+></H4
+><P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>Specifies:</DT
+><DD
+><P
+>    Whether the user is allowed to ignore blocks and can <SPAN
+CLASS="QUOTE"
+>"go there anyway"</SPAN
+>.
+   </P
+></DD
+><DT
+>Type of value:</DT
+><DD
+><P
+>    <TT
+CLASS="REPLACEABLE"
+><I
+>0 or 1</I
+></TT
+>
+   </P
+></DD
+><DT
+>Default value:</DT
+><DD
+><P
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>0</I
+></SPAN
+></P
+></DD
+><DT
+>Effect if unset:</DT
+><DD
+><P
+>    Blocks are not enforced.
+   </P
+></DD
+><DT
+>Notes:</DT
+><DD
+><P
+>    <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> is mainly used to block and filter
+    requests as a service to the user, for example to block ads and other
+    junk that clogs the pipes. <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> configuration
+    isn't perfect and sometimes innocent pages are blocked. In this situation it
+    makes sense to allow the user to enforce the request and have
+    <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> ignore the block.
+   </P
+><P
+>    In the default configuration <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+>
+    <SPAN
+CLASS="QUOTE"
+>"Blocked"</SPAN
+> page contains a <SPAN
+CLASS="QUOTE"
+>"go there anyway"</SPAN
+>
+    link to adds a special string (the force prefix) to the request URL.
+    If that link is used, <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> will
+    detect the force prefix, remove it again and let the request pass.
+   </P
+><P
+>    Of course <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> can also be used to enforce
+    a network policy. In that case the user obviously should not be able to
+    bypass any blocks, and that's what the <SPAN
+CLASS="QUOTE"
+>"enforce-blocks"</SPAN
+>
+    option is for. If it's enabled, <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> hides
+    the <SPAN
+CLASS="QUOTE"
+>"go there anyway"</SPAN
+> link. If the user adds the force
+    prefix by hand, it will not be accepted and the circumvention attempt
+    is logged.
+   </P
+></DD
+><DT
+>Examples:</DT
+><DD
+><P
+>    enforce-blocks 1
+   </P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H4
+CLASS="SECT3"
+><A
 NAME="ACLS"
-></A
->7.4.6. ACLs: permit-access and deny-access</H4
+>7.4.7. ACLs: permit-access and deny-access</A
+></H4
 ><A
 NAME="PERMIT-ACCESS"
 ></A
@@ -2119,11 +2341,11 @@ CLASS="EMPHASIS"
    </P
 ><P
 >    Multiple ACL lines are OK.
-    If any ACLs are specified, then the <SPAN
+    If any ACLs are specified, <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
->
-    talks only to IP addresses that match at least one <TT
+> only talks
+    to IP addresses that match at least one <TT
 CLASS="LITERAL"
 >permit-access</TT
 > line
@@ -2181,7 +2403,8 @@ CLASS="QUOTE"
    </P
 ><P
 >    Denying access to particular sites by ACL may have undesired side effects
-    if the site in question is hosted on a machine which also hosts other sites.
+    if the site in question is hosted on a machine which also hosts other sites
+    (most sites are).
    </P
 ></DD
 ><DT
@@ -2227,7 +2450,7 @@ CLASS="SCREEN"
    </P
 ><P
 >    Allow any host on the same class C subnet as www.privoxy.org access to
-    nothing but www.example.com:
+    nothing but www.example.com (or other domains hosted on the same system):
    </P
 ><P
 >    <TABLE
@@ -2246,7 +2469,8 @@ CLASS="SCREEN"
    </P
 ><P
 >    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 www.dirty-stuff.example.com:
+    with the exception that 192.168.45.73 may not access the IP address behind
+    www.dirty-stuff.example.com:
    </P
 ><P
 >    <TABLE
@@ -2274,8 +2498,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="BUFFER-LIMIT"
-></A
->7.4.7. buffer-limit</H4
+>7.4.8. buffer-limit</A
+></H4
 ><P
 ></P
 ><DIV
@@ -2361,19 +2585,29 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="FORWARDING"
-></A
->7.5. Forwarding</H2
+>7.5. Forwarding</A
+></H2
 ><P
 > This feature allows routing of HTTP requests through a chain of
- multiple proxies.
- It can be used to better protect privacy and confidentiality when
- accessing specific domains by routing requests to those domains
- through an anonymous public proxy. Or to use a caching proxy to speed up browsing. Or chaining to a parent
proxy may be necessary because the machine that <SPAN
+ multiple proxies.</P
+><P
+> Forwarding can be used to chain Privoxy with a caching proxy to speed
+ up browsing. Using a parent proxy may also be necessary if the machine
+ that <SPAN
 CLASS="APPLICATION"
 >Privoxy</SPAN
+> runs on has no direct Internet access.</P
+><P
+> Note that parent proxies can severely decrease your privacy level.
+ For example a parent proxy could add your IP address to the request
+ headers and if it's a caching proxy it may add the <SPAN
+CLASS="QUOTE"
+>"Etag"</SPAN
 >
- runs on has no direct Internet access.</P
+ header to revalidation requests again, even though you configured Privoxy
+ to remove it. It may also ignore Privoxy's header time randomization and use the
+ original values which could be used by the server as cookie replacement
+ to track your steps between visits.</P
 ><P
 > Also specified here are SOCKS proxies. <SPAN
 CLASS="APPLICATION"
@@ -2386,8 +2620,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="FORWARD"
-></A
->7.5.1. forward</H4
+>7.5.1. forward</A
+></H4
 ><P
 ></P
 ><DIV
@@ -2504,7 +2738,7 @@ CLASS="QUOTE"
 >Examples:</DT
 ><DD
 ><P
->    Everything goes to an example anonymizing proxy, except SSL on port 443 (which it doesn't handle):
+>    Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
    </P
 ><P
 >    <TABLE
@@ -2515,7 +2749,7 @@ WIDTH="90%"
 ><TD
 ><PRE
 CLASS="SCREEN"
->  forward   /      anon-proxy.example.org:8080
+>  forward   /      parent-proxy.example.org:8080
   forward   :443   .</PRE
 ></TD
 ></TR
@@ -2552,8 +2786,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="SOCKS"
-></A
->7.5.2. forward-socks4 and forward-socks4a</H4
+>7.5.2. forward-socks4 and forward-socks4a</A
+></H4
 ><A
 NAME="FORWARD-SOCKS4"
 ></A
@@ -2569,7 +2803,7 @@ CLASS="VARIABLELIST"
 >Specifies:</DT
 ><DD
 ><P
->    Through which SOCKS proxy (and to which parent HTTP proxy) specific requests should be routed.
+>    Through which SOCKS proxy (and optionally to which parent HTTP proxy) specific requests should be routed.
    </P
 ></DD
 ><DT
@@ -2829,8 +3063,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="ADVANCED-FORWARDING-EXAMPLES"
-></A
->7.5.3. Advanced Forwarding Examples</H4
+>7.5.3. Advanced Forwarding Examples</A
+></H4
 ><P
 > If you have links to multiple ISPs that provide various special content 
  only to their subscribers, you can configure multiple <SPAN
@@ -2979,8 +3213,8 @@ CLASS="SECT3"
 CLASS="SECT3"
 ><A
 NAME="FORWARDED-CONNECT-RETRIES"
-></A
->7.5.4. forwarded-connect-retries</H4
+>7.5.4. forwarded-connect-retries</A
+></H4
 ><P
 ></P
 ><DIV
@@ -3021,7 +3255,7 @@ CLASS="EMPHASIS"
 >Effect if unset:</DT
 ><DD
 ><P
->    Forwarded connections are treated like direct connections and no retry attempts are made.
+>    Connections forwarded through other proxies are treated like direct connections and no retry attempts are made.
    </P
 ></DD
 ><DT
@@ -3034,12 +3268,22 @@ CLASS="REPLACEABLE"
 >forwarded-connect-retries</I
 ></TT
 > is mainly interesting
-    for socks4a connections, where Privoxy can't detect why the connections failed.
+    for socks4a connections, where <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> can't detect why the connections failed.
     The connection might have failed because of a DNS timeout in which case a retry makes sense,
     but it might also have failed because the server doesn't exist or isn't reachable. In this
     case the retry will just delay the appearance of Privoxy's error message.
    </P
 ><P
+>    Note that in the context of this option, <SPAN
+CLASS="QUOTE"
+>"forwarded connections"</SPAN
+> includes all connections
+    that Privoxy forwards through other proxies. This option is not limited to the HTTP CONNECT method.
+   </P
+><P
 >    Only use this option, if you are getting many forwarding related error messages,
     that go away when you try again manually. Start with a small value and check Privoxy's
     logfile from time to time, to see how many retries are usually needed.
@@ -3055,6 +3299,272 @@ CLASS="REPLACEABLE"
 ></DL
 ></DIV
 ></DIV
+><DIV
+CLASS="SECT3"
+><H4
+CLASS="SECT3"
+><A
+NAME="ACCEPT-INTERCEPTED-REQUESTS"
+>7.5.5. accept-intercepted-requests</A
+></H4
+><P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>Specifies:</DT
+><DD
+><P
+>    Whether intercepted requests should be treated as valid.
+   </P
+></DD
+><DT
+>Type of value:</DT
+><DD
+><P
+>    <TT
+CLASS="REPLACEABLE"
+><I
+>0 or 1</I
+></TT
+>
+   </P
+></DD
+><DT
+>Default value:</DT
+><DD
+><P
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>0</I
+></SPAN
+></P
+></DD
+><DT
+>Effect if unset:</DT
+><DD
+><P
+>    Only proxy requests are accepted, intercepted requests are treated as invalid.
+   </P
+></DD
+><DT
+>Notes:</DT
+><DD
+><P
+>    If you don't trust your clients and want to force them
+    to use <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+>, enable this
+    option and configure your packet filter to redirect outgoing
+    HTTP connections into <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+>. 
+   </P
+><P
+>    Make sure that <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> own requests
+    aren't redirected as well. Additionally take care that
+    <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> can't intentionally connect
+    to itself, otherwise you could run into redirection loops if
+    <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> listening port is reachable
+    by the outside or an attacker has access to the pages you visit.
+   </P
+></DD
+><DT
+>Examples:</DT
+><DD
+><P
+>    accept-intercepted-requests 1
+   </P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H4
+CLASS="SECT3"
+><A
+NAME="ALLOW-CGI-REQUEST-CRUNCHING"
+>7.5.6. allow-cgi-request-crunching</A
+></H4
+><P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>Specifies:</DT
+><DD
+><P
+>    Whether requests to <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> CGI pages can be blocked or redirected.
+   </P
+></DD
+><DT
+>Type of value:</DT
+><DD
+><P
+>    <TT
+CLASS="REPLACEABLE"
+><I
+>0 or 1</I
+></TT
+>
+   </P
+></DD
+><DT
+>Default value:</DT
+><DD
+><P
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>0</I
+></SPAN
+></P
+></DD
+><DT
+>Effect if unset:</DT
+><DD
+><P
+>    <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> ignores block and redirect actions for its CGI pages.
+   </P
+></DD
+><DT
+>Notes:</DT
+><DD
+><P
+>    By default <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+> ignores block or redirect actions
+    for its CGI pages. Intercepting these requests can be useful in multi-user
+    setups to implement fine-grained access control, but it can also render the complete
+    web interface useless and make debugging problems painful if done without care.
+   </P
+><P
+>    Don't enable this option unless you're sure that you really need it.
+   </P
+></DD
+><DT
+>Examples:</DT
+><DD
+><P
+>    allow-cgi-request-crunching 1
+   </P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H4
+CLASS="SECT3"
+><A
+NAME="SPLIT-LARGE-FORMS"
+>7.5.7. split-large-forms</A
+></H4
+><P
+></P
+><DIV
+CLASS="VARIABLELIST"
+><DL
+><DT
+>Specifies:</DT
+><DD
+><P
+>    Whether the CGI interface should stay compatible with broken HTTP clients.
+   </P
+></DD
+><DT
+>Type of value:</DT
+><DD
+><P
+>    <TT
+CLASS="REPLACEABLE"
+><I
+>0 or 1</I
+></TT
+>
+   </P
+></DD
+><DT
+>Default value:</DT
+><DD
+><P
+><SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>0</I
+></SPAN
+></P
+></DD
+><DT
+>Effect if unset:</DT
+><DD
+><P
+>    The CGI form generate long GET URLs.
+   </P
+></DD
+><DT
+>Notes:</DT
+><DD
+><P
+>    <SPAN
+CLASS="APPLICATION"
+>Privoxy's</SPAN
+> CGI forms can lead to
+    rather long URLs. This isn't a problem as far as the HTTP
+    standard is concerned, but it can confuse clients with arbitrary
+    URL lenght limitations.
+   </P
+><P
+>    Enabling split-large-forms causes <SPAN
+CLASS="APPLICATION"
+>Privoxy</SPAN
+>
+    to devide big forms into smaller ones to keep the URL length down.
+    It makes editing a lot less convenient and you can no longer
+    submit all changes at once, but at least it works around this
+    browser bug.
+   </P
+><P
+>    If you don't notice any editing problems, there is no reason
+    to enable this option, but if one of the submit buttons appears
+    to be broken, you should give it a try.
+   </P
+></DD
+><DT
+>Examples:</DT
+><DD
+><P
+>    split-large-forms 1
+   </P
+></DD
+></DL
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="SECT2"
@@ -3062,8 +3572,8 @@ CLASS="SECT2"
 CLASS="SECT2"
 ><A
 NAME="WINDOWS-GUI"
-></A
->7.6. Windows GUI Options</H2
+>7.6. Windows GUI Options</A
+></H2
 ><P
 > <SPAN
 CLASS="APPLICATION"