Add vpnxpert.com as Bronze level sponsor master
authorFabian Keil <fk@fabiankeil.de>
Mon, 24 Jan 2022 12:34:46 +0000 (13:34 +0100)
committerFabian Keil <fk@fabiankeil.de>
Mon, 24 Jan 2022 12:35:53 +0000 (13:35 +0100)
52 files changed:
ChangeLog
INSTALL
Makefile
README
cgi.c
cgiedit.c
configure.in
debian/changelog
debian/copyright
debian/source/lintian-overrides [deleted file]
default.action.master
doc/source/authors.sgml
doc/source/changelog.sgml
doc/source/config.sgml
doc/source/developer-manual.sgml
doc/source/faq.sgml
doc/source/install.sgml
doc/source/privoxy-man-page.sgml
doc/source/readme.sgml
doc/source/supported.sgml
doc/source/user-manual.sgml
doc/source/webserver/index.sgml
doc/webserver/announce.txt
doc/webserver/developer-manual/documentation.html
doc/webserver/developer-manual/index.html
doc/webserver/developer-manual/newrelease.html
doc/webserver/faq/general.html
doc/webserver/faq/index.html
doc/webserver/faq/installation.html
doc/webserver/feeds/privoxy-releases.xml
doc/webserver/index.html
doc/webserver/man-page/privoxy-man-page.html
doc/webserver/privoxy-index.html
doc/webserver/sponsors/index.html
doc/webserver/user-manual/actions-file.html
doc/webserver/user-manual/appendix.html
doc/webserver/user-manual/config.html
doc/webserver/user-manual/configuration.html
doc/webserver/user-manual/contact.html
doc/webserver/user-manual/copyright.html
doc/webserver/user-manual/filter-file.html
doc/webserver/user-manual/index.html
doc/webserver/user-manual/installation.html
doc/webserver/user-manual/introduction.html
doc/webserver/user-manual/quickstart.html
doc/webserver/user-manual/seealso.html
doc/webserver/user-manual/startup.html
doc/webserver/user-manual/templates.html
doc/webserver/user-manual/whatsnew.html
jcc.c
privoxy.8
tools/uagen.pl

index f399120..867cb5d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,24 @@
 --------------------------------------------------------------------
 ChangeLog for Privoxy
 --------------------------------------------------------------------
-*** Version 3.0.33 UNRELEASED ***
+*** 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
@@ -18,39 +35,159 @@ ChangeLog for Privoxy
     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.
-  - 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.
-    Adjust build_request_line() to create a CONNECT request line when
+  - 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()
+  - 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
+  - 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
+  - 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
@@ -61,6 +198,24 @@ ChangeLog for Privoxy
     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 ***
 
diff --git a/INSTALL b/INSTALL
index c8e1f96..297d60d 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -39,8 +39,8 @@ compiler like gcc are required.
 
 When building from a source tarball, first unpack the source:
 
-  tar xzvf privoxy-3.0.33-stable-src.tar.gz
-  cd privoxy-3.0.33-stable
+  tar xzvf privoxy-3.0.34-beta-src.tar.gz
+  cd privoxy-3.0.34-beta
 
 To build the development version, you can get the source code by doing:
 
index 493643f..2dc8180 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -70,6 +70,8 @@ error:
 
 .PHONY: error
 
+dok: error
+
 #############################################################################
 
 ## Local Variables:
diff --git a/README b/README
index 2b03991..eb50b22 100644 (file)
--- a/README
+++ b/README
@@ -32,8 +32,9 @@
  *
  *********************************************************************/
 
-This README is included with Privoxy 3.0.33. See https://www.privoxy.org/ for
-more information. The current code maturity level is "stable".
+This README is included with the development version of Privoxy 3.0.34. See
+https://www.privoxy.org/ for more information. The current code maturity level
+is "UNRELEASED", but seems stable to us :).
 
 -------------------------------------------------------------------------------
 
@@ -104,16 +105,22 @@ try it with FTP or other protocols for the simple reason it does not work.
 The actions list can be configured via the web interface accessed via http://
 p.p/, as well other options.
 
+All configuration files are subject to unannounced changes during the
+development process.
+
 -------------------------------------------------------------------------------
 
 5. DOCUMENTATION
 
-There should be documentation in the 'doc' subdirectory. In particular, see the
-User Manual there, the FAQ, and those interested in Privoxy development, should
-look at developer-manual.
+There should be documentation in the 'doc' subdirectory, but it may not be
+completed at this point. In particular, see the User Manual there, the FAQ, and
+those interested in Privoxy development, should look at developer-manual.
 
-The source and configuration files are all well commented. The main
-configuration files are: 'config', 'default.action', and 'default.filter'.
+The most up to date source of information on the current development version,
+may still be either comments in the source code, or the included configuration
+files. The source and configuration files are all well commented. The main
+configuration files are: 'config', 'default.action', and 'default.filter' in
+the top-level source directory.
 
 Included documentation may vary according to platform and packager. All
 documentation is posted on https://www.privoxy.org, in case you don't have it,
diff --git a/cgi.c b/cgi.c
index cb1f072..5d7b702 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -7,7 +7,7 @@
  *                This only contains the framework functions, the
  *                actual handler functions are declared elsewhere.
  *
- * Copyright   :  Written by and Copyright (C) 2001-2020
+ * Copyright   :  Written by and Copyright (C) 2001-2021
  *                members of the Privoxy team. https://www.privoxy.org/
  *
  *                Based on the Internet Junkbuster originally written
@@ -1199,7 +1199,8 @@ jb_err cgi_error_no_template(const struct client_state *csp,
       ").</p>\n"
       "</body>\n"
       "</html>\n";
-   const size_t body_size = strlen(body_prefix) + strlen(template_name) + strlen(body_suffix) + 1;
+   size_t body_size = strlen(body_prefix) + strlen(body_suffix) + 1;
+   const char *encoded_template_name;
 
    assert(csp);
    assert(rsp);
@@ -1213,9 +1214,17 @@ jb_err cgi_error_no_template(const struct client_state *csp,
    rsp->head_length = 0;
    rsp->is_static = 0;
 
+   encoded_template_name = html_encode(template_name);
+   if (encoded_template_name == NULL)
+   {
+      return JB_ERR_MEMORY;
+   }
+
+   body_size += strlen(encoded_template_name);
    rsp->body = malloc_or_die(body_size);
    strlcpy(rsp->body, body_prefix, body_size);
-   strlcat(rsp->body, template_name, body_size);
+   strlcat(rsp->body, encoded_template_name, body_size);
+   freez(encoded_template_name);
    strlcat(rsp->body, body_suffix, body_size);
 
    rsp->status = strdup(status);
index 3b8b12c..e73d5ee 100644 (file)
--- a/cgiedit.c
+++ b/cgiedit.c
@@ -1899,12 +1899,12 @@ static jb_err get_url_spec_param(struct client_state *csp,
    }
    err = create_pattern_spec(compiled, s);
    free(s);
+   free_pattern_spec(compiled);
    if (err)
    {
       free(param);
       return (err == JB_ERR_MEMORY) ? JB_ERR_MEMORY : JB_ERR_CGI_PARAMS;
    }
-   free_pattern_spec(compiled);
 
    if (param[strlen(param) - 1] == '\\')
    {
@@ -1935,12 +1935,12 @@ static jb_err get_url_spec_param(struct client_state *csp,
       }
       err = create_pattern_spec(compiled, s);
       free(s);
+      free_pattern_spec(compiled);
       if (err)
       {
          free(param);
          return (err == JB_ERR_MEMORY) ? JB_ERR_MEMORY : JB_ERR_CGI_PARAMS;
       }
-      free_pattern_spec(compiled);
    }
 
    *pvalue = param;
index 10cf704..e7e68be 100644 (file)
@@ -80,8 +80,8 @@ dnl release and no new release is near.
 
 VERSION_MAJOR=3
 VERSION_MINOR=0
-VERSION_POINT=33
-CODE_STATUS="stable"
+VERSION_POINT=34
+CODE_STATUS="UNRELEASED"
 
 dnl Timestamp (date +%s) used by the mtree-spec target.
 dnl Should be updated before releases but forgetting it isn't critical.
@@ -168,7 +168,7 @@ if test "x$with_asan" = "xyes"; then
     LDFLAGS="$LDFLAGS -fsanitize=address"
 fi
 
-AC_ARG_WITH(asan, [  --with-msan       Enable MemorySanitizer. Requires compiler support.])
+AC_ARG_WITH(msan, [  --with-msan       Enable MemorySanitizer. Requires compiler support.])
 if test "x$with_msan" = "xyes"; then
     CFLAGS="$CFLAGS -fsanitize=memory"
     LDFLAGS="$LDFLAGS -fsanitize=memory"
index 97814c5..022e2d0 100644 (file)
@@ -1,10 +1,17 @@
-privoxy (3.0.33~gitsnapshot-1) UNRELEASED; urgency=medium
+privoxy (3.0.34~gitsnapshot-1) UNRELEASED; urgency=medium
 
   * Unreleased GIT snapshot.
-  * Adapt Debian patches to GIT changes.
+
+ -- Roland Rosenfeld <roland@debian.org>  Thu, 09 Dec 2021 16:35:46 +0100
+
+privoxy (3.0.33-1) unstable; urgency=medium
+
+  * New upstream version 3.0.33.
+  * Adapt all patches to new version.
+  * Remove pcre dir from copyright and debian/source/lintian-overrides.
   * Undo lintian override for bug 992465.
 
- -- Roland Rosenfeld <roland@debian.org>  Thu, 02 Dec 2021 09:04:45 +0100
+ -- Roland Rosenfeld <roland@debian.org>  Wed, 08 Dec 2021 16:29:31 +0100
 
 privoxy (3.0.32-3) unstable; urgency=medium
 
index 00a73b0..d68b465 100644 (file)
@@ -61,32 +61,6 @@ Copyright:
  2002-2021  Roland Rosenfeld <roland@debian.org>
 License: GPL-2+
 
-Files: ./pcre/*
-Copyright: Copyright (c) 1997-2000 University of Cambridge
-Comment:
- Written by: Philip Hazel <ph10@cam.ac.uk>
- .
- University of Cambridge Computing Service,
- Cambridge, England. Phone: +44 1223 334714.
-License: BSD-like
- Permission is granted to anyone to use this software for any purpose on any
- computer system, and to redistribute it freely, subject to the following
- restrictions:
- .
- 1. This software is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- .
- 2. The origin of this software must not be misrepresented, either by
-    explicit claim or by omission.
- .
- 3. Altered versions must be plainly marked as such, and must not be
-    misrepresented as being the original software.
- .
- 4. If PCRE is embedded in any software that is released under the GNU
-    General Purpose Licence (GPL), then the terms of that licence shall
-    supersede any condition above with which it is incompatible.
-
 License: GPL-2+
  This program is free software; you can redistribute it
  and/or modify it under the terms of the GNU General
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
deleted file mode 100644 (file)
index 3ddafbb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# we don't use the local pcre source but use the ones from libpcre3-dev,
-# so we can ignore the warnings about old libtool versions:
-privoxy source: ancient-libtool pcre/ltconfig
-privoxy source: ancient-libtool pcre/ltmain.sh 1.3.4
index f0b7622..e61a640 100644 (file)
@@ -21,7 +21,7 @@
 #                 and enhancements are better placed in user.action,
 #                 the match-all section has been moved to match-all.action.
 #
-#  Copyright   :  Written by and Copyright (C) 2001-2021 the
+#  Copyright   :  Written by and Copyright (C) 2001-2022 the
 #                 Privoxy team. https://www.privoxy.org/
 #
 # Feedback welcome, for details please have a look at:
@@ -712,8 +712,6 @@ ada*.
 adri*.
 # URL = https://adguard.com/
 adguard.com/
-# URL = https://adv-archiv.dfn-cert.de/adv/2021-2222/
-adv-archiv.dfn-cert.de/
 
 #############################################################################
 # Generic block patterns by path:
@@ -2042,6 +2040,10 @@ belco24.de/
 metrics.sr.ht/
 # URL = https://nlnet.nl/logo/banner.png
 nlnet.nl/
+# URL = https://adv-archiv.dfn-cert.de/adv/2021-2222/
+adv-archiv.dfn-cert.de/
+# URL = https://pinkstinks.de/werbung-ohne-diskriminierung/
+pinkstinks.de/
 
 
 #############################################################################
@@ -2265,6 +2267,13 @@ idp.springer.com/
 .microsoftonline.com/
 # URL = https://www.zeit.de/zustimmung?url=https%3A%2F%2Fwww.zeit.de%2F2021%2F46%2Fchristian-drosten-coronavirus-virologie-pandemie-wissenschaft-impfung%2Fseite-4
 .zeit.de/zustimmung
+# URL = https://07.hagalil.com/www/delivery/ajs.php?zoneid=14&cb=35782002576&charset=UTF-8&loc=https%3A//www.hagalil.com/2021/12/rechtes-von-a-z-5/
+.hagalil.com/
+# URL = https://twitter.com/mariowitte/status/1479481418887663624?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1479481418887663624%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Ffuturezone.at%2Fprodukte%2Fcanon-toner-kopierschutz-gefaelscht-chips-chipmangel%2F401865218
+twitter.com/.*/status/
+#MASTER# REMARKS: There are lots of Nitter instances with onion addresses ...
+# URL = http://vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad.onion/mariowitte/status/1479481418887663624?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1479481418887663624%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Ffuturezone.at%2Fprodukte%2Fcanon-toner-kopierschutz-gefaelscht-chips-chipmangel%2F401865218
+.onion/.*/status/
 
 {+redirect{s@.*url=@http://@} -block}
 # Sticky Actions = +redirect -block
index e8fbc61..738de0c 100644 (file)
 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
 <!entity % dummy "IGNORE">
 <!entity authors SYSTEM "p-authors.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity % p-text "INCLUDE">           <!-- define we are a text only doc -->
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
 ]>
index 48b759d..95f7cfa 100644 (file)
 -->
 
 <para>
-  <application>Privoxy 3.0.32</application> fixes multiple DoS issues
-  and a couple of other bugs. The issues also affect earlier Privoxy
-  releases.
+  <application>Privoxy 3.0.33</application> fixes an XSS issue
+  and multiple DoS issues and a couple of other bugs.
+  The issues also affect earlier Privoxy releases.
+  <application>Privoxy 3.0.33</application> also comes with
+  a couple of general improvements and new features.
 </para>
- <para>
-  Changes in <application>Privoxy 3.0.32</application> stable:
- </para>
- <para>
+<para>
+  Changes in <application>Privoxy 3.0.33</application> stable:
+</para>
+<para>
  <itemizedlist>
   <listitem>
    <para>
     <itemizedlist>
     <listitem>
      <para>
-      ssplit(): Remove an assertion that could be triggered with a
-      crafted CGI request.
-      Commit 2256d7b4d67. OVE-20210203-0001.
-      Reported by: Joshua Rogers (Opera)
+      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
      </para>
     </listitem>
     <listitem>
      <para>
-      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.
-      Reported by: Joshua Rogers (Opera)
+      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.
      </para>
     </listitem>
     <listitem>
      <para>
-      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.
-      Reported by: Joshua Rogers (Opera)
+      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.
      </para>
     </listitem>
     <listitem>
      <para>
-      chunked_body_is_complete(): Prevent an invalid read of size two.
-      Commit a912ba7bc9c. OVE-20210205-0001.
-      Reported by: Joshua Rogers (Opera)
+      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.
+     </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Bug fixes:
+    <itemizedlist>
+    <listitem>
+     <para>
+      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.
      </para>
     </listitem>
     <listitem>
      <para>
-      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.
-      Reported by: Joshua Rogers (Opera)
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      load_config(): Add a space that was missing in a log message.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      read_http_request_body(): Fix two error messages that used an
+      incorrect variable.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
      </para>
      </listitem>
     </itemizedlist>
   </listitem>
   <listitem>
    <para>
-    Bug fixes:
+    General improvements:
     <itemizedlist>
     <listitem>
      <para>
-      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)
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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@.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      handle_established_connection(): Slightly improve a comment.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      handle_established_connection(): Fix a comment.
      </para>
     </listitem>
     <listitem>
      <para>
-      decompress_iob(): Prevent reading of uninitialized data.
-      Reported by: Joshua Rogers (Opera).
+      socks5_connect(): Fix indentation.
      </para>
     </listitem>
     <listitem>
      <para>
-      decompress_iob(): Don't advance cur past eod when looking
-      for the end of the file name and comment.
+      handle_established_connection(): Improve an error message.
      </para>
     </listitem>
     <listitem>
      <para>
-      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)
+      create_pattern_spec(): Fix ifdef indentation.
      </para>
     </listitem>
     <listitem>
      <para>
-      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).
+      Fix comment typos.
      </para>
     </listitem>
     <listitem>
      <para>
