<!entity license SYSTEM "license.sgml">
<!entity p-authors SYSTEM "p-authors.sgml">
<!entity config SYSTEM "p-config.sgml">
-<!entity p-version "3.0.9">
+<!entity p-version "3.0.11">
<!entity p-status "UNRELEASED">
<!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc -->
<!entity % p-not-stable "INCLUDE">
This file belongs into
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
- $Id: user-manual.sgml,v 2.70 2008/04/10 15:59:12 fabiankeil Exp $
+ $Id: user-manual.sgml,v 2.90 2008/09/26 16:53:09 fabiankeil Exp $
- Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
+ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
========================================================================
</subscript>
</pubdate>
-<pubdate>$Id: user-manual.sgml,v 2.70 2008/04/10 15:59:12 fabiankeil Exp $</pubdate>
+<pubdate>$Id: user-manual.sgml,v 2.90 2008/09/26 16:53:09 fabiankeil Exp $</pubdate>
<!--
</para>
<para>
Before installing <application>Privoxy</application> under Gentoo just do
- first <literal>emerge rsync</literal> to get the latest changes from the
+ first <literal>emerge --sync</literal> to get the latest changes from the
Portage tree. With <literal>emerge privoxy</literal> you install the latest
version.
</para>
<sect1 id="whatsnew">
<title>What's New in this Release</title>
<para>
- There are many improvements and new features since <application>Privoxy 3.0.6</application>, the last stable release:
+ There are only a few improvements and new features since
+ <application>Privoxy 3.0.10</application>, the last stable release:
</para>
<para>
<itemizedlist>
<listitem>
<para>
- Two new actions <link
- linkend="server-header-tagger">server-header-tagger</link>
- and <link
- linkend="client-header-tagger">client-header-tagger</link>
- that can be used to create arbitrary <quote>tags</quote>
- based on client and server headers.
- These <quote>tags</quote> can then subsequently be used
- to control the other actions used for the current request,
- greatly increasing &my-app;'s flexibility and selectivity. See <link
- linkend="tag-pattern">tag patterns</link> for more information on tags.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Header filtering is done with dedicated header filters now. As a result
- the actions <quote>filter-client-headers</quote> and <quote>filter-server-headers</quote>
- that were introduced with <application>Privoxy 3.0.5</application> to apply
- content filters to the headers have been removed.
- See the new actions <link
- linkend="server-header-filter">server-header-filter</link>
- and <link
- linkend="client-header-filter">client-header-filter</link> for details.
- </para>
- </listitem>
- <listitem>
- <para>
- There are four new options for the main <filename>config</filename> file:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <link
- linkend="allow-cgi-request-crunching">allow-cgi-request-crunching</link>
- which allows requests for Privoxy's internal CGI pages to be
- blocked, redirected or (un)trusted like ordinary requests.
- </para>
- </listitem>
- <listitem>
- <para>
- <link
- linkend="split-large-forms">split-large-forms</link>
- that will work around a browser bug that caused IE6 and IE7 to
- ignore the Submit button on the Privoxy's edit-actions-for-url CGI
- page.
- </para>
- </listitem>
- <listitem>
- <para>
- <link
- linkend="accept-intercepted-requests">accept-intercepted-requests</link>
- which allows to combine Privoxy with any packet filter to create an
- intercepting proxy for HTTP/1.1 requests (and for HTTP/1.0 requests
- with Host header set). This means clients can be forced to use
- &my-app; even if their proxy settings are configured differently.
- </para>
- </listitem>
- <listitem>
- <para>
- <link
- linkend="templdir">templdir</link>
- to designate an alternate location for &my-app;'s
- locally customized CGI templates so that
- these are not overwritten during upgrades.
- </para>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>
- A new command line option <literal>--pre-chroot-nslookup hostname</literal> to
- initialize the resolver library before chroot'ing. On some systems this
- reduces the number of files that must be copied into the chroot tree.
- (Patch provided by Stephen Gildea)
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <link
- linkend="forward-override">forward-override</link> action
- allows changing of the forwarding settings through the actions files.
- Combined with tags, this allows to choose the forwarder based on
- client headers like the <literal>User-Agent</literal>, or the request origin.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <link
- linkend="redirect">redirect</link> action can now use regular
- expression substitutions against the original URL.
+ The mingw32 version uses mutex locks now which prevents
+ log message corruption under load. As a side effect,
+ the "no thread-safe PRNG" warning could be removed as well.
</para>
</listitem>
-
<listitem>
<para>
- <application>zlib</application> support is now available as a compile
- time option to filter compressed content. Patch provided by Wil Mahan.
+ Support for remote toggling is controlled by the configure
+ option --disable-toggle only. In previous versions it also
+ depended on the action editor and thus configuring with the
+ --disable-editor option would disable remote toggling support
+ as well.
</para>
</listitem>
- <listitem>
- <para>
- Improve various filters, and add new ones.
- </para>
- </listitem>
-
-
- <listitem>
- <para>
- Include support for RFC 3253 so that <filename>Subversion</filename> works
- with &my-app;. Patch provided by Petr Kadlec.
- </para>
- </listitem>
-
<listitem>
<para>
- Logging can be completely turned off by not specifying a logfile directive.
+ The hide-forwarded-for-headers action has been replaced with
+ the change-x-forwarded-for{} action which can also be used to
+ add X-Forwarded-For headers. The latter functionality already
+ existed in Privoxy versions prior to 3.0.7 but has been removed
+ as it was often used unintentionally (by not using the
+ hide-forwarded-for-headers action).
</para>
</listitem>
-
-
- <listitem>
- <para>
- A number of improvements to Privoxy's internal CGI pages, including the
- use of favicons for error and control pages.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Many bugfixes, memory leaks addressed, code improvements, and logging
- improvements.
- </para>
- </listitem>
-
</itemizedlist>
</para>
+
<para>
For a more detailed list of changes please have a look at the ChangeLog.
</para>
</listitem>
<listitem>
<para>
- <filename>standard.action</filename> now only includes the enabled actions.
- Not all actions as before.
+ <filename>standard.action</filename> has been merged into
+ the <filename>default.action</filename> file.
</para>
</listitem>
<listitem>
An administrator username and password must be supplied in order for
the Privoxy Utility to perform any of the tasks.
</para>
-<para>
- During installation, <application>Privoxy</application> is configured to
- start automatically when the system restarts. To start &my-app; manually,
- double-click on the <literal>StartPrivoxy.command</literal> icon in the
- <literal>/Library/Privoxy</literal> folder. Or, type this command
- in the Terminal:
-</para>
-<para>
- <screen>
- /Library/Privoxy/StartPrivoxy.command
- </screen>
-</para>
-<para>
- You will be prompted for the administrator password.
-</para>
</sect2>
▪ <ulink url="http://config.privoxy.org/toggle">Toggle Privoxy on or off</ulink>
</member>
<member>
- ▪ <ulink url="http://www.privoxy.org/
- &p-version;/user-manual/">Documentation</ulink>
+ ▪ <ulink
+ url="http://www.privoxy.org/&p-version;/user-manual/">Documentation</ulink>
</member>
</simplelist>
</msgtext>
<filename>default.action</filename> (which you will most probably want
to define sooner or later) are probably best applied in
<filename>user.action</filename>, where you can preserve them across
- upgrades. <filename>standard.action</filename> is only for
- <application>Privoxy's</application> internal use.
+ upgrades.
</para>
<para>
There is also a web based editor that can be accessed from
a set of broad rules that should work reasonably well as-is for most users.
This is the file that the developers are keeping updated, and <link
linkend="installation-keepupdated">making available to users</link>.
- The user's preferences as set in <filename>standard.action</filename>,
- e.g. either <literal>Cautious</literal> (the default),
+ It also contains the pre-defined sets of rules for the default actions,
+ e.g. <literal>Cautious</literal> (the default),
<literal>Medium</literal>, or <literal>Advanced</literal> (see
below).
</para>
has specific requirements, and need special handling, this kind of
thing should go here. This file will not be upgraded.
</para>
- </listitem>
+ </listitem>
<listitem>
- <para>
- <filename>standard.action</filename> - is used only by the web based editor
- at <ulink url="http://config.privoxy.org/edit-actions-list?f=default">
- http://config.privoxy.org/edit-actions-list?f=default</ulink>,
- to set various pre-defined sets of rules for the default actions section
- in <filename>default.action</filename>.
- </para>
<para>
<guibutton>Edit</guibutton> <guibutton>Set to Cautious</guibutton> <guibutton>Set to Medium</guibutton> <guibutton>Set to Advanced</guibutton>
</para>
<guibutton>Edit</guibutton> button. More fine-tuning can be done in the
lower sections of this internal page.
</para>
- <para>
- It is not recommend to edit the <filename>standard.action</filename> file
- itself.
- </para>
<para>
The default profiles, and their associated actions, as pre-defined in
- <filename>standard.action</filename> are<!-- different than this table which is out of date -->:
+ <filename>default.action</filename> are:
</para>
<para>
<table frame=all><title>Default Configurations</title>
<row>
<entry>Image tag reordering</entry>
<entry>no</entry>
- <entry>no</entry>
+ <entry>yes</entry>
<entry>yes</entry>
</row>
</listitem>
</varlistentry>
<varlistentry>
- <term><literal>www.example.com/index.html$</literal></term>
+ <term><literal>www.example.com/index.html</literal></term>
<listitem>
<para>
matches all the documents on <literal>www.example.com</literal>
to the blocked content (the latter only if the force feature is available and
enabled).
</para>
-<!--
-This doesn't actually work in all browser configuration and the user probably doesn't care anyway.
- <para>
- The <quote>BLOCKED</quote> page adapts to the available
- screen space -- it displays full-blown if space allows, or miniaturized and text-only
- if loaded into a small frame or window. If you are using <application>Privoxy</application>
- right now, you can take a look at the
- <ulink url="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"><quote>BLOCKED</quote>
- page</ulink>.
- </para>
--->
<para>
A very important exception occurs if <emphasis>both</emphasis>
<literal>block</literal> and <literal><link linkend="handle-as-image">handle-as-image</link></literal>,
</sect3>
+<!-- ~~~~~ New section ~~~~~ -->
+<sect3 renderas="sect4" id="change-x-forwarded-for">
+<title>change-x-forwarded-for</title>
+
+<variablelist>
+ <varlistentry>
+ <term>Typical use:</term>
+ <listitem>
+ <para>Improve privacy by not forwarding the source of the request in the HTTP headers.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Effect:</term>
+ <listitem>
+ <para>
+ Deletes the <quote>X-Forwarded-For:</quote> HTTP header from the client request,
+ or adds a new one.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Type:</term>
+ <!-- Boolean, Parameterized, Multi-value -->
+ <listitem>
+ <para>Parameterized.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Parameter:</term>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para><quote>block</quote> to delete the header.</para>
+ </listitem>
+ <listitem>
+ <para>
+ <quote>add</quote> to create the header (or append
+ the client's IP address to an already existing one).
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Notes:</term>
+ <listitem>
+ <para>
+ It is safe and recommended to use <literal>block</literal>.
+ </para>
+ <para>
+ Forwarding the source address of the request may make
+ sense in some multi-user setups but is also a privacy risk.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Example usage:</term>
+ <listitem>
+ <para>
+ <screen>+change-x-forwarded-for{block}</screen>
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</sect3>
+
<!-- ~~~~~ New section ~~~~~ -->
<sect3 renderas="sect4" id="client-header-filter">
<title>client-header-filter</title>
<listitem>
<para>
<anchor id="filter-js-annoyances">
- <screen>+filter{js-annoyances} # Get rid of particularly annoying JavaScript abuse</screen>
+ <screen>+filter{js-annoyances} # Get rid of particularly annoying JavaScript abuse.</screen>
</para>
<para>
<anchor id="filter-js-events">
- <screen>+filter{js-events} # Kill all JS event bindings (Radically destructive! Only for extra nasty sites)</screen>
+ <screen>+filter{js-events} # Kill all JS event bindings and timers (Radically destructive! Only for extra nasty sites).</screen>
</para>
<para>
<anchor id="filter-html-annoyances">
- <screen>+filter{html-annoyances} # Get rid of particularly annoying HTML abuse</screen>
+ <screen>+filter{html-annoyances} # Get rid of particularly annoying HTML abuse.</screen>
</para>
<para>
<anchor id="filter-content-cookies">
- <screen>+filter{content-cookies} # Kill cookies that come in the HTML or JS content</screen>
+ <screen>+filter{content-cookies} # Kill cookies that come in the HTML or JS content.</screen>
</para>
<para>
<anchor id="filter-refresh-tags">
- <screen>+filter{refresh-tags} # Kill automatic refresh tags (for dial-on-demand setups)</screen>
+ <screen>+filter{refresh-tags} # Kill automatic refresh tags (for dial-on-demand setups).</screen>
</para>
<para>
<anchor id="filter-unsolicited-popups">
</para>
<para>
<anchor id="filter-img-reorder">
- <screen>+filter{img-reorder} # Reorder attributes in <img> tags to make the banners-by-* filters more effective</screen>
+ <screen>+filter{img-reorder} # Reorder attributes in <img> tags to make the banners-by-* filters more effective.</screen>
</para>
<para>
<anchor id="filter-banners-by-size">
- <screen>+filter{banners-by-size} # Kill banners by size</screen>
+ <screen>+filter{banners-by-size} # Kill banners by size.</screen>
</para>
<para>
<anchor id="filter-banners-by-link">
- <screen>+filter{banners-by-link} # Kill banners by their links to known clicktrackers</screen>
+ <screen>+filter{banners-by-link} # Kill banners by their links to known clicktrackers.</screen>
</para>
<para>
<anchor id="filter-webbugs">
- <screen>+filter{webbugs} # Squish WebBugs (1x1 invisible GIFs used for user tracking)</screen>
+ <screen>+filter{webbugs} # Squish WebBugs (1x1 invisible GIFs used for user tracking).</screen>
</para>
<para>
<anchor id="filter-tiny-textforms">
- <screen>+filter{tiny-textforms} # Extend those tiny textareas up to 40x80 and kill the hard wrap</screen>
+ <screen>+filter{tiny-textforms} # Extend those tiny textareas up to 40x80 and kill the hard wrap.</screen>
</para>
<para>
<anchor id="filter-jumping-windows">
- <screen>+filter{jumping-windows} # Prevent windows from resizing and moving themselves</screen>
+ <screen>+filter{jumping-windows} # Prevent windows from resizing and moving themselves.</screen>
</para>
<para>
<anchor id="filter-frameset-borders">
- <screen>+filter{frameset-borders} # Give frames a border and make them resizeable</screen>
+ <screen>+filter{frameset-borders} # Give frames a border and make them resizable.</screen>
</para>
<para>
<anchor id="filter-demoronizer">
- <screen>+filter{demoronizer} # Fix MS's non-standard use of standard charsets</screen>
+ <screen>+filter{demoronizer} # Fix MS's non-standard use of standard charsets.</screen>
</para>
<para>
<anchor id="filter-shockwave-flash">
- <screen>+filter{shockwave-flash} # Kill embedded Shockwave Flash objects</screen>
+ <screen>+filter{shockwave-flash} # Kill embedded Shockwave Flash objects.</screen>
</para>
<para>
<anchor id="filter-quicktime-kioskmode">
- <screen>+filter{quicktime-kioskmode} # Make Quicktime movies savable</screen>
+ <screen>+filter{quicktime-kioskmode} # Make Quicktime movies saveable.</screen>
</para>
<para>
<anchor id="filter-fun">
</para>
<para>
<anchor id="filter-crude-parental">
- <screen>+filter{crude-parental} # Crude parental filtering (demo only)</screen>
+ <screen>+filter{crude-parental} # Crude parental filtering. Note that this filter doesn't work reliably.</screen>
</para>
<para>
<anchor id="filter-ie-exploits">
- <screen>+filter{ie-exploits} # Disable a known Internet Explorer bug exploits</screen>
+ <screen>+filter{ie-exploits} # Disable some known Internet Explorer bug exploits.</screen>
</para>
<para>
<anchor id="filter-site-specifics">
- <screen>+filter{site-specifics} # Custom filters for specific site related problems</screen>
+ <screen>+filter{site-specifics} # Cure for site-specific problems. Don't apply generally!</screen>
+ </para>
+ <para>
+ <anchor id="filter-no-ping">
+ <screen>+filter{no-ping} # Removes non-standard ping attributes in <a> and <area> tags.</screen>
</para>
<para>
<anchor id="filter-google">
- <screen>+filter{google} # Removes text ads and other Google specific improvements</screen>
+ <screen>+filter{google} # CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.</screen>
</para>
<para>
<anchor id="filter-yahoo">
- <screen>+filter{yahoo} # Removes text ads and other Yahoo specific improvements</screen>
+ <screen>+filter{yahoo} # CSS-based block for Yahoo text ads. Also removes a width limitation.</screen>
</para>
<para>
<anchor id="filter-msn">
- <screen>+filter{msn} # Removes text ads and other MSN specific improvements</screen>
+ <screen>+filter{msn} # CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.</screen>
</para>
<para>
<anchor id="filter-blogspot">
- <screen>+filter{blogspot} # Cleans up Blogspot blogs</screen>
- </para>
- <para>
- <anchor id="filter-no-ping">
- <screen>+filter{no-ping} # Removes non-standard ping attributes from anchor and area tags</screen>
+ <screen>+filter{blogspot} # Cleans up some Blogspot blogs. Read the fine print before using this.</screen>
</para>
</listitem>
</varlistentry>
</sect3>
-<!-- ~~~~~ New section ~~~~~ -->
-<sect3 renderas="sect4" id="hide-forwarded-for-headers">
-<title>hide-forwarded-for-headers</title>
-<variablelist>
- <varlistentry>
- <term>Typical use:</term>
- <listitem>
- <para>Improve privacy by not forwarding the source of the request in the HTTP headers.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Effect:</term>
- <listitem>
- <para>
- Deletes any existing <quote>X-Forwarded-for:</quote> HTTP header 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>
- It is safe and recommended to leave this on.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Example usage:</term>
- <listitem>
- <para>
- <screen>+hide-forwarded-for-headers</screen>
- </para>
- </listitem>
- </varlistentry>
-</variablelist>
-</sect3>
-
-
<!-- ~~~~~ New section ~~~~~ -->
<sect3 renderas="sect4" id="hide-from-header">
<title>hide-from-header</title>
and be aware that using your own redirects might make it
possible to fingerprint your requests.
</para>
+ <para>
+ In case of problems with your redirects, or simply to watch
+ them working, enable <link linkend="DEBUG">debug 128</link>.
+ </para>
</listitem>
</varlistentry>
# (Note the $ at the end of the URL pattern to make sure
# the request for the rewritten URL isn't redirected as well)
{+redirect{s@$@&mode=expanded@}}
-undeadly.org/cgi\?action=article&sid=\d*$</screen>
+undeadly.org/cgi\?action=article&sid=\d*$
+
+# Redirect Google search requests to MSN
+{+redirect{s@^http://[^/]*/search\?q=([^&]*).*@http://search.msn.com/results.aspx?q=$1@}}
+.google.com/search
+
+# Redirect MSN search requests to Yahoo
+{+redirect{s@^http://[^/]*/results\.aspx\?q=([^&]*).*@http://search.yahoo.com/search?p=$1@}}
+search.msn.com//results\.aspx\?q=
+
+# Redirect remote requests for this manual
+# to the local version delivered by Privoxy
+{+redirect{s@^http://www@http://config@}}
+www.privoxy.org/user-manual/</screen>
</para>
</listitem>
</varlistentry>
# "Defaults" section:
##########################################################################
{ \
+ +<link linkend="CHANGE-X-FORWARDED-FOR">change-x-forwarded-for{block}</link> \
+<link linkend="DEANIMATE-GIFS">deanimate-gifs</link> \
+<link linkend="FILTER-HTML-ANNOYANCES">filter{html-annoyances}</link> \
+<link linkend="FILTER-REFRESH-TAGS">filter{refresh-tags}</link> \
+<link linkend="FILTER-WEBBUGS">filter{webbugs}</link> \
+<link linkend="FILTER-IE-EXPLOITS">filter{ie-exploits}</link> \
- +<link linkend="HIDE-FORWARDED-FOR-HEADERS">hide-forwarded-for-headers</link> \
+<link linkend="HIDE-FROM-HEADER">hide-from-header{block}</link> \
+<link linkend="HIDE-REFERER">hide-referrer{forge}</link> \
+<link linkend="PREVENT-COMPRESSION">prevent-compression</link> \
In file: default.action <guibutton>[ View ]</guibutton> <guibutton>[ Edit ]</guibutton>
- {+deanimate-gifs {last}
+ {+change-x-forwarded-for{block}
+ +deanimate-gifs {last}
+fast-redirects {check-decoded-url}
+filter {refresh-tags}
+filter {img-reorder}
+filter {webbugs}
+filter {jumping-windows}
+filter {ie-exploits}
- +hide-forwarded-for-headers
+hide-from-header {block}
+hide-referrer {forge}
+session-cookies-only
-add-header
-block
+ +change-x-forwarded-for{block}
-client-header-filter{hide-tor-exit-notation}
-content-type-overwrite
-crunch-client-header
-handle-as-image
-hide-accept-language
-hide-content-disposition
- +hide-forwarded-for-headers
+hide-from-header {block}
-hide-if-modified-since
+hide-referrer {forge}
{-add-header
-block
+ +change-x-forwarded-for{block}
-client-header-filter{hide-tor-exit-notation}
-content-type-overwrite
-crunch-client-header
-handle-as-image
-hide-accept-language
-hide-content-disposition
- +hide-forwarded-for-headers
+hide-from-header{block}
+hide-referer{forge}
-hide-user-agent
USA
$Log: user-manual.sgml,v $
+ Revision 2.90 2008/09/26 16:53:09 fabiankeil
+ Update "What's new" section.
+
+ Revision 2.89 2008/09/21 15:38:56 fabiankeil
+ Fix Portage tree sync instructions in Gentoo section.
+ Anonymously reported at ijbswa-developers@.
+
+ Revision 2.88 2008/09/21 14:42:52 fabiankeil
+ Add documentation for change-x-forwarded-for{},
+ remove documentation for hide-forwarded-for-headers.
+
+ Revision 2.87 2008/08/30 15:37:35 fabiankeil
+ Update entities.
+
+ Revision 2.86 2008/08/16 10:12:23 fabiankeil
+ Merge two sentences and move the URL to the end of the item.
+
+ Revision 2.85 2008/08/16 10:04:59 fabiankeil
+ Some more syntax fixes. This version actually builds.
+
+ Revision 2.84 2008/08/16 09:42:45 fabiankeil
+ Turns out building docs works better if the syntax is valid.
+
+ Revision 2.83 2008/08/16 09:32:02 fabiankeil
+ Mention changes since 3.0.9 beta.
+
+ Revision 2.82 2008/08/16 09:00:52 fabiankeil
+ Fix example URL pattern (once more with feeling).
+
+ Revision 2.81 2008/08/16 08:51:28 fabiankeil
+ Update version-related entities.
+
+ Revision 2.80 2008/07/18 16:54:30 fabiankeil
+ Remove erroneous whitespace in documentation link.
+ Reported by John Chronister in #2021611.
+
+ Revision 2.79 2008/06/27 18:00:53 markm68k
+ remove outdated startup information for mac os x
+
+ Revision 2.78 2008/06/21 17:03:03 fabiankeil
+ Fix typo.
+
+ Revision 2.77 2008/06/14 13:45:22 fabiankeil
+ Re-add a colon I unintentionally removed a few revisions ago.
+
+ Revision 2.76 2008/06/14 13:21:28 fabiankeil
+ Prepare for the upcoming 3.0.9 beta release.
+
+ Revision 2.75 2008/06/13 16:06:48 fabiankeil
+ Update the "What's New in this Release" section with
+ the ChangeLog entries changelog2doc.pl could handle.
+
+ Revision 2.74 2008/05/26 15:55:46 fabiankeil
+ - Update "default profiles" table.
+ - Add some more pcrs redirect examples and note that
+ enabling debug 128 helps to get redirects working.
+
+ Revision 2.73 2008/05/23 14:43:18 fabiankeil
+ Remove previously out-commented block that caused syntax problems.
+
+ Revision 2.72 2008/05/12 10:26:14 fabiankeil
+ Synchronize content filter descriptions with the ones in default.filter.
+
+ Revision 2.71 2008/04/10 17:37:16 fabiankeil
+ Actually we use "modern" POSIX 1003.2 regular
+ expressions in path patterns, not PCRE.
+
Revision 2.70 2008/04/10 15:59:12 fabiankeil
Add another section to the client-header-tagger example that shows
how to actually change the action settings once the tag is created.