privoxy.git
7 months agoAdd test scenario gif-deanimation
Fabian Keil [Sat, 6 Feb 2021 10:57:24 +0000 (11:57 +0100)]
Add test scenario gif-deanimation

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario client-tags
Fabian Keil [Sun, 28 Mar 2021 09:09:29 +0000 (11:09 +0200)]
Add test scenario client-tags

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario client-body-tagger-https
Fabian Keil [Sun, 28 Mar 2021 01:05:37 +0000 (03:05 +0200)]
Add test scenario client-body-tagger-https

Sponsored by: Robert Klemme

7 months agoAdd test scenario client-body-tagger
Fabian Keil [Sat, 27 Mar 2021 14:04:11 +0000 (15:04 +0100)]
Add test scenario client-body-tagger

Sponsored by: Robert Klemme

7 months agoAdd test scenario client-body-filter-https
Fabian Keil [Fri, 26 Mar 2021 11:01:28 +0000 (12:01 +0100)]
Add test scenario client-body-filter-https

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario client-body-filter
Fabian Keil [Fri, 26 Mar 2021 06:06:07 +0000 (07:06 +0100)]
Add test scenario client-body-filter

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario forward-to-socks-proxy
Fabian Keil [Tue, 9 Mar 2021 16:40:54 +0000 (17:40 +0100)]
Add test scenario forward-to-socks-proxy

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario forward-to-http-proxy
Fabian Keil [Tue, 9 Mar 2021 09:16:06 +0000 (10:16 +0100)]
Add test scenario forward-to-http-proxy

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario pac-file-delivery
Fabian Keil [Fri, 5 Mar 2021 07:19:04 +0000 (08:19 +0100)]
Add test scenario pac-file-delivery

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario user-manual-https
Fabian Keil [Wed, 3 Feb 2021 10:41:43 +0000 (11:41 +0100)]
Add test scenario user-manual-https

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario user-manual-http
Fabian Keil [Wed, 3 Feb 2021 10:36:51 +0000 (11:36 +0100)]
Add test scenario user-manual-http

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario gzip compression
Fabian Keil [Thu, 28 Jan 2021 13:56:59 +0000 (14:56 +0100)]
Add test scenario gzip compression

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario header-filters
Fabian Keil [Fri, 22 Jan 2021 15:32:10 +0000 (16:32 +0100)]
Add test scenario header-filters

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd test scenario content-filters
Fabian Keil [Tue, 19 Jan 2021 17:54:50 +0000 (18:54 +0100)]
Add test scenario content-filters

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd upstream-tests scenario
Fabian Keil [Sun, 10 Jan 2021 15:18:17 +0000 (16:18 +0100)]
Add upstream-tests scenario

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd tests for redirects for https-inspected requests
Fabian Keil [Sun, 10 Jan 2021 09:17:30 +0000 (10:17 +0100)]
Add tests for redirects for https-inspected requests

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd redirect tests
Fabian Keil [Sun, 10 Jan 2021 08:48:35 +0000 (09:48 +0100)]
Add redirect tests

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd tests for destination rewrite
Fabian Keil [Sat, 9 Jan 2021 18:54:09 +0000 (19:54 +0100)]
Add tests for destination rewrite

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd tests for rewrite behind the client's back with https
Fabian Keil [Sun, 10 Jan 2021 03:37:16 +0000 (04:37 +0100)]
Add tests for rewrite behind the client's back with https

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd tests for client-header-order with https-inspection enabled
Fabian Keil [Sat, 9 Jan 2021 18:05:53 +0000 (19:05 +0100)]
Add tests for client-header-order with https-inspection enabled

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd client-header-order tests
Fabian Keil [Sat, 9 Jan 2021 15:49:29 +0000 (16:49 +0100)]
Add client-header-order tests

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd a README for the tests based on the curl test suite (cts)
Fabian Keil [Sat, 27 Feb 2021 09:54:18 +0000 (10:54 +0100)]
Add a README for the tests based on the curl test suite (cts)

Contains improvements made after feedback from Roland.

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd run-privoxy-tests.sh
Fabian Keil [Sun, 10 Jan 2021 05:50:06 +0000 (06:50 +0100)]
Add run-privoxy-tests.sh

