X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fsource%2Fchangelog.sgml;h=6ca1058ddf991061b66ca33501962f01c67ab8d7;hb=ab927db026ae874ba2f58fd8250167369b310024;hp=691df309af201f5f3a2331d77d57c39e09a04601;hpb=08d53bc089a9cf11e25edbf2f588cee64be489e7;p=privoxy.git diff --git a/doc/source/changelog.sgml b/doc/source/changelog.sgml index 691df309..6ca1058d 100644 --- a/doc/source/changelog.sgml +++ b/doc/source/changelog.sgml @@ -1,11 +1,9 @@ - Privoxy 3.0.26 stable is a bug-fix release - for the previously released 3.0.25 beta which introduced client-specific - tags and included a couple of minor improvements. + Privoxy 3.0.29 fixes a couple of memory + leaks and introduces https inspection which allows to filter encrypted + requests and responses. - + + Changes in Privoxy 3.0.29 stable: + - Bug fixes: + Security/Reliability: - Fixed crashes with "listen-addr :8118" (SF Bug #902). - The regression was introduced in 3.0.25 beta and reported - by Marvin Renich in Debian bug #834941. - + Fixed memory leaks when a response is buffered and the buffer + limit is reached or Privoxy is running out of memory. + Commits bbd53f1010b and 4490d451f9b. OVE-20201118-0001. + Sponsored by: Robert Klemme + + + + + Fixed a memory leak in the show-status CGI handler when + no action files are configured. Commit c62254a686. + OVE-20201118-0002. + Sponsored by: Robert Klemme + - - - - - - General improvements: - - Log when privoxy is toggled on or off via cgi interface. + Fixed a memory leak in the show-status CGI handler when + no filter files are configured. Commit 1b1370f7a8a. + OVE-20201118-0003. + Sponsored by: Robert Klemme - Highlight the "Info: Now toggled " on/off log message - in the Windows log viewer. + Fixes a memory leak when client tags are active. + Commit 245e1cf32. OVE-20201118-0004. + Sponsored by: Robert Klemme - Highlight the loading actions/filter file log message - in the Windows log viewer. + Fixed a memory leak if multiple filters are executed + and the last one is skipped due to a pcre error. + Commit 5cfb7bc8fe. OVE-20201118-0005. - Mention client-specific tags on the toggle page as a - potentionally more appropriate alternative. + Prevent an unlikely dereference of a NULL-pointer that + could result in a crash if accept-intercepted-requests + was enabled, Privoxy failed to get the request destination + from the Host header and a memory allocation failed. + Commit 7530132349. CID 267165. OVE-20201118-0006. + + + + + Fixed memory leaks in the client-tags CGI handler when + client tags are configured and memory allocations fail. + Commit cf5640eb2a. CID 267168. OVE-20201118-0007. + + + + + Fixed memory leaks in the show-status CGI handler when memory + allocations fail. Commit 064eac5fd0 and commit fdee85c0bf3. + CID 305233. OVE-20201118-0008. @@ -78,98 +102,218 @@ - Documentation improvements: + General improvements: - Update download section on the homepage. - The downloads are available from the website now. + Added experimental https inspection support which allows to filter + https traffic. To enable it, install MbedTLS and configure with + --with-mbedtls, or install OpenSSL or LibreSSL and configure + with --with-openssl. + Afterwards configure the directives in section 7 of the + config file and enable the +https-inspection action. + Initial MbedTLS-based code contributed by Vaclav Svec, + initial OpenSSL support contributed by Maxim Antonov. + With help from Nedzad Hrnjica and Ho+ Ho+ Ho+. + Integration and improvements sponsored by Robert Klemme. - Add sponsor FAQ. + pcrs: Request JIT compilation if it's supported and + the filter isn't dynamic. This can speed up filtering. - Remove obsolete reference to mailing lists hosted at SourceForge. + Added support for Brotli decompression. + Sponsored by: Robert Klemme - Update the "Before the Release" section of the developer manual. + Added FEATURE_EXTENDED_STATISTICS to gather statistics for + block reasons and filter executions. To enable it, configure + with --enable-extended-statistics and visit + http://config.privoxy.org/show-status. + Sponsored by: Robert Klemme - - - - - - - Infrastructure improvements: - + - Add perl script to generate an RSS feed for the packages - Submitted by "Unknown". + Use the IP_FREEBIND socket option, if defined. This allows + Privoxy to bind to not-yet assigned IP addresses which is + useful in failover environments. + Patch by Sam Varshavchik. - - - - - - - Build system improvements: - + - strptime.h: fix a compiler warning about ambiguous else. + Allow to use extended host patterns and vanilla host patterns + at the same time by prefixing extended host patterns with + "PCRE-HOST-PATTERN:". To enable this, configure with + --enable-pcre-host-patterns. + Sponsored by: Robert Klemme - configure.in: Check for Docbook goo on the BSDs as well. + Added "Cross-origin resource sharing" (CORS) support. + This allows to access Privoxy's CGI interface via JavaScript from + another domain (white-listed with the new cors-allowed-origin directive). + Based on a patch by Nedzad Hrnjica. + Sponsored by: Robert Klemme. - GNUMakefile.in: Let the dok-user target remove temporary files. + Add SOCKS5 username/password support. + Based on a patch by Sam, improved by Ivan Romanov. + Closes Patch#141 and solves TODO#105. - - - - - - - - - - - Privoxy 3.0.25 beta introduces client-specific - tags and includes a couple of minor improvements. It will be followed - by a stable release in the near future. - - - - - - Bug fixes: - + + + + Bump the maximum number of action and filter files + to 100 each. + Sponsored by: Robert Klemme + + + + + Fixed handling of filters with "split-large-forms 1" + when using the CGI editor. + Reported by withoutname in #921. + + - Always use the current toggle state for new requests. - Previously new requests on reused connections inherited - the toggle state from the previous request even though - the toggle state could have changed. - Reported by Robert Klemme. + Better detect a mismatch of connection details when + figuring out whether or not a connection can be reused. - Fixed two buffer-overflows in the (deprecated) static - pcre code. These bugs are not considered security issues - as the input is trusted. - Found with afl-fuzz and ASAN. + Don't send a "Connection failure" message instead of the + "DNS failure" message. + Sponsored by: Robert Klemme + + + + + Let LOG_LEVEL_REQUEST log all requests. Previously unencrypted + requests were only logged with LOG_LEVEL_REQUEST when they weren't + crunched (in which case they were logged with LOG_LEVEL_CRUNCH). + This was documented behaviour, but logging all requests seems more useful. + + + + + Fixed locking around localtime() and gmtime(). + + + + + Removed OS/2 support. We haven't provided OS/2 packages in years, + it complicated the code and it depended on a fallback snprintf() + implementation which is GPLv2 only. + + + + + Remove the fallback snprintf() implementation + Now that OS/2 support is gone we no longer need it. + + + + + Fixed a bunch of format specifiers log messages. + + + + + Added a missing apostrophe in the 'More Privoxy' menu. + + + + + Explicitly prevent use of FEATURE_CONNECTION_SHARING + without FEATURE_CONNECTION_KEEP_ALIVE. It makes no sense + and does not compile anyway. + Sponsored by: Robert Klemme + + + + + Fix build without FEATURE_CONNECTION_KEEP_ALIVE. + Sponsored by: Robert Klemme + + + + + Downgrade the 'Graceful termination requested' message + to LOG_LEVEL_INFO as it isn't an error. + Sponsored by: Robert Klemme + + + + + decompress_iob(): Downgrade the no-content message to LOG_LEVEL_RE_FILTER + While at it, fix a typo in a comment. + Sponsored by: Robert Klemme + + + + + Fixed a couple of cppcheck warnings. + + + + + Rename LOG_LEVEL_GPC to LOG_LEVEL_REQUEST. + Only the shadow knows what "GPC" is supposed to stand for. + + + + + Remove SourceForge references in copyright headers. + + + + + Upgrade a bunch of links to the homepage to https://. + + + + + Add 'no-brotli-accepted' filter which prevents the + use of Brotli compression. + + + + + Changed license for pcrs to GPLv2+ after getting the + permission from Andreas. This allows to redistribute + Privoxy under the GPLv3 which is required when linking + to future mbedTLS versions which are expected to be + licensed under the Apache 2.0 license only. + + + + + Updated a bunch of tests that have to expect status code 403 + now after r1.168/070e904afa5. + + + + + Lowercase the host name in the request line. + + + + + Only set SOURCE_DATE_EPOCH if it's not already set so + distributions can overwrite it through the environment. @@ -177,72 +321,80 @@ - General improvements: + Documentation changes: - Added support for client-specific tags which allow Privoxy - admins to pre-define tags that are set for all requests from - clients that previously opted in through the CGI interface. - They are useful in multi-user setups where admins may - want to allow users to disable certain actions and filters - for themselves without affecting others. - In single-user setups they are useful to allow more fine-grained - toggling. For example to disable request blocking while still - crunching cookies, or to disable experimental filters only. - This is an experimental feature, the syntax and behaviour may - change in future versions. - Sponsored by Robert Klemme. + Explain that Privoxy has to be distributed under the + GPLv3 (or later) when linked with an MbedTLS version + that is licensed under the Apache 2.0 license. + + + + + Import the GNU GPLv3 and include it the user manual. + + + + + Clarify FEATURE_FORCE_LOAD's description. It allows to bypass + blocking not filtering and only does it if blocks aren't enforced. + Reported by: Robert Klemme + + + + + FAQ: Remove Zwiebelfreunde e.V. from the list of fiduciary sponsors + As of 2021 they no longer handle donations for foreign organisations + due to lack of resources. - Dynamic filters and taggers now support a $listen-address variable - which contains the address the request came in on. - For external filters the variable is called $PRIVOXY_LISTEN_ADDRESS. - Original patch contributed by pursievro. + FAQ: Remove an obsolete comment with a link to the long-gone PDF manual. - Add client-header-tagger 'listen-address'. + FAQ: Add a link to the TODO list. - Include the listen-address in the log message when logging new requests. - Patch contributed by pursievro. + FAQ: Change the sponsor amounts to USD slightly rounding the + converted amounts up to get simple numbers. + Receiving USD is apparently easier for SPI and SPI is + preferred by sponsors as they can send invoices. - Turn invalid max-client-connections values into fatal errors. + Advertise the client-tags CGI page in the user manual. - The show-status page now shows whether or not dates before 1970 - and after 2038 are expected to be handled properly. - This is mainly useful for Privoxy-Regression-Test but could - also come handy when dealing with time-related support requests. + Stop advertising the show-version CGI page which no longer exists. - On Mac OS X the thread id in log messages are more likely to - be unique now. + Add yet another reason why +prevent-compression may cause problems. - When complaining about missing filters, the filter type is logged - as well. + Don't claim that contributors need ssh. It's only needed for committers. - A couple of harmless coverity warnings were silenced - (CID #161202, CID #161203, CID #161211). + Replace obsolete CVS instructions with Git instructions. + + + + + Remove an obsolete comment @@ -250,18 +402,30 @@ - Action file improvements: + Config file changes: - Filtering is disabled for Range requests to let download resumption - and Windows updates work with the default configuration. + Change the suggested default-server-timeout to 5 to match the + suggested keep-alive-timeout. Otherwise using the defaults would + result in Privoxy reducing the default-server-timeout and logging + an error message. + Sponsored by: Robert Klemme + + + + + Update the 'debug 1' description. + + + + + Add a missing 'client-specific-tag' directive. - Unblock ".ardmediathek.de/". - Reported by ThTomate in #932. + Comment out trusted-cgi-referer pointing to example.org. @@ -269,160 +433,138 @@ - Documentation improvements: + Action file improvements: - Add FAQ entry for crashes caused by memory limits. + Block requests to /(.*/)?piwik\.php - Remove obsolete FAQ entry about a bug in PHP 4.2.3. + Block requests to .connectaserver.de/ - Mention the new mailing lists were appropriate. - As the archives have not been migrated, continue to - mention the archives at SF in the contacting section - for now. + Block requests to pixel.inforsea.com/ - Note that the templates should be adjusted if Privoxy is - running as intercepting proxy without getting all requests. + Block requests to t.vi-serve.com/ - A bunch of links were converted to https://. + Block requests to .ioam.de/ - Rephrase onion service paragraph to make it more obvious - that Tor is involved and that the whole website (and not - just the homepage) is available as onion service. + Block requests to t.9gag.com/img.gif - Streamline the "More information" section on the homepage further - by additionally ditching the link to the 'See also' section - of the user manual. The section contains mostly links that are - directly reachable from the homepage already and the rest is - not significant enough to get a link from the homepage. + Block requests to .pixel.parsely.com/ as image - Change the add-header{} example to set the DNT header - and use a complete section to make copy and pasting - more convenient. - Add a comment to make it obvious that adding the - header is not recommended for obvious reasons. - Using the DNT header as example was suggested by - Leo Wzukw. + Block requests to pixel.wp.com/ - Streamline the support-and-service template - Instead of linking to the various support trackers - (whose URLs hopefully change soon), link to the - contact section of the user manual to increase the - chances that users actually read it. + Disable fast-redirects for .librarything.com/ - Add a FAQ entry for tainted sockets. + Disable fast-redirects for issue.freebsdfoundation.org/ - More sections in the documentation have stable URLs now. + Disable fast-redirects for .twitter.com/.*origin=http - FAQ: Explain why 'ping config.privoxy.org' is not expected - to reach a local Privoxy installation. + Unblock belco24.de/ - Note that donations done through Zwiebelfreunde e.V. currently - can't be checked automatically. + Add fast-redirects exception for .wikipedia.org/ - Updated section regarding starting Privoxy under OS X. + Add fast-redirects exception for oss-fuzz.com/ - Use dedicated start instructions for FreeBSD and ElectroBSD. + Disable fast-redirects for .consensu.org/delivery/pixel\.php + and block the requests as image instead - Removed release instructions for AIX. They haven't been working - for years and unsurprisingly nobody seems to care. + Unblock .adbinstaller.com/ + Reported by lvm in #942. - Removed obsolete reference to the solaris-dist target. + Unblock .adbshell.com + Reported by lvm in #942. - Updated the release instructions for FreeBSD. + Unblock .tagesschau.de/ - Removed unfinished release instructions for Amiga OS and HP-UX 11. + Disable fast-redirects for collector.githubapp.com/ + and block requests to it as image instead - Added a pointer to the Cygwin Time Machine for getting the last release of - Cygwin version 1.5 to use for building Privoxy on Windows. + Unblock 'ada*.' - Various typos have been fixed. + Add fast-redirects{} exception for sourcepoint.vice.com/ - - - - - - - Infrastructure improvements: - + + + + Unblock adaway.org/ + Reported by DRS David Soft in AF#945. + + - The website is no longer hosted at SourceForge and - can be reached through https now. + Change two block reasons that previously were the same. + Sponsored by: Robert Klemme - The mailing lists at SourceForge have been deprecated, - you can subscribe to the new ones at: https://lists.privoxy.org/ + Added a +delay-response{} test. - Migrating the remaining services from SourceForge is - work in progress (TODO list item #53). + Updated the location of the development version + of default.action.master. @@ -430,85 +572,92 @@ - Build system improvements: + Privoxy-Log-Parser: - Add configure argument to optimistically redefine FD_SETSIZE - with the intent to change the maximum number of client - connections Privoxy can handle. Only works with some libcs. - Sponsored by Robert Klemme. + Added a --keep-date option to keep the date in highlighted messages. - Let the tarball-dist target skip files in ".git". + Highlight new log messages. - Let the tarball-dist target work in cwds other than current. + Make gather_loglevel_clf_stats() more tolerant. While at it, + count all CLF messages as requests, even if the request is invalid. - Make the 'clean' target faster when run from a git repository. + Only show HTTP version distribution if at least one version has been detected. - Include tools in the generic distribution. + Only show crunch statistics if crunches were detected. - Let the gen-dist target work in cwds other than current. + Warn if the request counts differ. - Sort find output that is used for distribution tarballs - to get reproducible results. + Generate statistics if the log only contains LOG_LEVEL_CLF messages + so it can be used with vanilla webserver logs. + Previously Privoxy-specific "Request:" messages were required. - Don't add '-src' to the name of the tar ball generated by the - gen-dist target. The package isn't a source distribution but a - binary package. - While at it, use a variable for the name to reduce the chances - that the various references get out of sync and fix the gen-upload - target which was looking in the wrong directory. + Align the client-HTTP-version distribution like other distributions - Add regression-tests.action to the files that are distributed. + Bump version to 0.9.1 - The gen-dist target which was broken since 2002 (r1.92) has been fixed. + Include status code distribution in the stats. - Remove genclspec.sh which has been obsolete since 2009. + Let the statistics include the size of the content Privoxy + transferred excluding HTTP headers. - Remove obsolete reference to Redhat spec file. + Get with the program and expect all requests to be logged with LOG_LEVEL_REQUEST. + It's no longer necessary to count both LOG_LEVEL_REQUEST and + LOG_LEVEL_CRUNCH messages to get the total number of requests. - Remove the obsolete announce target which has been commented out years ago. + Leverage the LOG_LEVEL_CLF message to gather statistics that where + previously taken from LOG_LEVEL_HEADER lines. This results in less + confusing results if https inspection is enabled in which case there + are two LOG_LEVEL_HEADER lines with request lines. + Sponsored by: Robert Klemme - Let rsync skip files if the checksums match. + Properly highlight the filter results message. Previously a brace got lost. + + + + + Prefer the number of CLF lines to get the total number of requests + as it works with older Privoxy versions as well. @@ -520,45 +669,63 @@ - Add a "Default level offset" directive which can be used to - change the default level by a given value. - This directive affects all tests located after it until the end - of the file or a another "Default level offset" directive is reached. - The purpose of this directive is to make it more convenient to skip - similar tests in a given file without having to remove or disable - the tests completely. + Turn curl's globbing mode off so we can allow more characters in URLs. - Let test level 17 depend on FEATURE_64_BIT_TIME_T - instead of FEATURE_PTHREAD which has no direct connection - to the time_t size. + Allow '[' and ']' in URLs. - Fix indentation in perldoc examples. + Include the action file when complaining about missing Sticky Actions. - Don't overlook directives in the first line of the action file. + Fix a sentence in the documentation. - Bump version to 0.7. + Bump version to 0.7.1 + + + + + + + + url-pattern-translator: + + + + Detect a couple of pattern prefixes case-insensitively. + Sponsored by: Robert Klemme + + + + + Skip CLIENT-TAG patterns. + Sponsored by: Robert Klemme - Fix detection of the Privoxy version now that https:// - is used for the website. + Skip patterns that have already been converted. + It should now be safe to "convert" a file multiple times. + Sponsored by: Robert Klemme + + + + + Add the new 'PCRE-HOST-PATTERN:' prefix. + Sponsored by: Robert Klemme - +