Actionsfile feedback item #2017126 2008-07-13
[privoxy.git] / ChangeLog
index 561f06a..f7c32e7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,189 @@
 --------------------------------------------------------------------
 ChangeLog for Privoxy
 --------------------------------------------------------------------
-*** Since 3.0.6 ***
+*** Since 3.0.10
+
+- Crunched requests are logged with their own log level.
+  If you used "debug 1" in the past, you'll probably want
+  to additionally enable "debug 1024", otherwise only passed
+  requests will be logged. If you only care about crunched
+  requests, simply replace "debug 1" with "debug 1024".
+- A "clear log" view option was added to the mingw32 version
+  to clear out all of the lines in the Privoxy log window.
+  Based on a patch submitted by T Ford.
+- The mingw32 version uses "critical sections" now which
+  prevents log message corruption under load. As a side effect,
+  the "no thread-safe PRNG" warning could be removed as well.
+- 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.
+- 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).
+
+*** Version 3.0.10 ***
+
+- Ordinary configuration file changes no longer cause program
+  termination on OS/2 if the name of the logfile hasn't been
+  changed as well. This regression probably crept in with the
+  logging improvements in 3.0.7. Reported by Maynard.
+- The img-reorder filter is less likely to mess up JavaScript code in
+  img tags. Problem and solution reported by Glenn Washburn in #2014552.
+- The source tar ball now includes Privoxy-Log-Parser,
+  a syntax-highlighter for Privoxy logs. For fancy screenshots see:
+  http://www.fabiankeil.de/sourcecode/privoxy-log-parser/
+  Documentation is available through perldoc(1).
+
+*** Version 3.0.9 Beta ***
+
+- Added SOCKS5 support (with address resolution done by
+  the SOCKS5 server). Patch provided by Eric M. Hopper.
+- The "blocked" CGI pages include a block reason that was
+  provided as argument to the last-applying block action.
+- If enable-edit-actions is disabled (the default since 3.0.7 beta)
+  the show-status page hides the edit buttons and explains why.
+  Previously the user would get the "this feature has been disabled"
+  message after using the edit button.
+- Forbidden CONNECT requests are treated like blocks by default.
+  The now-pointless treat-forbidden-connects-like-blocks action
+  has been removed.
+- Not enabling limit-connect now allows CONNECT requests to all ports.
+  In previous versions it would only allow CONNECT requests to port 443.
+  Use +limit-connect{443} if you think you need the old default behaviour.
+- The CGI editor gets turned off after three edit requests with invalid
+  file modification timestamps. This makes life harder for attackers
+  who can leverage browser bugs to send fake Referers and intend to
+  brute-force edit URLs.
+- Action settings for multiple patterns in the same section are
+  shared in memory. As a result these sections take up less space
+  (and are loaded slightly faster). Problem reported by Franz Schwartau.
+- Linear white space in HTTP headers will be normalized to single
+  spaces before parsing the header's content, headers split across
+  multiple lines get merged first. This should prevent problems like:
+   * letting the session-cookies-only action slip
+     some Cookies through unmodified,
+   * only suppressing the first line of a header,
+     thus creating an invalid one, and
+   * to incorrectly block headers with valid timestamps
+     that weren't properly recognized.
+  Headers that could trigger these problems are unlikely to appear
+  in "normal" web traffic, but could be intentionally generated to
+  fool some of Privoxy's header parsers.
+- Host information is gathered outside the main thread so it's less
+  likely to delay other incoming connections if the host is misconfigured.
+- New config option "hostname" to use a hostname other than
+  the one returned by the operating system. Useful to speed-up responses
+  for CGI requests on misconfigured systems. Requested by Max Khon.
+- The CGI editor supports the "disable all filters of this type"
+  directives "-client-header-filter", "-server-header-filter",
+  "-client-header-tagger" and "-server-header-tagger".
+- Fixed false-positives with the link-by-url filter and URLs that
+  contain the pattern "/jump/".
+- The less-download-windows filter no longer messes
+  "Content-Type: application/x-shockwave-flash" headers up.
+- In the show-url-info page's "Final results" section active and
+  inactive actions are listed separately. Patch provided by Lee.
+- The GNUmakefile supports the DESTDIR variable. Patch for
+  the install target submitted by Radoslaw Zielinski.
+- Embedding the content of configuration files in the show-status
+  page is significantly faster now. For a largish action file (1 MB)
+  a speedup of about 2450 times has been measured. This is mostly
+  interesting if you are using large action files or regularly use
+  Privoxy-Regression-Test while running Privoxy through Valgrind,
+  for stock configuration files it doesn't really matter.
+- If zlib support is unavailable and there are content
+  filters active but the prevent-compression action is disabled,
+  the show-url-info page includes a warning that compression
+  might prevent filtering.
+- The show-url-info page provides an OpenSearch Description that
+  allows to access the page through browser search plugins.
+- Custom client-header filters that rewrite the request line
+  incorrectly no longer cause Privoxy to crash. Reported by din_a4.
+- The obsolete kill-popups action has been removed as the
+  PCRS-based popup filters can do the same and are slightly
+  less unreliable.
+- The inspect-jpegs action has been removed.
+- The send-wafer and send-vanilla-wafer actions have been removed.
+  They weren't particular useful and their behaviour could be emulated
+  with add-header anyway.
+- Privoxy-Regression-Test has been significantly improved.
+- Most sections in the default.action file contain tests for
+  Privoxy-Regression-Test to verify that they are working as intended.
+- Parts of Privoxy have been refactored to increase maintainability.
+- Building with zlib (if available) is done by default.
+
+*** Version 3.0.8 ***
+
+- Fixed a small memory leak when listen-address only specifies the port.
+- The source tar balls now include Privoxy-Regression-Test which
+  (upon other things) can be used to automatically detect some
+  packaging problems. Packagers are welcome to give it a try.
+- Reverted a change in 3.0.7 that caused path patterns to be checked
+  even if the host pattern match already failed. While this doesn't
+  noticeable affect the performance, it makes it less likely to run
+  out of stack space with overly-complex path patterns the user might
+  have added.
+- Updated the msn, yahoo and google filters to work as advertised again.
+- The warning message shown by the show-status CGI page is easier to
+  understand. Previously it wasn't clear that the error message
+  is shown below the invalid directive. (Reported by Lee)
+- When regenerating Content-Disposition headers the more common
+  spelling is used for the name. Previously it was written without caps.
+- Less confusing log message if the content type isn't overwritten
+  because force-text-type wasn't used but the old type doesn't look
+  like content that would be filtered normally.
+- Better log messages if the user tries to execute filters that
+  don't exist.
+- Treat the non-standard Request-Range headers like standard range
+  headers and suppress them if content filtering is enabled.
+- Prevent the log messages for CONNECT requests to unacceptable
+  ports from printing the limit-connect argument as [null] if
+  limit-connect hasn't been explicitly enabled.
+- Don't disable the mingw32 log window if the logfile directive
+  isn't used. While it was an intentional change in 3.0.7 at least
+  one user perceived it as a regression and the same effect can
+  be achieved by disabling all debug directives.
+- Fixed two minor problems related to the win32 build process: a css
+  file was not being in the installer and the trustfile comment in the
+  config.txt referenced a nonexisting file
+- Minor documentation fixes.
+
+*** Version 3.0.7 Beta ***
 