... which takes care of starting Privoxy before running tests.

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd logs directory for the tests based on the curl test suite
Fabian Keil [Fri, 22 Jan 2021 08:25:39 +0000 (09:25 +0100)]
Add logs directory for the tests based on the curl test suite

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd a generated test manifest file
Fabian Keil [Sat, 12 Jul 2014 12:15:23 +0000 (14:15 +0200)]
Add a generated test manifest file

.. to skip curl tests that aren't relevant for Privoxy or
are known not to work for other reasons.

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd a script to generate a runtests.pl exclude file for Privoxy
Fabian Keil [Sat, 17 Nov 2012 14:02:18 +0000 (15:02 +0100)]
Add a script to generate a runtests.pl exclude file for Privoxy

curl tests that are known not to work with Privoxy are skipped.

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd runtests-wrapper.sh
Fabian Keil [Sat, 9 Jan 2021 15:49:08 +0000 (16:49 +0100)]
Add runtests-wrapper.sh

A wrapper around curl's runtests.pl.

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd privoxy-runtests.pm
Fabian Keil [Sun, 15 Jun 2014 16:28:51 +0000 (18:28 +0200)]
Add privoxy-runtests.pm

Overwrites some of the functions used by curl's runtests.pl
to let it properly deal with Privoxy being used as proxy.

Sponsored by: Privoxy project funds collected at SPI

7 months agoAdd Fabrice Fontaine as contributor
Fabian Keil [Sun, 17 Mar 2024 13:11:01 +0000 (14:11 +0100)]
Add Fabrice Fontaine as contributor

7 months agoGNUmakefile.in: Don't exit if configuration files are installed as root
Fabrice Fontaine [Sun, 17 Mar 2024 11:36:31 +0000 (12:36 +0100)]
GNUmakefile.in: Don't exit if configuration files are installed as root

... as this can be considered acceptable when cross-compiling
Privoxy inside an autobuilder with only a root user.

8 months agoDisable fast-redirect for syndication.twitter.com/
Fabian Keil [Wed, 28 Feb 2024 16:52:37 +0000 (17:52 +0100)]
Disable fast-redirect for syndication.twitter.com/

8 months agoUnblock .datenschmutz.de/
Fabian Keil [Thu, 4 Jan 2024 04:44:12 +0000 (05:44 +0100)]
Unblock .datenschmutz.de/

8 months agouser-manual: List wolfSSL as potential dependency
Fabian Keil [Thu, 11 Mar 2021 17:08:11 +0000 (18:08 +0100)]
user-manual: List wolfSSL as potential dependency

... in the 'Third-party licenses and copyrights' section.

Sponsored by: Privoxy project funds collected at SPI

8 months agoAllow to use wolfSSL for https inspection
Fabian Keil [Tue, 12 Jan 2021 07:12:38 +0000 (08:12 +0100)]
Allow to use wolfSSL for https inspection

It's licensed under GPlv2 or later and unlike mbedTLS
there don't seem to be plans to change the license.

As a bonus, wolfSSL supports TLS 1.3 and can be significantly
faster than mbedTLS. Mainly tested on ElectroBSD amd64 where
it can compete with OpenSSL and LibreSSL:
https://www.fabiankeil.de/gehacktes/privoxy-tls-benchmarks/

To enable the support, install wolfSSL and run ./configure
with the --with-wolfssl option.

Privoxy users and packagers that currently build Privoxy
binaries with mbedTLS may want to consider using wolfSSL
in the future once it has been properly tested.

Sponsored by: Privoxy project funds collected at SPI

10 months agoMerge Debian 3.0.34-2/3 into Upstream tree.
Roland Rosenfeld [Tue, 2 Jan 2024 18:29:06 +0000 (19:29 +0100)]
Merge Debian 3.0.34-2/3 into Upstream tree.

This fixes the build dependency on libpcre2-dev, since upstream alreay
uses pcre2.

10 months agoRemove ./ prefix from tarball-dist files.
Roland Rosenfeld [Tue, 2 Jan 2024 18:21:44 +0000 (19:21 +0100)]
Remove ./ prefix from tarball-dist files.

10 months agoBump copyright
Fabian Keil [Mon, 18 Dec 2023 13:58:37 +0000 (14:58 +0100)]
Bump copyright

