[Privoxy-commits] [privoxy] 06/23: ChangeLog: Add changes for 4.1.0 stable

User Git git at git.privoxy.org
Thu Jan 1 15:56:03 CET 2026


This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository privoxy.

commit 7004caa746ba9b3d67d2f2f6dd9538fe7d9e0b2a
Author: Fabian Keil <fk at fabiankeil.de>
AuthorDate: Wed Dec 24 14:39:58 2025 +0100

    ChangeLog: Add changes for 4.1.0 stable
---
 ChangeLog | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 151 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index a7bffc52..e0067e53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,157 @@
 --------------------------------------------------------------------
 ChangeLog for Privoxy
 --------------------------------------------------------------------
+*** Version 4.1.0 stable ***
+
+- General improvements:
+  - Add Zstandard-decompression support.
+  - compile_pattern(): Use pcre2_get_error_message() to provide better error messages.
+  - wolfssl: Use wolfTLS_client_method() instead of wolfSSLv23_method()
+    when creating the connection to the server. Allows to connect to
+    https://media.ccc.de/ and https://traxxas.com/ while wolfSSLv23_method()
+    currently doesn't (wolfSSL 5.8.4). Unfortunately this does not allow to
+    connect to https://www.fsf.org/ while wolfSSLv23_method() does.
+    Reported upstream in https://github.com/wolfSSL/wolfssl/issues/7735.
+    curl is using wolfTLS_client_method() with recent wolfSSL versions
+    as well so this seems to be the way to go.
+  - wolfssl: Warn if HAVE_SECURE_RENEGOTIATION is unavailable
+    and don't suggest to use HAVE_RENEGOTIATION_INDICATION instead.
+  - show-status template: Add links for external (de)compression libraries.
+  - If the server sends multiple Connection headers, only parse and
+    forward the first one.
+  - create_hexadecimal_hash_of_host(): Use snprintf() instead of sprint()
+    Silences a warning on OpenBSD.
+  - Also log the listening address and port the request came in on.
+  - Added periods to a couple of log messages.
+  - Removed support for pcre1.
+  - configure.in: Removed obsolete warning if OpenSSL is detected.
+    Recent OpenSSL versions are licensed under the Apache 2 license so
+    the "special exception" from section 3 of the GPLv2 isn't needed
+    and a Privoxy binary linked to OpenSSL can be distributed under the
+    GPLv3 or later.
+  - init_domain_components(): Assert that the http->dbuffer and http->dvec
+    are NULL to detect memory leaks earlier.
+
+- Bug fixes:
+  - openssl: Don't call SSL_set_tlsext_host_name() if the host is an IP address
+    With LibreSSl the call simply fails and with OpenSSL the call
+    succeeds but results in an syntactically incorrect ClientHello
+    a server may object to. While at it, add the host name to the error message.
+  - Don't forward connection options Privoxy doesn't understand.
+  - Look for the "keep-alive" keyword more carefully in Connection headers.
+    Previously connections were not kept alive if the Connection header
+    contained additional keywords like "Upgrade".
+  - If the MS IIS5 hack fails, only send the error response if we're buffering content
+    Previously the error response was also sent if the client already
+    received the HTTP headers from the server.
+  - Fix compilation when configured with --disable-ipv6-support.
+    Submitted by Luca Broglio.
+  - Fixed detection and use of pcre2.h from a subdirectory.
+    SF bug #946. Patch submitted by Jakub Kulik.
+  - Properly handle IPv6 addresses in the Host header.
+    Reported by Joshua Rogers.
+  - socks4_connect(): Fix the dstsize passed to strlcpy() in case of socks4a.
+    Previously Privoxy would substract sizeof(struct socks_op) twice
+    as it's already part of csiz. While this was wrong it didn't
+    cause any actual problems as the buffer size is so large that
+    it didn't matter. Reported by Joshua Rogers.
+  - error_response(): Prevent a theoretical memory leak. Reported by Joshua Rogers.
+  - log_error(): Fix a segmentation fault when logging %E on a platform that
+    isn't Windows and doesn't have strerror(). Reported by Joshua Rogers.
+  - accept_connection(): Fix memory and socket leak if the server name and
+    port number ASCII decimal representation don't fit. This is not expected
+    to happen. Reported by Joshua Rogers.
+  - parse_http_url(): Fail if no host is found when we expected one.
+    This can happen in case of invalid requests in which case
+    Privoxy previously would leak a couple of bytes of memory.
+
+- Action file improvements:
+  - Prevent a fingerprinting issue with various login pages by not handling
+    the requests as image requests or fast-redirecting them. Without the added
+    section a request to a blocked or redirected login URL could be misdetected
+    by third parties as the user being logged in to the given site, thus making
+    fingerprinting Privoxy users easier. Note that this does not prevent the
+    fingerprinting issue if the client is actually logged in. For details see:
+    https://robinlinus.github.io/socialmedia-leak/
+    Doing that would probably be too invasive for a default configuration.
+  - Stop downgrading the HTTP version for port 631. It was supposed to work
+    around a problem with the CUPS webinterface but about 20 years later we
+    probably don't need it anymore ...
+  - Fix sticky actions for .flickr.com to match the action section.
+  - Remove an action section without an URL pattern.
+  - Disable fast-redirects for .bahn.de/
+  - Disable fast-redirects for report.error-report.com/
+  - Unblock metrics.1aeo.com/
+  - Unblock .crates.io/
+  - Block requests for mv.outbrain.com/
+  - Disable filter{banners-by-size} for .jwz.org/
+  - Disable deanimate-gifs for .githubusercontent.com/
+  - Disable the banners-by-size filter for github.com
+  - Widen block pattern from 'metrics.' to '.metricts.'
+  - Add +server-header-tagger{content-type} to all standard settings.
+
+- Filter improvements:
+  - Update imdb filter to remove wasted space below the search field.
+  - Update bundeswehr.de filter to be effective again.
+  - Removed the obsolete ie-exploits filter. It didn't actually reliably
+    protect against Nimda, there never were active maintainers and IE is
+    obsolete anyway. Also some virus scanners seem to be offended by the
+    test case for the filter in the source tarball.
+
+- Privoxy-Log-Parser:
+  - Bumped version to 0.9.7.
+  - Fully highlight: Accepted connection from 127.0.0.1 on socket 9 connected through 127.0.1.1:8118.
+  - Highlight: Socket 8 timed out while waiting for client headers
+  - Highlight: 'Giving up draining socket 35.'
+  - Highlight: "Tagger 'http-method' didn't add tag 'POST': suppressed"
+  - Highlight: 'Skipped filter 'banners-by-size' after job number 1: match limit exceeded (-47)'
+
+- uagen:
+  - Bumped version to 0.1.7
+  - Bumped BROWSER_VERSION and BROWSER_REVISION to match Firefox ESR 140.
+
+- Documentation:
+  - Updated license info to deal with wolfSSL's license change to GPLv3.
+  - Added new FAQ: 'Is the Privoxy source tarball infected by a virus?'.
+  - Removed claims that path matching can be turned case-sensitive.
+    The suggested method didsn't actually work.
+
+- Website improvements:
+  - GNUmakefile.in: Add a web-robots.txt target to only transfer the robots.txt to the SF server.
+  - robots.txt: Disallow /gitweb to hopefully reduce the load on the webserver
+  - robots.txt: Remvoe stray empty lines
+  - Added a vanity onion address for the privoxy.org onion service.
+
+- Tests:
+  - Updated test framework to work with recent (rc-8_18_0-3) cts upstream tests.
+  - tests/cts/run-privoxy-tests.sh: Pass arguments that follow "--" to
+    runtests-wrapper.sh so they can be passed to runtests.pl.
+    This allows to only run a single test without modifying the scripts:
+        ./run-privoxy-tests.sh -t upstream-tests -- 473
+  - run-privoxy-tests.sh: Explicitly log if there were no errors.
+  - run-privoxy-tests.sh: Continue testing if a test in a test scenario fails.
+  - runtests-wrapper.sh: Explicitly set the path to the curl binary
+    using an absolute path. Otherwise runtests.pl uses a relative
+    path in its output which can be confusing.
+  - runtests-wrapper.sh: Improve a log message.
+  - Disable the forward-to-socks-proxy and forward-to-http-proxy scenarios
+    for now. Since curl commit d39db811929f the port randomisation can no
+    longer be disabled by the injected module so the tests don't work at the
+    moment. Discussion on the curl library mailinglist didn't result in
+    a solution (https://curl.se/mail/lib-2025-08/0000.html).
+  - tests/cts: Remove 'none' server section from tests.
+    It's no longer supported as of curl commit 71c9706959cb.
+  - run-privoxy-tests.sh: Print supported arguments in case of invalid ones.
+  - Add a test for the bundeswehr.de filter.
+  - tests/cts/gzip-compression/data/test13: Fix repetitive sequence by adding a missing %.
+  - Add a couple of tests for connection headers with keep-alive-timeout set.
+  - Add fetch test for the How-Tos in the user manual.
+  - ../privoxy-runtests.pm: Prevent warning if $_ is undefined.
+  - tests/cts/runtests-wrapper.sh: Stop explicitly setting HOSTIP.
+    It doesn't work with curl master at the moment.
+  - Let the "clean" target remove logs from the cts tests.
+  - .../content-filters/content-filters.action: Remove duplicate action section.
+
 *** Version 4.0.0 stable ***
 
 - Bug fixes:

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Privoxy-commits mailing list