- <p>Privoxy can (re)compress buffered content before delivering it
- to the client. Disabled by default as most users wouldn't benefit
- from it.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>Allow to bind to multiple separate addresses. Patch set
- submitted by Petr Pisar in #3354485.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>When compiled without FEATURE_FAST_REDIRECTS, do not silently
- ignore +fast-redirect{} directives</p>
- </li>
-
- <li>
- <p>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</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>In case of SOCKS5 failures, dump the socks response in the log
- message.</p>
- </li>
-
- <li>
- <p>Simplify the signal setup in main()</p>
- </li>
-
- <li>
- <p>Streamline socks5_connect() slightly</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>In chat(), do not bother to generate a client request in case
- of direct CONNECT requests. It will not be used anyway.</p>
- </li>
-
- <li>
- <p>Reduce server_last_modified()'s stack size.</p>
- </li>
-
- <li>
- <p>Shorten get_http_time() by using strftime().</p>
- </li>
-
- <li>
- <p>Constify the known_http_methods pointers in
- unknown_method().</p>
- </li>
-
- <li>
- <p>Constify the time_formats pointers in parse_header_time().</p>
- </li>
-
- <li>
- <p>Constify the formerly_valid_actions pointers in
- action_used_to_be_valid().</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>Deduplicate the INADDR_NONE definition for Solaris by moving
- it to jbsockets.h</p>
- </li>
-
- <li>
- <p>In block_url(), ditch the obsolete workaround for ancient
- Netscape versions that supposedly couldn't properly deal with
- status code 403.</p>
- </li>
-
- <li>
- <p>Remove a useless NULL pointer check in load_trustfile().</p>
- </li>
-
- <li>
- <p>Remove two useless NULL pointer checks in
- load_one_re_filterfile().</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>Fix various typos. Fixes taken from Debian's 29_typos.dpatch
- by Roland Rosenfeld.</p>
- </li>
-
- <li>
- <p>Add a dok-tidy GNUMakefile target to clean up the messy HTML
- generated by the other dok targets.</p>
- </li>
-
- <li>
- <p>GNUisms in the GNUMakefile have been removed.</p>
- </li>
-
- <li>
- <p>Change the HTTP version in static responses to 1.1</p>
- </li>
-
- <li>
- <p>Synced config.sub and config.guess with upstream
- 2011-11-11/386c7218162c145f5f9e1ff7f558a3fbb66c37c5.</p>
- </li>
-
- <li>
- <p>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.</p>
- </li>
-
- <li>
- <p>Terminate HTML lines in static error messages with \n instead
- of \r\n.</p>
- </li>
-
- <li>
- <p>Simplify cgi_error_unknown() a bit.</p>
- </li>
-
- <li>
- <p>In LogPutString(), don't bother looking at pszText when not
- actually logging anything.</p>
- </li>
-
- <li>
- <p>Change ssplit()'s fourth parameter from int to size_t. Fixes a
- clang complaint.</p>
- </li>
-
- <li>
- <p>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.</p>