10 months agoAdd Florian Weimer as contributor
Fabian Keil [Mon, 18 Dec 2023 13:07:12 +0000 (14:07 +0100)]
Add Florian Weimer as contributor

10 months agoconfigure.in: Fix argument types in gmtime_r() and localtime_r() probes
Fabian Keil [Tue, 19 Dec 2023 10:48:37 +0000 (11:48 +0100)]
configure.in: Fix argument types in gmtime_r() and localtime_r() probes

Otherwise these probes always fail with stricter compilers
even if there is C library support for these functions.

Patch submitted by Florian Weimer in SF#149.

10 months agoreceive_encrypted_request_headers(): Add periods to a couple of log messages
Fabian Keil [Sun, 26 Nov 2023 00:16:39 +0000 (01:16 +0100)]
receive_encrypted_request_headers(): Add periods to a couple of log messages

11 months agoBump copyright
Fabian Keil [Thu, 16 Nov 2023 13:27:17 +0000 (14:27 +0100)]
Bump copyright

11 months agoAdd Ingo Blechschmidt as contributor
Fabian Keil [Thu, 16 Nov 2023 13:17:42 +0000 (14:17 +0100)]
Add Ingo Blechschmidt as contributor

11 months agoFix socks4 and socks4a support under glibc's source fortification
Ingo Blechschmidt [Sun, 5 Nov 2023 22:43:54 +0000 (23:43 +0100)]
Fix socks4 and socks4a support under glibc's source fortification

With glib'c source fortification, gcc offers the compilation warning

    gateway.c: In function 'socks4_connect':
    gateway.c:840:4: warning: 'strlcpy' writing 4988 bytes into a region of size 1 overflows the destination
      840 |    strlcpy(&(c->userid), socks_userid, sizeof(buf) - sizeof(struct socks_op));
  |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    gateway.c:112:9: note: destination object 'userid' of size 1
      112 |    char userid;               /* first byte of userid */
  |         ^~~~~~

resulting in a runtime abort() when using a socks4 or socks4a upstream proxy:

    $ privoxy --no-daemon <(echo 'forward-socks4 / 127.0.0.1:9050 .')
    7fef77483740 Info: Privoxy version 3.0.34
    7fef77483740 Info: Program name: privoxy
    *** buffer overflow detected ***: terminated
    rc: line 3: 321835 Aborted    (core dumped) privoxy --no-daemon <(echo 'forward-socks4 / 127.0.0.1:9050 .')

Despite the warning, the strlcpy() call in question is fine: gcc
misidentifies the size of the destination buffer, estimating to hold
only a single char while in fact the buffer stretches beyond the end of
the struct socks_op.

This commit fixes this issue in a way which is in line with the second
strlcpy() call in the socks4_connect(). Alternatively, we could also
remove the padding member and promote userid to a trailing flexible array
member. However, this would necessitate further adjustments because that
way the size of struct socks_op would change.

The issue was originally reported in the NixOS issue tracker at

    https://github.com/NixOS/nixpkgs/issues/265654

prompted by an upgrade of glibc from 2.37-39 to 2.38-0, and the fix is
joint work with @esclear and @richi235.

11 months agocreate_client_ssl_connection(): Make it more obviours from an error message that...
Fabian Keil [Mon, 30 Oct 2023 20:13:50 +0000 (21:13 +0100)]
create_client_ssl_connection(): Make it more obviours from an error message that a function failed

11 months agoprivoxy-log-parser: Highlight: 'Couldn't deliver the error message for [...]'
Fabian Keil [Fri, 27 Oct 2023 19:18:51 +0000 (21:18 +0200)]
privoxy-log-parser: Highlight: 'Couldn't deliver the error message for [...]'

11 months agoBump copyright
Fabian Keil [Tue, 17 Oct 2023 16:44:08 +0000 (18:44 +0200)]
Bump copyright

11 months agoprivoxy-log-parser: Bump copyright
Fabian Keil [Mon, 16 Oct 2023 19:22:40 +0000 (21:22 +0200)]
privoxy-log-parser: Bump copyright