-      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)
+      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.
      </para>
     </listitem>
     <listitem>
      <para>
-      log_error(): Treat LOG_LEVEL_FATAL as fatal even when --stfu is
-      being used while fuzzing.
-      Reported by: Joshua Rogers (Opera).
+      chat(): Log the applied actions before deciding how to forward the request.
      </para>
     </listitem>
     <listitem>
      <para>
-      Respect DESTDIR when considering whether or not to install
-      config files with ".new" extension.
+      parse_time_header(): Silence a coverity complaint when building without assertions.
      </para>
     </listitem>
     <listitem>
      <para>
-      OpenSSL ssl_store_cert(): Fix two error messages.
+      receive_encrypted_request_headers(): Improve a log message.
      </para>
     </listitem>
     <listitem>
      <para>
-      Fix a couple of format specifiers.
+      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.
      </para>
     </listitem>
     <listitem>
      <para>
-      Silence compiler warnings when compiling with NDEBUG.
+      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.
      </para>
     </listitem>
     <listitem>
      <para>
-      fuzz_server_header(): Fix compiler warning.
+      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
      </para>
     </listitem>
     <listitem>
      <para>
-      fuzz_client_header(): Fix compiler warning.
+      OpenSSL generate_host_certificate(): Fix two error messsages.
      </para>
     </listitem>
     <listitem>
      <para>
-      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.
+      Improve description of handle_established_connection()
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      OpenSSL ssl_store_cert(): Translate EVP_PKEY_EC to a string.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      OpenSSL ssl_store_cert(): Remove pointless variable initialization.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      OpenSSL ssl_store_cert(): Initialize pointer with NULL instead of 0.
      </para>
      </listitem>
     </itemizedlist>
   </listitem>
   <listitem>
    <para>
-    General improvements:
+    Action file improvements:
     <itemizedlist>
     <listitem>
      <para>
-      Log the TLS version and the the cipher when debug 2 is enabled.
+      Disable fast-redirects for .microsoftonline.com/.
      </para>
     </listitem>
     <listitem>
      <para>
-      ssl_send_certificate_error(): Respect HEAD requests by not sending a body.
+      Disable fast-redirects for idp.springer.com/.
      </para>
     </listitem>
     <listitem>
      <para>
-      ssl_send_certificate_error(): End the body with a single new line.
+      Disable fast-redirects for .zeit.de/zustimmung.
      </para>
     </listitem>
     <listitem>
      <para>
-      serve(): Increase the chances that the host is logged when closing
-      a server socket.
+      Unblock adv-archiv.dfn-cert.de/.
      </para>
     </listitem>
     <listitem>
      <para>
-      handle_established_connection(): Add parentheses to clarify an expression
-      Suggested by: David Binderman
+      Block requests to eu-tlp01.kameleoon.eu/.
      </para>
     </listitem>
     <listitem>
      <para>
-      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).
+      Block requests to fpa-events.arstechnica.com/.
      </para>
     </listitem>
     <listitem>
      <para>
-      decompress_iob(): Add periods to a couple of log messages
+      Unblock nlnet.nl/.
      </para>
     </listitem>
     <listitem>
      <para>
-      Terminate the body of the HTTP snipplets with a single new line
-      instead of "\r\n".
+      Unblock adguard.com/.
+     </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    Privoxy-Log-Parser:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Highlight 'Socket timeout 3 reached: http://127.0.0.1:20000/no-filter/chunked-content/36'.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Improve documentation for inactivity-detection mode.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Detect date changes when looking for inactivity.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add a --passed-request-statistics-threshold option
+      that can be set to get statistics for requests that
+      were passed.
      </para>
     </listitem>
     <listitem>
      <para>
-      configure: Add --with-assertions option and only enable assertions
-      when it is used
+      Add a "inactivity detection" mode which can be useful
+      for debugging purposes.
      </para>
     </listitem>
     <listitem>
      <para>
-      windows build: Use --with-brotli and --with-mbedtls by default and
-      enable dynamic error checking.
+      Bump version to 0.9.4.
      </para>
     </listitem>
     <listitem>
      <para>
-      gif_deanimate(): Confirm we've got an image before trying to write it
-      Saves a pointless buf_copy() call.
+      Only run print_intro() and print_outro() when syntax highlighting.
      </para>
     </listitem>
     <listitem>
      <para>
-      OpenSSL ssl_store_cert(): Remove a superfluous space before the serial number.
+      Rephrase a sentence in the documentation.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Highlight 'Client socket 7 is no longer usable. The server socket has been closed.'.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Clarify --statistics output by explicitly mentioning that
+      the status codes sent by the server may differ from the ones
+      in "debug 512" messages.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Fix typo in the --statistics output.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Remove an unused variable.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Highlight 'The peer notified us that the connection on socket 11 is going to be closed'.
      </para>
      </listitem>
     </itemizedlist>
   </listitem>
   <listitem>
    <para>
-    Action file improvements:
+    Privoxy-Regression-Test:
+    <itemizedlist>
+    <listitem>
+     <para>
+      Remove duplicated word in a comment.
+     </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    regression-tests.action:
     <itemizedlist>
     <listitem>
      <para>
-      Disable fast-redirects for .golem.de/
+      Add fetch test for http://p.p/wpad.dat.
      </para>
     </listitem>
     <listitem>
      <para>
-      Unblock requests to adri*.
+      Bump for-privoxy-version to 3.0.33 which introduced the wpad.dat support.
      </para>
     </listitem>
     <listitem>
      <para>
-      Block requests for trc*.taboola.com/
+      Add more tests for the '/send-banner' code.
      </para>
     </listitem>
     <listitem>
      <para>
-      Disable fast-redirects for .linkedin.com/
+      Add test for OVE-20210203-0001.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add a test for CVE-2021-20217.
      </para>
      </listitem>
     </itemizedlist>
   </listitem>
   <listitem>
    <para>
-    Filter file improvements:
+    uagen:
     <itemizedlist>
     <listitem>
      <para>
-      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/.
+      Bump generated Firefox version to 91 (ESR).
      </para>
     </listitem>
+    <listitem>
+     <para>
+      Bump version to 1.2.3.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Bump copyright.
+     </para>
+     </listitem>
     </itemizedlist>
    </para>
   </listitem>
   <listitem>
    <para>
-    Privoxy-Log-Parser:
+    Build system:
     <itemizedlist>
     <listitem>
      <para>
-      Highlight a few more messages.
+      configure: Bump SOURCE_DATE_EPOCH.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      GNUmakefile.in: Fix typo.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add configure option to enable MemorySanitizer.
      </para>
     </listitem>
     <listitem>
      <para>
-      Clarify the --statistics output. The shown "Reused connections"
-      are server connections so name them appropriately.
+      Add configure option to enable UndefinedBehaviorSanitizer.
      </para>
     </listitem>
     <listitem>
      <para>
-      Bump version to 0.9.3.
+      Add configure option to enable AddressSanitizer.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Bump copyright.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      configure: Remove obsolete RPM_BASE check.
      </para>
      </listitem>
     </itemizedlist>
   </listitem>
   <listitem>
    <para>
-    Privoxy-Regression-Test:
+    Windows build system:
     <itemizedlist>
     <listitem>
      <para>
-      Add the --check-bad-ssl option to the --help output.
+      Update the build script to use mbed tls version 2.6.11.
      </para>
     </listitem>
     <listitem>
      <para>
-      Bump version to 0.7.3.
+      Update build script to use the final 8.45 pcre library.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Put all the '--enable-xxx' options in the configure call together.
+     </para>
+     </listitem>
+    </itemizedlist>
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+    macOS build system:
+    <itemizedlist>
+    <listitem>
+     <para>
+      The OSXPackageBuilder repository has been updated and
+      can be used to create macOS packages again.
      </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
     <listitem>
      <para>
-      Add pushing the created tag to the release steps in the developer manual.
+      contacting: Remove obsolete reference to announce.sgml.
      </para>
     </listitem>
     <listitem>
      <para>
-      Clarify that 'debug 32768' should be used in addition to the other debug
-      directives when reporting problems.
+      contacting: Request that the browser cache is cleared before
+      producing a log file for submission.
      </para>
-     </listitem>
+    </listitem>
+    <listitem>
+     <para>
+      Sponsor FAQ: Note that Privoxy users may follow sponsor links
+      without Referer header set.
+     </para>
+    </listitem>
     <listitem>
      <para>
-      Add a 'Third-party licenses and copyrights' section to the user manual.
+      newfeatures: Clarify that https inspection also allows to
+      filter https responses.
      </para>
     </listitem>
+    <listitem>
+     <para>
+      developer-manual: Mention that announce.txt should be updated
+      when doing a release.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      config: Explicitly mention that the CGI pages disclosing the
+      ca-password can be blocked and upgrade the disclosure paragraphs
+      to a warning.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Update TODO list item #184 to note that WolfSSL support will
+      (hopefully) appear after the 3.0.34 release.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      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.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Add a warning that the socket-timeout does not apply
+      to operations done by TLS libraries.
+     </para>
+    </listitem>
+    <listitem>
+     <para>
+      Make documentation slightly less "offensive" for some people
+      by avoiding the word "hell".
+     </para>
+     </listitem>
     </itemizedlist>
    </para>
   </listitem>
index e38d26c..4092ee2 100644 (file)
@@ -1,9 +1,9 @@
 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
 <!entity % dummy "IGNORE">
 <!entity config SYSTEM "p-config.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
 <!entity % user-man "IGNORE">
 <!entity % config-file "IGNORE">
 <!entity  my-app "<application>Privoxy</application>">
index bf09236..e8b472f 100644 (file)
@@ -5,10 +5,10 @@
 <!entity p-intro SYSTEM "privoxy.sgml">
 <!entity history SYSTEM "history.sgml">
 <!entity seealso SYSTEM "seealso.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity % p-text "IGNORE">        <!-- define we are not a text only doc -->
 <!entity % p-doc "INCLUDE">        <!-- and we are a formal doc           -->
 <!entity % seealso-extra "INCLUDE"> <!-- extra stuff from seealso.sgml    -->
@@ -2813,107 +2813,32 @@ git clean -fd
     </sect4>
     </sect3>
 
