Change for crunch-cookie actions, and other small changes.
[privoxy.git] / doc / source / user-manual.sgml
index 9f8e324..29ce5b1 100644 (file)
@@ -27,7 +27,7 @@
                 This file belongs into
                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
                 
- $Id: user-manual.sgml,v 1.108 2002/05/14 15:29:12 oes Exp $
+ $Id: user-manual.sgml,v 1.110 2002/05/14 19:10:45 oes Exp $
 
  Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
  See LICENSE.
@@ -53,7 +53,7 @@
  </subscript>
 </pubdate>
 
-<pubdate>$Id: user-manual.sgml,v 1.108 2002/05/14 15:29:12 oes Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 1.110 2002/05/14 19:10:45 oes Exp $</pubdate>
 
 <!--
 
@@ -2808,7 +2808,7 @@ forward-socks4 and forward-socks4a</title>
 </sect2>
 
 <!--   ~~~~~       New section      ~~~~~     -->
-<sect2>
+<sect2 id="af-patterns">
 <title>Patterns</title>
 <para>
  Generally, a pattern has the form <literal>&lt;domain&gt;/&lt;path&gt;</literal>,
@@ -3280,6 +3280,144 @@ forward-socks4 and forward-socks4a</title>
 </variablelist>
 </sect3>
 
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 renderas="sect4" id="crunch-incoming-cookies">
+<title><emphasis>crunch-incoming-cookies</emphasis></title>
+
+<variablelist>
+ <varlistentry>
+  <term>Typical use:</term>
+  <listitem>
+   <para>
+    Prevent the web server from setting any cookies on your system
+   </para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Effect:</term>
+  <listitem>
+   <para>
+    Deletes any <quote>Set-Cookie:</quote> HTTP headers from server replies.
+   </para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Type:</term>
+  <!-- Boolean, Parameterized, Multi-value -->
+  <listitem>
+   <para>Boolean.</para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Parameter:</term>
+  <listitem>
+   <para>
+    N/A
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This action is only concerned with <emphasis>incoming</emphasis> cookies. For
+    <emphasis>outgoing</emphasis> cookies, use
+    <literal><link linkend="crunch-outgoing-cookies">crunch-outgoing-cookies</link></literal>.
+    Use <emphasis>both</emphasis> to disable cookies completely.
+   </para>
+   <para>
+    It makes <emphasis>no sense at all</emphasis> to use this action in conjunction
+    with the <literal><link linkend="session-cookies-only">session-cookies-only</link></literal> action,
+    since it would prevent the session cookies from being set.
+   </para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Example usage:</term>
+  <listitem>
+   <para>
+    <screen>+crunch-incoming-cookies</screen>
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+</sect3>
+
+
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 renderas="sect4" id="crunch-outgoing-cookies">
+<title><emphasis>crunch-outgoing-cookies</emphasis></title>
+
+<variablelist>
+ <varlistentry>
+  <term>Typical use:</term>
+  <listitem>
+   <para>
+    Prevent the web server from reading any cookies from your system
+   </para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Effect:</term>
+  <listitem>
+   <para>
+    Deletes any <quote>Cookie:</quote> HTTP headers from client requests.
+   </para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Type:</term>
+  <!-- Boolean, Parameterized, Multi-value -->
+  <listitem>
+   <para>Boolean.</para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Parameter:</term>
+  <listitem>
+   <para>
+    N/A
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This action is only concerned with <emphasis>outgoing</emphasis> cookies. For
+    <emphasis>incoming</emphasis> cookies, use
+    <literal><link linkend="crunch-incoming-cookies">crunch-incoming-cookies</link></literal>.
+    Use <emphasis>both</emphasis> to disable cookies completely.
+   </para>
+   <para>
+    It makes <emphasis>no sense at all</emphasis> to use this action in conjunction
+    with the <literal><link linkend="session-cookies-only">session-cookies-only</link></literal> action,
+    since it would prevent the session cookies from being read.
+   </para>
+  </listitem>
+ </varlistentry>
+
+ <varlistentry>
+  <term>Example usage:</term>
+  <listitem>
+   <para>
+    <screen>+crunch-outgoing-cookies</screen>
+   </para>
+  </listitem>
+ </varlistentry>
+
+</variablelist>
+</sect3>
+
 
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect3 renderas="sect4" id="deanimate-gifs">
@@ -3977,10 +4115,11 @@ ad.doubleclick.net
   <term>Notes:</term>
   <listitem>
    <para>
