X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fuser-manual%2Fwhatsnew.html;h=788b7874f0a7a2e4e320a2e96e1f68f15a1b029e;hp=67a98addbfe314798932e1cef5557bc2b492fa1e;hb=d5bba1fd0bce2185b191b7a8280cae9a62c829d6;hpb=6310858037c78f3a15468f47aaa23a1507c906e4 diff --git a/doc/webserver/user-manual/whatsnew.html b/doc/webserver/user-manual/whatsnew.html index 67a98add..788b7874 100644 --- a/doc/webserver/user-manual/whatsnew.html +++ b/doc/webserver/user-manual/whatsnew.html @@ -1,1009 +1,442 @@ -
- -Privoxy 3.0.18 User Manual | +Privoxy 3.0.29 User Manual | ||||
---|---|---|---|---|---|
Prev | - +Prev | - - | Next | +Next |
Privoxy 3.0.18 is a stable release. - The changes since 3.0.17 stable are:
- +Privoxy 3.0.27 stable scales better in multi-user environments and brings a + couple of tuning directives. Privoxy 3.0.28 stable fixes two regressions + introduced in 3.0.27.
+Changes in Privoxy 3.0.28 stable:
Bug fixes:
- +Bug fixes for regressions in 3.0.27:
If the redirect URL contains characters RFC 3986 doesn't - permit, they are (re)encoded. Not doing this makes Privoxy - versions from 3.0.5 to 3.0.17 susceptible to HTTP response - splitting (CWE-113) attacks if the - +fast-redirects{check-decoded-url} action is used.
-Fix a logic bug that could cause Privoxy to reuse a server - socket after it got tainted by a server-header-tagger-induced - block that was triggered before the whole server response had - been read. If keep-alive was enabled and the request following - the blocked one was to the same host and using the same - forwarding settings, Privoxy would send it on the tainted server - socket. While the server would simply treat it as a pipelined - request, Privoxy would later on fail to properly parse the - server's response as it would try to parse the unread data from - the first response as server headers for the second one. - Regression introduced in 3.0.17.
-When implying keep-alive in client_connection(), remember that - the client didn't. Fixes a regression introduced in 3.0.13 that - would cause Privoxy to wait for additional client requests after - receiving a HTTP/1.1 request with "Connection: close" set and - connection sharing enabled. With clients which terminates the - client connection after detecting that the whole body has been - received it doesn't really matter, but with clients that don't - the connection would be kept open until it timed out.
-Fix a subtle race condition between - prepare_csp_for_next_request() and sweep() A thread preparing - itself for the next client request could briefly appear to be - inactive. If all other threads were already using more recent - files, the thread could get its files swept away under its feet. - So far this has only been reproduced while stress testing in - valgrind while touching action files in a loop. It's unlikely to - have caused any actual problems in the real world.
-Disable filters if SDCH compression is used unless filtering - is forced. If SDCH was combined with a supported compression - algorithm, Privoxy previously could try to decompress it and - ditch the Content-Encoding header even though the SDCH - compression wasn't dealt with. Reported by zebul666 in - #3225863.
-Make a copy of the --user value and only mess with that when - splitting user and group. On some operating systems modifying the - value directly is reflected in the output of ps and friends and - can be misleading. Reported by zepard in #3292710.
-If forwarded-connect-retries is set, only retry if Privoxy is - actually forwarding the request. Previously direct connections - would be retried as well.
-Fixed a small memory leak when retrying connections with IPv6 - support enabled.
-Remove an incorrect assertion in - compile_dynamic_pcrs_job_list() It could be triggered by a pcrs - job with an invalid pcre pattern (for example one that contains a - lone quantifier).
-If the --user argument user[.group] contains a dot, always - bail out if no group has been specified. Previously the intended, - but undocumented (and apparently untested), behaviour was to try - interpreting the whole argument as user name, but the detection - was flawed and checked for '0' instead of '\0', thus merely - preventing group names beginning with a zero.
-In html_code_map[], use a numeric character reference instead - of ' which wasn't standardized before XHTML 1.0.
+Fixed misplaced parentheses. Reported by David Binderman.
Fix an invalid free when compiled with - FEATURE_GRACEFUL_TERMINATION and shut down through - http://config.privoxy.org/die
-In get_actions(), fix the "temporary" backwards compatibility - hack to accept block actions without reason. It also covered - other actions that should be rejected as invalid. Reported by - Billy Crook.
+Changed two regression tests to depend on config directive enable-remote-toggle instead of + FEATURE_TOGGLE.
Changes in Privoxy 3.0.27 stable:
+General improvements:
-Privoxy can (re)compress buffered content before delivering it - to the client. Disabled by default as most users wouldn't benefit - from it.
-The +fast-redirects{check-decoded-url} action checks URL - segments separately. If there are other parameters behind the - redirect URL, this makes it unnecessary to cut them off by - additionally using a +redirect{} pcrs command. Initial patch - submitted by Jamie Zawinski in #3429848.
+Add a receive-buffer-size directive which can be used to set the size of the previously statically + allocated buffer in handle_established_connection(). Increasing the buffer size increases Privoxy's memory + usage but can lower the number of context switches and thereby reduce the CPU usage and potentially + increase the throughput. This is mostly relevant for fast network connections and large downloads that + don't require filtering. Sponsored by: Robert Klemme
When loading action sections, verify that the referenced - filters exist. Currently missing filters only result in an error - message, but eventually the severity will be upgraded to - fatal.
+Add a listen-backlog directive which specifies the backlog value passed to listen(). Sponsored by: + Robert Klemme
Allow to bind to multiple separate addresses. Patch set - submitted by Petr Pisar in #3354485.
+Add an enable-accept-filter directive which allows to toggle accept filter support at run time when + compiled with FEATURE_ACCEPT_FILTER support. It makes testing more convenient and now that it's optional we + can emit an error message if enabling the accept filter fails. Sponsored by: Robert Klemme
Set socket_error to errno if connecting fails in - rfc2553_connect_to() Previously rejected direct connections could - be incorrectly reported as DNS issues if Privoxy was compiled - with IPv6 support.
+Add a delay-response{} action. This is useful to tar pit JavaScript requests that are endlessly retried + in case of blocks. It can also be used to simulate a slow Internet connection. Sponsored by: Robert + Klemme
Adjust url_code_map[] so spaces are replaced with %20 instead - of '+' While '+' can be used by client's submitting form data, - this is not actually what Privoxy is using the lookups for. This - is more of a cosmetic issue and doesn't fix any known - problems.
+Add a 'trusted-cgi-referrer' directive. It allows to configure another page or site that can be used to + reach sensitive CGI resources. Sponsored by: Robert Klemme
When compiled without FEATURE_FAST_REDIRECTS, do not silently - ignore +fast-redirect{} directives
+Add a --fuzz mode which exposes Privoxy internals to input from files or stdout. Mainly tested with + American Fuzzy Lop. For details see: https://www.fabiankeil.de/talks/fuzzing-on-freebsd/ This work was + partially funded with donations and done as part of the Privoxy month in 2015.
Added a workaround for GNU libc's strptime() reporting - negative year values when the parsed year is only specified with - two digits. On affected systems cookies with such a date would - not be turned into session cookies by the +session-cookies-only - action. Reported by Vaeinoe in #3403560
+Consistently use the U(ngreedy) flag in the 'img-reorder' filter.
Fixed bind failures with certain GNU libc versions if no - non-loopback IP address has been configured on the system. This - is mainly an issue if the system is using DHCP and Privoxy is - started before the network is completely configured. Reported by - Raphael Marichez in #3349356. Additional insight from Petr - Pisar.
+listen_loop(): Reuse a single thread attribute object The object doesn't change and creating a new one + for every thread is a waste of (CPU) time. Sponsored by: Robert Klemme
Privoxy log messages now use the ISO 8601 date format - %Y-%m-%d. It's only slightly longer than the old format, but - contains the full date including the year and allows sorting by - date (when grepping in multiple log files) without hassle.
+Free csp resources in the thread that belongs to the csp instead of the main thread which has enough on + its plate already. Sponsored by: Robert Klemme
In get_last_url(), do not bother trying to decode URLs that do - not contain at least one '%' sign. It reduces the log noise and a - number of unnecessary memory allocations.
+Improve 'socket timeout reached' message. Log the timeout that was triggered and downgrade the log level + to LOG_LEVEL_CONNECT to reduce the log noise with common debug settings. The timeout isn't necessary the + result of an error and usually merely indicates that Privoxy's socket timeout is lower than the relevant + timeouts used by client and server. Sponsored by: Robert Klemme
In case of SOCKS5 failures, dump the socks response in the log - message.
+Explicitly taint the server socket in case of CONNECT requests. This doesn't fix any known problems, but + makes some log messages less confusing.
Simplify the signal setup in main()
+Let write_pid_file() terminate if the pid file can't be opened. Logging the issue at info level is + unlikely to help.
Streamline socks5_connect() slightly
+log_error(): Reduce the mutex-protected area by not using a heap-allocated buffer that is shared between + all threads. This increases performance and reduces the latency with verbose debug settings and multiple + concurrent connections. Sponsored by: Robert Klemme
In socks5_connect(), require a complete socks response from - the server Previously Privoxy didn't care how much data the - server response contained as long as the first two bytes - contained the expected values. While at it, shrink the buffer - size so Privoxy can't read more than a whole socks response.
+Let zalloc() use calloc() if it's available. In some situations using calloc() can be faster than + malloc() + memset() and it should never be slower. In the real world the impact of this change is not + expected to be noticeable. Sponsored by: Robert Klemme
In chat(), do not bother to generate a client request in case - of direct CONNECT requests. It will not be used anyway.
+Never use select() when poll() is available. On most platforms select() is limited by FD_SETSIZE while + poll() is not. This was a scaling issue for multi-user setups. Using poll() has no downside other than the + usual risk that code modifications may introduce new bugs that have yet to be found and fixed. At least in + theory this commit could also reduce the latency when there are lots of connections and select() would use + "bit fields in arrays of integers" to store file descriptors. Another side effect is that Privoxy no longer + has to stop monitoring the client sockets when pipelined requests are waiting but can't be read yet. This + code keeps the select()-based code behind ifdefs for now but hopefully it can be removed soonish to make + the code more readable. Sponsored by: Robert Klemme
Reduce server_last_modified()'s stack size.
+Add a 'reproducible-tarball-dist' target. It's currently separate from the "tarball-dist" target because + it requires a tar implementation with mtree spec support. It's far from being perfect and does not enforce + a reproducible mode, but it's better than nothing.
Shorten get_http_time() by using strftime().
+Use arc4random() if it's available. While Privoxy doesn't need high quality pseudo-random numbers + there's no reason not to use them when we can and this silences a warning emitted by code checkers that + can't tell whether or not the quality matters.
Constify the known_http_methods pointers in - unknown_method().
+Show the FEATURE_EXTERNAL_FILTERS status on the status page. Better late than never. Previously a couple + of tests weren't executed as Privoxy-Regression-Test couldn't detect that the FEATURE_EXTERNAL_FILTERS + dependency was satisfied.
Constify the time_formats pointers in parse_header_time().
+Ditch FEATURE_IMAGE_DETECT_MSIE. It's an obsolete workaround we inherited from Junkbuster and was + already disabled by default. Users that feel the urge to work around issues with image requests coming from + an Internet Explorer version from more than 15 years ago can still do this using tags.
Constify the formerly_valid_actions pointers in - action_used_to_be_valid().
+Consistently use strdup_or_die() instead of strdup() in cases where allocation failures aren't expected. + Using strdup_or_die() allows to remove a couple of explicit error checks which slightly reduces the size of + the binary.
Introduce a GNUMakefile MAN_PAGE variable that defaults to - privoxy.1. The Debian package uses section 8 for the man page and - this should simplify the patch.
+Insert a refresh tag into the /client-tags CGI page when serving it while a client-specific tag is + temporarily enabled. This makes it less likely that the user ends up looking at tag state that is out of + date.
Deduplicate the INADDR_NONE definition for Solaris by moving - it to jbsockets.h
+Use absolute URLs in the client-tag forms. It's more consistent with the rest of the CGI page URLs and + makes it more convenient to copy the forms to external pages.
In block_url(), ditch the obsolete workaround for ancient - Netscape versions that supposedly couldn't properly deal with - status code 403.
+cgi_error_disabled(): Use status code 403 and an appropriate response line
Remove a useless NULL pointer check in load_trustfile().
+Use a dedicated CGI handler to deal with tag-toggle requests As a result the /client-tags page is now + safe to reach without trusted Referer header which makes bookmarking or linking to it more convenient. + Finally, refreshing the /client-tags page to show the current state can no longer unintentionally repeat + the previous toggle request.
Remove two useless NULL pointer checks in - load_one_re_filterfile().
+Don't add a "Connection" header for CONNECT requests. Explicitly sending "Connection: close" is not + necessary and apparently it causes problems with some forwarding proxies that will close the connection + prematurely. Reported by Marc Thomas.
Change url_code_map[] from an array of pointers to an array of - arrays It removes an unnecessary layer of indirection and on - 64bit system reduces the size of the binary a bit.
+Fix compiler warnings.
Fix various typos. Fixes taken from Debian's 29_typos.dpatch - by Roland Rosenfeld.
-Add a dok-tidy GNUMakefile target to clean up the messy HTML - generated by the other dok targets.
-GNUisms in the GNUMakefile have been removed.
-Change the HTTP version in static responses to 1.1
-Synced config.sub and config.guess with upstream - 2011-11-11/386c7218162c145f5f9e1ff7f558a3fbb66c37c5.
-Add a dedicated function to parse the values of toggles. - Reduces duplicated code in load_config() and provides better - error handling. Invalid or missing toggle values are now a fatal - error instead of being silently ignored.
-Terminate HTML lines in static error messages with \n instead - of \r\n.
-Simplify cgi_error_unknown() a bit.
-In LogPutString(), don't bother looking at pszText when not - actually logging anything.
-Change ssplit()'s fourth parameter from int to size_t. Fixes a - clang complaint.
-Add a warning that the statistics currently can't be trusted. - Mention Privoxy-Log-Parser's --statistics option as an - alternative for the time being.
-In rfc2553_connect_to(), start setting cgi->error_message - on error
-Change the expected status code returned for http://p.p/die - depending on whether or not FEATURE_GRACEFUL_TERMINATION is - available.
-In cgi_die(), mark the client connection for closing. If the - client will fetch the style sheet through another connection it - gets the main thread out of the accept() state and should thus - trigger the actual shutdown.
-Add a proper CGI message for cgi_die().
-Don't enforce a logical line length limit in - read_config_line()
-Slightly refactor server_last_modified() to remove useless - gmtime*() calls
-In get_content_type(), also recognize '.jpeg' as JPEG - extension
-Add '.png' to the list of recognized file extenstions in - get_content_type()
-In block_url(), consistently use the block reason "Request - blocked by Privoxy" In two places the reason was "Request for - blocked URL" which hides the fact that the request got blocked by - Privoxy and isn't necessarily correct as the block may be due to - tags.
-Bug fixes:
+In listen_loop(), reload the configuration files after - accepting a new connection instead of before. Previously the - first connection that arrived after a configuration change would - still be handled with the old configuration.
+rfc2553_connect_to(): Properly detect and log when poll() reached the time out. Previously this was + logged as: Could not connect to [...]: No error: 0. which isn't very helpful. Sponsored by: Robert + Klemme
In chat()'s receive-data loop, skip a client socket check if - the socket will be written to right away anyway. This can - increase the transfer speed for unfiltered content on fast - network connections.
+add_tag_for_client(): Set time_to_live properly. Previously the time_to_live was always set for the + first tag. Attempts to temporarily enable a tag would result in enabling it permanently unless no tag was + enabled already.
The socket timeout is used for SOCKS negotiations as well - which previously couldn't timeout.
+Revert r1.165 which didn't perform as advertised. While the idea was to use "https:// when creating + links for the user manual on the website", the actual effect was to use "https://" when Privoxy was + supposed to serve the user manual itself. Reported by Yossi Zahn on Privoxy-devel@.
Don't keep the client connection alive if any configuration - file changed since the time the connection came in. This is - closer to Privoxy's behaviour before keep-alive support for - client connection has been added and also less confusing in - general.
+socks5_connect(): Fail in case of unsupported address types. Previously they would not be detected right + away and Privoxy would fail later on with an error message that didn't make it obvious that the problem was + socks-related. So far, no such problems have actually been reported.
Treat all Content-Type header values containing the pattern - 'script' as a sign of text. Reported by pribog in #3134970.
+socks5_connect(): Properly deal with socks replies that contain IPv6 addresses. Previously parts of the + reply were left unread and later on treated as invalid HTTP response data. Fixes #904 reported by Danny + Goossen who also provided the initial version of this patch.
Action file improvements:
-Moved the site-specific block pattern section below the one - for the generic patterns so for requests that are matched in - both, the block reason for the domain is shown which is usually - more useful than showing the one for the generic pattern.
-Remove -prevent-compression from the fragile alias It's no - longer used anywhere by default and isn't known to break stuff - anyway.
-Add a (disabled) section to block various Facebook tracking - URLs Reported by Dan Stahlke in #3421764.
-Add a (disabled) section to rewrite and redirect - click-tracking URLs used on news.google.com Reported by Dan - Stahlke in #3421755.
-Unblock linuxcounter.net/ Reported by Dan Stahlke in - #3422612.
-Block 'www91.intel.com/' which is used by Omniture. Reported - by Adam Piggott in #3167370.
-Disable the handle-as-empty-doc-returns-ok option and mark it - as deprecated. Reminded by tceverling in #2790091.
-Add ".ivwbox.de/" to the "Cross-site user tracking" section. - Reported by Nettozahler in #3172525.
-Unblock and fast-redirect ".awin1.com/.*=http://" Reported by - Adam Piggott in #3170921.
-Block "b.collective-media.net/".
-Widen the Debian popcon exception to "qa.debian.org/popcon". - Seen in Debian's 05_default_action.dpatch by Roland - Rosenfeld.
-Block ".gemius.pl/" which only seems to be used for user - tracking. Reported by johnd16 in #3002731. Additional input from - Lee and movax.
+Unblock 'msdn.microsoft.com/'. It (presumably) isn't used to serve the kind of ads Privoxy should block + by default but happens to serve lots of pages with URLs that are likely to result in false positives. + Reported by bugreporter1694 in AF#939.
Disable banners-by-size filters for '.thinkgeek.com/' The - filter only seems to catch pictures of the inventory.
+Disable gif deanimation for requests tagged with CSS-REQUEST. The action will ignore content that isn't + considered text anyway and explicitly disabling it makes this more obvious if "action" debugging (debug + 65536) is enabled while "gif deanimation" debugging (debug 256) isn't.
Block requests for 'go.idmnet.bbelements.com/please/showit/' - Reported by kacperdominik in #3372959.
+Explicitly disable HTML filters for requests with CSS-REQUEST tag. The filters are unlikely to break CSS + files but executing them without (intentionally) getting any hits is a waste of cpu time and makes the log + more noisy when running with "debug 64".
Unblock adainitiative.org/
+Unblock 'adventofcode.com/'. Reported by Clint Adams in Debian bug #848211. Fixes Roland's AF#937.
Add a fast-redirects exception for - '.googleusercontent.com/.*=cache'
+Unblock 'adlibris.com'. Reported by Wyrex in #935
Add a fast-redirects exception for - webcache.googleusercontent.com/
+Unblock .golang.org/
Unblock http://adassier.wordpress.com/ and - http://adassier.files.wordpress.com/
+Add fast-redirects exception for '.youtube.com/.*origin=http'
Filter file improvements:
- +Privoxy-Log-Parser:
Let the yahoo filter hide '.ads'
-Let the msn filter hide overlay ads for Facebook 'likes' in - search results and elements with the id 's_notf_div'. They only - seem to be used to advertise site 'enhancements'.
-Let the js-events filter additionally disarm setInterval() - Suggested by dg1727 in #3423775.
+Don't gather host and resource statistics if they aren't requested. While the performance impact seems + negligible this significantly reduces the memory usage if there are lots of requests.
Documentation improvements:
- -Clarify the effect of compiling Privoxy with zlib support - Suggested by dg1727 in #3423782.
+Bump version as the behaviour (slightly) changed.
Point out that the SourceForge messaging system works like a - black hole and should thus not be used to contact individual - developers.
+Count connection failures as well in statistics mode. Sponsored by: Robert Klemme
Mention some of the problems one can experience when not - explicitly configuring an IP addresses as listen address.
+Count connection timeouts as well in statistics mode. Sponsored by: Robert Klemme
Explicitly mention that hostnames can be used instead of IP - addresses for the listen-address, that only the first address - returned will be used and what happens if the address is invalid. - Requested by Calestyo in #3302213.
+Fix an 'uninitialized value' warning when generating statistics for a log file without response headers. + While privoxy-log-parser was supposed to detect this already, the check was flawed and the message the user + didn't see was somewhat confusing anyway. Now the message is less confusing, more helpful and actually + printed. Reported by: Robert Klemme
Log message improvements:
- +Documentation improvements:
If only the server connection is kept alive, do not pretent to - wait for a new client request.
-Remove a superfluos log message in forget_connection()
-In chat(), properly report missing server responses as such - instead of calling them empty
-In forwarded_connect(), fix a log message nobody should ever - see
-Fix a log message in socks5_connect(), a failed write - operation was logged as failed read operation
-Let load_one_actions_file() properly complain about a missing - '{' at the beginning of the file Simply stating that a line is - invalid isn't particularly helpful.
-Do not claim to listen on a socket until Privoxy actually - does. Patch submitted by Petr Pisar #3354485
-Prevent a duplicated LOG_LEVEL_CLF message when sending out - the "no-server-data" response
-Also log the client socket when dropping a connection.
-Include the destination host in the 'Request ... marked for - blocking. limit-connect{...} doesn't allow CONNECT ...' message - Patch submitted by Saperski in #3296250.
-Prevent a duplicated log message if none of the resolved IP - addresses were reachable
+Refer to the git sources instead of CVS.
In connect_to(), do not pretend to retry if - forwarded-connect-retries is zero or unset.
+Use GNU/Linux when referring to the OS instead of the kernel.
When a specified user or group can't be found, put the name in - single-quotes when logging it.
+Add FAQ entry for what to do if editing the config file is access denied.
In rfc2553_connect_to(), explain getnameinfo() errors - better.
+Add brief HTTP/2 FAQ.
Remove a useless log message in chat()
+Add a small fuzzing section to the developer documentation.
When retrying to connect, also log the maximum number of - connection attempts
+Add a client-header-tagger{client-ip-address} example.
Rephrase a log message in compile_dynamic_pcrs_job_list(). - Divide the error code and its meaning with a colon. Call the pcrs - job dynamic and not the filter. Filters may contain dynamic and - non-dynamic pcrs jobs at the same time. Only mention the name of - the filter or tagger, but don't claim it's a filter when it could - be a tagger.
+Stop suggesting that Privoxy is an anonymizing proxy. The term could lead to Privoxy users + overestimating what it can do on its own (without Tor).
In a fatal error message in load_one_actions_file(), cover - both URL and TAG patterns.
+Make it more obvious that SPI accepts Paypal, too. Currently most donations are made through the Paypal + account managed by Zwiebelfreunde e.V. and a more even distribution would be useful.
In pcrs_strerror(), properly report unknown positive error - code values as such. Previously they were handled like 0 (no - error).
+Suggest to log applying actions as well when reproducing problems.
In compile_dynamic_pcrs_job_list(), also log the actual error - code as pcrs_strerror() doesn't handle all errors reported by - pcre
+Explicitly mention that Privoxy binaries are built by individuals on their own systems. Buyer + beware!
Don't bother trying to continue chatting if the client didn't - ask for it. Reduces log noise a bit.
+Mention the release feed on the homepage.
Make two fatal error message in load_one_actions_file() more - descriptive
-In cgi_send_user_manual(), log when rejecting a file name due - to '/' or '..'
-In load_file(), log a message if opening a file failed The CGI - error message alone isn't too helpful.
-In connection_destination_matches(), improve two log messages - to help understand why the destinations don't match.
-Rephrase a log message in serve(). Client request arrival - should be differentiated from closed client connections now.
-In serve(), log if a client connection isn't reused due to a - configuration file change.
-Let mark_server_socket_tainted() always mark the server socket - tainted, just don't talk about it in cases where it has no - effect. It doesn't change Privoxy's behaviour, but makes - understanding the log file easier.
+Remove a mysterious comment with a GNU FDL link as it isn't useful and could confuse license scanners. + In May 2002 it was briefly claimed that "this document" was covered by the GNU FDL. The commit message + (r1.5) doesn't explain the motivation or whether all copyright holders were actually asked and agreed to + the declared license change. It's thus hard to tell whether or not the license change was legit, but + luckily two days later the "doc license" was "put" "back to GPL" anyway (r1.6). At the same time the + offending comment with a link to the FDL (not the GPL) was added for no obvious reason. Now it's gone + again.
configure:
- +Regression tests:
Added a --disable-ipv6-support switch for platforms where - support is detected but doesn't actually work.
-Do not check for the existence of strerror() and memmove() - twice
-Remove a useless test for setpgrp(2). Privoxy doesn't need it - and it can cause problems when cross-compiling.
+Bump for-privoxy-version to 3.0.27 as we now rely on untrusted CGI request being rejected with status + code 403 (instead of 200).
Rename the --disable-acl-files switch to - --disable-acl-support. Since about 2001, ACL directives are - specified in the standard config file.
-Update the URL of the 'Removing outdated PCRE version after - the next stable release' posting. The old URL stopped working - after one of SF's recent site "optimizations". Reported by Han - Liu.
+Update test for /send-stylesheet and add another one
Privoxy-Regression-Test:
- +Templates:
Added --shuffle-tests option to increase the chances of - detection race conditions.
+Consistently use https:// when linking to the Privoxy website.
Added a --local-test-file option that allows to use - Privoxy-Regression-Test without Privoxy
+Remove SourceForge references in Copyright header.
Added tests for missing socks4 and socks4a forwarders
+Remove a couple of SourceForge references in a comment. While at it, fix the grammar.
The --privoxy-address option now works with IPv6 addresses - containing brackets, too
-Perform limited sanity checks for parameters that are supposed - to have numerical values.
-Added a --sleep-time option to specify a number of seconds to - sleep between tests, defaults to 0.
-Disable the range-requests tagger for tests that break if it's - enabled
-Log messages use the ISO 8601 date format %Y-%m-%d.
-Fix spelling in two error messages.
-In the --help output, include a list of supported tests and - their default levels.
-Adjust the tests to properly deal with FEATURE_TOGGLE being - disabled.
+Move the site-specific documentation block before the generic one. While most Privoxy installations + don't have a site-specific documentation block, in cases were it exists it's likely to be more relevant + than the generic one. Showing it first makes it less likely that users stop reading before they reach it, + especially on pages that don't fit on the screen.
Privoxy-Log-Parser:
- +Build system improvements:
Perform limited sanity checks for command line parameters that - are supposed to have numerical values.
+Prefer openjade to jade. On some systems Jade produces HTML with unescaped ampersands in URLs.
Implement a --unbreak-lines-only option to try to revert MUA - breakage.
+Prefer OpenSP to SP to be consistent.
Accept and highlight: Added header: Content-Encoding: - deflate
+Have Docbook generated HTML files be straight ASCII. Dealing with a mixture of ISO-8859 and UTF-8 files + is problematic.
Accept and highlight: Compressed content from 29258 to 8630 - bytes.
+Echo the filename to stderr for 'make dok-tidy'. Make it a bit easier to find errors in docbook + generated HTML.
Accept and highlight: Client request arrived in time on socket - 21.
+Warn when still using select().
Highlight: Didn't receive data in time: a.fsdn.com:443
+Warn when compiling without calloc().
Accept log messages with ISO 8601 time stamps, too
+Make it more obvious that the --with-fdsetsize configure switch is pointless if poll() is available.
+Remove support for AmigaOS.
uagen:
- -Bump generated Firefox version to 8.0
+Update windows build system to use supported software. The cygwin gcc -mno-cygwin option is no longer + supported, so convert the windows build system to use the cygwin cross-compiler to build "native" code.
Only randomize the release date if the new - --randomize-release-date option is enabled. Firefox versions - after 4 use a fixed date string without meaning.
+Add --enable-static-linking option for configure does the same thing as LDFLAGS=-static; ./configure but + nicer than mixing evars and configure options.
A quick list of things to be aware of before upgrading from earlier - versions of Privoxy:
- +A quick list of things to be aware of before upgrading from earlier versions of Privoxy:
The recommended way to upgrade Privoxy is to backup your old configuration - files, install the new ones, verify that Privoxy is working correctly and finally merge - back your changes using diff and - maybe patch.
- -There are a number of new features in each Privoxy release and most of them have to be - explicitly enabled in the configuration files. Old configuration - files obviously don't do that and due to syntax changes using old - configuration files with a new The recommended way to upgrade Privoxy is to backup your old + configuration files, install the new ones, verify that Privoxy is working + correctly and finally merge back your changes using diff and maybe + patch.
+There are a number of new features in each Privoxy release and most of + them have to be explicitly enabled in the configuration files. Old configuration files obviously don't do + that and due to syntax changes using old configuration files with a new Privoxy isn't always possible anyway.
Note that some installers remove earlier versions completely, - including configuration files, therefore you should really save any - important configuration files!
-On the other hand, other installers don't overwrite existing - configuration files, thinking you will want to do that - yourself.
+Note that some installers remove earlier versions completely, including configuration files, therefore you + should really save any important configuration files!
standard.action has been merged into - the default.action file.
+On the other hand, other installers don't overwrite existing configuration files, thinking you will want + to do that yourself.
In the default configuration only fatal errors are logged now. - You can change that in the debug - section of the configuration file. You may also want to enable - more verbose logging until you verified that the new Privoxy version is working as expected.
+In the default configuration only fatal errors are logged now. You can change that in the debug section of the configuration file. You may also want to enable more verbose + logging until you verified that the new Privoxy version is working as + expected.
Three other config file settings are now off by default: - enable-remote-toggle, - enable-remote-http-toggle, - and enable-edit-actions. If you - use or want these, you will need to explicitly enable them, and be - aware of the security issues involved.
+Three other config file settings are now off by default: enable-remote-toggle, enable-remote-http-toggle, and enable-edit-actions. If you use or want these, you will need to + explicitly enable them, and be aware of the security issues involved.