11 months agoprivoxy-log-parser: Highlight 'Failed to accept() incoming connection: Software cause...
Fabian Keil [Mon, 16 Oct 2023 19:10:31 +0000 (21:10 +0200)]
privoxy-log-parser: Highlight 'Failed to accept() incoming connection: Software caused connection abort'

11 months agolisten_loop(): Improve an error message
Fabian Keil [Mon, 16 Oct 2023 19:09:07 +0000 (21:09 +0200)]
listen_loop(): Improve an error message

11 months agoBump copyright
Fabian Keil [Sun, 10 Sep 2023 08:16:30 +0000 (10:16 +0200)]
Bump copyright

11 months agoUse stringify() instead of section_target()
Fabian Keil [Sun, 10 Sep 2023 07:44:10 +0000 (09:44 +0200)]
Use stringify() instead of section_target()

... and remove section_target(). Like the XXX comment suggested
this could be done my moving the hash into the templates which
seems preferable anyway.

12 months agoBlock requests to secure-eu.nmrodam.com/
Fabian Keil [Thu, 28 Sep 2023 16:37:22 +0000 (18:37 +0200)]
Block requests to secure-eu.nmrodam.com/

12 months agoBlock requests to o2.mouseflow.com/
Fabian Keil [Sat, 9 Sep 2023 11:27:24 +0000 (13:27 +0200)]
Block requests to o2.mouseflow.com/

12 months agouagen: Bump copyright
Fabian Keil [Sun, 8 Oct 2023 14:21:42 +0000 (16:21 +0200)]
uagen: Bump copyright

12 months agouagen: Bump version
Fabian Keil [Sun, 8 Oct 2023 14:11:06 +0000 (16:11 +0200)]
uagen: Bump version

12 months agouagen: Bump BROWSER_VERSION and BROWSER_REVISION
Fabian Keil [Sun, 8 Oct 2023 14:09:12 +0000 (16:09 +0200)]
uagen: Bump BROWSER_VERSION and BROWSER_REVISION

... to match Firefox ESR 115.

I don't know why the BROWSER_REVISION is still at 109
but that's what Firefox ESR 115 uses when compiled
on ElectroBSD.

12 months agoDisable fast-redirects for /wp-content/plugins/pdf-viewer-for-elementor
Fabian Keil [Mon, 11 Sep 2023 18:10:56 +0000 (20:10 +0200)]
Disable fast-redirects for /wp-content/plugins/pdf-viewer-for-elementor

14 months agoBump MAX_FILTER_TYPES
Fabian Keil [Sat, 9 Sep 2023 09:59:25 +0000 (11:59 +0200)]
Bump MAX_FILTER_TYPES

... which should have been done in d128e6aa41 when introducing
the client-body-tagger{} action.

Prevents an assertion in cgi_edit_actions_for_url() from triggering
after e32d03e0 when using the CGI editor with assertions enabled.

14 months agoAdd Aaron Li as contributor
Fabian Keil [Sat, 9 Sep 2023 07:06:44 +0000 (09:06 +0200)]
Add Aaron Li as contributor

14 months agoAdd missing client-body-tagger data to the action_type_info[] struct
Fabian Keil [Sat, 9 Sep 2023 06:55:33 +0000 (08:55 +0200)]
Add missing client-body-tagger data to the action_type_info[] struct

... so lookups based on the action index work correctly again.

Prevents assertion failures or segfaults when trying to edit
an action file with the CGI editor.

The type of failure depended on whether or not assertions
were enabled and on whether or not Privoxy had been compiled
with FEATURE_EXTERNAL_FILTERS.

Regression introduced in Privoxy 3.0.34.

Patch submitted by Aaron Li in #940.

14 months agocgi_edit_actions_for_url(): Wrap line sooner
Fabian Keil [Sat, 9 Sep 2023 06:41:37 +0000 (08:41 +0200)]
cgi_edit_actions_for_url(): Wrap line sooner

14 months agoaction_render_string_actions_template(): Assert that the multi action index is valid
Fabian Keil [Sat, 9 Sep 2023 06:17:52 +0000 (08:17 +0200)]
action_render_string_actions_template(): Assert that the multi action index is valid

14 months agocgi_edit_actions_for_url(): Assert that the multi action index is valid
Fabian Keil [Sat, 9 Sep 2023 06:16:08 +0000 (08:16 +0200)]
cgi_edit_actions_for_url(): Assert that the multi action index is valid

