Renerate for 3.0.21 UNRELEASED
[privoxy.git] / doc / webserver / user-manual / actions-file.html
index 9e8e95e..d62ddef 100644 (file)
@@ -6,7 +6,7 @@
   <title>Actions Files</title>
   <meta name="GENERATOR" content=
   "Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.21 User Manual" href="index.html">
   <link rel="PREVIOUS" title="The Main Configuration File" href=
   "config.html">
   <link rel="NEXT" title="Filter Files" href="filter-file.html">
@@ -21,7 +21,7 @@
     <table summary="Header navigation table" width="100%" border="0"
     cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.21 User Manual</th>
       </tr>
 
       <tr>
         in <tt class="FILENAME">default.action</tt> are:</p>
 
         <div class="TABLE">
-          <a name="AEN2780" id="AEN2780"></a>
+          <a name="AEN2777" id="AEN2777"></a>
 
           <p><b>Table 1. Default Configurations</b></p>
 
     actions</a>.</p>
 
     <div class="SECT2">
-      <h2 class="SECT2"><a name="AEN2879" id="AEN2879">8.1. Finding the Right
+      <h2 class="SECT2"><a name="AEN2876" id="AEN2876">8.1. Finding the Right
       Mix</a></h2>
 
       <p>Note that some <a href="actions-file.html#ACTIONS">actions</a>, like
     </div>
 
     <div class="SECT2">
-      <h2 class="SECT2"><a name="AEN2886" id="AEN2886">8.2. How to
+      <h2 class="SECT2"><a name="AEN2883" id="AEN2883">8.2. How to
       Edit</a></h2>
 
       <p>The easiest way to edit the actions files is with a browser by using
       </div>
 
       <div class="SECT3">
-        <h3 class="SECT3"><a name="AEN2998" id="AEN2998">8.4.1. The Domain
+        <h3 class="SECT3"><a name="AEN2995" id="AEN2995">8.4.1. The Domain
         Pattern</a></h3>
 
         <p>The matching of the domain part offers some flexible options: if
       </div>
 
       <div class="SECT3">
-        <h3 class="SECT3"><a name="AEN3074" id="AEN3074">8.4.2. The Path
+        <h3 class="SECT3"><a name="AEN3071" id="AEN3071">8.4.2. The Path
         Pattern</a></h3>
 
         <p><span class="APPLICATION">Privoxy</span> uses <span class=
               <p>Client-header filters are executed after the other header
               actions have finished and use their output as input.</p>
 
-              <p>If the request URL gets changed, <span class=
+              <p>If the request URI gets changed, <span class=
               "APPLICATION">Privoxy</span> will detect that and use the new
               one. This can be used to rewrite the request destination behind
               the client's back, for example to specify a Tor exit relay for
@@ -1301,6 +1301,28 @@ TAG:^User-Agent: fetch libfetch/
 TAG:^User-Agent: Ubuntu APT-HTTP/
 TAG:^User-Agent: MPlayer/
 
+</pre>
+                  </td>
+                </tr>
+              </table>
+
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
+# Tag all requests with the Range header set
+{+client-header-tagger{range-requests}}
+/
+
+# Disable filtering for the tagged requests.
+#
+# With filtering enabled Privoxy would remove the Range headers
+# to be able to filter the whole response. The downside is that
+# it prevents clients from resuming downloads or skipping over
+# parts of multimedia files.
+{-filter -deanimate-gifs}
+TAG:^RANGE-REQUEST$
+
 </pre>
                   </td>
                 </tr>
@@ -3523,6 +3545,88 @@ nasty-banner-server.example.com/junk.cgi\?output=trash
 +limit-connect{-3, 7, 20-100, 500-}   # Ports less than 3, 7, 20 to 100 and above 500 are OK.
 +limit-connect{-}                     # All ports are OK
 +limit-connect{,}                     # No HTTPS/SSL traffic is allowed
+</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="LIMIT-COOKIE-LIFETIME" id=
+        "LIMIT-COOKIE-LIFETIME">8.5.27. limit-cookie-lifetime</a></h4>
+
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+
+            <dd>
+              <p>Limit the lifetime of HTTP cookies to a couple of minutes or
+              hours.</p>
+            </dd>
+
+            <dt>Effect:</dt>
+
+            <dd>
+              <p>Overwrites the expires field in Set-Cookie server headers if
+              it's above the specified limit.</p>
+            </dd>
+
+            <dt>Type:</dt>
+
+            <dd>
+              <p>Parameterized.</p>
+            </dd>
+
+            <dt>Parameter:</dt>
+
+            <dd>
+              <p>The lifetime limit in minutes, or 0.</p>
+            </dd>
+
+            <dt>Notes:</dt>
+
+            <dd>
+              <p>This action reduces the lifetime of HTTP cookies coming from
+              the server to the specified number of minutes, starting from
+              the time the cookie passes Privoxy.</p>
+
+              <p>Cookies with a lifetime below the limit are not modified.
+              The lifetime of session cookies is set to the specified
+              limit.</p>
+
+              <p>The effect of this action depends on the server.</p>
+
+              <p>In case of servers which refresh their cookies with each
+              response (or at least frequently), the lifetime limit set by
+              this action is updated as well. Thus, a session associated with
+              the cookie continues to work with this action enabled, as long
+              as a new request is made before the last limit set is
+              reached.</p>
+
+              <p>However, some servers send their cookies once, with a
+              lifetime of several years (the year 2037 is a popular choice),
+              and do not refresh them until a certain event in the future,
+              for example the user logging out. In this case this action may
+              limit the absolute lifetime of the session, even if requests
+              are made frequently.</p>
+
+              <p>If the parameter is <span class="QUOTE">"0"</span>, this
+              action behaves like <tt class="LITERAL"><a href=
+              "actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</a></tt>.</p>
+            </dd>
+
+            <dt>Example usages:</dt>
+
+            <dd>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">
++limit-cookie-lifetime{60}
+
 </pre>
                   </td>
                 </tr>