+- Added zlib support to filter content with gzip and deflate
+  encoding. (Patch provided by Wil Mahan)
+- Dedicated filters and actions are used for header filtering.
+  "filter-client-headers" and "filter-client-headers" are no longer
+  supported, use server-header-filter{} and client-header-filter{}
+  instead.
+- Tags can be used to change actions based on HTTP headers.
+- New server-header filter: less-download-windows.
+- New client-header taggers: css-requests, image-requests,
+  client-ip-address, http-method, allow-post, complete-url,
+  user-agent and privoxy-control.
+- New server-header taggers: content-type and privoxy-control.
+- The forward-override{} action allows to change the forwarding
+  settings through the action files, for example based on client
+  headers like the User-Agent, or the request origin.
+- Socks errors are no longer handled by the CGI page for
+  DNS resolution failures.
+- CGI pages use favicons to signal whether they are error
+  or control pages. This is useful if you rely heavily on
+  browser tabs.
+- The show-url-info CGI page shows the forwarding settings.
+- "Crunch!" log messages (used when Privoxy answers requests
+  by itself) now also contain the reason.
+- Allow to rewrite the request destination behind the client's back.
+- Fix socks requests on big-endian platforms. Patch provided by Song Weijia.
+- Fixes possible deadlocks and crashes on OpenBSD.
+  Patch provided by Ralf Horstmann.
+- The CGI action editor allows to edit actionfiles with previously
+  forbidden characters like dots.
 - New trust entries are saved with a comment that contains the
   trusted referring URL (Suggested by Daniel Griscom).
 - Filter descriptions are HTML encoded automatically.  