14 months agocgi_edit_actions_for_url(): Add missing space
Fabian Keil [Sat, 9 Sep 2023 06:14:31 +0000 (08:14 +0200)]
cgi_edit_actions_for_url(): Add missing space

14 months agoaction_render_string_actions_template: Fix spelling in description and re-flow
Fabian Keil [Sat, 9 Sep 2023 06:11:30 +0000 (08:11 +0200)]
action_render_string_actions_template: Fix spelling in description and re-flow

14 months agoaction_render_string_actions_template(): Adjust space around function parameters
Fabian Keil [Sat, 9 Sep 2023 06:08:34 +0000 (08:08 +0200)]
action_render_string_actions_template(): Adjust space around function parameters

14 months agoAdd a regression test for left-anchored path patterns
Fabian Keil [Sun, 27 Aug 2023 10:39:22 +0000 (12:39 +0200)]
Add a regression test for left-anchored path patterns

14 months agopcre2 compile_pattern(): Actually pass the anchored pattern to pcre2_compile()
Fabian Keil [Sun, 27 Aug 2023 10:26:02 +0000 (12:26 +0200)]
pcre2 compile_pattern(): Actually pass the anchored pattern to pcre2_compile()

Previously the un-anchoring pattern was compiled resulting
in incorrect matches.

For example requests to:

    https://www.privoxy.org/user-manual/config.html