-    <sect3 id="newrelease-macosx"><title>Mac OS X</title>
+    <sect3 id="newrelease-macosx"><title>macOS / OS X</title>
       <para>
         First, <emphasis>make sure that you have freshly exported the right
         version into an empty directory</emphasis>. (See "Building and releasing
         packages" above).
       </para>
       <para>
-        There are three modules available in the CVS repository backups for use on Mac
-        OS X, though technically only two of them generate a release (the other
-        can be used to install from source).
+        The OSXPackageBuilder module can generate OS X installer packages
+        supporting all Macs running OS X 10.4 and above. Obtain it from Git as
+        follows into a folder parallel to the exported privoxy source:
       </para>
-      <sect4 id="OS-X-OSXPackageBuilder-module">
-      <title>OSXPackageBuilder module (Documentation out of date)</title>
-        <para>
-          The OSXPackageBuilder module generates OS X installer packages
-          supporting all Macs running OS X 10.4 and above. Obtain it from CVS as
-          follows into a folder parallel to the exported privoxy source:
-        </para>
-          <programlisting>
-cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder
-</programlisting>
-<!-- FIXME  cvs is no more!!! -->
-        <para>
-          The module contains complete instructions on its usage in the file
-          <filename>OS X Package Builder HOWTO.txt</filename>.
-        </para>
-        <para>
-          Once the package(s) have been generated, you can then upload them
-          directly to the Files section of the Sourceforge project in the
-          Macintosh (OS X) folder. Each new version release of Privoxy should
-          have a new subfolder created in which to store its files. Please
-          ensure that the folder contains a readme file that makes it clear
-          which package is for whichversion of OS X.
-        </para>
-      </sect4>
-      <sect4 id="OS-X-osxsetup-module">
-      <title>osxsetup module (DEPRECATED) (Documentation out of date)</title>
-        <para>
-          <emphasis>This module is deprecated since the installer it generates
-          places all Privoxy files in one folder in a non-standard location, and
-          supports only Intel Macs running OS X 10.6 or higher.</emphasis>
-        </para>
-        <para>
-          Check out the module from CVS as follows into a folder parallel to the
-          exported privoxy source:
-        </para>
-          <programlisting>
-cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
-</programlisting>
-<!--  FIXME  cvs is no more -->
-        <para>
-          Then run:
-        </para>
-          <programlisting>
-cd osxsetup
-build
-</programlisting>
-        <para>
-          This will run <filename>autoheader</filename>, <filename>autoconf</filename>
-          and <filename>configure</filename> as well as <filename>make</filename>.
-          Finally, it will copy over the necessary files to the ./osxsetup/files
-          directory for further processing by <filename>PackageMaker</filename>.
-        </para>
-        <para>
-        Bring up PackageMaker with the PrivoxyPackage.pmsp definition file,
-        modify the package name to match the release, and hit the "Create
-        package" button. If you specify ./Privoxy.pkg as the output package
-        name, you can then create the distributable zip file with the command:
-        </para>
-          <programlisting>
-zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg
-</programlisting>
-        <para>
-          You can then upload this file directly to the Files section of the
-          Sourceforge project in the Macintosh (OS X) folder. Each new version
-          release of Privoxy should have a new subfolder created in which to
-          store its files.
-          Please ensure that the folder contains a readme file that makes it
-          clear which version(s) of OS X the package supports.
-        </para>
-      </sect4>
-      <sect4 id="OS-X-macsetup-module">
-      <title>macsetup module (Documentation out of date)</title>
-        <para>
-          The macsetup module is ideal if you wish to build and install Privoxy
-          from source on a single machine.
-        </para>
-        <para>
-          Check out the module from CVS as follows into a folder parallel to the
-          exported privoxy source:
-        </para>
-          <programlisting>
-cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co macsetup
+        <programlisting>
+git clone ssh://git@git.privoxy.org:23/git/OSXPackageBuilder.git
 </programlisting>
-<!-- FIXME  cvs is no more -->
-        <para>
-          The module contains complete instructions on its usage in its
-          <filename>README</filename> file. The end result will be the
-          exported version of Privoxy installed on the build machine.
-        </para>
-      </sect4>
+      <para>
+        The module contains complete instructions on its usage in the file
+        <filename>OS X Package Builder HOWTO.txt</filename>.
+      </para>
+      <para>
+        Once the package(s) have been generated, you can then upload them
+        directly to the Files section of the Sourceforge project in the
+        Macintosh (OS X) folder. Each new version release of Privoxy should
+        have a new subfolder created in which to store its files. Please
+        ensure that the folder contains a readme file that makes it clear
+        which package is for which version of OS X.
+      </para>
     </sect3>
 
     <sect3 id="newrelease-freebsd"><title>FreeBSD</title>
index af3027e..30a7a5d 100644 (file)
@@ -8,10 +8,10 @@
 <!entity history SYSTEM "history.sgml">
 <!entity copyright SYSTEM "copyright.sgml">
 <!entity license SYSTEM "license.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity % p-text "IGNORE">        <!-- define we are not a text only doc -->
 <!entity % p-doc "INCLUDE">        <!-- and we are a formal doc           -->
 <!entity % p-supp-userman "INCLUDE"> <!-- Include all from supported.sgml -->
@@ -567,6 +567,10 @@ warranty? Registration?</title>
  The details may change over time but changes will only affect new sponsors
  (or existing sponsors that explicitly agreed to the changes).
 </para>
+<para>
+ Thanks to <ulink url="https://www.spi-inc.org/">Software in the Public Interest (SPI)</ulink>
+ <application>Privoxy</application> sponsors can get a proper invoice.
+</para>
 <para>
  If you want to become a sponsor, please contact
  <ulink url="mailto:fk@fabiankeil.de">Fabian Keil</ulink>
index 7a64742..a2f8089 100644 (file)
@@ -1,10 +1,10 @@
 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
 <!entity % dummy "IGNORE">
 <!entity buildsource SYSTEM "buildsource.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-stable "INCLUDE">
-<!entity % p-not-stable "IGNORE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-stable "IGNORE">
+<!entity % p-not-stable "INCLUDE">
 <!entity % p-alpha "IGNORE">
 <!entity % p-beta "IGNORE">
 <!entity % p-text "INCLUDE">       <!-- define we are a text only doc    -->
index 141dd4a..3e83fa7 100644 (file)
 <!entity copyright SYSTEM "copyright.sgml">
 <!entity license SYSTEM "license.sgml">
 <!entity authors SYSTEM "p-authors.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity % p-text "IGNORE">           <!-- define we are not a text only doc -->
 <!entity % p-authors-formal "IGNORE"> <!-- exclude additional formatting      -->
 <!entity my-copy "(C)">               <!-- db2man barfs on copyright symbol  -->
index 9e34fe7..6f6bd45 100644 (file)
@@ -4,10 +4,10 @@
 <!entity p-intro SYSTEM "privoxy.sgml">
 <!entity contacting SYSTEM "contacting.sgml">
 <!entity buildsource SYSTEM "buildsource.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity % p-text "INCLUDE">       <!-- define we are a text only doc    -->
 <!entity % p-doc "IGNORE">         <!-- and never a text doc             -->
 <!entity % p-readme "INCLUDE">     <!-- all your README belong to us     -->
index 420c065..bc45663 100644 (file)
   user-manual
   faq
   newfeatures
-  announce
 
 -->
 <para>
  At present, <application>Privoxy</application> is known to run on
- Windows 95 and later versions (98, ME, 2000, XP, Vista, Windows 7, Windows 10 etc.),
+ Windows 95 and later versions (98, ME, 2000, XP, Vista, Windows 7, Windows 10,
+ Windows 11 etc.),
  GNU/Linux (RedHat, SuSE, Debian, Fedora, Gentoo, Slackware and others),
  Mac OS X (10.4 and upwards on PPC and Intel processors),
  Haiku,
  and various other flavors of Unix.
 </para>
 
+<para>
+ The binaries provided by members of the Privoxy team have the following
+ testing platforms, earliest supported OS versions and processor architectures.
+ Be aware that down-level versions of Privoxy contain known security issues.
+ <emphasis>It is preferable to build the latest code to target earlier OS releases
+ than use an earlier Privoxy release</emphasis>:
+
+ <table frame='all'><title>Operating system support for binaries provided by Privoxy team members</title>
+ <tgroup cols='5' align='left' colsep='1' rowsep='1'>
+ <thead>
+ <row>
+  <entry>Operating System</entry>
+  <entry>Privoxy Release</entry>
+  <entry>Testing Platforms</entry>
+  <entry>Earliest OS Version Supported</entry>
+  <entry>Processor Architectures</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+  <entry>Windows</entry>
+  <entry>3.0.33</entry>
+  <entry>Windows 10</entry>
+  <entry>Windows Vista</entry>
+  <entry>Intel 32 and 64 bit</entry>
+ </row>
+ <row>
+  <entry> </entry>
+  <entry>3.0.32</entry>
+  <entry>Windows 10</entry>
+  <entry>Windows XP</entry>
+  <entry>Intel 32 and 64 bit</entry>
+ </row>
+ <row>
+  <entry>macOS</entry>
+  <entry>3.0.33</entry>
+  <entry>El Capitan (10.11.6)</entry>
+  <entry>Snow Leopard (10.6.1)</entry>
+  <entry>Intel 64 bit</entry>
+ </row>
+ <row>
+  <entry> </entry>
+  <entry>3.0.26</entry>
+  <entry>El Capitan (10.11.6), Tiger (10.4.1) PPC</entry>
+  <entry>Tiger (10.4.1)</entry>
+  <entry>Intel 32 & 64 bit, PowerPC</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+</para>
+
 <![%p-supp-userman;[
 <para>
But any operating system that runs TCP/IP, can conceivably take advantage of
Any operating system that runs TCP/IP, can conceivably take advantage of
  <application>Privoxy</application> in a networked situation where
  <application>Privoxy</application> would run as a server on a LAN gateway.
  Then only the <quote>gateway</quote> needs to be running one of the above
@@ -43,6 +95,7 @@
 
 <para>
  Source code is freely available, so porting to other operating systems
- is always a possibility.
+ is always a possibility, as is compiling for older versions of supported
+ operating systems.
 </para>
 ]]>
index 3927c4b..0c5ee30 100644 (file)
 <!entity p-authors SYSTEM "p-authors.sgml">
 <!entity config SYSTEM "p-config.sgml">
 <!entity changelog SYSTEM "changelog.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
 <!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc  -->
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity % p-text "IGNORE">        <!-- define we are not a text only doc -->
 <!entity % p-doc "INCLUDE">        <!-- and we are a formal doc           -->
 <!entity % p-readme "IGNORE">
index 3ff671c..0356630 100644 (file)
@@ -5,10 +5,10 @@
 <!entity history SYSTEM "history.sgml">
 <!entity copyright SYSTEM "copyright.sgml">
 <!entity license SYSTEM "license.sgml">
-<!entity p-version "3.0.33">
-<!entity p-status "stable">
-<!entity % p-not-stable "IGNORE">
-<!entity % p-stable "INCLUDE">
+<!entity p-version "3.0.34">
+<!entity p-status "UNRELEASED">
+<!entity % p-not-stable "INCLUDE">
+<!entity % p-stable "IGNORE">
 <!entity  my-copy "&copy;">        <!-- kludge for docbook2man            -->
 <!entity % p-homepage "IGNORE">    <!-- toggle for webserver index.html   -->
 <!entity % p-index "IGNORE">       <!-- toggle for local doc index        -->
index 20cdfd4..c56d0d1 100644 (file)
-               Announcing Privoxy 3.0.32 stable
+               Announcing Privoxy 3.0.33 stable
 --------------------------------------------------------------------
 
-Privoxy 3.0.32 fixes multiple DoS issues and a couple of other bugs.
-The issues also affect earlier Privoxy releases.
+Privoxy 3.0.33 fixes an XSS issue, multiple DoS issues and a
+couple of other bugs. The issues also affect earlier Privoxy releases.
+Privoxy 3.0.33 also comes with a couple of general improvements and
+new features.
 
 --------------------------------------------------------------------
-ChangeLog for Privoxy 3.0.32
+ChangeLog for Privoxy 3.0.33
 --------------------------------------------------------------------
 - Security/Reliability:
-  - ssplit(): Remove an assertion that could be triggered with a
-    crafted CGI request.
-    Commit 2256d7b4d67. OVE-20210203-0001.
-    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.
-    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.
-    Reported by: Joshua Rogers (Opera)
-  - chunked_body_is_complete(): Prevent an invalid read of size two.
-    Commit a912ba7bc9c. OVE-20210205-0001.
-    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.
-    Reported by: Joshua Rogers (Opera)
+  - 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:
-  - 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.
+  - 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:
-  - 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.
+  - 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 .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/.
+  - 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 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.
+  - 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:
-  - Add the --check-bad-ssl option to the --help output.
-  - Bump version to 0.7.3.
+  - 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:
-  - 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.
+  - 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".
 
 -----------------------------------------------------------------
 About Privoxy:
index 5a670cf..a4a8311 100644 (file)
             <tbody>
               <tr>
                 <td><span class="emphasis"><i class="EMPHASIS">p-version</i></span>: the <span class=
-                "APPLICATION">Privoxy</span> version string, e.g. <span class="QUOTE">"3.0.33"</span>.</td>
+                "APPLICATION">Privoxy</span> version string, e.g. <span class="QUOTE">"3.0.34"</span>.</td>
               </tr>
               <tr>
                 <td><span class="emphasis"><i class="EMPHASIS">p-status</i></span>: the project status, either
index a511667..1ddbf5b 100644 (file)
@@ -22,7 +22,7 @@
           helpful!) reading for anyone who wants to join the team. Note that it's currently out of date and may not be
           entirely correct. As always, patches are welcome.</p>
           <p>Please note that this document is constantly evolving. This copy represents the state at the release of
-          version 3.0.33. You can find the latest version of the this manual at <a href=
+          version 3.0.34. You can find the latest version of the this manual at <a href=
           "https://www.privoxy.org/developer-manual/" target="_top">https://www.privoxy.org/developer-manual/</a>.
           Please have a look at the <a href="https://www.privoxy.org/user-manual/contact.html" target="_top">contact
           section in the user manual</a> if you are interested in contacting the developers.</p>
                 <dt>6.3.2. <a href="newrelease.html#NEWRELEASE-TARBALL">Source Tarball</a></dt>
                 <dt>6.3.3. <a href="newrelease.html#NEWRELEASE-WINDOWS">Windows</a></dt>
                 <dt>6.3.4. <a href="newrelease.html#NEWRELEASE-DEBIAN">Debian</a></dt>
-                <dt>6.3.5. <a href="newrelease.html#NEWRELEASE-MACOSX">Mac OS X</a></dt>
+                <dt>6.3.5. <a href="newrelease.html#NEWRELEASE-MACOSX">macOS / OS X</a></dt>
                 <dt>6.3.6. <a href="newrelease.html#NEWRELEASE-FREEBSD">FreeBSD</a></dt>
               </dl>
             </dd>
index 0b33e7b..fd3bed4 100644 (file)
         <table border="0" bgcolor="#E0E0E0" width="100%">
           <tr>
             <td>
-              <pre class="PROGRAMLISTING">  dch -v 3.0.33-1</pre>
+              <pre class="PROGRAMLISTING">  dch -v 3.0.34-1</pre>
             </td>
           </tr>
         </table>
         <table border="0" bgcolor="#E0E0E0" width="100%">
           <tr>
             <td>
-              <pre class="PROGRAMLISTING">  lintian -iI ../build-area/privoxy_3.0.33-1_amd64.changes</pre>
+              <pre class="PROGRAMLISTING">  lintian -iI ../build-area/privoxy_3.0.34-1_amd64.changes</pre>
             </td>
           </tr>
         </table>
           <tr>
             <td>
               <pre class=
-              "PROGRAMLISTING">  sudo cowbuilder --build --basepath /var/cache/pbuilder/base.cow ../build-area/privoxy_3.0.33-1.dsc</pre>
+              "PROGRAMLISTING">  sudo cowbuilder --build --basepath /var/cache/pbuilder/base.cow ../build-area/privoxy_3.0.34-1.dsc</pre>
             </td>
           </tr>
         </table>
           <tr>
             <td>
               <pre class=
-              "PROGRAMLISTING">  autopkgtest /var/cache/pbuilder/result/privoxy_3.0.33-1_amd64.changes -s -- schroot sid</pre>
+              "PROGRAMLISTING">  autopkgtest /var/cache/pbuilder/result/privoxy_3.0.34-1_amd64.changes -s -- schroot sid</pre>
             </td>
           </tr>
         </table>
         <p>Or just push the changes to salsa.debian.org, where a CI pipeline is defined for the package, that builds
         and tests it.</p>
         <p>If everything is okay, run cowbuilder with i386 and amd64 environments for current Debian stable release and
-        build privoxy_3.0.33-1_i386.deb and privoxy_3.0.33-1_amd64.deb. Then sign both files:</p>
+        build privoxy_3.0.34-1_i386.deb and privoxy_3.0.34-1_amd64.deb. Then sign both files:</p>
         <table border="0" bgcolor="#E0E0E0" width="100%">
           <tr>
             <td>
-              <pre class="PROGRAMLISTING">  gpg --detach-sign --armor privoxy_3.0.33-1_i386.deb
-  gpg --detach-sign --armor privoxy_3.0.33-1_amd64.deb</pre>
+              <pre class="PROGRAMLISTING">  gpg --detach-sign --armor privoxy_3.0.34-1_i386.deb
+  gpg --detach-sign --armor privoxy_3.0.34-1_amd64.deb</pre>
             </td>
           </tr>
         </table>
         </div>
       </div>
       <div class="SECT3">
-        <h3 class="SECT3"><a name="NEWRELEASE-MACOSX" id="NEWRELEASE-MACOSX">6.3.5. Mac OS X</a></h3>
+        <h3 class="SECT3"><a name="NEWRELEASE-MACOSX" id="NEWRELEASE-MACOSX">6.3.5. macOS / OS X</a></h3>
         <p>First, <span class="emphasis"><i class="EMPHASIS">make sure that you have freshly exported the right version
         into an empty directory</i></span>. (See "Building and releasing packages" above).</p>
-        <p>There are three modules available in the CVS repository backups for use on Mac OS X, though technically only
-        two of them generate a release (the other can be used to install from source).</p>
-        <div class="SECT4">
-          <h4 class="SECT4"><a name="OS-X-OSXPACKAGEBUILDER-MODULE" id="OS-X-OSXPACKAGEBUILDER-MODULE">6.3.5.1.
-          OSXPackageBuilder module (Documentation out of date)</a></h4>
-          <p>The OSXPackageBuilder module generates OS X installer packages supporting all Macs running OS X 10.4 and
-          above. Obtain it from CVS as follows into a folder parallel to the exported privoxy source:</p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-                <pre class=
-                "PROGRAMLISTING">  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co OSXPackageBuilder</pre>
-              </td>
-            </tr>
-          </table>
-          <p>The module contains complete instructions on its usage in the file <tt class="FILENAME">OS X Package
-          Builder HOWTO.txt</tt>.</p>
-          <p>Once the package(s) have been generated, you can then upload them directly to the Files section of the
-          Sourceforge project in the Macintosh (OS X) folder. Each new version release of Privoxy should have a new
-          subfolder created in which to store its files. Please ensure that the folder contains a readme file that
-          makes it clear which package is for whichversion of OS X.</p>
-        </div>
-        <div class="SECT4">
-          <h4 class="SECT4"><a name="OS-X-OSXSETUP-MODULE" id="OS-X-OSXSETUP-MODULE">6.3.5.2. osxsetup module
-          (DEPRECATED) (Documentation out of date)</a></h4>
-          <p><span class="emphasis"><i class="EMPHASIS">This module is deprecated since the installer it generates
-          places all Privoxy files in one folder in a non-standard location, and supports only Intel Macs running OS X
-          10.6 or higher.</i></span></p>
-          <p>Check out the module from CVS as follows into a folder parallel to the exported privoxy source:</p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-                <pre class=
-                "PROGRAMLISTING">  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup</pre>
-              </td>
-            </tr>
-          </table>
-          <p>Then run:</p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-                <pre class="PROGRAMLISTING">  cd osxsetup
-  build</pre>
-              </td>
-            </tr>
-          </table>
-          <p>This will run <tt class="FILENAME">autoheader</tt>, <tt class="FILENAME">autoconf</tt> and <tt class=
-          "FILENAME">configure</tt> as well as <tt class="FILENAME">make</tt>. Finally, it will copy over the necessary
-          files to the ./osxsetup/files directory for further processing by <tt class="FILENAME">PackageMaker</tt>.</p>
-          <p>Bring up PackageMaker with the PrivoxyPackage.pmsp definition file, modify the package name to match the
-          release, and hit the "Create package" button. If you specify ./Privoxy.pkg as the output package name, you
-          can then create the distributable zip file with the command:</p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-                <pre class="PROGRAMLISTING">  zip -r privoxyosx_setup_x.y.z.zip Privoxy.pkg</pre>
-              </td>
-            </tr>
-          </table>
-          <p>You can then upload this file directly to the Files section of the Sourceforge project in the Macintosh
-          (OS X) folder. Each new version release of Privoxy should have a new subfolder created in which to store its
-          files. Please ensure that the folder contains a readme file that makes it clear which version(s) of OS X the
-          package supports.</p>
-        </div>
-        <div class="SECT4">
-          <h4 class="SECT4"><a name="OS-X-MACSETUP-MODULE" id="OS-X-MACSETUP-MODULE">6.3.5.3. macsetup module
-          (Documentation out of date)</a></h4>
-          <p>The macsetup module is ideal if you wish to build and install Privoxy from source on a single machine.</p>
-          <p>Check out the module from CVS as follows into a folder parallel to the exported privoxy source:</p>
-          <table border="0" bgcolor="#E0E0E0" width="100%">
-            <tr>
-              <td>
-                <pre class=
-                "PROGRAMLISTING">  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co macsetup</pre>
-              </td>
-            </tr>
-          </table>
-          <p>The module contains complete instructions on its usage in its <tt class="FILENAME">README</tt> file. The
-          end result will be the exported version of Privoxy installed on the build machine.</p>
-        </div>
+        <p>The OSXPackageBuilder module can generate OS X installer packages supporting all Macs running OS X 10.4 and
+        above. Obtain it from Git as follows into a folder parallel to the exported privoxy source:</p>
+        <table border="0" bgcolor="#E0E0E0" width="100%">
+          <tr>
+            <td>
+              <pre class="PROGRAMLISTING">  git clone ssh://git@git.privoxy.org:23/git/OSXPackageBuilder.git</pre>
+            </td>
+          </tr>
+        </table>
+        <p>The module contains complete instructions on its usage in the file <tt class="FILENAME">OS X Package Builder
+        HOWTO.txt</tt>.</p>
+        <p>Once the package(s) have been generated, you can then upload them directly to the Files section of the
+        Sourceforge project in the Macintosh (OS X) folder. Each new version release of Privoxy should have a new
+        subfolder created in which to store its files. Please ensure that the folder contains a readme file that makes
+        it clear which package is for which version of OS X.</p>
       </div>
       <div class="SECT3">
         <h3 class="SECT3"><a name="NEWRELEASE-FREEBSD" id="NEWRELEASE-FREEBSD">6.3.6. FreeBSD</a></h3>