@@ -13,7 +194,7 @@ ChangeLog for Privoxy
   requests for Privoxy's CGI pages to be blocked, redirected
   or (un)trusted like ordinary requests.
 - Empty filter files no longer interrupt the filtering process
-  prematurely and are correctly listed on the show-status CGI page. 
+  prematurely and are correctly listed on the show-status CGI page.
 - New config option "accept-intercepted-requests" to combine
   Privoxy with any packet filter to build an intercepting proxy
   for HTTP/1.1 requests (and for HTTP/1.0 requests with Host header set).
@@ -24,14 +205,14 @@ ChangeLog for Privoxy
 - Fixed a bug in the User Manual delivery on Windows
   (mingw32 only). Images now show up correctly and HTML
   pages are no longer padded with garbage data.
-- Fixed small memory leak in case of config file reloads.
+- Fixed several minor memory leaks, most of them discovered with Valgrind.
 - Only unlink the pidfile if it's actually used.
 - Retries after connection problems with forced requests
   aren't blocked again.
 - On Unix SIGABRT causes a core dump as expected and is no
   longer treated as normal shutdown signal.
 - The "access denied" CGI page is more descriptive and
-  allows to circumvent the referrer check.
+  allows retries to circumvent the referrer check.
 - Updated PCRS to handle unexpected PCRE errors properly.
   Fixed crashes that could occur if Privoxy was build
   with external PCRE versions newer than Privoxy's internal
@@ -39,8 +220,6 @@ ChangeLog for Privoxy
 - Fixed crashes with null bytes in PCRS replacement strings
   (Patch provided by Felix Gröbert).
 - Fixed crashes with header time randomization on mingw32.
-- Added zlib support to filter content with gzip and deflate
-  encoding. (Patch provided by Wil Mahan)
 - The CGI style sheet is no longer delivered if the referring
   page isn't a Privoxy CGI page. This prevents a JavaScript-based
   Privoxy detection "attack". Note that detecting Privoxy is
@@ -51,11 +230,6 @@ ChangeLog for Privoxy
   is currently toggled off.
 - The show-status CGI page suppresses the edit button
   for action files if Privoxy has no write access.     
-- Socks errors are no longer handled by the CGI page for
-  DNS resolution failures.
-- CGI pages use favicons to signal whether they are error
-  or control pages. This is useful if you rely heavily on
-  browser tabs.
 - Most CGI error pages react properly to HEAD requests.
 - Requests with RFC 3253 HTTP methods (used by Subversion)
   are accepted. (Patch provided by Petr Kadlec)
@@ -63,15 +237,10 @@ ChangeLog for Privoxy
   of the CGI templates to make sure customized templates
   aren't "updated".
 - Better handling of "HTTP/1.1 100 Continue" responses.
-- "Crunch!" log messages (used when Privoxy answers requests
-  by itself) now also contain the reason.
-- The show-url-info CGI page shows the forwarding settings.
 - The background of the PNG pattern is transparent.
 - Fixed XML syntax errors caused by banners-by-size and banners-by-url.
 - Fixed crashes and possible action file corruptions
   when lines containing hashes are written through the CGI editor.
-- Fixes possible deadlocks and crashes on OpenBSD.
-  Patch provided by Ralf Horstmann.
 - Supports dynamic filters which can contain variables.
 - Supports tags to change the actions based on client or server headers.
 - Incorrect actions are logged before program termination.
@@ -80,27 +249,13 @@ ChangeLog for Privoxy
   whole file name. This is an incompatible change, if you use
   an old configuration file you might have to append ".action"
   to your "actionsfile" directives.
