wolfSSL: Use LIBWOLFSSL_VERSION_HEX to decide whether or not to use WOLFSSL_X509_V_OK
[privoxy.git] / doc / webserver / announce.txt
1                Announcing Privoxy 3.0.34 stable
2 --------------------------------------------------------------------
3
4 Privoxy 3.0.34 fixes a few minor bugs and comes with a couple of
5 general improvements and new features.
6
7 Please note that Google started to bounce messages from the Privoxy
8 mailing lists a couple of months ago. As a result gmail users have
9 been unsubscribed by Mailman. If you are affected by this, please
10 resubscribe with a different mail address. The Privoxy project has
11 limited resources and limited time to investigate an issue that
12 only affects gmail addresses.
13
14 --------------------------------------------------------------------
15 ChangeLog for Privoxy 3.0.34
16 --------------------------------------------------------------------
17 - Bug fixes:
18   - Improve the handling of chunk-encoded responses by buffering the data
19     even if filters are disabled and properly keeping track of where the
20     various chunks are supposed to start and end. Previously Privoxy would
21     merely check the last bytes received to see if they looked like the
22     last-chunk. This failed to work if the last-chunk wasn't received in one
23     read and could also result in actual data being misdetected
24     as last-chunk.
25     Should fix: SF support request #1739.
26     Reported by: withoutname.
27   - remove_chunked_transfer_coding(): Refuse to de-chunk invalid data
28     Previously the data could get corrupted even further.
29     Now we simply pass the unmodified data to the client.
30   - gif_deanimate(): Tolerate multiple image extensions in a row.
31     This allows to deanimate all the gifs on:
32     https://commons.wikimedia.org/wiki/Category:Animated_smilies
33     Fixes SF bug #795 reported by Celejar.
34   - OpenSSL generate_host_certificate(): Use X509_get_subject_name()
35     instead of X509_get_issuer_name() to get the issuer for generated
36     website certificates so there are no warnings in the browser when using
37     an intermediate CA certificate instead of a self-signed root certificate.
38     Problem reported and patch submitted by Chakib Benziane.
39   - can_filter_request_body(): Fix a log message that contained a spurious u.
40   - handle_established_connection(): Check for pending TLS data from the client
41     before checking if data is available on the connection.
42     The TLS library may have already consumed all the data from the client
43     response in which case poll() and select() will not detect that data is
44     available to be read.
45     Sponsored by: Robert Klemme.
46   - ssl_send_certificate_error(): Don't crash if there's no certificate
47     information available. This is only relevant when Privoxy is built with
48     wolfSSL 5.0.0 or later (code not yet published). Earlier wolfSSL versions
49     or the other TLS backends don't seem to trigger the crash.
50   - socks5_connect(): Add support for target hosts specified as IPv4 address
51     Previously the IP address was sent as domain.
52
53 - General improvements:
54   - Add a client-body-tagger action which creates tags based on
55     the content of the request body.
56     Sponsored by: Robert Klemme.
57   - When client-body filters are enabled, buffer the whole request
58     before opening a connection to the server.
59     Makes it less likely that the server connection times out
60     and we don't open a connection if the buffering fails anyway.
61     Sponsored by: Robert Klemme.
62   - Add periods to a couple of log messages.
63   - accept_connection(): Add missing space to a log message.
64   - Initialize ca-related defaults with strdup_or_die() so errors
65     aren't silently ignored.
66   - make_path: Use malloc_or_die() in cases where allocation errors
67     were already fatal anyway.
68   - handle_established_connection(): Improve an error message slightly.
69   - receive_client_request(): Reject https URLs without CONNECT request.
70   - Include all requests in the statistics if mutexes are available.
71     Previously in case of reused connections only the last request got
72     counted. The statistics still aren't perfect but it's an improvement.
73   - Add read_socks_reply() and start using it in socks5_connect()
74     to apply the socket timeout more consistently.
75   - socks5_connect(): Deal with domain names in the socks reply
76   - Add a filter for bundeswehr.de that hides the cookie and
77     privacy info banner.
78
79 - Action file improvements:
80   - Disable filter{banners-by-size} for .freiheitsfoo.de/.
81   - Disable filter{banners-by-size} for freebsdfoundation.org/.
82   - Disable fast-redirects for consent.youtube.com/.
83   - Block requests to ups.xplosion.de/.
84   - Block requests for elsa.memoinsights.com/t.
85   - Fix a typo in a test.
86   - Disable fast-redirects for launchpad.net/.
87   - Unblock .eff.org/.
88   - Stop unblocking .org/.*(image|banner) which appears to be too generous
89     It let requests like:
90     https://stats.noblogs.org/piwik.php?action_name=anti%20gentrifizierungs%20fest&idsite=10175&rec=1&r=220192&h=17&m=7&s=44&url=https%3A%2F%2Fmuellemcalling.noblogs.org%2F&urlref=https%3A%2F%2Fmuellemcalling.noblogs.org%2Finfostande%2F&_id=&_idn=1&_refts=0&send_image=0&cookie=1&res=1366x768&pv_id=eqr7jX&pf_net=7&pf_srv=3&pf_tfr=2281&pf_dm1=156
91     pass.
92     The example URL http://www.gnu.org/graphics/gnu-head-banner.png is
93     already unblocked due to .gnu.org being unblocked.
94   - Unblock adfd.org/.
95   - Disable filter{banners-by-link} for .eff.org/.
96   - Block requests to odb.outbrain.com/.
97   - Disable fast-redirects for .gandi.net/.
98   - Disable fast-redirects{} for .onion/.*/status/.
99   - Disable fast-redirects{} for twitter.com/.*/status/.
100   - Unblock pinkstinks.de/.
101   - Disable fast-redirects for .hagalil.com/.
102
103 - Privoxy-Log-Parser:
104   - Bump version to 0.9.5.
105   - Highlight more log messages.
106   - Highlight the Crunch reason only once. Previously the "crunch reason"
107     could also be highlighted when the URL contained a matching string.
108     The real crunch reason only occurs once per line, so there's no need
109     to continue looking for it after it has been found once.
110     While at it, add a comment with an example log line.
111
112 - uagen:
113   - Bump version to 1.2.4.
114   - Update BROWSER_VERSION and BROWSER_REVISION to 102.0
115     to match the User-Agent of the current Firefox ESR.
116   - Explicitly document that changing the 'Gecko token' is suspicious.
117   - Consistently use a lower-case 'c' as copyright symbol.
118   - Bump copyright.
119   - Add 'aarch64' as Linux architecture.
120   - Add OpenBSD architecture 'arm64'.
121   - Stop using sparc64 as FreeBSD architecture.
122     It hasn't been supported for a while now.
123
124 - Build system:
125   - Makefile: Add a 'dok' target that depends on the 'error' target
126     to show the "You are not using GNU make or did nor run configure"
127     message.
128   - configure: Fix --with-msan option.
129     Also (probably) reported by Andrew Savchenko.
130
131 - macOS build system:
132   - Enable HTTPS inspection when building the macOS binary
133     (using OpenSSL as TLS library).
134
135 - Documentation:
136   - Add OpenSSL to the list of libraries that may be licensed under the
137     Apache 2.0 license in which case the linked Privoxy binary has to be
138     distributed under the GPLv3 or later.
139   - config: Fix the documented ca-directory default value.
140     Reported by avoidr.
141   - Rebuild developer-manual and tidy with 'HTML Tidy for FreeBSD version 5.8.0'.
142   - Update developer manual with new macOS packaging instructions.
143   - Note that the FreeBSD installation instructions work for
144     ElectroBSD as well.
145   - Note that FreeBSD/ElectroBSD users can try to install Privoxy
146     as binary package using 'pkg'.
147
148 -----------------------------------------------------------------
149 About Privoxy:
150 -----------------------------------------------------------------
151
152 Privoxy is a non-caching web proxy with advanced filtering capabilities for
153 enhancing privacy, modifying web page data and HTTP headers, controlling
154 access, and removing ads and other obnoxious Internet junk. Privoxy has a
155 flexible configuration and can be customized to suit individual needs and
156 tastes. It has application for both stand-alone systems and multi-user
157 networks.
158
159 Privoxy is Free Software and licensed under the GNU GPLv2 or later.
160
161 Our TODO list is rather long. Helping hands and donations are welcome:
162
163   * https://www.privoxy.org/participate
164
165   * https://www.privoxy.org/donate
166
167 At present, Privoxy is known to run on Windows 95 and later versions
168 (98, ME, 2000, XP, Vista, Windows 7, Windows 10 etc.), GNU/Linux
169 (RedHat, SuSE, Debian, Fedora, Gentoo, Slackware and others),
170 Mac OS X (10.4 and upwards on PPC and Intel processors), Haiku,
171 DragonFly, ElectroBSD, FreeBSD, NetBSD, OpenBSD, Solaris,
172 and various other flavors of Unix.
173
174 In addition to the core features of ad blocking and cookie management,
175 Privoxy provides many supplemental features, that give the end-user
176 more control, more privacy and more freedom:
177
178   *  Supports "Connection: keep-alive". Outgoing connections can be kept
179      alive independently from the client. Currently not available on all
180      platforms.
181
182   *  Supports IPv6, provided the operating system does so too,
183      and the configure script detects it.
184
185   *  Supports tagging which allows to change the behaviour based on client
186      and server headers.
187
188   *  Supports https inspection which allows to filter https requests.
189
190   *  Can be run as an "intercepting" proxy, which obviates the need to
191      configure browsers individually.
192
193   *  Sophisticated actions and filters for manipulating both server and
194      client headers.
195
196   *  Can be chained with other proxies.
197
198   *  Integrated browser based configuration and control utility at
199      http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based
200      tracing of rule and filter effects. Remote toggling.
201
202   *  Web page filtering (text replacements, removes banners based on size,
203      invisible "web-bugs" and HTML annoyances, etc.)
204
205   *  Modularized configuration that allows for standard settings and user
206      settings to reside in separate files, so that installing updated actions
207      files won't overwrite individual user settings.
208
209   *  Support for Perl Compatible Regular Expressions in the configuration
210      files, and a more sophisticated and flexible configuration syntax.
211
212   *  GIF de-animation.
213
214   *  Bypass many click-tracking scripts (avoids script redirection).
215
216   *  User-customizable HTML templates for most proxy-generated pages (e.g.
217      "blocked" page).
218
219   *  Auto-detection and re-reading of config file changes.
220     
221   *  Most features are controllable on a per-site or per-location basis.
222
223
224 Home Page: 
225    https://www.privoxy.org/
226
227   - Privoxy Developers <privoxy-devel@lists.privoxy.org>