-    Warning! This breaks many web sites that depend on this in order 
-    to customize their content for the different browser types by looking
-    at this header (which, btw, is <emphasis>NOT</emphasis> a smart way to
-    do that!).
+    Warning! This breaks many web sites that in order to customize their
+    content for the different browser types depend on looking
+    at this header (which, btw, is <emphasis>NOT</emphasis> a <ulink
+    url="http://www.javascriptkit.com/javaindex.shtml">smart way to
+    do that</ulink>!).
    </para>
    <para>
     Using this action in multi-user setups or wherever diffrerent types of
@@ -4265,15 +4404,15 @@ www.pclinuxonline.com</screen>
 
 
 <!--   ~~~~~       New section      ~~~~~     -->
-<sect3 renderas="sect4" id="crunch-outgoing-cookies">
-<title><emphasis>crunch-outgoing-cookies</emphasis></title>
+<sect3 renderas="sect4" id="send-vanilla-wafer">
+<title><emphasis>send-vanilla-wafer</emphasis></title>
 
 <variablelist>
  <varlistentry>
   <term>Typical use:</term>
   <listitem>
    <para>
-    Prevent the web server from reading any cookies from your system
+    Feed log analysis scripts with useless data.
    </para>
   </listitem>
  </varlistentry>
@@ -4282,7 +4421,8 @@ www.pclinuxonline.com</screen>
   <term>Effect:</term>
   <listitem>
    <para>
-    Deletes any <quote>Cookie:</quote> HTTP headers from client requests.
+    Sends a cookie with each request stating that you do not accept any copyright
+    on cookies sent to you, and asking the site operator not to track you.
    </para>
   </listitem>
  </varlistentry>
@@ -4308,15 +4448,10 @@ www.pclinuxonline.com</screen>
   <term>Notes:</term>
   <listitem>
    <para>
-    This action is only concerned with <emphasis>outgoing</emphasis> cookies. For
-    <emphasis>incoming</emphasis> cookies, use
-    <literal><link linkend="crunch-incoming-cookies">crunch-incoming-cookies</link></literal>.
-    Use <emphasis>both</emphasis> to disable cookies completely.
+    The vanilla wafer is a (relatively) unique header and could conceivably be used to track you.
    </para>
    <para>
-    It makes <emphasis>no sense at all</emphasis> to use this action in conjunction
-    with the <literal><link linkend="session-cookies-only">session-cookies-only</link></literal> action,
-    since it would prevent the session cookies from being read.
+    This action is rarely used and not enabled in the default configuration.
    </para>
   </listitem>
  </varlistentry>
@@ -4325,7 +4460,7 @@ www.pclinuxonline.com</screen>
   <term>Example usage:</term>
   <listitem>
    <para>
-    <screen>+crunch-outgoing-cookies</screen>
+     <screen>+send-vanilla-wafer</screen>
    </para>
   </listitem>
  </varlistentry>
@@ -4335,15 +4470,15 @@ www.pclinuxonline.com</screen>
 
 
 <!--   ~~~~~       New section      ~~~~~     -->
-<sect3 renderas="sect4" id="crunch-incoming-cookies">
-<title><emphasis>crunch-incoming-cookies</emphasis></title>
+<sect3 renderas="sect4" id="send-wafer">
+<title><emphasis>send-wafer</emphasis></title>
 
 <variablelist>
  <varlistentry>
   <term>Typical use:</term>
   <listitem>
    <para>
-    Prevent the web server from setting any cookies on your system
+    Send custom cookies or feed log analysis scripts with even more useless data.
    </para>
   </listitem>
  </varlistentry>
@@ -4352,7 +4487,7 @@ www.pclinuxonline.com</screen>
   <term>Effect:</term>
   <listitem>
    <para>
-    Deletes any <quote>Set-Cookie:</quote> HTTP headers from server replies.
+    Sends a custom, user-defined cookie with each request.
    </para>
   </listitem>
  </varlistentry>
@@ -4361,7 +4496,7 @@ www.pclinuxonline.com</screen>
   <term>Type:</term>
   <!-- Boolean, Parameterized, Multi-value -->
   <listitem>
-   <para>Boolean.</para>
+   <para>Multi-value.</para>
   </listitem>
  </varlistentry>
 
@@ -4369,7 +4504,8 @@ www.pclinuxonline.com</screen>
   <term>Parameter:</term>
   <listitem>
    <para>
-    N/A
+    A string of the form <quote><replaceable class="option">name</replaceable>=<replaceable
+    class="parameter">value</replaceable></quote>.
    </para>
   </listitem>
  </varlistentry>
