From 84a6d458b85203e8cc651d7a360b2bf18e458e9f Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sat, 19 Nov 2011 15:18:48 +0000 Subject: [PATCH] Rebuild with recent changes --- doc/webserver/developer-manual/contact.html | 4 - doc/webserver/developer-manual/copyright.html | 4 +- doc/webserver/developer-manual/index.html | 8 +- doc/webserver/faq/contact.html | 4 - doc/webserver/faq/copyright.html | 4 +- doc/webserver/faq/index.html | 6 +- doc/webserver/user-manual/actions-file.html | 18 +- doc/webserver/user-manual/appendix.html | 28 +- doc/webserver/user-manual/configuration.html | 6 +- doc/webserver/user-manual/contact.html | 4 - doc/webserver/user-manual/copyright.html | 6 +- doc/webserver/user-manual/filter-file.html | 2 +- doc/webserver/user-manual/index.html | 26 +- doc/webserver/user-manual/quickstart.html | 2 +- doc/webserver/user-manual/startup.html | 4 +- doc/webserver/user-manual/whatsnew.html | 685 +++++++++--------- 16 files changed, 398 insertions(+), 413 deletions(-) diff --git a/doc/webserver/developer-manual/contact.html b/doc/webserver/developer-manual/contact.html index 61be520b..7594f9ab 100644 --- a/doc/webserver/developer-manual/contact.html +++ b/doc/webserver/developer-manual/contact.html @@ -297,10 +297,6 @@ body { How to Report Bugs Effectively.

-

If you are new to reporting problems, you might be interested in - How to Report Bugs Effectively.

-

The appendix of the Privoxy User Manual also has diff --git a/doc/webserver/developer-manual/copyright.html b/doc/webserver/developer-manual/copyright.html index 39c52582..f6d39e60 100644 --- a/doc/webserver/developer-manual/copyright.html +++ b/doc/webserver/developer-manual/copyright.html @@ -63,7 +63,7 @@ body { "CITETITLE">GNU General Public License.

-

9.1. License

+

9.1. License

Privoxy is free software; you can redistribute it and/or modify it under the terms of the

-

9.2. History

+

9.2. History

A long time ago, there was the Privoxy Developers

-

$Id: developer-manual.sgml,v 2.36 2011/09/04 - 11:10:12 fabiankeil Exp $

+

$Id: developer-manual.sgml,v 2.37 2011/11/13 + 17:03:54 fabiankeil Exp $

@@ -368,9 +368,9 @@ body {
-
9.1. License
+
9.1. License
-
9.2. History
+
9.2. History
diff --git a/doc/webserver/faq/contact.html b/doc/webserver/faq/contact.html index ccb3f427..8f97f567 100644 --- a/doc/webserver/faq/contact.html +++ b/doc/webserver/faq/contact.html @@ -298,10 +298,6 @@ body { How to Report Bugs Effectively.

-

If you are new to reporting problems, you might be interested in - How to Report Bugs Effectively.

-

The appendix of the Privoxy User Manual also has diff --git a/doc/webserver/faq/copyright.html b/doc/webserver/faq/copyright.html index 5e0eec56..69a87cc8 100644 --- a/doc/webserver/faq/copyright.html +++ b/doc/webserver/faq/copyright.html @@ -68,7 +68,7 @@ body { "APPLICATION">Privoxy.

-

7.1. License

+

7.1. License

Privoxy is free software; you can redistribute it and/or modify it under the terms of the

-

7.2. History

+

7.2. History

A long time ago, there was the Privoxy Developers

-

$Id: faq.sgml,v 2.81 2011/09/04 11:10:12 fabiankeil +

$Id: faq.sgml,v 2.84 2011/11/13 17:03:54 fabiankeil Exp $

@@ -522,9 +522,9 @@ body {
-
7.1. License
+
7.1. License
-
7.2. History
+
7.2. History
diff --git a/doc/webserver/user-manual/actions-file.html b/doc/webserver/user-manual/actions-file.html index f8885724..1af7d534 100644 --- a/doc/webserver/user-manual/actions-file.html +++ b/doc/webserver/user-manual/actions-file.html @@ -134,7 +134,7 @@ body { in default.action are:

- +

Table 1. Default Configurations

@@ -330,7 +330,7 @@ body { actions.

-

8.1. Finding the Right +

8.1. Finding the Right Mix

Note that some actions, like @@ -355,7 +355,7 @@ body {

-

8.2. How to +

8.2. How to Edit

The easiest way to edit the actions files is with a browser by using @@ -544,7 +544,7 @@ body {

-

8.4.1. The Domain +

8.4.1. The Domain Pattern

The matching of the domain part offers some flexible options: if @@ -650,7 +650,7 @@ body {

-

8.4.2. The Path +

8.4.2. The Path Pattern

Privoxy uses

-

8.5.34. +

8.5.34. Summary

Note that many of these actions have the potential to cause a page @@ -4374,7 +4374,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not together:

-

8.7.1. +

8.7.1. match-all.action

Remember all actions are @@ -4422,7 +4422,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not

-

8.7.2. +

8.7.2. default.action

If you aren't a developer, there's no need for you to edit the @@ -4765,7 +4765,7 @@ wiki.

-

8.7.3. +

8.7.3. user.action

So far we are painting with a broad brush by setting general diff --git a/doc/webserver/user-manual/appendix.html b/doc/webserver/user-manual/appendix.html index 45b706d0..734285d8 100644 --- a/doc/webserver/user-manual/appendix.html +++ b/doc/webserver/user-manual/appendix.html @@ -305,7 +305,7 @@ body {

-

14.2. Privoxy's +

14.2. Privoxy's Internal Pages

Since Privoxy proxies each @@ -325,7 +325,7 @@ body {

  • -

    Privoxy main page:

    +

    Privoxy main page:

    Show information about the current configuration, including - viewing and editing of actions files:

    + viewing and editing of actions files:

  • -

    Show the source code version numbers:

    +

    Show the source code version numbers:

  • -

    Show the browser's request headers:

    +

    Show the browser's request headers:

  • -

    Show which actions apply to a URL and why:

    +

    Show which actions apply to a URL and why:

    "off", "Privoxy" continues to run, but only as a pass-through proxy, with no actions taking place:

    + "AEN5818" id="AEN5818">

    http://config.privoxy.org/toggle

    -

    Short cuts. Turn off, then on:

    +

    Short cuts. Turn off, then on:

    http://config.privoxy.org/toggle?set=disable

    -
    +

    -

    6.1. Controlling +

    6.1. Controlling Privoxy with Your Web Browser

    Privoxy's user interface can be @@ -77,8 +77,8 @@ body { -

        Privoxy Menu

    +

        Privoxy Menu

     
    diff --git a/doc/webserver/user-manual/contact.html b/doc/webserver/user-manual/contact.html index cce50c59..df6e6eda 100644 --- a/doc/webserver/user-manual/contact.html +++ b/doc/webserver/user-manual/contact.html @@ -298,10 +298,6 @@ body { How to Report Bugs Effectively.

    -

    If you are new to reporting problems, you might be interested in - How to Report Bugs Effectively.

    -

    The appendix of the Privoxy User Manual also has diff --git a/doc/webserver/user-manual/copyright.html b/doc/webserver/user-manual/copyright.html index 4d0ed29a..1ef372af 100644 --- a/doc/webserver/user-manual/copyright.html +++ b/doc/webserver/user-manual/copyright.html @@ -64,7 +64,7 @@ body { "CITETITLE">GNU General Public License.

    -

    12.1. License

    +

    12.1. License

    Privoxy is free software; you can redistribute it and/or modify it under the terms of the  Clifford Caoile
     Wan-Teh Chang
    +  Billy Crook
     Frédéric Crozat
     Michael T. Davis
     Mattes Dolak
    @@ -208,9 +209,11 @@ body {  Bert van Leeuwen
     Don Libes
     Paul Lieverse
    +  Han Liu
     Toby Lyward
     Wil Mahan
     Jindrich Makovicka
    +  Raphael Marichez
     Francois Marier
     David Mediavilla
     Raphael Moll
    @@ -224,6 +227,7 @@ body {  Chung-chieh Shan
     Spinor S.
     Bart Schelstraete
    +  Dan Stahlke
     Oliver Stoeneberg
     Peter Thoenen
     Martin Thomas
    diff --git a/doc/webserver/user-manual/filter-file.html b/doc/webserver/user-manual/filter-file.html index c7383a81..ca28185e 100644 --- a/doc/webserver/user-manual/filter-file.html +++ b/doc/webserver/user-manual/filter-file.html @@ -165,7 +165,7 @@ FILTER: foo Replace all "foo" with "bar" started.

    -

    9.1. Filter File +

    9.1. Filter File Tutorial

    Now, let's complete our "foo" content diff --git a/doc/webserver/user-manual/index.html b/doc/webserver/user-manual/index.html index 1dd8cc37..deb2429c 100644 --- a/doc/webserver/user-manual/index.html +++ b/doc/webserver/user-manual/index.html @@ -36,7 +36,7 @@ body { 2001-2011 by Privoxy Developers

    -

    $Id: user-manual.sgml,v 2.136 2011/10/14 16:53:10 +

    $Id: user-manual.sgml,v 2.139 2011/11/18 16:49:29 fabiankeil Exp $

    @@ -195,7 +195,7 @@ body {
    -
    6.1. Controlling Privoxy +
    6.1. Controlling Privoxy with Your Web Browser
    6.2. Configuration @@ -358,10 +358,10 @@ body {
    -
    8.1. Finding the Right +
    8.1. Finding the Right Mix
    -
    8.2. How to Edit
    +
    8.2. How to Edit
    8.3. How Actions are Applied to Requests
    @@ -371,10 +371,10 @@ body {
    -
    8.4.1. The Domain +
    8.4.1. The Domain Pattern
    -
    8.4.2. The Path +
    8.4.2. The Path Pattern
    8.4.3. The Tag @@ -485,7 +485,7 @@ body { "actions-file.html#SET-IMAGE-BLOCKER">set-image-blocker
    8.5.34. Summary
    + "actions-file.html#AEN4684">Summary
    @@ -497,13 +497,13 @@ body {
    8.7.1. match-all.action
    + "actions-file.html#AEN4748">match-all.action
    8.7.2. default.action
    + "actions-file.html#AEN4770">default.action
    8.7.3. user.action
    + "actions-file.html#AEN4883">user.action
    @@ -513,7 +513,7 @@ body {
    -
    9.1. Filter File +
    9.1. Filter File Tutorial
    9.2. The @@ -557,7 +557,7 @@ body {
    -
    12.1. License
    +
    12.1. License
    12.2. History
    @@ -574,7 +574,7 @@ body {
    14.1. Regular Expressions
    -
    14.2. Privoxy's Internal +
    14.2. Privoxy's Internal Pages
    diff --git a/doc/webserver/user-manual/quickstart.html b/doc/webserver/user-manual/quickstart.html index 2991107e..7e3d3e5f 100644 --- a/doc/webserver/user-manual/quickstart.html +++ b/doc/webserver/user-manual/quickstart.html @@ -357,7 +357,7 @@ body { "GUIBUTTON">Edit":

    - +

    Figure 1. Actions Files in Use

    diff --git a/doc/webserver/user-manual/startup.html b/doc/webserver/user-manual/startup.html index 3e4fa152..1ac5527a 100644 --- a/doc/webserver/user-manual/startup.html +++ b/doc/webserver/user-manual/startup.html @@ -70,7 +70,7 @@ body { protocols.

    - +

    Figure 2. Proxy Configuration Showing Mozilla/Netscape HTTP and HTTPS (SSL) Settings

    @@ -127,7 +127,7 @@ body { and HTTPS (SSL)!

    - +

    Figure 3. Proxy Configuration Showing Internet Explorer HTTP and HTTPS (Secure) Settings

    diff --git a/doc/webserver/user-manual/whatsnew.html b/doc/webserver/user-manual/whatsnew.html index 3e38ba0c..776982d6 100644 --- a/doc/webserver/user-manual/whatsnew.html +++ b/doc/webserver/user-manual/whatsnew.html @@ -62,30 +62,28 @@ body {
    • -

      Fix a logic bug that could cause Privoxy to reuse a tainted - server socket. It could happen for server sockets that got - tainted by a server-header-tagger-induced block, in which case - Privoxy doesn't necessarily read the whole server response. 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.

      +

      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 + 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 like curl which - terminates the client connection after detecting that the whole - body has been received it doesn't really matter, but with clients - like FreeBSD's fetch the client connection would be kept open - until it timed out.

      + 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.

    • @@ -94,9 +92,70 @@ body { 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. - I've only seen it 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.

      + 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.

      +
    • + +
    • +

      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.

  • @@ -114,21 +173,36 @@ body {
  • 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 of by + 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.

  • -

    Properly deal with FEATURE_TOGGLE being disabled

    +

    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.

    +
  • + +
  • +

    Allow to bind to multiple separate addresses. Patch set + submitted by Petr Pisar in #3354485.

    +
  • + +
  • +

    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.

  • 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 actual problems - I'm aware of.

    + is more of a cosmetic issue and doesn't fix any known + problems.

  • @@ -145,70 +219,242 @@ body {
  • -

    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.

    +

    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.

  • -

    Allow to bind to multiple separate addresses. Patch set - submitted by Petr Pisar in #3354485.

    +

    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.

  • -

    Set socket_error to errno if connecting fails in - rfc2553_connect_to() Previously rejected direct connections could - be incorrectly reported as DNS issues.

    +

    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.

  • -

    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.

    +

    In case of SOCKS5 failures, dump the socks response in the log + message.

  • -

    Disable filters if SDCH compression is used unless filtering - is forced. If SDCH was combined with a supported compression - algorithm, we'd previously try to decompress it, when successful - apply the enabled filters and ditch the Content-Encoding header - even though the SDCH compression wasn't removed. Reported by - zebul666 in #3225863.

    +

    Simplify the signal setup in main()

  • -

    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.

    +

    Streamline socks5_connect() slightly

  • -

    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.

    +

    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.

  • -

    If forwarded-connect-retries is set, only retry if the we are - actually forwarding the request. Previously direct connections - would be retried as well.

    +

    In chat(), do not bother to generate a client request in case + of direct CONNECT requests. It will not be used anyway.

  • -

    Fixed a small memory leak when retrying connection

    +

    Reduce server_last_modified()'s stack size.

  • -

    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).

    +

    Shorten get_http_time() by using strftime().

    +
  • + +
  • +

    Constify the known_http_methods pointers in + unknown_method().

    +
  • + +
  • +

    Constify the time_formats pointers in parse_header_time().

    +
  • + +
  • +

    Constify the formerly_valid_actions pointers in + action_used_to_be_valid().

    +
  • + +
  • +

    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.

    +
  • + +
  • +

    Deduplicate the INADDR_NONE definition for Solaris by moving + it to jbsockets.h

    +
  • + +
  • +

    In block_url(), ditch the obsolete workaround for ancient + Netscape versions that supposedly couldn't properly deal with + status code 403.

    +
  • + +
  • +

    Remove a useless NULL pointer check in load_trustfile().

    +
  • + +
  • +

    Remove two useless NULL pointer checks in + load_one_re_filterfile().

    +
  • + +
  • +

    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 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.

    +
  • + +
  • +

    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.

    +
  • + +
  • +

    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.

    +
  • + +
  • +

    The socket timeout is used for SOCKS negotiations as well + which previously couldn't timeout.

    +
  • + +
  • +

    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.

    +
  • + +
  • +

    Treat all Content-Type header values containing the pattern + 'script' as a sign of text. Reported by pribog in #3134970.

@@ -224,6 +470,12 @@ body { 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.

    @@ -300,12 +552,6 @@ body { webcache.googleusercontent.com/

  • -
  • -

    Remove -prevent-compression from the fragile alias It's no - longer used anywhere by default and isn't known to break stuff - anyway.

    -
  • -
  • Unblock http://adassier.wordpress.com/ and http://adassier.files.wordpress.com/

    @@ -323,12 +569,8 @@ body {
  • Let the msn filter hide overlay ads for Facebook 'likes' in - search results.

    -
  • - -
  • -

    Let the msn filter hide elements with the id 's_notf_div'. - They only seem to be used to advertise site 'enhancements'.

    + search results and elements with the id 's_notf_div'. They only + seem to be used to advertise site 'enhancements'.

  • @@ -349,7 +591,8 @@ body {
  • Point out that the SourceForge messaging system works like a - blackhole and should thus not be used

    + black hole and should thus not be used to contact individual + developers.

  • @@ -401,8 +644,8 @@ body {
  • -

    Do not claim to listen on a socket until we actually do. Patch - submitted by Petr Pisar #3354485

    +

    Do not claim to listen on a socket until Privoxy actually + does. Patch submitted by Petr Pisar #3354485

  • @@ -437,7 +680,7 @@ body {
  • In rfc2553_connect_to(), explain getnameinfo() errors - differently.

    + better.

  • @@ -450,7 +693,7 @@ body {
  • -

    Rephrase a log message in compile_dynamic_pcrs_job_list() +

    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 @@ -460,12 +703,12 @@ body {

  • In a fatal error message in load_one_actions_file(), cover - both URL and TAG patterns

    + both URL and TAG patterns.

  • In pcrs_strerror(), properly report unknown positive error - code values as unknown. Previously they were handled like 0 (no + code values as such. Previously they were handled like 0 (no error).

  • @@ -497,7 +740,7 @@ body {
  • In connection_destination_matches(), improve two log messages - to help understand why the destinations don't match

    + to help understand why the destinations don't match.

  • @@ -519,261 +762,6 @@ body {
  • -
  • -

    Miscellaneous Privoxy improvements:

    - -
      -
    • -

      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.

      -
    • - -
    • -

      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' isntead of '\0', thus merely - preventing group names beginning with a zero.

      -
    • - -
    • -

      Simplify the signal setup in main()

      -
    • - -
    • -

      Streamline socks5_connect() slightly

      -
    • - -
    • -

      In case of SOCKS5 failures, dump the socks response

      -
    • - -
    • -

      In socks5_connect(), require a complete socks response from - the server Previously we 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 we can't - read more than a whole socks response. This is required to - support Tor's optimistic data extension.

      -
    • - -
    • -

      In chat(), do not bother to generate a client request in case - of direct CONNECT requests

      -
    • - -
    • -

      Reduce server_last_modified()'s stack size

      -
    • - -
    • -

      Shorten get_http_time() by using strftime()

      -
    • - -
    • -

      Constify the known_http_methods pointers in - unknown_method()

      -
    • - -
    • -

      Constify the time_formats pointers in parse_header_time()

      -
    • - -
    • -

      Constify the formerly_valid_actions pointers in - action_used_to_be_valid()

      -
    • - -
    • -

      In html_code_map[], use a numeric character reference instead - of ' which wasn't standardized before XHTML 1.0

      -
    • - -
    • -

      Introduce a MAN_PAGE variable that defaults to privoxy.1. The - Debian package uses section 8 for the man page and this should - simplify the patch.

      -
    • - -
    • -

      Deduplicate the INADDR_NONE definition for Solaris by moving - it to jbsockets.h

      -
    • - -
    • -

      In block_url(), ditch the obsolete workaround for ancient - Netscape versions that supposedly couldn't properly deal with - status code 403.

      -
    • - -
    • -

      Remove a useless NULL pointer check in load_trustfile()

      -
    • - -
    • -

      Remove two useless NULL pointer checks in - load_one_re_filterfile().

      -
    • - -
    • -

      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 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().

      -
    • - -
    • -

      Fix an invalid free when compiled with - FEATURE_GRACEFUL_TERMINATION and shut down through - http://config.privoxy.org/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 necessarly correct as the block may be due to - tags.

      -
    • - -
    • -

      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.

      -
    • - -
    • -

      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.

      -
    • - -
    • -

      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.

      -
    • - -
    • -

      The socket timeout is used for SOCKS negotiation as well.

      -
    • - -
    • -

      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.

      -
    • - -
    • -

      Treat all Content-Type header values containing the pattern - 'script' as a sign of text. Reported by pribog in #3134970.

      -
    • -
    -
  • -
  • configure:

    @@ -790,19 +778,19 @@ body {
  • Remove a useless test for setpgrp(2). Privoxy doesn't need it - and it can cause problems when cross-compiling

    + and it can cause problems when cross-compiling.

  • -

    Rename the --disable-acl-files switch to --disable-acl-support - Since about 2001, ACL directives are specified in the standard - config file.

    +

    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 layout pessimizations. Reported by Han + after one of SF's recent site "optimizations". Reported by Han Liu.

  • @@ -814,7 +802,7 @@ body {
    • Added --shuffle-tests option to increase the chances of - detection race conditions

      + detection race conditions.

    • @@ -858,6 +846,11 @@ body {

      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.

      +
    @@ -866,8 +859,8 @@ body {
    • -

      Perform limited sanity checks for parameters that are supposed - to have numerical values.

      +

      Perform limited sanity checks for command line parameters that + are supposed to have numerical values.

    • @@ -905,7 +898,7 @@ body {
      • -

        Bump generated Firefox version to 9.0

        +

        Bump generated Firefox version to 8.0

      • -- 2.39.2