Privoxy Changelog

What's new in Privoxy 3.0.23

Jan 26, 2015
  • Privoxy 3.0.23 64 bit.pkg This release is for 64 bit Intel processors running OS X 10.6 or higher. It bundles a recent version of the PCRE library (see * below for details of why this is a good thing).
  • Privoxy 3.0.23 32 bit.mpkg.tar.b2 This release is for Intel 32 bit processors running OS X 10.4 or higher. It bundles a recent version of the PCRE library (see * below for details of why this is a good thing). It is zipped because the 10.4 package format is not a single file and would not otherwise download correctly.
  • Privoxy 3.0.23 PPC.mpkg.tar.bz2 This release is targeted at users with Motorola PPC processors running OS X 10.4 or 10.5. It bundles a recent version of the PCRE library. It is zipped because the 10.4 package format is not a single file and would not otherwise download correctly.

New in Privoxy 3.0.22 (Dec 23, 2014)

  • It bundles a recent version of the PCRE library (see * below for details of why this is a good thing).

New in Privoxy 3.0.19 (Feb 28, 2012)

  • Bug fixes:
  • Prevent a segmentation fault when de-chunking buffered content.
  • It could be triggered by malicious web servers if Privoxy was
  • configured to filter the content and running on a platform
  • where SIZE_T_MAX isn't larger than UINT_MAX, which probably
  • includes most 32-bit systems. On those platforms, all Privoxy
  • versions before 3.0.19 appear to be affected.
  • To be on the safe side, this bug should be presumed to allow
  • code execution as proving that it doesn't seems unrealistic.
  • Do not expect a response from the SOCKS4/4A server until it
  • got something to respond to. This regression was introduced
  • in 3.0.18 and prevented the SOCKS4/4A negotiation from working.
  • Reported by qqqqqw in #3459781.
  • General improvements:
  • Fix an off-by-one in an error message about connect failures.
  • Use a GNUMakefile variable for the webserver root directory and
  • update the path. Sourceforge changed it which broke various
  • web-related targets.
  • Update the CODE_STATUS description.

New in Privoxy 3.0.14 Beta (Jul 25, 2009)

  • The latency is taken into account when evaluating whether or not to reuse a connection. This should significantly reduce the number of connections problems several users reported.
  • If the server doesn't specify how long the connection stays alive, Privoxy errs on the safe side of caution and assumes it's only a second.
  • The error pages for connection timeouts or missing server data use a Last-Modified date in the past. Retry attempts are detected and Privoxy removes the If-Modified-Since header to prevent the server from responding with status code 304 in which case the client would reuse the error message.
  • Setting keep-alive-timeout to 0 disables keep-alive support. Previously Privoxy would claim to allow persistence but not reuse the connection.
  • Pipelined requests are less likely to be mistaken for the request body of the previous request. Note that Privoxy still has no real pipeline support and will either serialize pipelined requests or drop them in which case the client has to resent them.
  • Fixed a crash on some Windows versions when header randomization is enabled and the date couldn't be parsed.
  • Privoxy's keep-alive timeout for the current connection is reduced to the one specified in the client's Keep-Alive header.
  • For HTTP/1.1 requests, Privoxy implies keep-alive support by not setting any Connection header instead of using 'Connection: keep-alive'.
  • If the socket isn't reusable, Privoxy doesn't temporarily waste a socket slot to remember the connection.
  • If keep-alive support is disabled but compiled in, the client's Keep-Alive header is removed.
  • Fixed a bug on mingw32 where downloading large files failed if keep-alive support was enabled.
  • Fixed a bug that (at least theoretically) could cause log timestamps to be occasionally off by about a second.
  • No Proxy-Connection header if added if there already is one.
  • The configure script respects the $PATH variable when searching for groups and id.

New in Privoxy 3.0.13 Beta (Jun 15, 2009)

  • Added IPv6 support. Thanks to Petr Pisar who not only provided
  • the initial patch but also helped a lot with the integration.
  • Added client-side keep-alive support. This should also allow
  • NTLM authentication through Privoxy, but this hasn't been
  • confirmed yet.
  • The connection sharing code is only used if the connection-sharing
  • option is enabled.
  • The max-client-connections option has been added to restrict
  • the number of client connections below a value enforced by
  • the operating system.
  • Fixed a regression reintroduced in 3.0.12 that could cause
  • crashes on mingw32 if header date randomization was enabled.
  • Compressed content with extra fields couldn't be decompressed
  • and would get passed to the client unfiltered. This problem
  • has only be detected through statical analysis with clang as
  • nobody seems to be using extra fields anyway.
  • If the server resets the Connection after sending only the headers
  • Privoxy forwards what it got to the client. Previously Privoxy
  • would deliver an error message instead.
  • Error messages in case of connection timeouts use the right
  • HTTP status code.
  • If spawning a child to handle a request fails, the client
  • gets an error message and Privoxy continues to listen for
  • new requests right away.
  • The error messages in case of server-connection timeouts or
  • prematurely closed server connections are now template-based.
  • If zlib support isn't compiled in, Privoxy no longer tries to
  • filter compressed content unless explicitly asked to do so.
  • In case of connections that are denied based on ACL directives,
  • the memory used for the client IP is no longer leaked.
  • Fixed another small memory leak if the client request times out
  • while waiting for client headers other than the request line.
  • The client socket is kept open until the server socket has
  • been marked as unused. This should increase the chances that
  • the still-open connection will be reused for the client's next
  • request to the same destination. Note that this only matters
  • if connection-sharing is enabled.
  • A TODO list has been added to the source tarballs to give potential
  • volunteers a better idea of what the current goals are. Donations
  • are still welcome too: http://www.privoxy.org/faq/general.html#DONATE

New in Privoxy 3.0.10.1 (Dec 10, 2008)

  • Bug fix.

New in Privoxy 3.0.10 (Aug 18, 2008)

  • 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).

New in Privoxy 3.0.8 (Feb 11, 2008)

  • 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.
  • Fix build on OS/2 and other platforms that are neither Windows nor Unix based.
  • 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.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.
  • Fix build on OS/2 and other platforms that are neither Windows nor Unix based.
  • 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.