were redirected because of the default.action section:

    {+redirect{http://config.privoxy.org/}}
    # Sticky Actions = +redirect{http://config.privoxy.org/}
    # URL = http://www.privoxy.org/config
    # Redirected URL = http://www.privoxy.org/config
    # Redirect Destination = http://config.privoxy.org/
    .privoxy.org/config

As the path pattern is left-anchored it should not match.

14 months agoconfigure: Fix --disable-pcre2
Fabian Keil [Sun, 27 Aug 2023 10:13:48 +0000 (12:13 +0200)]
configure: Fix --disable-pcre2

Previously it would result in neither pcre library being detected:

    checking for getnameinfo... (cached) yes
    configure: WARNING: Ignoring pcre2 even if it's available
    test: =: unexpected operator
    Enabling support for client-specific tags.
    checking for zlibVersion in -lz... (cached) yes
    Enabling compression support.
    test: =: unexpected operator
    test: =: unexpected operator
    configure: error: Detected neither pcre2 nor pcre library.

14 months agoDisable fast-redirects for services.akteneinsichtsportal.de/
Fabian Keil [Wed, 23 Aug 2023 10:11:22 +0000 (12:11 +0200)]
Disable fast-redirects for services.akteneinsichtsportal.de/

14 months agoAdd #205: Document how commit messages should look like
Fabian Keil [Wed, 16 Aug 2023 07:24:32 +0000 (09:24 +0200)]
Add #205: Document how commit messages should look like

14 months agoAdd #204: Make the Privoxy website available over IPv6.
Fabian Keil [Tue, 11 Jul 2023 16:18:53 +0000 (18:18 +0200)]
Add #204: Make the Privoxy website available over IPv6.

14 months agoAdd #203: Add HTTP/2 support
Fabian Keil [Tue, 11 Jul 2023 16:07:29 +0000 (18:07 +0200)]
Add #203: Add HTTP/2 support

14 months agoRemove TODO item #164
Fabian Keil [Tue, 11 Jul 2023 16:02:29 +0000 (18:02 +0200)]
Remove TODO item #164

The PCRE2 code uses the native API as the POSIX API resulted in crashes.

14 months agoAdd regex_matches() to reduce HAVE_PCRE2 ifdefs
Fabian Keil [Tue, 11 Jul 2023 04:22:16 +0000 (06:22 +0200)]
Add regex_matches() to reduce HAVE_PCRE2 ifdefs

14 months agotrust: Use the words 'allowlists' and 'blocklists'
Fabian Keil [Sat, 18 Feb 2023 10:50:22 +0000 (11:50 +0100)]
trust: Use the words 'allowlists' and 'blocklists'

... instead of "whitelists" and "blacklists" which some
people consider to be less inclusive.

14 months agoRebuild homepage without former sponsor Scrubtheweb.com
Fabian Keil [Thu, 17 Aug 2023 04:50:33 +0000 (06:50 +0200)]
Rebuild homepage without former sponsor Scrubtheweb.com

14 months agoRemove sponsor Scrubtheweb.com as they canceled the subscription
Fabian Keil [Thu, 17 Aug 2023 04:32:32 +0000 (06:32 +0200)]
Remove sponsor Scrubtheweb.com as they canceled the subscription

15 months agossl_send_certificate_error(): Remove a 'dead nested assignment'
Fabian Keil [Wed, 9 Aug 2023 04:58:56 +0000 (06:58 +0200)]
ssl_send_certificate_error(): Remove a 'dead nested assignment'

15 months agopcrs_execute_single_command(): Remove a 'dead assignment'
Fabian Keil [Wed, 9 Aug 2023 04:53:59 +0000 (06:53 +0200)]
pcrs_execute_single_command(): Remove a 'dead assignment'

15 months agofix gcc maybe-uninitialized compiler warnings in acl_addr
Lee [Wed, 9 Aug 2023 08:42:15 +0000 (04:42 -0400)]
fix gcc maybe-uninitialized compiler warnings in acl_addr

I can't tell if they're false positives or not, but compiling with
no warnings is better than seeing this:

filters.c: In function ‘acl_addr’:
filters.c:465:31: warning: ‘addr_len’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  465 |    for (i = 0; (i < addr_len) && masklength; i++)
      |                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
filters.c:454:18: warning: ‘mask_port’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  454 |       *mask_port = 1;
      |       ~~~~~~~~~~~^~~
filters.c:479:19: warning: ‘mask_data’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  479 |          mask_data[i] = (uint8_t)~((1 << (8 - masklength)) - 1);
      |                   ^

15 months agofix gcc maybe-uninitialized compiler warnings in match_sockaddr
Lee [Wed, 9 Aug 2023 08:34:55 +0000 (04:34 -0400)]
fix gcc maybe-uninitialized compiler warnings in match_sockaddr

I can't tell if they're false positives or not, but compiling with
no warnings is better than seeing this:

filters.c: In function ‘match_sockaddr’:
filters.c:205:42: warning: ‘address_port’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  205 |    if (*netmask_port && *network_port != *address_port)
      |                                          ^~~~~~~~~~~~~
filters.c:214:24: warning: ‘address_addr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  214 |           (address_addr[i] & netmask_addr[i]))
      |            ~~~~~~~~~~~~^~~
filters.c:205:8: warning: ‘netmask_port’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  205 |    if (*netmask_port && *network_port != *address_port)
      |        ^~~~~~~~~~~~~
filters.c:200:20: warning: ‘netmask_addr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  200 |       netmask_addr += 12;
      |                    ^~
filters.c:205:25: warning: ‘network_port’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  205 |    if (*netmask_port && *network_port != *address_port)
      |                         ^~~~~~~~~~~~~
filters.c:172:17: warning: ‘addr_len’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  172 |    unsigned int addr_len;
      |                 ^~~~~~~~

15 months agowindows/MYconfigure: enable building Privoxy with OpenSSL on Windows.
Lee [Wed, 9 Aug 2023 08:00:28 +0000 (04:00 -0400)]
windows/MYconfigure: enable building Privoxy with OpenSSL on Windows.

way too many warnings in openssl.c about RSA deprecated-declarations
so add -Wno-deprecated-declarations to get rid of them.

make it easier to specify "--with-mbedtls" or "--with-openssl"

15 months agowindows: Enable building Privoxy with OpenSSL
Lee [Wed, 9 Aug 2023 07:47:37 +0000 (03:47 -0400)]
windows: Enable building Privoxy with OpenSSL

- openssl.c

I got random crashes when using openssl on windows; fixed with
  #include <openssl/applink.c>
I don't understand
  https://www.openssl.org/docs/faq.html
it seems to be applicable only to calling DLLs but even with
no DLLs involved that include also fixes the crashes that happen
when statically linking openssl

- project.h

pull in the required gunk for windows

15 months agowindows/MYconfigure: Have gcc diagnostics in color
Lee [Wed, 9 Aug 2023 06:35:05 +0000 (02:35 -0400)]
windows/MYconfigure: Have gcc diagnostics in color

It's nice having gcc warnings in color even if I run a script that does
  'make 2>&1 | tee  log.make'

15 months agocreate_client_ssl_connection(): Don't keep the certificate lock longer than necessary
Lee [Fri, 4 Aug 2023 22:08:17 +0000 (18:08 -0400)]
create_client_ssl_connection(): Don't keep the certificate lock longer than necessary

15 months agoEnable use of the PCRE2 library on Windows
Lee [Fri, 4 Aug 2023 09:41:14 +0000 (05:41 -0400)]
Enable use of the PCRE2 library on Windows

- windows/MYconfigure

Use the PCRE2 library for building Privoxy on Windows.

- configure.in

PCRE2_STATIC must be defined if you want to statically link the PCRE2 library.
If it isn't defined you'll get these kind of linker errors:
 undefined reference to `_imp__pcre2_compile_8'
 undefined reference to `_imp__pcre2_jit_compile_8'
 undefined reference to `_imp__pcre2_match_data_create_from_pattern_8'
 undefined reference to `_imp__pcre2_match_8'

15 months agowindows/MYconfigure: Use Mbed TLS 2.28.4
Lee [Fri, 4 Aug 2023 09:23:13 +0000 (05:23 -0400)]
windows/MYconfigure: Use Mbed TLS 2.28.4

15 months agoLogCreatePatternMatchingBuffers(): Remove the #warning I added in 53748ca8c
Fabian Keil [Wed, 26 Jul 2023 06:41:52 +0000 (08:41 +0200)]
LogCreatePatternMatchingBuffers(): Remove the #warning I added in 53748ca8c

According to Lee it doesn't seem to be warranted.

15 months agoFix a compiler warning emitted by clang 15.0.7
Fabian Keil [Tue, 11 Jul 2023 04:05:40 +0000 (06:05 +0200)]
Fix a compiler warning emitted by clang 15.0.7

Silences:

    filters.c:2561:58: warning: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
       content = (content_filter != NULL) ? (*content_filter)(csp) : NULL;
                                                             ^
    1 warning generated.

16 months agoBump copyright
Fabian Keil [Sat, 1 Jul 2023 12:47:23 +0000 (14:47 +0200)]
Bump copyright

16 months agoBlock requests to track.venatusmedia.com/
Fabian Keil [Sat, 1 Jul 2023 13:36:07 +0000 (15:36 +0200)]
Block requests to track.venatusmedia.com/

16 months agoBlock requests to i.clean.gg/
Fabian Keil [Sat, 1 Jul 2023 13:33:38 +0000 (15:33 +0200)]
Block requests to i.clean.gg/

16 months agoBlock requests to s.cpx.to/
Fabian Keil [Sat, 1 Jul 2023 12:42:10 +0000 (14:42 +0200)]
Block requests to s.cpx.to/

16 months agoprivoxy-regression-test.pl: Bump copyright
Fabian Keil [Fri, 30 Jun 2023 15:49:56 +0000 (17:49 +0200)]
privoxy-regression-test.pl: Bump copyright

16 months agoprivoxy-regression-test.pl: Bump version
Fabian Keil [Fri, 30 Jun 2023 15:49:45 +0000 (17:49 +0200)]
privoxy-regression-test.pl: Bump version

16 months agoprivoxy-regression-test.pl: Let the --min-level option increase the --max-level
Fabian Keil [Fri, 30 Jun 2023 15:49:21 +0000 (17:49 +0200)]
privoxy-regression-test.pl: Let the --min-level option increase the --max-level

.. if the latter is smaller than the former.

16 months agoregression-tests.action: Bump copyright
Fabian Keil [Fri, 30 Jun 2023 11:09:33 +0000 (13:09 +0200)]
regression-tests.action: Bump copyright

16 months agoregression-tests.action: Add a redirect{} test with a pcrs command
Fabian Keil [Fri, 30 Jun 2023 10:56:47 +0000 (12:56 +0200)]
regression-tests.action: Add a redirect{} test with a pcrs command

16 months agoAdd Gagan Sidhu as contributor
Fabian Keil [Sat, 1 Jul 2023 16:36:41 +0000 (18:36 +0200)]
Add Gagan Sidhu as contributor