index 08ccc57..1c17ac4 100644 (file)
       "QUOTE">"https://www.example.org/seo/keyword/spam/"</span>).</p>
       <p>The details may change over time but changes will only affect new sponsors (or existing sponsors that
       explicitly agreed to the changes).</p>
+      <p>Thanks to <a href="https://www.spi-inc.org/" target="_top">Software in the Public Interest (SPI)</a>
+      <span class="APPLICATION">Privoxy</span> sponsors can get a proper invoice.</p>
       <p>If you want to become a sponsor, please contact <a href="mailto:fk@fabiankeil.de" target="_top">Fabian
       Keil</a> and include the link target in the mail. New sponsors are only accepted if no <a href=
       "../user-manual/copyright.html#AUTHORS" target="_top">Privoxy team</a> member objects.</p>
index a1cba64..e2cebd4 100644 (file)
@@ -38,7 +38,7 @@
             </li>
           </ul>
           <p>Please note that this document is a work in progress. This copy represents the state at the release of
-          version 3.0.33. You can find the latest version of the document at <a href="https://www.privoxy.org/faq/"
+          version 3.0.34. You can find the latest version of the document at <a href="https://www.privoxy.org/faq/"
           target="_top">https://www.privoxy.org/faq/</a>. Please see the <a href="contact.html">Contact section</a> if
           you want to contact the developers.</p>
         </div>
index e47a94b..3b3fb75 100644 (file)
     <div class="SECT2">
       <h3 class="SECT2"><a name="WHICHOS" id="WHICHOS">2.2. Which operating systems are supported?</a></h3>
       <p>At present, <span class="APPLICATION">Privoxy</span> is known to run on Windows 95 and later versions (98, ME,
-      2000, XP, Vista, Windows 7, Windows 10 etc.), GNU/Linux (RedHat, SuSE, Debian, Fedora, Gentoo, Slackware and
-      others), Mac OS X (10.4 and upwards on PPC and Intel processors), Haiku, DragonFly, ElectroBSD, FreeBSD, NetBSD,
-      OpenBSD, Solaris, and various other flavors of Unix.</p>
-      <p>But any operating system that runs TCP/IP, can conceivably take advantage of <span class=
+      2000, XP, Vista, Windows 7, Windows 10, Windows 11 etc.), GNU/Linux (RedHat, SuSE, Debian, Fedora, Gentoo,
+      Slackware and others), Mac OS X (10.4 and upwards on PPC and Intel processors), Haiku, DragonFly, ElectroBSD,
+      FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of Unix.</p>
+      <p>The binaries provided by members of the Privoxy team have the following testing platforms, earliest supported
+      OS versions and processor architectures. Be aware that down-level versions of Privoxy contain known security
+      issues. <span class="emphasis"><i class="EMPHASIS">It is preferable to build the latest code to target earlier OS
+      releases than use an earlier Privoxy release</i></span>:</p>
+      <div class="TABLE">
+        <a name="AEN296" id="AEN296"></a>
+        <p><b>Table 1. Operating system support for binaries provided by Privoxy team members</b></p>
+        <table border="1" frame="border" rules="all" class="CALSTABLE">
+          <col>
+          <col>
+          <col>
+          <col>
+          <col>
+          <thead>
+            <tr>
+              <th>Operating System</th>
+              <th>Privoxy Release</th>
+              <th>Testing Platforms</th>
+              <th>Earliest OS Version Supported</th>
+              <th>Processor Architectures</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td>Windows</td>
+              <td>3.0.33</td>
+              <td>Windows 10</td>
+              <td>Windows Vista</td>
+              <td>Intel 32 and 64 bit</td>
+            </tr>
+            <tr>
+              <td>&nbsp;</td>
+              <td>3.0.32</td>
+              <td>Windows 10</td>
+              <td>Windows XP</td>
+              <td>Intel 32 and 64 bit</td>
+            </tr>
+            <tr>
+              <td>macOS</td>
+              <td>3.0.33</td>
+              <td>El Capitan (10.11.6)</td>
+              <td>Snow Leopard (10.6.1)</td>
+              <td>Intel 64 bit</td>
+            </tr>
+            <tr>
+              <td>&nbsp;</td>
+              <td>3.0.26</td>
+              <td>El Capitan (10.11.6), Tiger (10.4.1) PPC</td>
+              <td>Tiger (10.4.1)</td>
+              <td>Intel 32 &#38; 64 bit, PowerPC</td>
+            </tr>
+          </tbody>
+        </table>
+      </div>
+      <p>Any operating system that runs TCP/IP, can conceivably take advantage of <span class=
       "APPLICATION">Privoxy</span> in a networked situation where <span class="APPLICATION">Privoxy</span> would run as
       a server on a LAN gateway. Then only the <span class="QUOTE">"gateway"</span> needs to be running one of the
       above operating systems.</p>
-      <p>Source code is freely available, so porting to other operating systems is always a possibility.</p>
+      <p>Source code is freely available, so porting to other operating systems is always a possibility, as is
+      compiling for older versions of supported operating systems.</p>
     </div>
     <div class="SECT2">
       <h3 class="SECT2"><a name="EMAIL-CLIENT" id="EMAIL-CLIENT">2.3. Can I use Privoxy with my email client?</a></h3>
index fe20ff5..b9d9dd7 100644 (file)
@@ -4,7 +4,27 @@
    <title>Privoxy Releases</title>
    <link>https://www.privoxy.org/announce.txt</link>
    <description><![CDATA[Privoxy Releases RSS feed]]></description>
