X-Git-Url: http://www.privoxy.org/gitweb/templates.html?a=blobdiff_plain;f=ChangeLog;h=a1964beb29888877ed0eeb914d3730bb11f77a80;hb=4b3b267db159dc23314de3062859481b7c397e32;hp=7c3ab98e02a26668bdcd9aee5b4f47a781ec4d26;hpb=dfd91f71e13f5ae692cd893788f1b281b16a4bf9;p=privoxy.git diff --git a/ChangeLog b/ChangeLog index 7c3ab98e..a1964beb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,478 @@ -------------------------------------------------------------------- ChangeLog for Privoxy -------------------------------------------------------------------- -*** Version 3.0.30 UNRELEASED *** +*** Version 3.0.34 stable *** + +- Bug fixes: + - Improve the handling of chunk-encoded responses by buffering the data + even if filters are disabled and properly keeping track of where the + various chunks are supposed to start and end. Previously Privoxy would + merely check the last bytes received to see if they looked like the + last-chunk. This failed to work if the last-chunk wasn't received in one + read and could also result in actual data being misdetected + as last-chunk. + Should fix: SF support request #1739. + Reported by: withoutname. + - remove_chunked_transfer_coding(): Refuse to de-chunk invalid data + Previously the data could get corrupted even further. + Now we simply pass the unmodified data to the client. + - gif_deanimate(): Tolerate multiple image extensions in a row. + This allows to deanimate all the gifs on: + https://commons.wikimedia.org/wiki/Category:Animated_smilies + Fixes SF bug #795 reported by Celejar. + - OpenSSL generate_host_certificate(): Use X509_get_subject_name() + instead of X509_get_issuer_name() to get the issuer for generated + website certificates so there are no warnings in the browser when using + an intermediate CA certificate instead of a self-signed root certificate. + Problem reported and patch submitted by Chakib Benziane. + - can_filter_request_body(): Fix a log message that contained a spurious u. + - handle_established_connection(): Check for pending TLS data from the client + before checking if data is available on the connection. + The TLS library may have already consumed all the data from the client + response in which case poll() and select() will not detect that data is + available to be read. + Sponsored by: Robert Klemme. + - ssl_send_certificate_error(): Don't crash if there's no certificate + information available. This is only relevant when Privoxy is built with + wolfSSL 5.0.0 or later (code not yet published). Earlier wolfSSL versions + or the other TLS backends don't seem to trigger the crash. + - socks5_connect(): Add support for target hosts specified as IPv4 address + Previously the IP address was sent as domain. + +- General improvements: + - Add a client-body-tagger action which creates tags based on + the content of the request body. + Sponsored by: Robert Klemme. + - When client-body filters are enabled, buffer the whole request + before opening a connection to the server. + Makes it less likely that the server connection times out + and we don't open a connection if the buffering fails anyway. + Sponsored by: Robert Klemme. + - Add periods to a couple of log messages. + - accept_connection(): Add missing space to a log message. + - Initialize ca-related defaults with strdup_or_die() so errors + aren't silently ignored. + - make_path: Use malloc_or_die() in cases where allocation errors + were already fatal anyway. + - handle_established_connection(): Improve an error message slightly. + - receive_client_request(): Reject https URLs without CONNECT request. + - Include all requests in the statistics if mutexes are available. + Previously in case of reused connections only the last request got + counted. The statistics still aren't perfect but it's an improvement. + - Add read_socks_reply() and start using it in socks5_connect() + to apply the socket timeout more consistently. + - socks5_connect(): Deal with domain names in the socks reply + - Add a filter for bundeswehr.de that hides the cookie and + privacy info banner. + +- Action file improvements: + - Disable filter{banners-by-size} for .freiheitsfoo.de/. + - Disable filter{banners-by-size} for freebsdfoundation.org/. + - Disable fast-redirects for consent.youtube.com/. + - Block requests to ups.xplosion.de/. + - Block requests for elsa.memoinsights.com/t. + - Fix a typo in a test. + - Disable fast-redirects for launchpad.net/. + - Unblock .eff.org/. + - Stop unblocking .org/.*(image|banner) which appears to be too generous + It let requests like: + https://stats.noblogs.org/piwik.php?action_name=anti%20gentrifizierungs%20fest&idsite=10175&rec=1&r=220192&h=17&m=7&s=44&url=https%3A%2F%2Fmuellemcalling.noblogs.org%2F&urlref=https%3A%2F%2Fmuellemcalling.noblogs.org%2Finfostande%2F&_id=&_idn=1&_refts=0&send_image=0&cookie=1&res=1366x768&pv_id=eqr7jX&pf_net=7&pf_srv=3&pf_tfr=2281&pf_dm1=156 + pass. + The example URL http://www.gnu.org/graphics/gnu-head-banner.png is + already unblocked due to .gnu.org being unblocked. + - Unblock adfd.org/. + - Disable filter{banners-by-link} for .eff.org/. + - Block requests to odb.outbrain.com/. + - Disable fast-redirects for .gandi.net/. + - Disable fast-redirects{} for .onion/.*/status/. + - Disable fast-redirects{} for twitter.com/.*/status/. + - Unblock pinkstinks.de/. + - Disable fast-redirects for .hagalil.com/. + +- Privoxy-Log-Parser: + - Bump version to 0.9.5. + - Highlight more log messages. + - Highlight the Crunch reason only once. Previously the "crunch reason" + could also be highlighted when the URL contained a matching string. + The real crunch reason only occurs once per line, so there's no need + to continue looking for it after it has been found once. + While at it, add a comment with an example log line. + +- uagen: + - Bump version to 1.2.4. + - Update BROWSER_VERSION and BROWSER_REVISION to 102.0 + to match the User-Agent of the current Firefox ESR. + - Explicitly document that changing the 'Gecko token' is suspicious. + - Consistently use a lower-case 'c' as copyright symbol. + - Bump copyright. + - Add 'aarch64' as Linux architecture. + - Add OpenBSD architecture 'arm64'. + - Stop using sparc64 as FreeBSD architecture. + It hasn't been supported for a while now. + +- Build system: + - Makefile: Add a 'dok' target that depends on the 'error' target + to show the "You are not using GNU make or did nor run configure" + message. + - configure: Fix --with-msan option. + Also (probably) reported by Andrew Savchenko. + +- macOS build system: + - Enable HTTPS inspection when building the macOS binary + (using OpenSSL as TLS library). + +- Documentation: + - Add OpenSSL to the list of libraries that may be licensed under the + Apache 2.0 license in which case the linked Privoxy binary has to be + distributed under the GPLv3 or later. + - config: Fix the documented ca-directory default value. + Reported by avoidr. + - Rebuild developer-manual and tidy with 'HTML Tidy for FreeBSD version 5.8.0'. + - Update developer manual with new macOS packaging instructions. + - Note that the FreeBSD installation instructions work for + ElectroBSD as well. + - Note that FreeBSD/ElectroBSD users can try to install Privoxy + as binary package using 'pkg'. + +*** Version 3.0.33 stable *** +- Security/Reliability: + - cgi_error_no_template(): Encode the template name to prevent + XSS (cross-site scripting) when Privoxy is configured to servce + the user-manual itself. + Commit 0e668e9409c. OVE-20211102-0001. CVE-2021-44543. + Reported by: Artem Ivanov + - get_url_spec_param(): Free memory of compiled pattern spec + before bailing. + Reported by Joshua Rogers (Opera) who also provided the fix. + Commit 652b4b7cb0. OVE-20211201-0003. CVE-2021-44540. + - process_encrypted_request_headers(): Free header memory when + failing to get the request destination. + Reported by Joshua Rogers (Opera) who also provided the fix. + Commit 0509c58045. OVE-20211201-0002. CVE-2021-44541. + - send_http_request(): Prevent memory leaks when handling errors + Reported by Joshua Rogers (Opera) who also provided the fix. + Commit c48d1d6d08. OVE-20211201-0001. CVE-2021-44542. + +- Bug fixes: + - handle_established_connection(): Skip the poll()/select() calls + if TLS data is pending on the server socket. The TLS library may + have already consumed all the data from the server response in + which case poll() and select() will not detect that data is + available to be read. + Fixes SF bug #926 reported by Wen Yue. + - continue_https_chat(): Update csp->server_connection.request_sent + after sending the request to make sure the latency is calculated + correctly. Previously https connections were not reused after + timeout seconds after the first request made on the connection. + - free_pattern_spec(): Don't try to free an invalid pointer + when unloading an action file with a TAG pattern while + Privoxy has been compiled without FEATURE_PCRE_HOST_PATTERNS. + Closes: SF patch request #147. Patch by Maxim Antonov. + - Adjust build_request_line() to create a CONNECT request line when + https-inspecting and forwarding to a HTTP proxy. + Fixes SF bug #925 reported by Wen Yue. + - load_config(): Add a space that was missing in a log message. + - read_http_request_body(): Fix two error messages that used an + incorrect variable. + - If the the response is chunk-encoded, ignore the Content-Length + header sent by the server. + Allows to load https://redmine.lighttpd.net/ with filtering enabled. + +- General improvements: + - Allow to edit the add-header action through the CGI editor by + generalizing the code that got added with the suppress-tag action. + Closes SF patch request #146. Patch by Maxim Antonov. + - Add a CGI handler for /wpad.dat that returns a + Proxy Auto-Configuration (PAC) file. + Among other things, it can be used to instruct clients + through DHCP to use Privoxy as proxy. + For example with the dnsmasq option: + dhcp-option=252,http://config.privoxy.org/wpad.dat + Initial patch by Richard Schneidt. + - Don't log the applied actions in process_encrypted_request() + Log them in continue_https_chat() instead to mirror chat(). + Prevents the applied actions from getting logged twice + for the first request on an https-inspected connection. + - OpenSSL generate_host_certificate(): Use config.privoxy.org as Common Name + Org and Org Unit if the real host name is too long to get accepted by OpenSSL. + Clients should only care about the Subject Alternative Name + anyway and we can continue to use the real host name for it. + Reported by Miles Wen on privoxy-users@. + - Establish the TLS connection with the client earlier and decide + how to route the request afterwards. This allows to change the + forwarding settings based on information from the https-inspected + request, for example the path. + - listen_loop(): When shutting down gracefully, close listening ports + before waiting for the threads to exit. Allows to start a second + Privoxy with the same config file while the first Privoxy is still + running. + - serve(): Close the client socket as well if the server socket + for an inspected connection has been closed. Privoxy currently + can't establish a new server connection when the client socket + is reused and would drop the connection in continue_https_chat() + anyway. + - Don't disable redirect checkers in redirect_url(). + Disable them in handle_established_connection() instead. + Doing it in redirect_url() prevented the +redirect{} and + +fast-redirects{} actions from being logged with LOG_LEVEL_ACTIONS. + - handle_established_connection(): Slightly improve a comment. + - handle_established_connection(): Fix a comment. + - socks5_connect(): Fix indentation. + - handle_established_connection(): Improve an error message. + - create_pattern_spec(): Fix ifdef indentation. + - Fix comment typos. + - process_encrypted_request(): Improve a log message. + The function only processes request headers and there + may still be unread request body data left to process. + - chat(): Log the applied actions before deciding how to forward the request. + - parse_time_header(): Silence a coverity complaint when building without assertions. + - receive_encrypted_request_headers(): Improve a log message. + - mbedTLS get_ciphersuites_from_string(): Use strlcpy() instead of strncpy(). + Previously the terminating NUL wasn't copied which resulted + in a compiler warning. This didn't cause actual problems as + the target buffer was initialized by zalloc_or_die() so the + last byte of the target buffer was NUL already. + Actually copying the terminating NUL seems clearer, though. + - Remove compiler warnings. "log_error(LOG_LEVEL_FATAL, ..." + doesn't return but apparently the compiler doesn't know that. + Get rid of several "this statement may fall through + [-Wimplicit-fallthrough=]" warnings. + - Store the PEM certificate in a dynamically allocated buffer + when https-inspecting. Should prevent errors like: + 2021-03-16 22:36:19.148 7f47bbfff700 Error: X509 PEM cert len 16694 is larger than buffer len 16383 + As a bonus it should slightly reduce the memory usage as most + certificates are smaller than the previously used fixed buffer. + Reported by: Wen Yue + - OpenSSL generate_host_certificate(): Fix two error messsages. + - Improve description of handle_established_connection() + - OpenSSL ssl_store_cert(): Translate EVP_PKEY_EC to a string. + - OpenSSL ssl_store_cert(): Remove pointless variable initialization. + - OpenSSL ssl_store_cert(): Initialize pointer with NULL instead of 0. + +- Action file improvements: + - Disable fast-redirects for .microsoftonline.com/. + - Disable fast-redirects for idp.springer.com/. + - Disable fast-redirects for .zeit.de/zustimmung. + - Unblock adv-archiv.dfn-cert.de/. + - Block requests to eu-tlp01.kameleoon.eu/. + - Block requests to fpa-events.arstechnica.com/. + - Unblock nlnet.nl/. + - Unblock adguard.com/. + +- Privoxy-Log-Parser: + - Highlight 'Socket timeout 3 reached: http://127.0.0.1:20000/no-filter/chunked-content/36'. + - Improve documentation for inactivity-detection mode. + - Detect date changes when looking for inactivity. + - Add a --passed-request-statistics-threshold option + that can be set to get statistics for requests that + were passed. + - Add a "inactivity detection" mode which can be useful + for debugging purposes. + - Bump version to 0.9.4. + - Only run print_intro() and print_outro() when syntax highlighting. + - Rephrase a sentence in the documentation. + - Highlight 'Client socket 7 is no longer usable. The server socket has been closed.'. + - Clarify --statistics output by explicitly mentioning that + the status codes sent by the server may differ from the ones + in "debug 512" messages. + - Fix typo in the --statistics output. + - Remove an unused variable. + - Highlight 'The peer notified us that the connection on socket 11 is going to be closed'. + +- Privoxy-Regression-Test: + - Remove duplicated word in a comment. + +- regression-tests.action: + - Add fetch test for http://p.p/wpad.dat. + - Bump for-privoxy-version to 3.0.33 which introduced the wpad.dat support. + - Add more tests for the '/send-banner' code. + - Add test for OVE-20210203-0001. + - Add a test for CVE-2021-20217. + +- uagen: + - Bump generated Firefox version to 91 (ESR). + - Bump version to 1.2.3. + - Bump copyright. + +- Build system: + - configure: Bump SOURCE_DATE_EPOCH. + - GNUmakefile.in: Fix typo. + - configure: Add another warning in case --disable-pthread + is used while POSIX threads are available. + Various features don't even compile when not using threads. + - Add configure option to enable MemorySanitizer. + - Add configure option to enable UndefinedBehaviorSanitizer. + - Add configure option to enable AddressSanitizer. + - Bump copyright. + - Add a configure option to disable pcre JIT compilation. + While JIT compilation makes filtering faster it can + cause false-positive valgrind complaints. + As reported by Gwyn Ciesla in SF bug 924 it also can + cause problems when the SELinux policy does not grant + Privoxy "execmem" privileges. + - configure: Remove obsolete RPM_BASE check. + +- Windows build system: + - Update the build script to use mbed tls version 2.6.11. + - Update build script to use the final 8.45 pcre library. + - Put all the '--enable-xxx' options in the configure call together. + +- macOS build system: + - The OSXPackageBuilder repository has been updated and + can be used to create macOS packages again. + +- Documentation: + - contacting: Remove obsolete reference to announce.sgml. + - contacting: Request that the browser cache is cleared before + producing a log file for submission. + - Sponsor FAQ: Note that Privoxy users may follow sponsor links + without Referer header set. + - newfeatures: Clarify that https inspection also allows to + filter https responses. + - developer-manual: Mention that announce.txt should be updated + when doing a release. + - config: Explicitly mention that the CGI pages disclosing the + ca-password can be blocked and upgrade the disclosure paragraphs + to a warning. + - Put all the requested debug options in the config file. + Section 11.1 of the Privoxy user manual lists all the debug + options that should be enabled when reporting problems or requesting support. + Make it easier for users to do the right thing by having all those + options present in the config. + - Update TODO list item #184 to note that WolfSSL support will + (hopefully) appear after the 3.0.34 release. + - Update max-client-connections's description. + On modern systems other than Windows Privoxy should + use poll() in which case the FD_SETSIZE value isn't + releveant. + - Add a warning that the socket-timeout does not apply + to operations done by TLS libraries. + - Make documentation slightly less "offensive" for some people + by avoiding the word "hell". + +*** Version 3.0.32 stable *** + +- Security/Reliability: + - ssplit(): Remove an assertion that could be triggered with a + crafted CGI request. + Commit 2256d7b4d67. OVE-20210203-0001. CVE-2021-20272. + Reported by: Joshua Rogers (Opera) + - cgi_send_banner(): Overrule invalid image types. Prevents a + crash with a crafted CGI request if Privoxy is toggled off. + Commit e711c505c48. OVE-20210206-0001. CVE-2021-20273. + Reported by: Joshua Rogers (Opera) + - socks5_connect(): Don't try to send credentials when none are + configured. Fixes a crash due to a NULL-pointer dereference + when the socks server misbehaves. + Commit 85817cc55b9. OVE-20210207-0001. CVE-2021-20274. + Reported by: Joshua Rogers (Opera) + - chunked_body_is_complete(): Prevent an invalid read of size two. + Commit a912ba7bc9c. OVE-20210205-0001. CVE-2021-20275. + Reported by: Joshua Rogers (Opera) + - Obsolete pcre: Prevent invalid memory accesses with an invalid + pattern passed to pcre_compile(). Note that the obsolete pcre code + is scheduled to be removed before the 3.0.33 release. There has been + a warning since 2008 already. + Commit 28512e5b624. OVE-20210222-0001. CVE-2021-20276. + Reported by: Joshua Rogers (Opera) + +- Bug fixes: + - Properly parse the client-tag-lifetime directive. Previously it was + not accepted as an obsolete hash value was being used. + Reported by: Joshua Rogers (Opera) + - decompress_iob(): Prevent reading of uninitialized data. + Reported by: Joshua Rogers (Opera). + - decompress_iob(): Don't advance cur past eod when looking + for the end of the file name and comment. + - decompress_iob(): Cast value to unsigned char before shifting. + Prevents a left-shift of a negative value which is undefined behaviour. + Reported by: Joshua Rogers (Opera) + - gif_deanimate(): Confirm that that we have enough data before doing + any work. Fixes a crash when fuzzing with an empty document. + Reported by: Joshua Rogers (Opera). + - buf_copy(): Fail if there's no data to write or nothing to do. + Prevents undefined behaviour "applying zero offset to null pointer". + Reported by: Joshua Rogers (Opera) + - log_error(): Treat LOG_LEVEL_FATAL as fatal even when --stfu is + being used while fuzzing. + Reported by: Joshua Rogers (Opera). + - Respect DESTDIR when considering whether or not to install + config files with ".new" extension. + - OpenSSL ssl_store_cert(): Fix two error messages. + - Fix a couple of format specifiers. + - Silence compiler warnings when compiling with NDEBUG. + - fuzz_server_header(): Fix compiler warning. + - fuzz_client_header(): Fix compiler warning. + - cgi_send_user_manual(): Also reject requests if the user-manual + directive specifies a https:// URL. Previously Privoxy would try and + fail to open a local file. + +- General improvements: + - Log the TLS version and the the cipher when debug 2 is enabled. + - ssl_send_certificate_error(): Respect HEAD requests by not sending a body. + - ssl_send_certificate_error(): End the body with a single new line. + - serve(): Increase the chances that the host is logged when closing + a server socket. + - handle_established_connection(): Add parentheses to clarify an expression + Suggested by: David Binderman + - continue_https_chat(): Explicitly unset CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE + if process_encrypted_request() fails. This makes it more obvious that the + connection will not be reused. Previously serve() relied on + CSP_FLAG_SERVER_CONTENT_LENGTH_SET and CSP_FLAG_CHUNKED being unset. + Inspired by a patch from Joshua Rogers (Opera). + - decompress_iob(): Add periods to a couple of log messages + - Terminate the body of the HTTP snipplets with a single new line + instead of "\r\n". + - configure: Add --with-assertions option and only enable assertions + when it is used + - windows build: Use --with-brotli and --with-mbedtls by default and + enable dynamic error checking. + - gif_deanimate(): Confirm we've got an image before trying to write it + Saves a pointless buf_copy() call. + - OpenSSL ssl_store_cert(): Remove a superfluous space before the serial number. + +- Action file improvements: + - Disable fast-redirects for .golem.de/ + - Unblock requests to adri*. + - Block requests for trc*.taboola.com/ + - Disable fast-redirects for .linkedin.com/ + +- Filter file improvements: + - Make the second pcrs job of the img-reorder filter greedy again. + The ungreedy version broke the img tags on: + https://bulk.fefe.de/scalability/. + +- Privoxy-Log-Parser: + - Highlight a few more messages. + - Clarify the --statistics output. The shown "Reused connections" + are server connections so name them appropriately. + - Bump version to 0.9.3. + +- Privoxy-Regression-Test: + - Add the --check-bad-ssl option to the --help output. + - Bump version to 0.7.3. + +- Documentation: + - Add pushing the created tag to the release steps in the developer manual. + - Clarify that 'debug 32768' should be used in addition to the other debug + directives when reporting problems. + - Add a 'Third-party licenses and copyrights' section to the user manual. + +*** Version 3.0.31 stable *** + +- Security/Reliability: + - Prevent an assertion from getting triggered by a crafted CGI request. + Commit 5bba5b89193fa. OVE-20210130-0001. CVE-2021-20217. + Reported by: Joshua Rogers (Opera) + - Fixed a memory leak when decompression fails "unexpectedly". + Commit f431d61740cc0. OVE-20210128-0001. CVE-2021-20216. + +- Bug fixes: + - Fixed detection of insufficient data for decompression. + Previously Privoxy could try to decompress a partly + uninitialized buffer. + +*** Version 3.0.30 stable *** - Bug fixes: - Check the actual URL for redirects when https inspecting requests. @@ -17,14 +488,21 @@ ChangeLog for Privoxy This unbreaks (at least) https://config.privoxy.org/client-tags whose buttons would previously use a http:// URL resulting in browser warnings. - Support using https-inspection and client-header-order at the same time. - Privously Privoxy would crash. + Previously Privoxy would crash. Reported by: Kai Raven - Properly reject rewrites from http to https as they currently aren't supported. Previously Privoxy would wait for the client to establish an encrypted connection which obviously would not happen. + - When https inspection is enabled and Privoxy has been compiled with + FEATURE_GRACEFUL_TERMINATION (not recommended for production builds), + the TLS backend resources are free'd later on and only if no active + connections are left. Prevents crashes when exiting "gracefully" at the + wrong time. + - Let the uninstall target remove the config file even if DESTDIR + is set and properly announce the deletion of the configuration files. - General improvements: - - Allow to rewrite the request destination for https-intercepted + - Allow to rewrite the request destination for https-inspected requests behind the client's back. The documentation already sort of claimed that it was supported by not especially mentioning that it didn't work for https-inspected requests. @@ -52,12 +530,11 @@ ChangeLog for Privoxy fatal error so the regression tests can be used with and without FEATURE_PCRE_HOST_PATTERNS. - The code compiles with older C compilers again. - - Check the chdir() return code to fix a compiler warning. - - Let the crude-parental filter insert a link to Privoxy's webinterface. - - Remove the packages feed from the source tarball. + - The chdir() return code is checked to fix a compiler warning. + - The packages feed has been removed from the source tarball. It's usually out of date when the source tarball is generated for the release. - - Fix harmless compiler warnings from GCC9 with -D_FORTIFY_SOURCE=2. + - Fixed harmless compiler warnings from GCC9 with -D_FORTIFY_SOURCE=2. - windows: Remove obsolete '$(DEST)/doc/images' target. - windows: Install the images referenced in the user manual. - Remove obsolete 'gnu_regex.@OBJEXT@' target. @@ -65,11 +542,8 @@ ChangeLog for Privoxy directory which is no longer used. The images were relocated to the user-manual directory years ago. - Add new FEATURES to the show-status page and resort list. - - OpenSSL create_client_ssl_connection(): Remove unused variable. + - Remove unused variable in the OpenSSL-specific code. - Update bug tracker URL in cgi_error_unknown(). - - Properly deal with host certificates without keys and keys without - host certificate which may be left over from a previous Privoxy run - with incorrect configuration. - Saved a couple of memory allocations when sorting client headers. - Improved a couple of error messages. - Saved memory allocations when using OpenSSL and checking if a @@ -77,25 +551,36 @@ ChangeLog for Privoxy - The configure script will bail out if OpenSSL and mbedTLS are enabled at the same time. - Log a message right before exiting gracefully. + - A couple of structures have been rearranged to require slightly + less memory. + - When https inspection is enabled and the certificate is invalid + the error message is now sent with status code 403 instead of 200. + - The Slackware rc script template has been renamed to + slackware/rc.privoxy.in to silence complaints when building + Debian packages. + - When building with MbedTLS support, mbedtls_md5_ret() is used + instead of mbedtls_md5() which is deprecated and causes a warning + on Debian GNU/Linux. - Action file improvements: - Block requests to eu-tlp03.kameleoon.com/. - Unblock metrics.sr.ht/. - Disable fast-redirects for .fsf.org/. - Disable fast-redirects for .gravater.com/. - - Disable fast-redirects for .ksta.de/ + - Disable fast-redirects for .ksta.de/. - Block requests to tag.crsspxl.com/. - Block requests to analytics.slashdotmedia.com/. - Block requests to ml314.com/. - Block requests to .adroll.com/. - Block requests to fastlane.rubiconproject.com/. - - Block requests to api.theadex.com/ - - Block requests to ih.adscale.de/ - - Block requests to .s400.meetrics.net/ - - Block requests for pp.lp4.io/ + - Block requests to api.theadex.com/. + - Block requests to ih.adscale.de/. + - Block requests to .s400.meetrics.net/. + - Block requests for pp.lp4.io/. + - Block requests for trc-events.taboola.com/. - Filter file improvements: - - Added new 'allow-autocompletion' filter which changes + - A allow-autocompletion filter has been added which changes autocomplete="off" to "on" on input fields to allow autocompletion. Requested by Jamie Zawinski in #370. Filter based on a submission by Aaron Linville. @@ -104,22 +589,23 @@ ChangeLog for Privoxy for proprietary software. - Added a github filter that removes the annoying "Sign-Up" banner and the Cookie disclaimer. + - Removed a duplicated pcrs command from the js-annoyances filter. + - The crude-parental filter now provides a short reason when blocking, + inserts a link to Privoxy's webinterface and adds a new line at + the end of the generated page. -- privoxy-log-parser: - - Highlight 'Rewritten request line results in downgrade to http'. - - Highlight 'Rewrite detected: ...' messages again. +- Privoxy-Log-Parser: + - Highlight a few more messages. - Add a handler for tagging messages. - - Bump version to 0.9.2. - Properly deal with 'Certificate error' crunches Previously the error description was highlighted as 'host'. - - Highlight: 'Flushed 3153 bytes of request body' - - Highlight 'The last 12078 bytes of the request body have been read' - - Highlight 'Sending data on socket 33 over TLS/SSL failed: ...' - Log truncated LOG_LEVEL_CLF messages more gracefully - and note that the statistics will be inprecise. + and note that the statistics will be imprecise. + - Fixed perldoc typo. + - Bump version to 0.9.2. -- privoxy-regression-test: - - Use http://127.0.0.1:8118/ as default privoxy address +- Privoxy-Regression-Test: + - Use http://127.0.0.1:8118/ as default Privoxy address unless http_proxy is set through the environment. - Add a --privoxy-cgi-prefix option that specifies the prefix to use when building URLs that are supposed to reach Privoxy's @@ -143,17 +629,20 @@ ChangeLog for Privoxy "TAG:^(application|text)/(x-)?javascript$". - When get_cgi_page_or_else() fails, include the URL of the requested page in the log message. - - privoxy-regression-test: Bump version to 0.7.2 + - Added a --check-bad-ssl option that can be used to verify that + Privoxy detects certificate problems when accessing the test + sites from badssl.com. + - Bumped version to 0.7.2 - uagen: - Update example output. - Recommend the use of the https-inspection action in the documentation. - Upgrade a couple of URLs to https://. - Add ElectroBSD to the list of operating systems. - - Bump generated Firefox version to 78 (ESR). - - Bump version to 1.2.2. + - Bumped generated Firefox version to 78 (ESR). + - Bumped version to 1.2.2. - - User Documentation: + - User documentation: - Remove reference to 'How to Report Bugs Effectively'. It was only rendered as text without URL in the README anyway and there's no indication that users read it ... @@ -207,7 +696,7 @@ ChangeLog for Privoxy - Replace CVS reference with git. - Mention regression-tests.action in the config file. - Explicitly mention in the config file that access to the - ca key should be limited to Privoxy. + CA key should be limited to Privoxy. - List more client-specific-tag examples for inspiration. - Add additional headers to the client-header-order example. - Note that actions aren't updated after rewrites. @@ -216,8 +705,10 @@ ChangeLog for Privoxy - Note that protocol and host have to be added when rewriting the destination host for https-inspected requests. - Explicitly mention that the CA key is used to sign certificates. + - Put openssl command in 'command' tags. + - The man page has been moved from section 1 to man section 8. -- Developer Manual: +- Developer manual: - Flesh out the build instructions for Debian. - Remove the packaging instructions for RPM-based systems. They don't work and we don't release RPM packages anymore anyway. @@ -253,7 +744,6 @@ ChangeLog for Privoxy They are not actually available through git (yet). - Don't speak of Privoxy version 3 in the past tense. - Update the list of programs required for the release process. - - Put openssl command in 'command' tags. - Update description of the webserver target which uses ssh, not scp. - Remove obsolete reference to config.new. @@ -271,8 +761,10 @@ ChangeLog for Privoxy - Add a link to Privoxy-Regression-Test to regression-tests.action in case it isn't packaged. - Add regression tests for pcre host patterns. + - Fixed a regression test that is executed when + FEATURE_GRACEFUL_TERMINATION is enabled. -- Privoxy Infrastructure: +- Privoxy infrastructure: - Import a Privoxy logo for the website. - Update Tor onion service to HiddenServiceVersion 3. - Display the "model" photos in a single row and remove placeholder images. @@ -286,32 +778,33 @@ ChangeLog for Privoxy - 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. + CVE-2020-35502. 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. + OVE-20201118-0002. CVE-2021-20209. Sponsored by: Robert Klemme - Fixed a memory leak in the show-status CGI handler when no filter files are configured. Commit 1b1370f7a8a. - OVE-20201118-0003. + OVE-20201118-0003. CVE-2021-20210. Sponsored by: Robert Klemme - Fixes a memory leak when client tags are active. - Commit 245e1cf32. OVE-20201118-0004. + Commit 245e1cf32. OVE-20201118-0004. CVE-2021-20211. Sponsored by: Robert Klemme - 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. + Commit 5cfb7bc8fe. OVE-20201118-0005. CVE-2021-20212. - 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. + Commit 7530132349. CID 267165. OVE-20201118-0006. CVE-2021-20213. - 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. + Commit cf5640eb2a. CID 267168. OVE-20201118-0007. CVE-2021-20214. - Fixed memory leaks in the show-status CGI handler when memory allocations fail. Commit 064eac5fd0 and commit fdee85c0bf3. - CID 305233. OVE-20201118-0008. + CID 305233. OVE-20201118-0008. CVE-2021-20215. - General improvements: - Added experimental https inspection support which allows to filter @@ -3036,7 +3529,7 @@ being a mix of "U.S. English", "U.K. English" and "Irish English". ---------------------------------------------------------------------- -Copyright : Written by and Copyright (C) 2001-2021 the +Copyright : Written by and Copyright (C) 2001-2023 the Privoxy team. https://www.privoxy.org/ Based on the Internet Junkbuster originally written