@@ -3534,7 +3638,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash
 
       <div class="SECT3">
         <h4 class="SECT3"><a name="PREVENT-COMPRESSION" id=
-        "PREVENT-COMPRESSION">8.5.27. prevent-compression</a></h4>
+        "PREVENT-COMPRESSION">8.5.28. prevent-compression</a></h4>
 
         <div class="VARIABLELIST">
           <dl>
@@ -3638,7 +3742,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash
 
       <div class="SECT3">
         <h4 class="SECT3"><a name="OVERWRITE-LAST-MODIFIED" id=
-        "OVERWRITE-LAST-MODIFIED">8.5.28. overwrite-last-modified</a></h4>
+        "OVERWRITE-LAST-MODIFIED">8.5.29. overwrite-last-modified</a></h4>
 
         <div class="VARIABLELIST">
           <dl>
@@ -3734,7 +3838,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash
       </div>
 
       <div class="SECT3">
-        <h4 class="SECT3"><a name="REDIRECT" id="REDIRECT">8.5.29.
+        <h4 class="SECT3"><a name="REDIRECT" id="REDIRECT">8.5.30.
         redirect</a></h4>
 
         <div class="VARIABLELIST">
@@ -3773,6 +3877,9 @@ nasty-banner-server.example.com/junk.cgi\?output=trash
               provided as parameter, or derived by applying a single pcrs
               command to the original URL.</p>
 
+              <p>The syntax for pcrs commands is documented in the <a href=
+              "filter-file.html">filter file</a> section.</p>
+
               <p>This action will be ignored if you use it together with
               <tt class="LITERAL"><a href=
               "actions-file.html#BLOCK">block</a></tt>. It can be combined
@@ -3835,7 +3942,7 @@ www.privoxy.org/user-manual/
 
       <div class="SECT3">
         <h4 class="SECT3"><a name="SERVER-HEADER-FILTER" id=
-        "SERVER-HEADER-FILTER">8.5.30. server-header-filter</a></h4>
+        "SERVER-HEADER-FILTER">8.5.31. server-header-filter</a></h4>
 
         <div class="VARIABLELIST">
           <dl>
@@ -3907,7 +4014,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
 
       <div class="SECT3">
         <h4 class="SECT3"><a name="SERVER-HEADER-TAGGER" id=
-        "SERVER-HEADER-TAGGER">8.5.31. server-header-tagger</a></h4>
+        "SERVER-HEADER-TAGGER">8.5.32. server-header-tagger</a></h4>
 
         <div class="VARIABLELIST">
           <dl>
@@ -3980,7 +4087,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
 
       <div class="SECT3">
         <h4 class="SECT3"><a name="SESSION-COOKIES-ONLY" id=
-        "SESSION-COOKIES-ONLY">8.5.32. session-cookies-only</a></h4>
+        "SESSION-COOKIES-ONLY">8.5.33. session-cookies-only</a></h4>
 
         <div class="VARIABLELIST">
           <dl>
@@ -4078,7 +4185,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
 
       <div class="SECT3">
         <h4 class="SECT3"><a name="SET-IMAGE-BLOCKER" id=
-        "SET-IMAGE-BLOCKER">8.5.33. set-image-blocker</a></h4>
+        "SET-IMAGE-BLOCKER">8.5.34. set-image-blocker</a></h4>
 
         <div class="VARIABLELIST">
           <dl>
@@ -4217,7 +4324,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
       </div>
 
       <div class="SECT3">
-        <h3 class="SECT3"><a name="AEN4706" id="AEN4706">8.5.34.
+        <h3 class="SECT3"><a name="AEN4743" id="AEN4743">8.5.35.
         Summary</a></h3>
 
         <p>Note that many of these actions have the potential to cause a page
@@ -4376,7 +4483,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
       together:</p>
 
       <div class="SECT3">
-        <h3 class="SECT3"><a name="AEN4770" id="AEN4770">8.7.1.
+        <h3 class="SECT3"><a name="AEN4807" id="AEN4807">8.7.1.
         match-all.action</a></h3>
 
         <p>Remember <span class="emphasis"><i class="EMPHASIS">all actions
@@ -4425,7 +4532,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not
       </div>
 
       <div class="SECT3">
-        <h3 class="SECT3"><a name="AEN4792" id="AEN4792">8.7.2.
+        <h3 class="SECT3"><a name="AEN4829" id="AEN4829">8.7.2.
         default.action</a></h3>
 
         <p>If you aren't a developer, there's no need for you to edit the
@@ -4768,7 +4875,7 @@ wiki.
       </div>
 
       <div class="SECT3">
-        <h3 class="SECT3"><a name="AEN4905" id="AEN4905">8.7.3.
+        <h3 class="SECT3"><a name="AEN4942" id="AEN4942">8.7.3.
         user.action</a></h3>
 
         <p>So far we are painting with a broad brush by setting general