@@ -4378,24 +4514,20 @@ www.pclinuxonline.com</screen>
   <term>Notes:</term>
   <listitem>
    <para>
-    This action is only concerned with <emphasis>incoming</emphasis> cookies. For
-    <emphasis>outgoing</emphasis> cookies, use
-    <literal><link linkend="crunch-outgoing-cookies">crunch-outgoing-cookies</link></literal>.
-    Use <emphasis>both</emphasis> to disable cookies completely.
+    Being multi-valued, multiple instances of this action can apply to the same request,
+    resulting in multiple cookies being sent.
    </para>
    <para>
-    It makes <emphasis>no sense at all</emphasis> to use this action in conjunction
-    with the <literal><link linkend="session-cookies-only">session-cookies-only</link></literal> action,
-    since it would prevent the session cookies from being set.
+    This action is rarely used and not enabled in the default configuration.
    </para>
   </listitem>
  </varlistentry>
-
  <varlistentry>
-  <term>Example usage:</term>
+  <term>Example usage (section):</term>
   <listitem>
    <para>
-    <screen>+crunch-incoming-cookies</screen>
+    <screen>{+send-wafer{UsingPrivoxy=true}}
+my-internal-testing-server.void</screen>
    </para>
   </listitem>
  </varlistentry>
@@ -4484,138 +4616,6 @@ www.pclinuxonline.com</screen>
 </sect3>
 
 
-<!--   ~~~~~       New section      ~~~~~     -->
-<sect3 renderas="sect4" id="send-vanilla-wafer">
-<title><emphasis>send-vanilla-wafer</emphasis></title>
-
-<variablelist>
- <varlistentry>
-  <term>Typical use:</term>
-  <listitem>
-   <para>
-    Feed log analysis scripts with useless data.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Effect:</term>
-  <listitem>
-   <para>
-    Sends a cookie with each request stating that you do not accept any copyright
-    on cookies sent to you, and asking the site operator not to track you.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Type:</term>
-  <!-- Boolean, Parameterized, Multi-value -->
-  <listitem>
-   <para>Boolean.</para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Parameter:</term>
-  <listitem>
-   <para>
-    N/A
-   </para>
-  </listitem>
- </varlistentry>
- <varlistentry>
-  <term>Notes:</term>
-  <listitem>
-   <para>
-    The vanilla wafer is a (relatively) unique header and could conceivably be used to track you.
-   </para>
-   <para>
-    This action is rarely used and not enabled in the default configuration.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Example usage:</term>
-  <listitem>
-   <para>
-     <screen>+send-vanilla-wafer</screen>
-   </para>
-  </listitem>
- </varlistentry>
-
-</variablelist>
-</sect3>
-
-
-<!--   ~~~~~       New section      ~~~~~     -->
-<sect3 renderas="sect4" id="send-wafer">
-<title><emphasis>send-wafer</emphasis></title>
-
-<variablelist>
- <varlistentry>
-  <term>Typical use:</term>
-  <listitem>
-   <para>
-    Send custom cookies or feed log analysis scripts with even more useless data.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Effect:</term>
-  <listitem>
-   <para>
-    Sends a custom, user-defined cookie with each request.
-   </para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Type:</term>
-  <!-- Boolean, Parameterized, Multi-value -->
-  <listitem>
-   <para>Multi-value.</para>
-  </listitem>
- </varlistentry>
-
- <varlistentry>
-  <term>Parameter:</term>
-  <listitem>
-   <para>
-    A string of the form <quote><replaceable class="option">name</replaceable>=<replaceable
-    class="parameter">value</replaceable></quote>.
-   </para>
-  </listitem>
- </varlistentry>
- <varlistentry>
-  <term>Notes:</term>
-  <listitem>
-   <para>
-    Being multi-valued, multiple instances of this action can apply to the same request,
-    resulting in multiple cookies being sent.
-   </para>
-   <para>
-    This action is rarely used and not enabled in the default configuration.
-   </para>
-  </listitem>
- </varlistentry>
- <varlistentry>
-  <term>Example usage (section):</term>
-  <listitem>
-   <para>
-    <screen>{+send-wafer{UsingPrivoxy=true}}
-my-internal-testing-server.void</screen>
-   </para>
-  </listitem>
- </varlistentry>
-</variablelist>
-</sect3>
-
-
 <!--   ~~~~~       New section      ~~~~~     -->
 <sect3 renderas="sect4" id="set-image-blocker">
 <title><emphasis>set-image-blocker</emphasis></title>