-   <pubDate>Sun, 28 Feb 2021 8:30:51 GMT</pubDate>
+   <pubDate>Mon, 20 Dec 2021 9:17:11 GMT</pubDate>
+<item><title><![CDATA[Macintosh (OS X)/3.0.33 (stable)/Privoxy 3.0.33 64 bit.pkg.asc]]></title><description><![CDATA[Macintosh (OS X)/3.0.33 (stable)/Privoxy 3.0.33 64 bit.pkg.asc (SHA-256: 755ca9d00d9346bc9231a3939f7af7dd6583aaaf814dfdc4c8cd9f40e8172b9a)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.33%20(stable)/Privoxy%203.0.33%2064%20bit.pkg.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.33%20(stable)/Privoxy%203.0.33%2064%20bit.pkg.asc</guid><pubDate>Sun, 19 Dec 2021 18:05:52 GMT</pubDate></item>
+<item><title><![CDATA[Macintosh (OS X)/3.0.33 (stable)/README]]></title><description><![CDATA[Macintosh (OS X)/3.0.33 (stable)/README (SHA-256: d1c59323eb3416916b7b7006cee4d50538e4b5f79a5183d6f9cd132a8c61a031)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.33%20(stable)/README</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.33%20(stable)/README</guid><pubDate>Sat, 18 Dec 2021 22:42:51 GMT</pubDate></item>
+<item><title><![CDATA[Macintosh (OS X)/3.0.33 (stable)/Privoxy 3.0.33 64 bit.pkg]]></title><description><![CDATA[Macintosh (OS X)/3.0.33 (stable)/Privoxy 3.0.33 64 bit.pkg (SHA-256: 6f4ab61776d768673ee7a7ec9687fe732902a73be018e28bfdccc5c2a52c64c7)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.33%20(stable)/Privoxy%203.0.33%2064%20bit.pkg</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.33%20(stable)/Privoxy%203.0.33%2064%20bit.pkg</guid><pubDate>Sat, 18 Dec 2021 22:42:50 GMT</pubDate></item>
+<item><title><![CDATA[Win32/3.0.33 (stable)/privoxy_setup_3.0.33.exe]]></title><description><![CDATA[Win32/3.0.33 (stable)/privoxy_setup_3.0.33.exe (SHA-256: 61cf249aa564dd5790b1e2f8a27ff5cb0376a0926ebe983429b5b9d9861d74f3)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_setup_3.0.33.exe</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_setup_3.0.33.exe</guid><pubDate>Wed, 8 Dec 2021 19:06:22 GMT</pubDate></item>
+<item><title><![CDATA[Win32/3.0.33 (stable)/privoxy_setup_3.0.33.exe.asc]]></title><description><![CDATA[Win32/3.0.33 (stable)/privoxy_setup_3.0.33.exe.asc (SHA-256: cc6b17979384c7c3da362b4a2b2997aa8e8b8d4291dcf8e2a523ed4dade8f317)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_setup_3.0.33.exe.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_setup_3.0.33.exe.asc</guid><pubDate>Wed, 8 Dec 2021 19:06:22 GMT</pubDate></item>
+<item><title><![CDATA[Win32/3.0.33 (stable)/privoxy_3.0.33.zip]]></title><description><![CDATA[Win32/3.0.33 (stable)/privoxy_3.0.33.zip (SHA-256: fd6502fe14c98bf9a03f784b2894d163f4081d09c99821d5f4a0c9edd476475a)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_3.0.33.zip</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_3.0.33.zip</guid><pubDate>Wed, 8 Dec 2021 19:06:13 GMT</pubDate></item>
+<item><title><![CDATA[Win32/3.0.33 (stable)/privoxy_3.0.33.zip.asc]]></title><description><![CDATA[Win32/3.0.33 (stable)/privoxy_3.0.33.zip.asc (SHA-256: 9bd8a4b5518436c903fcc4db993e5e4d37cf59120d8b56816b8bd6aa612f2b4c)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_3.0.33.zip.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/privoxy_3.0.33.zip.asc</guid><pubDate>Wed, 8 Dec 2021 19:06:12 GMT</pubDate></item>
+<item><title><![CDATA[Win32/3.0.33 (stable)/announce.txt]]></title><description><![CDATA[Win32/3.0.33 (stable)/announce.txt (SHA-256: 0ca4fa05ad8da22b25bed264b575d9051a0a1fb99fe7263511c3b64ca66b30a9)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/announce.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/announce.txt</guid><pubDate>Wed, 8 Dec 2021 19:06:01 GMT</pubDate></item>
+<item><title><![CDATA[Win32/3.0.33 (stable)/README.txt]]></title><description><![CDATA[Win32/3.0.33 (stable)/README.txt (SHA-256: 49c3eef48119cce7bf82c9fe03e9a18e31657b0d15bd702ef5bb01120256b3b0)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/README.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.33%20(stable)/README.txt</guid><pubDate>Wed, 8 Dec 2021 19:05:49 GMT</pubDate></item>
+<item><title><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_i386.deb]]></title><description><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_i386.deb (SHA-256: c5ee601cfcf317df14ea610bf87dc703f7347eaab6a9de24dadcd9b55b4953a6)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_i386.deb</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_i386.deb</guid><pubDate>Wed, 8 Dec 2021 15:10:21 GMT</pubDate></item>
+<item><title><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_amd64.deb.asc]]></title><description><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_amd64.deb.asc (SHA-256: 3e8e3835293091a3adf819685dbd31a8ffe9b9a1d19c33874a488c51e457d7ad)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_amd64.deb.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_amd64.deb.asc</guid><pubDate>Wed, 8 Dec 2021 15:10:19 GMT</pubDate></item>
+<item><title><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_i386.deb.asc]]></title><description><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_i386.deb.asc (SHA-256: fd968c7b33b8063bc80a98c88f049f42539d03b17e1f1bf7b379a95155ad8442)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_i386.deb.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_i386.deb.asc</guid><pubDate>Wed, 8 Dec 2021 15:10:19 GMT</pubDate></item>
+<item><title><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_amd64.deb]]></title><description><![CDATA[Debian/3.0.33 (stable) bullseye/privoxy_3.0.33-1~pp+1_amd64.deb (SHA-256: 64d1602b3f84a86ecb030148c666f27238a6e278933ca6de50f99b1758857be2)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_amd64.deb</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/privoxy_3.0.33-1~pp+1_amd64.deb</guid><pubDate>Wed, 8 Dec 2021 15:10:05 GMT</pubDate></item>
+<item><title><![CDATA[Debian/3.0.33 (stable) bullseye/README]]></title><description><![CDATA[Debian/3.0.33 (stable) bullseye/README (SHA-256: 7c7654bf8f6b65c219d624f6cb9d81243f6211b208203bee2b1a42ff4f0947d5)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/README</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.33%20(stable)%20bullseye/README</guid><pubDate>Wed, 8 Dec 2021 15:10:05 GMT</pubDate></item>
+<item><title><![CDATA[Sources/3.0.33 (stable)/privoxy-3.0.33-stable-src.tar.gz]]></title><description><![CDATA[Sources/3.0.33 (stable)/privoxy-3.0.33-stable-src.tar.gz (SHA-256: 04b104e70dac61561b9dd110684b250fafc8c13dbe437a60fae18ddd9a881fae)]]></description><link>https://www.privoxy.org/sf-download-mirror/Sources/3.0.33%20(stable)/privoxy-3.0.33-stable-src.tar.gz</link><guid>https://www.privoxy.org/sf-download-mirror/Sources/3.0.33%20(stable)/privoxy-3.0.33-stable-src.tar.gz</guid><pubDate>Wed, 8 Dec 2021 11:31:33 GMT</pubDate></item>
+<item><title><![CDATA[Sources/3.0.33 (stable)/announce.txt]]></title><description><![CDATA[Sources/3.0.33 (stable)/announce.txt (SHA-256: 9aefb00845c2cd754d98d4d14294cf8d02cbb9e7ab016d921a39ffef14bd9e7d)]]></description><link>https://www.privoxy.org/sf-download-mirror/Sources/3.0.33%20(stable)/announce.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Sources/3.0.33%20(stable)/announce.txt</guid><pubDate>Wed, 8 Dec 2021 11:31:27 GMT</pubDate></item>
+<item><title><![CDATA[Sources/3.0.33 (stable)/privoxy-3.0.33-stable-src.tar.gz.asc]]></title><description><![CDATA[Sources/3.0.33 (stable)/privoxy-3.0.33-stable-src.tar.gz.asc (SHA-256: aebc92ffb1a6fd6d2bafd8985a72ab84be98f40d33e5a7563129ed7ea9a11a3d)]]></description><link>https://www.privoxy.org/sf-download-mirror/Sources/3.0.33%20(stable)/privoxy-3.0.33-stable-src.tar.gz.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Sources/3.0.33%20(stable)/privoxy-3.0.33-stable-src.tar.gz.asc</guid><pubDate>Wed, 8 Dec 2021 11:31:27 GMT</pubDate></item>
+<item><title><![CDATA[Macintosh (OS X)/3.0.32 (stable)/Privoxy 3.0.32 64 bit.pkg]]></title><description><![CDATA[Macintosh (OS X)/3.0.32 (stable)/Privoxy 3.0.32 64 bit.pkg (SHA-256: 63329a91de6a427de54885d35802c4b7b9db831f315b657d453b69ff8d2bc76b)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.32%20(stable)/Privoxy%203.0.32%2064%20bit.pkg</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.32%20(stable)/Privoxy%203.0.32%2064%20bit.pkg</guid><pubDate>Wed, 22 Sep 2021 18:48:41 GMT</pubDate></item>
+<item><title><![CDATA[Macintosh (OS X)/3.0.32 (stable)/README]]></title><description><![CDATA[Macintosh (OS X)/3.0.32 (stable)/README (SHA-256: 032700a02a3fd5e81571f5208a89584905352dd0b4ad0b165caf741ee346f9a3)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.32%20(stable)/README</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.32%20(stable)/README</guid><pubDate>Wed, 22 Sep 2021 18:48:36 GMT</pubDate></item>
+<item><title><![CDATA[Macintosh (OS X)/3.0.32 (stable)/Privoxy 3.0.32 64 bit.pkg.asc]]></title><description><![CDATA[Macintosh (OS X)/3.0.32 (stable)/Privoxy 3.0.32 64 bit.pkg.asc (SHA-256: 9ee928f8bb2d0a5eef94c5b2ce56fc15dfaa4f464eeb7c60a394cdcdfa21c6a0)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.32%20(stable)/Privoxy%203.0.32%2064%20bit.pkg.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.32%20(stable)/Privoxy%203.0.32%2064%20bit.pkg.asc</guid><pubDate>Wed, 22 Sep 2021 18:48:36 GMT</pubDate></item>
 <item><title><![CDATA[Win32/3.0.32 (stable)/README.txt]]></title><description><![CDATA[Win32/3.0.32 (stable)/README.txt (SHA-256: 7559bb89c06b49da34731a77eebf01f701a22a0829be891a5dbb53409c5f0885)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.32%20(stable)/README.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.32%20(stable)/README.txt</guid><pubDate>Sat, 27 Feb 2021 17:20:26 GMT</pubDate></item>
 <item><title><![CDATA[Win32/3.0.32 (stable)/privoxy_3.0.32.zip.asc]]></title><description><![CDATA[Win32/3.0.32 (stable)/privoxy_3.0.32.zip.asc (SHA-256: 49b3aa93559744cc3ad82f64d2a71144148ba51c274114459657f84a49ea56d9)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.32%20(stable)/privoxy_3.0.32.zip.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.32%20(stable)/privoxy_3.0.32.zip.asc</guid><pubDate>Sat, 27 Feb 2021 17:18:52 GMT</pubDate></item>
 <item><title><![CDATA[Win32/3.0.32 (stable)/privoxy_3.0.32.zip]]></title><description><![CDATA[Win32/3.0.32 (stable)/privoxy_3.0.32.zip (SHA-256: de9b1249500c69e8050bcfffff278fc5d6761184ffd3078a48be76b18d37f25f)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.32%20(stable)/privoxy_3.0.32.zip</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.32%20(stable)/privoxy_3.0.32.zip</guid><pubDate>Sat, 27 Feb 2021 17:18:41 GMT</pubDate></item>
 <item><title><![CDATA[Debian/3.0.26 (stable) jessie/README]]></title><description><![CDATA[Debian/3.0.26 (stable) jessie/README (SHA-256: 00932c5c0458adf85c4eef2ddaede64ccdfb86fa4cf5d5721a207e1bca3f6ef6)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/README</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/README</guid><pubDate>Sat, 27 Aug 2016 20:43:52 GMT</pubDate></item>
 <item><title><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_amd64.deb.asc]]></title><description><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_amd64.deb.asc (SHA-256: 86379e7f0fb517f84550d8bdd49bdc0db952b9d2d324bb7b86997f51c82e1c66)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_amd64.deb.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_amd64.deb.asc</guid><pubDate>Sat, 27 Aug 2016 20:43:47 GMT</pubDate></item>
 <item><title><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_amd64.deb]]></title><description><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_amd64.deb (SHA-256: c8671e461c38e9d747cc005c32c103bd1fc53bfb37ecee19a8b1687a5804d6c8)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_amd64.deb</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_amd64.deb</guid><pubDate>Sat, 27 Aug 2016 20:43:41 GMT</pubDate></item>
-<item><title><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_i386.deb.asc]]></title><description><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_i386.deb.asc (SHA-256: 789dae9b39b4aab23fbc3aff51e4812cd0450090cf7f9c81a765dfee0a40eaf0)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_i386.deb.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_i386.deb.asc</guid><pubDate>Sat, 27 Aug 2016 20:43:32 GMT</pubDate></item>
-<item><title><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_i386.deb]]></title><description><![CDATA[Debian/3.0.26 (stable) jessie/privoxy_3.0.26-1_i386.deb (SHA-256: 2a3cd0d47c13436ec28954e0b1ba7f41464bcbbe9042f98b88158cd18503a978)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_i386.deb</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.26%20(stable)%20jessie/privoxy_3.0.26-1_i386.deb</guid><pubDate>Sat, 27 Aug 2016 20:42:58 GMT</pubDate></item>
-<item><title><![CDATA[Sources/3.0.26 (stable)/privoxy-3.0.26-stable-src.tar.gz]]></title><description><![CDATA[Sources/3.0.26 (stable)/privoxy-3.0.26-stable-src.tar.gz (SHA-256: 57e415b43ee5dfdca74685cc034053eaae962952fdabd086171551a86abf9cd8)]]></description><link>https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20(stable)/privoxy-3.0.26-stable-src.tar.gz</link><guid>https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20(stable)/privoxy-3.0.26-stable-src.tar.gz</guid><pubDate>Sat, 27 Aug 2016 11:11:46 GMT</pubDate></item>
-<item><title><![CDATA[Sources/3.0.26 (stable)/privoxy-3.0.26-stable-src.tar.gz.asc]]></title><description><![CDATA[Sources/3.0.26 (stable)/privoxy-3.0.26-stable-src.tar.gz.asc (SHA-256: f0b7b4c515ee9ddaad1c6324a62ef76b84d674cdc0fa6af4c2fa0cccf284746a)]]></description><link>https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20(stable)/privoxy-3.0.26-stable-src.tar.gz.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20(stable)/privoxy-3.0.26-stable-src.tar.gz.asc</guid><pubDate>Sat, 27 Aug 2016 11:11:35 GMT</pubDate></item>
-<item><title><![CDATA[Sources/3.0.26 (stable)/announce.txt]]></title><description><![CDATA[Sources/3.0.26 (stable)/announce.txt (SHA-256: e482115d5aadaa041a7d20ab90b82021e1a65c6c37dcdde556668611200d41f6)]]></description><link>https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20(stable)/announce.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20(stable)/announce.txt</guid><pubDate>Sat, 27 Aug 2016 11:11:31 GMT</pubDate></item>
-<item><title><![CDATA[Macintosh (OS X)/3.0.19 (stable)/old versions]]></title><description><![CDATA[Macintosh (OS X)/3.0.19 (stable)/old versions (SHA-256: 9d9f290527a6be626a8f5985b26e19b237b44872b03631811df4416fc1713178)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.19%20(stable)/old%20versions</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.19%20(stable)/old%20versions</guid><pubDate>Thu, 25 Aug 2016 20:58:53 GMT</pubDate></item>
-<item><title><![CDATA[Android/3.0.25 (beta)/privoxy readme.txt]]></title><description><![CDATA[Android/3.0.25 (beta)/privoxy readme.txt (SHA-256: 40a338ec8874d9f63f2abef527cc85d1ed1f80d8b07ca5ac2b5a27551c3b4262)]]></description><link>https://www.privoxy.org/sf-download-mirror/Android/3.0.25%20(beta)/privoxy%20readme.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Android/3.0.25%20(beta)/privoxy%20readme.txt</guid><pubDate>Fri, 3 Jun 2016 18:42:15 GMT</pubDate></item>
-<item><title><![CDATA[Android/3.0.25 (beta)/privoxy-3.0.25_beta.zip]]></title><description><![CDATA[Android/3.0.25 (beta)/privoxy-3.0.25_beta.zip (SHA-256: e66968b1d11c416fb765f787bfffff597c2c73aa771eef14581377efc56ffc34)]]></description><link>https://www.privoxy.org/sf-download-mirror/Android/3.0.25%20(beta)/privoxy-3.0.25_beta.zip</link><guid>https://www.privoxy.org/sf-download-mirror/Android/3.0.25%20(beta)/privoxy-3.0.25_beta.zip</guid><pubDate>Fri, 3 Jun 2016 18:42:08 GMT</pubDate></item>
-<item><title><![CDATA[Macintosh (OS X)/3.0.25 (beta)/releases readme.txt]]></title><description><![CDATA[Macintosh (OS X)/3.0.25 (beta)/releases readme.txt (SHA-256: 2337ca4e9a4bc88e717f54492296b1c9cd8d20bffd1c2e6b9db8a501f674bf81)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/releases%20readme.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/releases%20readme.txt</guid><pubDate>Mon, 30 May 2016 20:30:22 GMT</pubDate></item>
-<item><title><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 64 bit.pkg.asc]]></title><description><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 64 bit.pkg.asc (SHA-256: 20844490aa5089cccfe659949ddc38364c3990f8170111d453d1c64cac640ff2)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2064%20bit.pkg.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2064%20bit.pkg.asc</guid><pubDate>Mon, 30 May 2016 20:29:42 GMT</pubDate></item>
-<item><title><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 32 bit.mpkg.zip.asc]]></title><description><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 32 bit.mpkg.zip.asc (SHA-256: d874a13474edba9ea0c3688387cfc94a9179b0c99e8c6f0bd281d0b297be21b2)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2032%20bit.mpkg.zip.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2032%20bit.mpkg.zip.asc</guid><pubDate>Mon, 30 May 2016 20:29:42 GMT</pubDate></item>
-<item><title><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 32 bit.mpkg.zip]]></title><description><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 32 bit.mpkg.zip (SHA-256: a2db71a7976971023e97c3ad3db66a1902dd93ad0d236eda055a455af8dbae0c)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2032%20bit.mpkg.zip</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2032%20bit.mpkg.zip</guid><pubDate>Mon, 30 May 2016 20:21:21 GMT</pubDate></item>
-<item><title><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 64 bit.pkg]]></title><description><![CDATA[Macintosh (OS X)/3.0.25 (beta)/Privoxy 3.0.25 64 bit.pkg (SHA-256: 41216eb2ab7d4f56084636c5ecf856bb58b960ee7e5a69177d965efc863e68e0)]]></description><link>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2064%20bit.pkg</link><guid>https://www.privoxy.org/sf-download-mirror/Macintosh%20(OS%20X)/3.0.25%20(beta)/Privoxy%203.0.25%2064%20bit.pkg</guid><pubDate>Mon, 30 May 2016 20:12:11 GMT</pubDate></item>
-<item><title><![CDATA[Win32/3.0.25 (beta)/privoxy-3.0.25-beta-announce.txt]]></title><description><![CDATA[Win32/3.0.25 (beta)/privoxy-3.0.25-beta-announce.txt (SHA-256: 801cae8d5f7bf9f5cfa7deb7f1e25d5ffc6ab6e0ea3dc5e61af945f0cfb8e9b8)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy-3.0.25-beta-announce.txt</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy-3.0.25-beta-announce.txt</guid><pubDate>Sun, 29 May 2016 02:11:27 GMT</pubDate></item>
-<item><title><![CDATA[Win32/3.0.25 (beta)/privoxy-3.0.25.zip.asc]]></title><description><![CDATA[Win32/3.0.25 (beta)/privoxy-3.0.25.zip.asc (SHA-256: 4aef5031184cb793f41df0c5d3fbc8ec17758d147aa3c019130ebe07c3ad0243)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy-3.0.25.zip.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy-3.0.25.zip.asc</guid><pubDate>Sun, 29 May 2016 02:11:26 GMT</pubDate></item>
-<item><title><![CDATA[Win32/3.0.25 (beta)/privoxy-3.0.25.zip]]></title><description><![CDATA[Win32/3.0.25 (beta)/privoxy-3.0.25.zip (SHA-256: 9b3889d982abd401ba6b5567a4d4738d8de21b95ab28650cd87a3594d4b0d29d)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy-3.0.25.zip</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy-3.0.25.zip</guid><pubDate>Sun, 29 May 2016 02:11:25 GMT</pubDate></item>
-<item><title><![CDATA[Win32/3.0.25 (beta)/privoxy_setup_3.0.25.exe]]></title><description><![CDATA[Win32/3.0.25 (beta)/privoxy_setup_3.0.25.exe (SHA-256: 92a37199bf4fa80cedc41094e1621ad2687da3b588f56366a8953f3d2f3fc534)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy_setup_3.0.25.exe</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy_setup_3.0.25.exe</guid><pubDate>Sun, 29 May 2016 02:11:22 GMT</pubDate></item>
-<item><title><![CDATA[Win32/3.0.25 (beta)/privoxy_setup_3.0.25.exe.asc]]></title><description><![CDATA[Win32/3.0.25 (beta)/privoxy_setup_3.0.25.exe.asc (SHA-256: ffc4a5426074fb23ae75853164edef3c2c98c095b130e659164d1c1631f8aee8)]]></description><link>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy_setup_3.0.25.exe.asc</link><guid>https://www.privoxy.org/sf-download-mirror/Win32/3.0.25%20(beta)/privoxy_setup_3.0.25.exe.asc</guid><pubDate>Sun, 29 May 2016 02:11:22 GMT</pubDate></item>
-<item><title><![CDATA[Debian/3.0.25 (beta) jessie/privoxy_3.0.25-1_amd64.deb]]></title><description><![CDATA[Debian/3.0.25 (beta) jessie/privoxy_3.0.25-1_amd64.deb (SHA-256: 12b53a016761fb57b9c0a3558faf5d12135d76bd3e497653ac1920b2e58b13ff)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.25%20(beta)%20jessie/privoxy_3.0.25-1_amd64.deb</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.25%20(beta)%20jessie/privoxy_3.0.25-1_amd64.deb</guid><pubDate>Sat, 28 May 2016 16:15:02 GMT</pubDate></item>
-<item><title><![CDATA[Debian/3.0.25 (beta) jessie/README]]></title><description><![CDATA[Debian/3.0.25 (beta) jessie/README (SHA-256: 8ecd16b730c04961ad203973fa49da1f869cbfea0956437ac2ec4a1e490544c0)]]></description><link>https://www.privoxy.org/sf-download-mirror/Debian/3.0.25%20(beta)%20jessie/README</link><guid>https://www.privoxy.org/sf-download-mirror/Debian/3.0.25%20(beta)%20jessie/README</guid><pubDate>Sat, 28 May 2016 16:12:20 GMT</pubDate></item>
   </channel>
    </rss>
\ No newline at end of file
index a06c65c..1b427bd 100644 (file)
@@ -32,7 +32,7 @@
               <p><a href="https://www.privoxy.org/donate" target="_top">https://www.privoxy.org/donate</a></p>
             </li>
           </ul>
-          <p>The most recent release is <a href="announce.txt" target="_top">3.0.33 (stable)</a>.</p>
+          <p>The most recent release is <a href="announce.txt" target="_top">3.0.34 (UNRELEASED)</a>.</p>
         </div>
       </div>
       <hr>
index dd99a52..d0348f6 100644 (file)
-<!-- Creator     : groff version 1.19.2 -->
-<!-- CreationDate: Wed Feb 24 02:41:14 2021 -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
 <html>
 <head>
-  <meta name="generator" content="groff -Thtml, see www.gnu.org">
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <meta name="Content-Style" content="text/css">
-  <style type="text/css">
-       p     { margin-top: 0; margin-bottom: 0; }
-       pre   { margin-top: 0; margin-bottom: 0; }
-       table { margin-top: 0; margin-bottom: 0; }
-  </style>
-  <title>PRIVOXY</title>
-  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
+  <title>Privoxy Man page</title>
+  <link rel="stylesheet" type="text/css" href="../p_web.css">
 </head>
 <body>
-  <h1 align="center">PRIVOXY</h1><a href="#NAME">NAME</a><br>
-  <a href="#SYNOPSIS">SYNOPSIS</a><br>
-  <a href="#OPTIONS">OPTIONS</a><br>
-  <a href="#DESCRIPTION">DESCRIPTION</a><br>
-  <a href="#INSTALLATION%20AND%20USAGE">INSTALLATION AND USAGE</a><br>
-  <a href="#CONFIGURATION">CONFIGURATION</a><br>
-  <a href="#FILES">FILES</a><br>
-  <a href="#SIGNALS">SIGNALS</a><br>
-  <a href="#NOTES">NOTES</a><br>
-  <a href="#SEE%20ALSO">SEE ALSO</a><br>
-  <a href="#DEVELOPMENT%20TEAM">DEVELOPMENT TEAM</a><br>
-  <a href="#COPYRIGHT%20AND%20LICENSE">COPYRIGHT AND LICENSE</a><br>
-  <hr>
-  <a name="NAME"></a>
   <h2>NAME</h2>
-  <p style="margin-left:11%; margin-top: 1em">privoxy &minus; Privacy Enhancing Proxy</p><a name="SYNOPSIS"></a>
+  <pre>
+<!-- Manpage converted by man2html 3.0.1 -->
+
+</pre>
   <h2>SYNOPSIS</h2>
-  <p style="margin-left:11%; margin-top: 1em"><b>privoxy</b> [<b>&minus;&minus;chroot</b> ]
-  [<b>&minus;&minus;config-test</b> ] [<b>&minus;&minus;help</b> ] [<b>&minus;&minus;no-daemon</b> ]
-  [<b>&minus;&minus;pidfile</b> <i>pidfile</i> ] [<b>&minus;&minus;pre-chroot-nslookup</b> <i>hostname</i> ]
-  [<b>&minus;&minus;user</b> <i>user[.group]</i> ] [<b>&minus;&minus;version</b> ] [<i>configfile</i> ]</p><a name=
-  "OPTIONS"></a>
+  <pre>
+       <b>privoxy</b> [<b>--chroot</b> ] [<b>--config-test</b> ] [<b>--help</b> ] [<b>--no-daemon</b> ]
+       [<b>--pidfile</b> <i>pidfile</i> ] [<b>--pre-chroot-nslookup</b> <i>hostname</i> ] [<b>--user</b>
+       <i>user[.group]</i> ] [<b>--version</b> ] [<i>configfile</i> ]
+
+
+
+</pre>
   <h2>OPTIONS</h2>
-  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> may be invoked with the following command line options:
-  <b><br>
-  &minus;&minus;chroot</b></p>
-  <p style="margin-left:22%;">Before changing to the user ID given in the &minus;&minus;user option, chroot to that
-  user&rsquo;s home directory, i.e. make the kernel pretend to the <b>Privoxy</b> process that the directory tree
-  starts there. If set up carefully, this can limit the impact of possible vulnerabilities in <b>Privoxy</b> to the
-  files contained in that hierarchy.</p>
-  <p style="margin-left:11%;"><b>&minus;&minus;config-test</b></p>
-  <p style="margin-left:22%;">Exit after loading the configuration files before binding to the listen address. The exit
-  code signals whether or not the configuration files have been successfully loaded.</p>
-  <p style="margin-left:22%; margin-top: 1em">If the exit code is 1, at least one of the configuration files is
-  invalid, if it is 0, all the configuration files have been successfully loaded (but may still contain errors that can
-  currently only be detected at run time).</p>
-  <p style="margin-left:22%; margin-top: 1em">This option doesn&rsquo;t affect the log setting, combination with
-  &quot;--no-daemon&quot; is recommended if a configured log file shouldn&rsquo;t be used.</p>
-  <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0">
-    <tr valign="top" align="left">
-      <td width="11%"></td>
-      <td width="9%">
-        <p style="margin-top: 1em" valign="top"><b>&minus;&minus;help</b></p>
-      </td>
-      <td width="2%"></td>
-      <td width="49%">
-        <p style="margin-top: 1em" valign="top">Print brief usage info and exit.</p>
-      </td>
-      <td width="29%"></td>
-    </tr>
-  </table>
-  <p style="margin-left:11%;"><b>&minus;&minus;no-daemon</b></p>
-  <p style="margin-left:22%;">Don&rsquo;t become a daemon, i.e. don&rsquo;t fork and become process group leader,
-  don&rsquo;t detach from controlling tty, and do all logging there.</p>
-  <p style="margin-left:11%;"><b>&minus;&minus;pidfile</b> <i>pidfile</i></p>
-  <p style="margin-left:22%;">On startup, write the process ID to <i>pidfile</i>. Delete the <i>pidfile</i> on exit.
-  Failure to create or delete the <i>pidfile</i> is non-fatal. If no <b>&minus;&minus;pidfile</b> option is given, no
-  PID file will be used.</p>
-  <p style="margin-left:11%;"><b>&minus;&minus;pre-chroot-nslookup</b> <i>hostname</i></p>
-  <p style="margin-left:22%;">Initialize the resolver library using <i>hostname</i> before chroot&rsquo;ing. On some
-  systems this reduces the number of files that must be copied into the chroot tree.</p>
-  <p style="margin-left:11%;"><b>&minus;&minus;user</b> <i>user[.group]</i></p>
-  <p style="margin-left:22%;">After (optionally) writing the PID file, assume the user ID of <i>user</i> and the GID of
-  <i>group</i>, or, if the optional <i>group</i> was not given, the default group of <i>user</i>. Exit if the
-  privileges are not sufficient to do so.</p>
-  <p style="margin-left:11%;"><b>&minus;&minus;version</b></p>
-  <p style="margin-left:22%;">Print version info and exit.</p>
-  <p style="margin-left:11%; margin-top: 1em">If the <i>configfile</i> is not specified on the command line,
-  <b>Privoxy</b> will look for a file named <i>config</i> in the current directory. If no <i>configfile</i> is found,
-  <b>Privoxy</b> will fail to start.</p><a name="DESCRIPTION"></a>
-  <h2>DESCRIPTION</h2>
-  <p style="margin-left:11%; margin-top: 1em">Privoxy is a non-caching web proxy with advanced filtering capabilities
-  for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other
-  obnoxious Internet junk. Privoxy has a flexible configuration and can be customized to suit individual needs and
-  tastes. It has application for both stand-alone systems and multi-user networks.</p>
-  <p style="margin-left:11%; margin-top: 1em">Privoxy is Free Software and licensed under the GNU GPLv2 or later.</p>
-  <p style="margin-left:11%; margin-top: 1em">Privoxy is an associated project of Software in the Public Interest
-  (SPI).</p>
-  <p style="margin-left:11%; margin-top: 1em">Helping hands and donations are welcome:</p>
-  <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0">
-    <tr valign="top" align="left">
-      <td width="11%"></td>
-      <td width="1%">
-        <p style="margin-top: 1em" valign="top">&bull;</p>
-      </td>
-      <td width="2%"></td>
-      <td width="54%">
-        <p style="margin-top: 1em" valign="top">https://www.privoxy.org/participate</p>
-      </td>
-      <td width="32%"></td>
-    </tr>
-    <tr valign="top" align="left">
-      <td width="11%"></td>
-      <td width="1%">
-        <p style="margin-top: 1em" valign="top">&bull;</p>
-      </td>
-      <td width="2%"></td>
-      <td width="54%">
-        <p style="margin-top: 1em" valign="top">https://www.privoxy.org/donate</p>
-      </td>
-      <td width="32%"></td>
-    </tr>
-  </table><a name="INSTALLATION AND USAGE"></a>
+  <pre>
+       <b>Privoxy</b> may be invoked with the following command line options:
+
+       <b>--chroot</b>
+              Before changing to the user ID given in the --user option,
+              chroot to that user's home directory, i.e. make the kernel
+              pretend to the <b>Privoxy</b> process that the directory tree starts
+              there. If set up carefully, this can limit the impact of
+              possible vulnerabilities in <b>Privoxy</b> to the files contained in
+              that hierarchy.
+
+       <b>--config-test</b>
+              Exit after loading the configuration files before binding to the
+              listen address. The exit code signals whether or not the
+              configuration files have been successfully loaded.
+
+              If the exit code is 1, at least one of the configuration files
+              is invalid, if it is 0, all the configuration files have been
+              successfully loaded (but may still contain errors that can
+              currently only be detected at run time).
+
+              This option doesn't affect the log setting, combination with
+              "--no-daemon" is recommended if a configured log file shouldn't
+              be used.
+
+       <b>--help</b> Print brief usage info and exit.
+
+       <b>--no-daemon</b>
+              Don't  become  a daemon, i.e. don't fork and become process
+              group leader, don't detach from controlling tty, and do all
+              logging there.
+
+       <b>--pidfile</b> <i>pidfile</i>
+              On startup, write the process ID to <i>pidfile</i>.  Delete the <i>pidfile</i>
+              on exit.  Failure to create or delete the <i>pidfile</i> is non-fatal.
+              If no <b>--pidfile</b> option is given, no PID file will be used.
+
+       <b>--pre-chroot-nslookup</b> <i>hostname</i>
+              Initialize the resolver library using <i>hostname</i> before
+              chroot'ing. On some systems this reduces the number of files
+              that must be copied into the chroot tree.
+
+       <b>--user</b> <i>user[.group]</i>
+              After (optionally) writing the PID file, assume the user ID of
+              <i>user</i> and the GID of <i>group</i>, or, if the optional <i>group</i> was not
+              given, the default group of <i>user</i>. Exit if the privileges are not
+
+       individual needs and tastes.  It has application for both stand-alone
+       systems and multi-user networks.
+
+       Privoxy is Free Software and licensed under the GNU GPLv2 or later.
+
+       Privoxy is an associated project of Software in the Public Interest
+       (SPI).
+
+       Helping hands and donations are welcome:
+
+       â&euro;¢ https://www.privoxy.org/participate
+
+       â&euro;¢ https://www.privoxy.org/donate
+
+
+</pre>
   <h2>INSTALLATION AND USAGE</h2>
-  <p style="margin-left:11%; margin-top: 1em">Browsers can either be individually configured to use <b>Privoxy</b> as a
-  HTTP proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to build an intercepting proxy (see
-  <i>config</i>). The default setting is for localhost, on port 8118 (configurable in the main config file). To set the
-  HTTP proxy in Firefox, go through: <b>Tools</b>; <b>Options</b>; <b>General</b>; <b>Connection Settings</b>;
-  <b>Manual Proxy Configuration</b>.</p>
-  <p style="margin-left:11%; margin-top: 1em">For Internet Explorer, go through: <b>Tools</b>; <b>Internet
-  Properties</b>; <b>Connections</b>; <b>LAN Settings</b>.</p>
-  <p style="margin-left:11%; margin-top: 1em">The Secure (SSL) Proxy should also be set to the same values, otherwise
-  https: URLs will not be proxied. Note: <b>Privoxy</b> can only proxy HTTP and HTTPS traffic. Do not try it with FTP
-  or other protocols. HTTPS presents some limitations, and not all features will work with HTTPS connections.</p>
-  <p style="margin-left:11%; margin-top: 1em">For other browsers, check the documentation.</p><a name=
-  "CONFIGURATION"></a>
+  <pre>
+       Browsers can either be individually configured to use <b>Privoxy</b> as a HTTP
+       proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to
+       build an intercepting proxy (see <i>config</i>).  The default setting is  for
+       localhost,  on port  8118 (configurable in the main config file).  To
+       set the HTTP proxy in Firefox, go through: <b>Tools</b>; <b>Options</b>; <b>General</b>;
+       <b>Connection</b> <b>Settings</b>; <b>Manual</b> <b>Proxy</b> <b>Configuration</b>.
+
+       For Internet Explorer, go through: <b>Tools</b>; <b>Internet</b> <b>Properties</b>;
+       <b>Connections</b>; <b>LAN</b> <b>Settings</b>.
+
+       The Secure (SSL) Proxy should also be set to the same values, otherwise
+       https: URLs will not be proxied. Note: <b>Privoxy</b> can only proxy HTTP and
+       HTTPS traffic. Do not try it with FTP or other protocols.  HTTPS
+       presents some limitations, and not all features will work with HTTPS
+       connections.
+
+       For other browsers, check the documentation.
+
+
+</pre>
   <h2>CONFIGURATION</h2>
-  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> can be configured with the various configuration files.
-  The default configuration files are: <i>config</i>, <i>default.filter</i>, <i>default.action</i> and
-  <i>default.action</i>. <i>user.action</i> should be used for locally defined exceptions to the default rules in
-  <i>match-all.action</i> and <i>default.action</i>, and <i>user.filter</i> for locally defined filters. These are well
-  commented. On Unix and Unix-like systems, these are located in <i>/etc/privoxy/</i> by default.</p>
-  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> uses the concept of <b>actions</b> in order to manipulate
-  the data stream between the browser and remote sites. There are various actions available with specific functions for
-  such things as blocking web sites, managing cookies, etc. These actions can be invoked individually or combined, and
-  used against individual URLs, or groups of URLs that can be defined using wildcards and regular expressions. The
-  result is that the user has greatly enhanced control and freedom.</p>
-  <p style="margin-left:11%; margin-top: 1em">The actions list (ad blocks, etc) can also be configured with your web
-  browser at http://config.privoxy.org/ (assuming the configuration allows it). <b>Privoxy&rsquo;s</b> configuration
-  parameters can also be viewed at the same page. In addition, <b>Privoxy</b> can be toggled on/off. This is an
-  internal page, and does not require Internet access.</p>
-  <p style="margin-left:11%; margin-top: 1em">See the <i>User Manual</i> for a detailed explanation of installation,
-  general usage, all configuration options, new features and notes on upgrading.</p><a name="FILES"></a>
-  <h2>FILES</h2>
-  <p style="margin-left:11%; margin-top: 1em"><i>/usr/sbin/privoxy<br>
-  /etc/privoxy/config<br>
-  /etc/privoxy/match-all.action<br>
-  /etc/privoxy/default.action<br>
-  /etc/privoxy/user.action<br>
-  /etc/privoxy/default.filter<br>
-  /etc/privoxy/user.filter<br>
-  /etc/privoxy/trust<br>
-  /etc/privoxy/templates/*<br>
-  /var/log/privoxy/logfile</i></p>
-  <p style="margin-left:11%; margin-top: 1em">Various other files should be included, but may vary depending on
-  platform and build configuration. Additional documentation should be included in the local documentation
-  directory.</p><a name="SIGNALS"></a>
+  <pre>
+       <b>Privoxy</b> can be configured with the various configuration files. The
+       default configuration files are: <i>config</i>, <i>default.filter</i>, <i>default.action</i>
+       and <i>default.action</i>. <i>user.action</i> should be used for locally defined
+       exceptions to the default rules in <i>match-all.action</i> and <i>default.action</i>,
+       and <i>user.filter</i> for locally defined filters. These are well commented.
+       On Unix and Unix-like systems, these are located in <i>/etc/privoxy/</i> by
+       default.
+
+       <b>Privoxy</b> uses the concept of <b>actions</b> in order to manipulate the data
+       stream between the browser and remote sites.  There are various actions
+       available with specific functions for such things as blocking web
+       sites, managing cookies, etc. These actions can be invoked individually
+       or combined, and used against individual URLs, or groups of URLs that
+       can be defined using wildcards and regular expressions. The result is
+       that the user has greatly enhanced control and freedom.
+
+       The actions list (ad blocks, etc) can also be configured with your web
+       browser at http://config.privoxy.org/ (assuming the configuration
+        <i>/etc/privoxy/user.filter</i>
+        <i>/etc/privoxy/trust</i>
+        <i>/etc/privoxy/templates/*</i>
+        <i>/var/log/privoxy/logfile</i>
+
+       Various other files should be included, but may vary depending on
+       platform and build configuration. Additional documentation should be
+       included in the local documentation directory.
+
+
+</pre>
   <h2>SIGNALS</h2>
-  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> terminates on the <b>SIGINT</b> and <b>SIGTERM</b>
-  signals. Log rotation scripts may cause a re-opening of the logfile by sending a <b>SIGHUP</b> to <b>Privoxy</b>.
-  Note that unlike other daemons, <b>Privoxy</b> does not need to be made aware of config file changes by <b>SIGHUP</b>
-  -- it will detect them automatically. Signals other than the ones listed above aren&rsquo;t explicitly handled and
-  result in the default action defined by the operating system.</p><a name="NOTES"></a>
+  <pre>
+       <b>Privoxy</b> terminates on the <b>SIGINT</b> and <b>SIGTERM</b> signals. Log rotation
+       scripts may cause a re-opening of the logfile by sending a <b>SIGHUP</b> to
+       <b>Privoxy</b>. Note that unlike other daemons,  <b>Privoxy</b> does not need to be
+       made aware of config file changes by <b>SIGHUP</b> -- it will detect them
+       automatically. Signals other than the ones listed above aren't
+       explicitly handled and result in the default action defined by the
+       operating system.
+
+
+</pre>
   <h2>NOTES</h2>
-  <p style="margin-left:11%; margin-top: 1em">Please see the <i>User Manual</i> on how to contact the developers, for
-  feature requests, reporting problems, and other questions.</p><a name="SEE ALSO"></a>
+  <pre>
+       Please see the <i>User</i> <i>Manual</i> on how to contact the developers, for
+       feature requests, reporting problems, and other questions.
+
+
+</pre>
   <h2>SEE ALSO</h2>
-  <p style="margin-left:11%; margin-top: 1em">Other references and sites of interest to <b>Privoxy</b> users:</p>
-  <p style="margin-left:11%; margin-top: 1em">https://www.privoxy.org/, the <b>Privoxy</b> Home page.</p>
-  <p style="margin-left:11%; margin-top: 1em">https://www.privoxy.org/faq/, the <b>Privoxy</b> FAQ.</p>
-  <p style="margin-left:11%; margin-top: 1em">https://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer
-  manual.</p>
-  <p style="margin-left:11%; margin-top: 1em">https://sourceforge.net/projects/ijbswa/, the Project Page for
-  <b>Privoxy</b> on SourceForge.</p>
-  <p style="margin-left:11%; margin-top: 1em">http://config.privoxy.org/, the web-based user interface. <b>Privoxy</b>
-  must be running for this to work. Shortcut: http://p.p/</p>
-  <p style="margin-left:11%; margin-top: 1em">https://sourceforge.net/p/ijbswa/actionsfile-feedback/, to submit
-  &lsquo;&lsquo;misses&rsquo;&rsquo; and other configuration related suggestions to the developers.</p><a name=
-  "DEVELOPMENT TEAM"></a>
+  <pre>
+       Other references and sites of interest to <b>Privoxy</b> users:
+
+       https://www.privoxy.org/, the <b>Privoxy</b> Home page.
+
+       https://www.privoxy.org/faq/, the <b>Privoxy</b> FAQ.
+
+       https://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer
+       manual.
+
+       https://sourceforge.net/projects/ijbswa/, the Project Page for <b>Privoxy</b>
+       on SourceForge.
+
+       http://config.privoxy.org/, the web-based user interface. <b>Privoxy</b> must
+       be running for this to work. Shortcut: http://p.p/
+
+       https://sourceforge.net/p/ijbswa/actionsfile-feedback/, to submit
+       ``misses'' and other configuration related suggestions to the
+       developers.
+
+
+</pre>
   <h2>DEVELOPMENT TEAM</h2>
-  <p style="margin-left:11%; margin-top: 1em">Fabian Keil, lead developer<br>
-  David Schmidt<br>
-  Lee Rian<br>
-  Roland Rosenfeld<br>
-  Ian Silvester</p><a name="COPYRIGHT AND LICENSE"></a>
+  <pre>
+        Fabian Keil, lead developer
+        David Schmidt
+        Lee Rian
+        Roland Rosenfeld
+        Ian Silvester
+
+
+</pre>
   <h2>COPYRIGHT AND LICENSE</h2>
-  <p style="margin-left:11%; margin-top: 1em"><b>COPYRIGHT</b><br>
-  Copyright (C) 2001-2021 by Privoxy Developers &lt;privoxy-devel@lists.privoxy.org&gt;</p>
-  <p style="margin-left:11%; margin-top: 1em">Some source code is based on code Copyright (C) 1997 by Anonymous Coders
-  and Junkbusters, Inc.</p>
-  <p style="margin-left:11%; margin-top: 1em"><b>LICENSE<br>
-  Privoxy</b> is free software; you can redistribute and/or modify its source code under the terms of the <i>GNU
-  General Public License</i> as published by the Free Software Foundation, either version 2 of the license, or (at your
-  option) any later version.</p>
-  <p style="margin-left:11%; margin-top: 1em">The same is true for <b>Privoxy</b> binaries unless they are linked with
-  a mbed TLS version that is licensed under the Apache 2.0 license in which case you can redistribute and/or modify the
-  <b>Privoxy</b> binaries under the terms of the <i>GNU General Public License</i> as published by the Free Software
-  Foundation, either version 3 of the license, or (at your option) any later version.</p>
-  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
-  the <i>license</i> for details.</p>
-  <hr>
+  <pre>
+   <b>COPYRIGHT</b>
+       Copyright (C) 2001-2021 by Privoxy Developers &lt;privoxy-
+       terms of the <i>GNU</i> <i>General</i> <i>Public</i> <i>License</i> as published by the Free
+       Software Foundation, either version 3 of the license, or (at your
+       option) any later version.
+
+       <b>Privoxy</b> is distributed in the hope that it will be useful, but WITHOUT
+       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+       FITNESS FOR A PARTICULAR PURPOSE.  See the  <i>license</i> for details.
+
+
+
+Privoxy 3.0.33                 07 December 2021                     <b>PRIVOXY(8)</b>
+</pre>
 </body>
 </html>
index 1e18e12..bd18144 100644 (file)
@@ -12,7 +12,7 @@
   <div class="ARTICLE">
     <div class="TITLEPAGE">
       <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - The Privacy Enhancing Proxy</a></h1>
-      <h2 class="SUBTITLE">Project Index Page v3.0.33</h2>
+      <h2 class="SUBTITLE">Project Index Page v3.0.34</h2>
       <div>
         <div class="ABSTRACT">
           <a name="AEN5" id="AEN5"></a>
index a412aa0..c9770f2 100644 (file)
@@ -14,8 +14,7 @@
   <h3>Silver sponsors</h3><a href="https://www.lalal.ai/"><img src="../images/sponsors/lalal.ai_logo.png" alt=
   "Vocal Remover by Lalal.ai"></a>
   <h3>Bronze sponsors</h3>
-  <p><a href="https://www.betrugstest.com/">https://www.betrugstest.com/</a></p>
-  <p><a href="https://www.vpncompare.co.uk/">https://www.vpncompare.co.uk/</a></p>
+  <p><a href="https://vpnxpert.com/">https://vpnxpert.com/</a></p>
   <h3>Becoming a Privoxy sponsor</h3>
   <p>If you want to become a sponsor, please have a look at the <a title=
   "FAQ: How can I become a sponsor and get my logo or link on privoxy.org?" href="../faq/general.html#SPONSOR">sponsor
index ed626d7..9c5f6b2 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Actions Files</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="The Main Configuration File" href="config.html">
   <link rel="NEXT" title="Filter Files" href="filter-file.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="config.html" accesskey="P">Prev</a></td>
index 7e47f06..059670e 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Appendix</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="See Also" href="seealso.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@@ -14,7 +14,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="seealso.html" accesskey="P">Prev</a></td>
       these. If not, you will get a friendly error message. Internet access is not necessary either.</p>
       <ul>
         <li>
-          <p>Privoxy main page:</p><a name="AEN6368" id="AEN6368"></a>
+          <p>Privoxy main page:</p><a name="AEN6480" id="AEN6480"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/" target="_top">http://config.privoxy.org/</a></p>
           </blockquote>
           "APPLICATION">Privoxy</span>)</p>
         </li>
         <li>
-          <p>View and toggle client tags:</p><a name="AEN6376" id="AEN6376"></a>
+          <p>View and toggle client tags:</p><a name="AEN6488" id="AEN6488"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/client-tags" target=
             "_top">http://config.privoxy.org/client-tags</a></p>
         </li>
         <li>
           <p>Show information about the current configuration, including viewing and editing of actions
-          files:</p><a name="AEN6381" id="AEN6381"></a>
+          files:</p><a name="AEN6493" id="AEN6493"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/show-status" target=
             "_top">http://config.privoxy.org/show-status</a></p>
           </blockquote>
         </li>
         <li>
-          <p>Show the browser's request headers:</p><a name="AEN6386" id="AEN6386"></a>
+          <p>Show the browser's request headers:</p><a name="AEN6498" id="AEN6498"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/show-request" target=
             "_top">http://config.privoxy.org/show-request</a></p>
           </blockquote>
         </li>
         <li>
-          <p>Show which actions apply to a URL and why:</p><a name="AEN6391" id="AEN6391"></a>
+          <p>Show which actions apply to a URL and why:</p><a name="AEN6503" id="AEN6503"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/show-url-info" target=
             "_top">http://config.privoxy.org/show-url-info</a></p>
         <li>
           <p>Toggle Privoxy on or off. This feature can be turned off/on in the main <tt class="FILENAME">config</tt>
           file. When toggled <span class="QUOTE">"off"</span>, <span class="QUOTE">"Privoxy"</span> continues to run,
-          but only as a pass-through proxy, with no actions taking place:</p><a name="AEN6399" id="AEN6399"></a>
+          but only as a pass-through proxy, with no actions taking place:</p><a name="AEN6511" id="AEN6511"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/toggle" target="_top">http://config.privoxy.org/toggle</a></p>
           </blockquote>
-          <p>Short cuts. Turn off, then on:</p><a name="AEN6403" id="AEN6403"></a>
+          <p>Short cuts. Turn off, then on:</p><a name="AEN6515" id="AEN6515"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/toggle?set=disable" target=
             "_top">http://config.privoxy.org/toggle?set=disable</a></p>
-          </blockquote><a name="AEN6406" id="AEN6406"></a>
+          </blockquote><a name="AEN6518" id="AEN6518"></a>
           <blockquote class="BLOCKQUOTE">
             <p><a href="http://config.privoxy.org/toggle?set=enable" target=
             "_top">http://config.privoxy.org/toggle?set=enable</a></p>
index e5d4703..c8ca211 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>The Main Configuration File</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Privoxy Configuration" href="configuration.html">
   <link rel="NEXT" title="Actions Files" href="actions-file.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="configuration.html" accesskey="P">Prev</a></td>
index 92f55cd..5d7656f 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Privoxy Configuration</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
   <link rel="NEXT" title="The Main Configuration File" href="config.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="startup.html" accesskey="P">Prev</a></td>
@@ -40,7 +40,7 @@
         <tr>
           <td>
             <pre class="SCREEN">   </pre>
-            <h2 class="BRIDGEHEAD"><a name="AEN842"></a>&nbsp;&nbsp;&nbsp;&nbsp;Privoxy Menu</h2>
+            <h2 class="BRIDGEHEAD"><a name="AEN952"></a>&nbsp;&nbsp;&nbsp;&nbsp;Privoxy Menu</h2>
             <pre><br></pre>
             <table border="0">
               <tbody>
@@ -69,7 +69,7 @@
                 </tr>
                 <tr>
                   <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&squf;&nbsp;&nbsp;<a href=
-                  "https://www.privoxy.org/3.0.33/user-manual/" target="_top">Documentation</a></td>
+                  "https://www.privoxy.org/3.0.34/user-manual/" target="_top">Documentation</a></td>
                 </tr>
               </tbody>
             </table>
@@ -94,7 +94,8 @@
       <h2 class="SECT2"><a name="CONFOVERVIEW">6.2. Configuration Files Overview</a></h2>
       <p>For Unix, *BSD and GNU/Linux, all configuration files are located in <tt class="FILENAME">/etc/privoxy/</tt>
       by default. For MS Windows these are all in the same directory as the <span class="APPLICATION">Privoxy</span>
-      executable.</p>
+      executable. The name and number of configuration files has changed from previous versions, and is subject to
+      change as development progresses.</p>
       <p>The installed defaults provide a reasonable starting point, though some settings may be aggressive by some
       standards. For the time being, the principle configuration files are:</p>
       <ul>
       listening address of <span class="APPLICATION">Privoxy</span>, these <span class="QUOTE">"wake up"</span>
       requests must obviously be sent to the <span class="emphasis"><i class="EMPHASIS">old</i></span> listening
       address.</p>
+      <p>While under development, the configuration content is subject to change. The below documentation may not be
+      accurate by the time you read this. Also, what constitutes a <span class="QUOTE">"default"</span> setting, may
+      change, so please check all your configuration files on important issues.</p>
     </div>
   </div>
   <div class="NAVFOOTER">
index 790331f..0744100 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Contacting the Developers, Bug Reporting and Feature Requests</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Privoxy's Template Files" href="templates.html">
   <link rel="NEXT" title="Privoxy Copyright, License and History" href="copyright.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="templates.html" accesskey="P">Prev</a></td>
index a3dd365..ef8210b 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Privoxy Copyright, License and History</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Contacting the Developers, Bug Reporting and Feature Requests" href="contact.html">
   <link rel="NEXT" title="See Also" href="seealso.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="contact.html" accesskey="P">Prev</a></td>
index d89138d..938e4f8 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Filter Files</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Actions Files" href="actions-file.html">
   <link rel="NEXT" title="Privoxy's Template Files" href="templates.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="actions-file.html" accesskey="P">Prev</a></td>
index 4ea0d0a..4cb99ef 100644 (file)
@@ -2,7 +2,7 @@
 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-  <title>Privoxy 3.0.33 User Manual</title>
+  <title>Privoxy 3.0.34 User Manual</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
   <link rel="NEXT" title="Introduction" href="introduction.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -12,7 +12,7 @@
 <body class="ARTICLE" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#840084" alink="#0000FF">
   <div class="ARTICLE">
     <div class="TITLEPAGE">
-      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy 3.0.33 User Manual</a></h1>
+      <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy 3.0.34 User Manual</a></h1>
       <p class="PUBDATE"><sub><a href="copyright.html">Copyright</a> &copy; 2001-2021 by <a href=
       "https://www.privoxy.org/" target="_top">Privoxy Developers</a></sub><br></p>
       <div>
index c36322e..94a819a 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Installation</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Introduction" href="introduction.html">
   <link rel="NEXT" title="What's New in this Release" href="whatsnew.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="introduction.html" accesskey="P">Prev</a></td>
       <table border="0" bgcolor="#E0E0E0" width="100%">
         <tr>
           <td>
-            <pre class="SCREEN">  tar xzvf privoxy-3.0.33-stable-src.tar.gz
-  cd privoxy-3.0.33-stable</pre>
+            <pre class="SCREEN">  tar xzvf privoxy-3.0.34-beta-src.tar.gz
+  cd privoxy-3.0.34-beta</pre>
           </td>
         </tr>
       </table>
index 858d3f6..319b3a2 100644 (file)
@@ -4,8 +4,8 @@
 <head>
   <title>Introduction</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
-  <link rel="PREVIOUS" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
+  <link rel="PREVIOUS" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="NEXT" title="Installation" href="installation.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="index.html" accesskey="P">Prev</a></td>
   </div>
   <div class="SECT1">
     <h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1. Introduction</a></h1>
-    <p>This documentation is included with the current stable version of <span class="APPLICATION">Privoxy</span>,
-    3.0.33.</p>
+    <p>This documentation is included with the current UNRELEASED version of <span class="APPLICATION">Privoxy</span>,
+    3.0.34, and is mostly complete at this point. The most up to date reference for the time being is still the
+    comments in the source files and in the individual configuration files. Development of a new version is currently
+    nearing completion, and includes significant changes and enhancements over earlier versions.</p>
+    <p>Since this is a UNRELEASED version, not all new features are well tested. This documentation may be slightly out
+    of sync as a result (especially with <a href="https://www.privoxy.org/gitweb/?p=privoxy.git;a=summary" target=
+    "_top">git sources</a>). And there <span class="emphasis"><i class="EMPHASIS">may be</i></span> bugs, though
+    hopefully not many!</p>
     <div class="SECT2">
       <h2 class="SECT2"><a name="FEATURES" id="FEATURES">1.1. Features</a></h2>
       <p>In addition to the core features of ad blocking and <a href="https://en.wikipedia.org/wiki/Browser_cookie"
       target="_top">cookie</a> management, <span class="APPLICATION">Privoxy</span> provides many supplemental
-      features, that give the end-user more control, more privacy and more freedom:</p>
+      features, some of them currently under development, that give the end-user more control, more privacy and more
+      freedom:</p>
       <ul>
         <li>
           <p>Supports "Connection: keep-alive". Outgoing connections can be kept alive independently from the
         <td width="33%" align="right" valign="top"><a href="installation.html" accesskey="N">Next</a></td>
       </tr>
       <tr>
-        <td width="33%" align="left" valign="top">Privoxy 3.0.33 User Manual</td>
+        <td width="33%" align="left" valign="top">Privoxy 3.0.34 User Manual</td>
         <td width="34%" align="center" valign="top">&nbsp;</td>
         <td width="33%" align="right" valign="top">Installation</td>
       </tr>
index d7aa9de..3561ff2 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Quickstart to Using Privoxy</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="What's New in this Release" href="whatsnew.html">
   <link rel="NEXT" title="Starting Privoxy" href="startup.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="whatsnew.html" accesskey="P">Prev</a></td>
           <p>Find <tt class="FILENAME">user.action</tt> in the top section, and click on <span class=
           "QUOTE">"<span class="GUIBUTTON">Edit</span>"</span>:</p>
           <div class="FIGURE">
-            <a name="AEN609" id="AEN609"></a>
+            <a name="AEN719" id="AEN719"></a>
             <p><b>Figure 1. Actions Files in Use</b></p>
             <div class="MEDIAOBJECT">
               <p><img src="files-in-use.jpg"></p>
index f92f422..d78670c 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>See Also</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href="copyright.html">
   <link rel="NEXT" title="Appendix" href="appendix.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="copyright.html" accesskey="P">Prev</a></td>
index 610c3e6..0f45d6c 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Starting Privoxy</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Quickstart to Using Privoxy" href="quickstart.html">
   <link rel="NEXT" title="Privoxy Configuration" href="configuration.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="quickstart.html" accesskey="P">Prev</a></td>
@@ -35,7 +35,7 @@
     <p>Please note that <span class="APPLICATION">Privoxy</span> can only proxy HTTP and HTTPS traffic. It will not
     work with FTP or other protocols.</p>
     <div class="FIGURE">
-      <a name="AEN663" id="AEN663"></a>
+      <a name="AEN773" id="AEN773"></a>
       <p><b>Figure 2. Proxy Configuration Showing Mozilla Firefox HTTP and HTTPS (SSL) Settings</b></p>
       <div class="MEDIAOBJECT">
         <p><img src="proxy_setup.jpg"></p>
@@ -66,7 +66,7 @@
     protocols"</span> is <span class="emphasis"><i class="EMPHASIS">UNCHECKED</i></span>. You want only HTTP and HTTPS
     (SSL)!</p>
     <div class="FIGURE">
-      <a name="AEN705" id="AEN705"></a>
+      <a name="AEN815" id="AEN815"></a>
       <p><b>Figure 3. Proxy Configuration Showing Internet Explorer HTTP and HTTPS (Secure) Settings</b></p>
       <div class="MEDIAOBJECT">
         <p><img src="proxy2.jpg"></p>
index 51eb143..0c64035 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Privoxy's Template Files</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
   <link rel="NEXT" title="Contacting the Developers, Bug Reporting and Feature Requests" href="contact.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="filter-file.html" accesskey="P">Prev</a></td>
index dceb2ed..bcbe7b5 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>What's New in this Release</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.33 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.34 User Manual" href="index.html">
   <link rel="PREVIOUS" title="Installation" href="installation.html">
   <link rel="NEXT" title="Quickstart to Using Privoxy" href="quickstart.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.33 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.34 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="installation.html" accesskey="P">Prev</a></td>
   </div>
   <div class="SECT1">
     <h1 class="SECT1"><a name="WHATSNEW" id="WHATSNEW">3. What's New in this Release</a></h1>
-    <p><span class="APPLICATION">Privoxy 3.0.32</span> fixes multiple DoS issues and a couple of other bugs. The issues
-    also affect earlier Privoxy releases.</p>
-    <p>Changes in <span class="APPLICATION">Privoxy 3.0.32</span> stable:</p>
+    <p><span class="APPLICATION">Privoxy 3.0.33</span> fixes an XSS issue and multiple DoS issues and a couple of other
+    bugs. The issues also affect earlier Privoxy releases. <span class="APPLICATION">Privoxy 3.0.33</span> also comes
+    with a couple of general improvements and new features.</p>
+    <p>Changes in <span class="APPLICATION">Privoxy 3.0.33</span> stable:</p>
     <ul>
       <li>
         <p>Security/Reliability:</p>
         <ul>
           <li>
-            <p>ssplit(): Remove an assertion that could be triggered with a crafted CGI request. Commit 2256d7b4d67.
-            OVE-20210203-0001. Reported by: Joshua Rogers (Opera)</p>
+            <p>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</p>
           </li>
           <li>
-            <p>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. Reported by: Joshua Rogers (Opera)</p>
+            <p>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.</p>
           </li>
           <li>
-            <p>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. Reported
-            by: Joshua Rogers (Opera)</p>
+            <p>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.</p>
           </li>
           <li>
-            <p>chunked_body_is_complete(): Prevent an invalid read of size two. Commit a912ba7bc9c. OVE-20210205-0001.
-            Reported by: Joshua Rogers (Opera)</p>
+            <p>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.</p>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <p>Bug fixes:</p>
+        <ul>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>continue_https_chat(): Update csp-&#62;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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>load_config(): Add a space that was missing in a log message.</p>
           </li>
           <li>
-            <p>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. Reported by: Joshua Rogers (Opera)</p>
+            <p>read_http_request_body(): Fix two error messages that used an incorrect variable.</p>
+          </li>
+          <li>
+            <p>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.</p>
           </li>
         </ul>
       </li>
       <li>
-        <p>Bug fixes:</p>
+        <p>General improvements:</p>
         <ul>
           <li>
-            <p>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)</p>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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@.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>handle_established_connection(): Slightly improve a comment.</p>
+          </li>
+          <li>
+            <p>handle_established_connection(): Fix a comment.</p>
           </li>
           <li>
-            <p>decompress_iob(): Prevent reading of uninitialized data. Reported by: Joshua Rogers (Opera).</p>
+            <p>socks5_connect(): Fix indentation.</p>
           </li>
           <li>
-            <p>decompress_iob(): Don't advance cur past eod when looking for the end of the file name and comment.</p>
+            <p>handle_established_connection(): Improve an error message.</p>
           </li>
           <li>
-            <p>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)</p>
+            <p>create_pattern_spec(): Fix ifdef indentation.</p>
           </li>
           <li>
-            <p>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).</p>
+            <p>Fix comment typos.</p>
           </li>
           <li>
-            <p>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)</p>
+            <p>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.</p>
           </li>
           <li>
-            <p>log_error(): Treat LOG_LEVEL_FATAL as fatal even when --stfu is being used while fuzzing. Reported by:
-            Joshua Rogers (Opera).</p>
+            <p>chat(): Log the applied actions before deciding how to forward the request.</p>
           </li>
           <li>
-            <p>Respect DESTDIR when considering whether or not to install config files with ".new" extension.</p>
+            <p>parse_time_header(): Silence a coverity complaint when building without assertions.</p>
           </li>
           <li>
-            <p>OpenSSL ssl_store_cert(): Fix two error messages.</p>
+            <p>receive_encrypted_request_headers(): Improve a log message.</p>
           </li>
           <li>
-            <p>Fix a couple of format specifiers.</p>
+            <p>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.</p>
           </li>
           <li>
-            <p>Silence compiler warnings when compiling with NDEBUG.</p>
+            <p>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.</p>
           </li>
           <li>
-            <p>fuzz_server_header(): Fix compiler warning.</p>
+            <p>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</p>
           </li>
           <li>
-            <p>fuzz_client_header(): Fix compiler warning.</p>
+            <p>OpenSSL generate_host_certificate(): Fix two error messsages.</p>
           </li>
           <li>
-            <p>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.</p>
+            <p>Improve description of handle_established_connection()</p>
+          </li>
+          <li>
+            <p>OpenSSL ssl_store_cert(): Translate EVP_PKEY_EC to a string.</p>
+          </li>
+          <li>
+            <p>OpenSSL ssl_store_cert(): Remove pointless variable initialization.</p>
+          </li>
+          <li>
+            <p>OpenSSL ssl_store_cert(): Initialize pointer with NULL instead of 0.</p>
           </li>
         </ul>
       </li>
       <li>
-        <p>General improvements:</p>
+        <p>Action file improvements:</p>
+        <ul>
+          <li>
+            <p>Disable fast-redirects for .microsoftonline.com/.</p>
+          </li>
+          <li>
+            <p>Disable fast-redirects for idp.springer.com/.</p>
+          </li>
+          <li>
+            <p>Disable fast-redirects for .zeit.de/zustimmung.</p>
+          </li>
+          <li>
+            <p>Unblock adv-archiv.dfn-cert.de/.</p>
+          </li>
+          <li>
+            <p>Block requests to eu-tlp01.kameleoon.eu/.</p>
+          </li>
+          <li>
+            <p>Block requests to fpa-events.arstechnica.com/.</p>
+          </li>
+          <li>
+            <p>Unblock nlnet.nl/.</p>
+          </li>
+          <li>
+            <p>Unblock adguard.com/.</p>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <p>Privoxy-Log-Parser:</p>
         <ul>
           <li>
-            <p>Log the TLS version and the the cipher when debug 2 is enabled.</p>
+            <p>Highlight 'Socket timeout 3 reached: http://127.0.0.1:20000/no-filter/chunked-content/36'.</p>
+          </li>
+          <li>
+            <p>Improve documentation for inactivity-detection mode.</p>
           </li>
           <li>
-            <p>ssl_send_certificate_error(): Respect HEAD requests by not sending a body.</p>
+            <p>Detect date changes when looking for inactivity.</p>
           </li>
           <li>
-            <p>ssl_send_certificate_error(): End the body with a single new line.</p>
+            <p>Add a --passed-request-statistics-threshold option that can be set to get statistics for requests that
+            were passed.</p>
           </li>
           <li>
-            <p>serve(): Increase the chances that the host is logged when closing a server socket.</p>
+            <p>Add a "inactivity detection" mode which can be useful for debugging purposes.</p>
           </li>
           <li>
-            <p>handle_established_connection(): Add parentheses to clarify an expression Suggested by: David
-            Binderman</p>
+            <p>Bump version to 0.9.4.</p>
           </li>
           <li>
-            <p>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).</p>
+            <p>Only run print_intro() and print_outro() when syntax highlighting.</p>
           </li>
           <li>
-            <p>decompress_iob(): Add periods to a couple of log messages</p>
+            <p>Rephrase a sentence in the documentation.</p>
           </li>
           <li>
-            <p>Terminate the body of the HTTP snipplets with a single new line instead of "\r\n".</p>
+            <p>Highlight 'Client socket 7 is no longer usable. The server socket has been closed.'.</p>
           </li>
           <li>
-            <p>configure: Add --with-assertions option and only enable assertions when it is used</p>
+            <p>Clarify --statistics output by explicitly mentioning that the status codes sent by the server may differ
+            from the ones in "debug 512" messages.</p>
           </li>
           <li>
-            <p>windows build: Use --with-brotli and --with-mbedtls by default and enable dynamic error checking.</p>
+            <p>Fix typo in the --statistics output.</p>
           </li>
           <li>
-            <p>gif_deanimate(): Confirm we've got an image before trying to write it Saves a pointless buf_copy()
-            call.</p>
+            <p>Remove an unused variable.</p>
           </li>
           <li>
-            <p>OpenSSL ssl_store_cert(): Remove a superfluous space before the serial number.</p>
+            <p>Highlight 'The peer notified us that the connection on socket 11 is going to be closed'.</p>
           </li>
         </ul>
       </li>
       <li>
-        <p>Action file improvements:</p>
+        <p>Privoxy-Regression-Test:</p>
+        <ul>
+          <li>
+            <p>Remove duplicated word in a comment.</p>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <p>regression-tests.action:</p>
         <ul>
           <li>
-            <p>Disable fast-redirects for .golem.de/</p>
+            <p>Add fetch test for http://p.p/wpad.dat.</p>
+          </li>
+          <li>
+            <p>Bump for-privoxy-version to 3.0.33 which introduced the wpad.dat support.</p>
           </li>
           <li>
-            <p>Unblock requests to adri*.</p>
+            <p>Add more tests for the '/send-banner' code.</p>
           </li>
           <li>
-            <p>Block requests for trc*.taboola.com/</p>
+            <p>Add test for OVE-20210203-0001.</p>
           </li>
           <li>
-            <p>Disable fast-redirects for .linkedin.com/</p>
+            <p>Add a test for CVE-2021-20217.</p>
           </li>
         </ul>
       </li>
       <li>
-        <p>Filter file improvements:</p>
+        <p>uagen:</p>
         <ul>
           <li>
-            <p>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/.</p>
+            <p>Bump generated Firefox version to 91 (ESR).</p>
+          </li>
+          <li>
+            <p>Bump version to 1.2.3.</p>
+          </li>
+          <li>
+            <p>Bump copyright.</p>
           </li>
         </ul>
       </li>
       <li>
-        <p>Privoxy-Log-Parser:</p>
+        <p>Build system:</p>
         <ul>
           <li>
-            <p>Highlight a few more messages.</p>
+            <p>configure: Bump SOURCE_DATE_EPOCH.</p>
+          </li>
+          <li>
+            <p>GNUmakefile.in: Fix typo.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>Add configure option to enable MemorySanitizer.</p>
+          </li>
+          <li>
+            <p>Add configure option to enable UndefinedBehaviorSanitizer.</p>
+          </li>
+          <li>
+            <p>Add configure option to enable AddressSanitizer.</p>
+          </li>
+          <li>
+            <p>Bump copyright.</p>
           </li>
           <li>
-            <p>Clarify the --statistics output. The shown "Reused connections" are server connections so name them
-            appropriately.</p>
+            <p>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.</p>
           </li>
           <li>
-            <p>Bump version to 0.9.3.</p>
+            <p>configure: Remove obsolete RPM_BASE check.</p>
           </li>
         </ul>
       </li>
       <li>
-        <p>Privoxy-Regression-Test:</p>
+        <p>Windows build system:</p>
         <ul>
           <li>
-            <p>Add the --check-bad-ssl option to the --help output.</p>
+            <p>Update the build script to use mbed tls version 2.6.11.</p>
+          </li>
+          <li>
+            <p>Update build script to use the final 8.45 pcre library.</p>
           </li>
           <li>
-            <p>Bump version to 0.7.3.</p>
+            <p>Put all the '--enable-xxx' options in the configure call together.</p>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <p>macOS build system:</p>
+        <ul>
+          <li>
+            <p>The OSXPackageBuilder repository has been updated and can be used to create macOS packages again.</p>
           </li>
         </ul>
       </li>
         <p>Documentation:</p>
         <ul>
           <li>
-            <p>Add pushing the created tag to the release steps in the developer manual.</p>
+            <p>contacting: Remove obsolete reference to announce.sgml.</p>
+          </li>
+          <li>
+            <p>contacting: Request that the browser cache is cleared before producing a log file for submission.</p>
+          </li>
+          <li>
+            <p>Sponsor FAQ: Note that Privoxy users may follow sponsor links without Referer header set.</p>
+          </li>
+          <li>
+            <p>newfeatures: Clarify that https inspection also allows to filter https responses.</p>
+          </li>
+          <li>
+            <p>developer-manual: Mention that announce.txt should be updated when doing a release.</p>
+          </li>
+          <li>
+            <p>config: Explicitly mention that the CGI pages disclosing the ca-password can be blocked and upgrade the
+            disclosure paragraphs to a warning.</p>
+          </li>
+          <li>
+            <p>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.</p>
+          </li>
+          <li>
+            <p>Update TODO list item #184 to note that WolfSSL support will (hopefully) appear after the 3.0.34
+            release.</p>
+          </li>
+          <li>
+            <p>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.</p>
           </li>
           <li>
-            <p>Clarify that 'debug 32768' should be used in addition to the other debug directives when reporting
-            problems.</p>
+            <p>Add a warning that the socket-timeout does not apply to operations done by TLS libraries.</p>
           </li>
           <li>
-            <p>Add a 'Third-party licenses and copyrights' section to the user manual.</p>
+            <p>Make documentation slightly less "offensive" for some people by avoiding the word "hell".</p>
           </li>
         </ul>
       </li>
diff --git a/jcc.c b/jcc.c
index 659521c..5ed93b3 100644 (file)
--- a/jcc.c
+++ b/jcc.c
@@ -2159,7 +2159,7 @@ static int can_filter_request_body(const struct client_state *csp)
    {
       log_error(LOG_LEVEL_INFO,
          "Not filtering request body from %s: buffer limit %lu will be exceeded "
-         "(content length %lluu)", csp->ip_addr_str, csp->config->buffer_limit,
+         "(content length %llu)", csp->ip_addr_str, csp->config->buffer_limit,
          csp->expected_client_content_length);
       return FALSE;
    }
@@ -2206,6 +2206,7 @@ static int send_http_request(struct client_state *csp)
          update_client_headers(csp, to_send_len))
       {
          log_error(LOG_LEVEL_HEADER, "Error updating client headers");
+         freez(to_send);
          return 1;
       }
       csp->expected_client_content_length = 0;
@@ -2230,6 +2231,10 @@ static int send_http_request(struct client_state *csp)
    {
       log_error(LOG_LEVEL_CONNECT, "Failed sending request headers to: %s: %E",
          csp->http->hostport);
+      if (filter_client_body)
+      {
+         freez(to_send);
+      }
       return 1;
    }
 
@@ -2801,6 +2806,8 @@ static jb_err process_encrypted_request_headers(struct client_state *csp)
          "Failed to get the encrypted request destination");
       ssl_send_data_delayed(&(csp->ssl_client_attr),
          (const unsigned char *)CHEADER, strlen(CHEADER), get_write_delay(csp));
+      destroy_list(headers);
+
       return JB_ERR_PARSE;
    }
 
index 27bd260..412e7e2 100644 (file)
--- a/privoxy.8
+++ b/privoxy.8
@@ -1,6 +1,6 @@
 .\" This manpage has been generated by docbook2man-spec.pl
 .\" (included in the Privoxy source tarball) from a DocBook document.
-.TH "PRIVOXY" "8" "24 February 2021" "Privoxy 3.0.32" ""
+.TH "PRIVOXY" "8" "07 December 2021" "Privoxy 3.0.33" ""
 .SH NAME
 privoxy \- Privacy Enhancing Proxy
 .SH SYNOPSIS
index 61e90f6..ad463d2 100755 (executable)
@@ -39,7 +39,7 @@ use Getopt::Long;
 
 use constant {
 
-   UAGEN_VERSION       => 'uagen 1.2.3',
+   UAGEN_VERSION       => 'uagen 1.2.4',
 
    UAGEN_LOGFILE       => '/var/log/uagen.log',
    ACTION_FILE         => '/etc/privoxy/user-agent.action',
@@ -138,13 +138,13 @@ sub generate_platform_and_os() {
         FreeBSD => {
             karma             => 1,
             platform          => 'X11',
-            architectures     => [ 'i386', 'amd64', 'sparc64' ],
+            architectures     => [ 'i386', 'amd64' ],
             order_is_inversed => 0,
         },
         OpenBSD => {
             karma             => 1,
             platform          => 'X11',
-            architectures     => [ 'i386', 'amd64', 'sparc64', 'alpha' ],
+            architectures     => [ 'arm64', 'i386', 'amd64', 'sparc64', 'alpha' ],
             order_is_inversed => 0,
         },
         NetBSD => {