-- Dedicated filters and actions are used for header filtering.
-  "filter-client-headers" and "filter-client-headers" are no longer
-  supported, use server-header-filter{} and client-header-filter{}
-  instead.
-- The CGI action editor allows to edit actionfiles with previously
-  forbidden characters like dots.
-- New server-header filter: less-download-windows.
-- New client-header taggers: text-requests and image-requests.
-- The forward-override{} action allows to change the forwarding
-  settings based on client headers like the User-Agent, or the
-  request origin.
 - With the configuration file option "enforce-blocks" the
   "go there anyway" mechanism can be disabled without recompiling
   Privoxy.
-- On Unix-like systems nothing is logged to the console unless
-  an error occurs or Privoxy isn't running as daemon.
 - More precise error messages in case of incorrect acl syntax.
 - Logs a warning if filtering is enabled but impossible due
   to lack of zlib support or use of the prevent-compression action.
 - Less noisy handling of Cookie:" and "Connection:" headers.
-- Don't ignore filter files if an previous filter file was empty.
 - Improved error messages in case of connection problems.
 - Fix a command-line-parsing bug that was introduced before 3.0.5
   beta and caused Privoxy to treat the last argument as configuration
@@ -109,18 +264,33 @@ ChangeLog for Privoxy
   of silently ignoring them.
 - Use string functions with length checks more often.
 - Don't log CONNECT requests twice.
-- Log the source address for ACL-related connection drops.
-- Log the reason why a request was crunched.   
+- Allow to log the source address for ACL-related connection drops.
 - Don't ignore applying filters if the server didn't
   specify a Content-Type. Bug reported by Amuro Namie.
-- Allow to rewrite the request destination behind the client's back.
-- Fix socks requests on big-endian platforms. Patch provided by Song Weijia.
 - Rejected CONNECT requests are logged with log level info
   (enabled by default) and the reason for the block.
 - New command line option "--pre-chroot-nslookup hostname" to
   intialize 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)
+- Fix a long-standing memory corruption bug that could cause
+  Privoxy to overwrite a single byte in memory it didn't explicitly
+  allocate (but that probably was allocated anyway due to bucket size).
+- Send template-based CGI pages as HTTP/1.1 unless the client
+  asked for HTTP/1.0.
+- Let the first line in connection established responses
+  end in \r\n as required by RFC1945. Reported by Bert van Leeuwen.
+- If no log file has been specified, disable logging instead of logging
+  to stderr.
+- Don't block stderr when in daemon mode.
+- Ignore missing zero-chunks when filtering chunk-encoded content.
+  Earlier Privoxy versions would buffer and then forward the content
+  unmodified which caused some browsers to simply show empty pages.
+- Fix double free in cgi_edit_actions_list(). Reported by Venustech AD-LAB.
+- The code to add X-Forwarded-For headers when the hide-forwarded-for-headers
+  action isn't being used has been removed.
+- Fixed trustfile feature which previously didn't work without FEATURE_TOGGLE.
+  Reported by Lee.
 - Minor code clean-ups, filter and action file updates.
   (Some of them reported by Davide Alberani, Markus Elfring,
    Stefan Huehner and Adam Piggott)
@@ -139,7 +309,7 @@ ChangeLog for Privoxy
 - Changed webinterface default values for hide-user-agent, hide-referrer
   and set-image-blocker.
        
-*** Version 3.0.5 ***
+*** Version 3.0.5 Beta ***
 
 - Windows version can be installed/started as a service.
 - Windows icon stays blue when Privoxy is idle, green when busy.
@@ -456,7 +626,7 @@ being a mix of "U.S. English", "U.K. English" and "Irish English".
 
 
 ----------------------------------------------------------------------
-Copyright   :  Written by and Copyright (C) 2001-2007 the SourceForge
+Copyright   :  Written by and Copyright (C) 2001-2008 the SourceForge
                Privoxy team. http://www.privoxy.org/
 
                Based on the Internet Junkbuster originally written
@@ -480,12 +650,3 @@ Copyright   :  Written by and Copyright (C) 2001-2007 the SourceForge
                http://www.gnu.org/copyleft/gpl.html
                or write to the Free Software Foundation, Inc., 59
                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-               Note that parts of Privoxy are under licenses that are
-               GPL-compatible but less restrictive - for details see
-               Privoxy's source code. The Privoxy team doesn't hold the
-               copyright for these parts and doesn't relicense them either.
-               You are free to extract them again to distribute them under
-               their own license.
-       
-set vi:tw=68