@@ -4771,7 +4771,7 @@ my-internal-testing-server.void</screen>
  There are two main reasons to use aliases: One is to save typing for frequently
  used combinations of actions, the other one is a gain in flexibility: If you
  decide once how you want to handle shops by defining an alias called
- <quote>shop</quote>, you can later chenge your policy on shops in
+ <quote>shop</quote>, you can later change your policy on shops in
  <emphasis>one</emphasis> place, and your changes will take effect everywhere
  in the actions file where the <quote>shop</quote> alias is used. Calling aliases
  by their purpose also makes your actions files more readable.
@@ -4781,7 +4781,8 @@ my-internal-testing-server.void</screen>
  <application>Privoxy</application>'s built-in web-based action file
  editor honors aliases when reading the actions files, but it expands
  them before writing. So the effects of your aliases are of course preserved,
- but the aliases themselves are lost when you edit the files this way.
+ but the aliases themselves are lost when you edit sections that use aliases
+ with it.
  This is likely to change in future versions of <application>Privoxy</application>.
 </para>
 
@@ -4858,7 +4859,7 @@ my-internal-testing-server.void</screen>
 <sect2 id="act-examples">
 <title>Sample Actions Files</title>
 <para>
- Remember that the meaning of any of the above references is reversed by preceding
+ Remember that the meaning of each action is reversed by preceding
  the action with a <quote>-</quote>, in place of the <quote>+</quote>. Also, 
  that some actions are turned on in the default section of the actions file, 
  and require little to no additional configuration. These are just <quote>on</quote>.
@@ -4899,29 +4900,39 @@ for-privoxy-version=3.0
 # defined they can be used just like any built-in action -- but within 
 # this file only! Aliases do not require a + or - sign.
 ##########################################################################
+{{alias}}
 
 # Some useful aliases.
 # Alias to turn off cookie handling, ie allow all cookies unmolested.
- -crunch-all-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies \
+#
+mercy-for-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies \
                     -session-cookies-only
 
 # Alias to both block and treat as if an image for ad blocking
 # purposes.
- +imageblock      = +block +handle-as-image
-
-# Fragile sites should have the minimum changes:
- fragile     = -block -deanimate-gifs -fast-redirects -filter -hide-referer \
-               -crunch-all-cookies -kill-popups
+#
++block-as-image   = +block +handle-as-image
 
 # Shops should be allowed to set persistent cookies
- shop        = -filter -crunch-all-cookies -session-cookies-only
+#
+shop        = -filter mercy-for-cookies
 
+# Fragile sites should receive minimum interference:
+#
+fragile     = -block -deanimate-gifs -fast-redirects -filter -hide-referer \
+              mercy-for-cookies -kill-popups
 
 ##########################################################################
-# Begin default action settings. Anything in this section will match 
-# all URLs -- UNLESS we have exceptions that also match, defined below this 
-# section. We will show all potential actions here whether they are on 
-# or off. We could omit any disabled action if we wanted, since all 
+# Matching starts here. Remember that at this time, all actions are
+# disabled, so we need to explicitly enable the ones we want. 
+#
+# We begin with "default" action settings, i.e. we define a set of actions
+# for a pattern ("/") <link linkend="af-patterns">that matches all URLs</link>. This default set will be
+# applied to all requests as a start, and can be partly or wholly overridden
+# by later matches further down this file, or in user.action.
+#
+# We will show all potential actions here whether they are enabled
+# or not. We could omit any disabled action if we wanted, since all 
 # actions are 'off' by default anyway. Shown for completeness only.
 # Actions are enabled if preceded by a '+', otherwise they are disabled 
 # (unless an alias has been defined without this).
@@ -5101,7 +5112,7 @@ for-privoxy-version=3.0
 # Allow persistent cookies for a few regular sites that we 
 # trust via our above alias. These will be saved from one browser session 
 # to the next. We are explicity turning off any and all cookie handling, 
-# even though the cunch-*-cookies settings were disabled in our above 
+# even though the crunch-*-cookies settings were disabled in our above 
 # default.action anyway. So cookies from these domains will come through 
 # unmolested.
  { -crunch-all-cookies }
@@ -6242,6 +6253,12 @@ Requests</title>
  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
  $Log: user-manual.sgml,v $
+ Revision 1.110  2002/05/14 19:10:45  oes
+ Restored alphabetical order of actions
+
+ Revision 1.109  2002/05/14 17:23:11  oes
+ Renamed the prevent-*-cookies actions, extended aliases section and moved it before the example AFs
+
  Revision 1.108  2002/05/14 15:29:12  oes
  Completed proofreading the actions chapter