X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fsource%2Fuser-manual.sgml;h=6e2e6eb541d74e376fd1a2a29ffaf356f34dc25a;hb=ec4fc8c32f1367996ede49c3fc9f867fa5b0e79d;hp=5212a23bee09e1cb88dc1fb8e66584dd643e1b14;hpb=f8623c7abefa9256dc45e27f342080407f31579d;p=privoxy.git diff --git a/doc/source/user-manual.sgml b/doc/source/user-manual.sgml index 5212a23b..6e2e6eb5 100644 --- a/doc/source/user-manual.sgml +++ b/doc/source/user-manual.sgml @@ -11,8 +11,8 @@ - - + + @@ -34,9 +34,9 @@ This file belongs into ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/ - $Id: user-manual.sgml,v 2.136 2011/10/14 16:53:10 fabiankeil Exp $ + $Id: user-manual.sgml,v 2.157 2013/01/05 23:50:35 ler762 Exp $ - Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/ + Copyright (C) 2001-2013 Privoxy Developers http://www.privoxy.org/ See LICENSE. ======================================================================== @@ -60,7 +60,7 @@ -$Id: user-manual.sgml,v 2.136 2011/10/14 16:53:10 fabiankeil Exp $ +$Id: user-manual.sgml,v 2.157 2013/01/05 23:50:35 ler762 Exp $ Mac OS X - Unzip the downloaded file (you can either double-click on the zip file - icon from the Finder, or from the desktop if you downloaded it there). - Then, double-click on the package installer icon and follow the - installation process. + Installation instructions for the OS X platform depend upon whether + you downloaded a ready-built installation package (.pkg or .mpkg) or have + downloaded the source code. + + + +Installation from ready-built package + + The downloaded file will either be a .pkg (for OS X 10.5 upwards) or a bzipped + .mpkg file (for OS X 10.4). The former can be double-clicked as is and the + installation will start; double-clicking the latter will unzip the .mpkg file + which can then be double-clicked to commence the installation. + + + The privoxy service will automatically start after a successful installation + (and thereafter every time your computer starts up) however you will need to + configure your web browser(s) to use it. To do so, configure them to use a + proxy for HTTP and HTTPS at the address 127.0.0.1:8118. + + + To prevent the privoxy service from automatically starting when your computer + starts up, remove or rename the file /Library/LaunchDaemons/org.ijbswa.privoxy.plist + (on OS X 10.5 and higher) or the folder named + /Library/StartupItems/Privoxy (on OS X 10.4 'Tiger'). + + + To manually start or stop the privoxy service, use the scripts startPrivoxy.sh + and stopPrivoxy.sh supplied in /Applications/Privoxy. They must be run from an + administrator account, using sudo. + + + To uninstall, run /Applications/Privoxy/uninstall.command as sudo from an + administrator account. + + + +Installation from source + + To build and install the Privoxy source code on OS X you will need to obtain + the macsetup module from the Privoxy Sourceforge CVS repository (refer to + Sourceforge help for details of how to set up a CVS client to have read-only + access to the repository). This module contains scripts that leverage the usual + open-source tools (available as part of Apple's free of charge Xcode + distribution or via the usual open-source software package managers for OS X + (MacPorts, Homebrew, Fink etc.) to build and then install the privoxy binary + and associated files. The macsetup module's README file contains complete + instructions for its use. + + + The privoxy service will automatically start after a successful installation + (and thereafter every time your computer starts up) however you will need to + configure your web browser(s) to use it. To do so, configure them to use a + proxy for HTTP and HTTPS at the address 127.0.0.1:8118. - The privoxy service will automatically start after a successful - installation (in addition to every time your computer starts up). To - prevent the privoxy service from automatically starting when your - computer starts up, remove or rename the folder named - /Library/StartupItems/Privoxy. + To prevent the privoxy service from automatically starting when your computer + starts up, remove or rename the file /Library/LaunchDaemons/org.ijbswa.privoxy.plist + (on OS X 10.5 and higher) or the folder named + /Library/StartupItems/Privoxy (on OS X 10.4 'Tiger'). To manually start or stop the privoxy service, use the Privoxy Utility - for Mac OS X. This application controls the privoxy service (e.g. - starting and stopping the service as well as uninstalling the software). + for Mac OS X (also part of the macsetup module). This application can start + and stop the privoxy service and display its log and configuration files. + + + To uninstall, run the macsetup module's uninstall.sh as sudo from an + administrator account. @@ -437,8 +489,8 @@ How to install the binary packages depends on your operating system: What's New in this Release - Privoxy 3.0.18 is a stable release. - The changes since 3.0.17 stable are: + Privoxy 3.0.19 is a stable release. + The changes since 3.0.18 stable are: @@ -449,45 +501,22 @@ How to install the binary packages depends on your operating system: - 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. - - - - - 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 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. + Prevent a segmentation fault when de-chunking buffered content. + It could be triggered by malicious web servers if Privoxy was + configured to filter the content and running on a platform + where SIZE_T_MAX isn't larger than UINT_MAX, which probably + includes most 32-bit systems. On those platforms, all Privoxy + versions before 3.0.19 appear to be affected. + To be on the safe side, this bug should be presumed to allow + code execution as proving that it doesn't seems unrealistic. - 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. - 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. + Do not expect a response from the SOCKS4/4A server until it + got something to respond to. This regression was introduced + in 3.0.18 and prevented the SOCKS4/4A negotiation from working. + Reported by qqqqqw in #3459781. @@ -499,122 +528,149 @@ How to install the binary packages depends on your operating system: - Privoxy can (re)compress buffered content before delivering - it to the client. Disabled by default as most users wouldn't - benefit from it. + Fix an off-by-one in an error message about connect failures. - 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 additionally - using a +redirect{} pcrs command. - Initial patch submitted by Jamie Zawinski in #3429848. + Use a GNUMakefile variable for the webserver root directory and + update the path. Sourceforge changed it which broke various + web-related targets. - Properly deal with FEATURE_TOGGLE being disabled + Update the CODE_STATUS description. - + + + + + + + + + The following changes were made between 3.0.17 and 3.0.18: + + + + + + + Bug fixes: + - 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. + If a generated 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. - When compiled without FEATURE_FAST_REDIRECTS, do not silently - ignore +fast-redirect{} directives + 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. - 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 + 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. - 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. + 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. - Allow to bind to multiple separate addresses. - Patch set submitted by Petr Pisar in #3354485. + 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. - Set socket_error to errno if connecting fails in rfc2553_connect_to() - Previously rejected direct connections could be incorrectly reported as DNS issues. + 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. - 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. + If forwarded-connect-retries is set, only retry if Privoxy is actually + forwarding the request. Previously direct connections would be retried + as well. - 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. + Fixed a small memory leak when retrying connections with IPv6 + support enabled. - 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. + 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). - 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 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. - 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 html_code_map[], use a numeric character reference instead of ' + which wasn't standardized before XHTML 1.0. - Fixed a small memory leak when retrying connection + Fix an invalid free when compiled with FEATURE_GRACEFUL_TERMINATION + and shut down through http://config.privoxy.org/die - 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). + 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. @@ -622,342 +678,331 @@ How to install the binary packages depends on your operating system: - Action file improvements: + General 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. + Privoxy can (re)compress buffered content before delivering + it to the client. Disabled by default as most users wouldn't + benefit from it. - Add a (disabled) section to block various Facebook tracking URLs - Reported by Dan Stahlke in #3421764. + 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 (disabled) section to rewrite and redirect click-tracking URLs used on news.google.com - Reported by Dan Stahlke in #3421755. + 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. - Unblock linuxcounter.net/ - Reported by Dan Stahlke in #3422612. + Allow to bind to multiple separate addresses. + Patch set submitted by Petr Pisar in #3354485. - Block 'www91.intel.com/' which is used by Omniture. - Reported by Adam Piggott in #3167370. + 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. - Disable the handle-as-empty-doc-returns-ok option and mark it as deprecated. - Reminded by tceverling in #2790091. + 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 ".ivwbox.de/" to the "Cross-site user tracking" section. - Reported by Nettozahler in #3172525. + When compiled without FEATURE_FAST_REDIRECTS, do not silently + ignore +fast-redirect{} directives - Unblock and fast-redirect ".awin1.com/.*=http://" - Reported by Adam Piggott in #3170921. + 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 - Block "b.collective-media.net/". + 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. - Widen the Debian popcon exception to "qa.debian.org/popcon". - Seen in Debian's 05_default_action.dpatch by Roland Rosenfeld. + 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. - Block ".gemius.pl/" which only seems to be used for user tracking. - Reported by johnd16 in #3002731. Additional input from Lee and movax. + 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. - Disable banners-by-size filters for '.thinkgeek.com/' - The filter only seems to catch pictures of the inventory. + In case of SOCKS5 failures, dump the socks response in the log message. - Block requests for 'go.idmnet.bbelements.com/please/showit/' - Reported by kacperdominik in #3372959. + Simplify the signal setup in main(). - Unblock adainitiative.org/ + Streamline socks5_connect() slightly. - Add a fast-redirects exception for '.googleusercontent.com/.*=cache' + 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. - Add a fast-redirects exception for webcache.googleusercontent.com/ + In chat(), do not bother to generate a client request in case of + direct CONNECT requests. It will not be used anyway. - Remove -prevent-compression from the fragile alias - It's no longer used anywhere by default and isn't - known to break stuff anyway. + Reduce server_last_modified()'s stack size. - Unblock http://adassier.wordpress.com/ and http://adassier.files.wordpress.com/ - - - - - - - - Filter file improvements: - - - - Let the yahoo filter hide '.ads' + Shorten get_http_time() by using strftime(). - Let the msn filter hide overlay ads for Facebook 'likes' in search results. + Constify the known_http_methods pointers in unknown_method(). - Let the msn filter hide elements with the id 's_notf_div'. - They only seem to be used to advertise site 'enhancements'. + Constify the time_formats pointers in parse_header_time(). - Let the js-events filter additionally disarm setInterval() - Suggested by dg1727 in #3423775. - - - - - - - - Documentation improvements: - - - - Clarify the effect of compiling Privoxy with zlib support - Suggested by dg1727 in #3423782. + Constify the formerly_valid_actions pointers in action_used_to_be_valid(). - Point out that the SourceForge messaging system works - like a blackhole and should thus not be used + 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. - Mention some of the problems one can experience when not - explicitly configuring an IP addresses as listen address. + Deduplicate the INADDR_NONE definition for Solaris by moving it to jbsockets.h - 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. + In block_url(), ditch the obsolete workaround for ancient Netscape versions + that supposedly couldn't properly deal with status code 403. - - - - - - - Log message improvements: - + - If only the server connection is kept alive, do not pretent to wait for a new client request. + Remove a useless NULL pointer check in load_trustfile(). - Remove a superfluos log message in forget_connection() + Remove two useless NULL pointer checks in load_one_re_filterfile(). - In chat(), properly report missing server responses as such instead of calling them empty + 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. - In forwarded_connect(), fix a log message nobody should ever see + Fix various typos. Fixes taken from Debian's 29_typos.dpatch by Roland Rosenfeld. - Fix a log message in socks5_connect(), a failed write operation was logged as failed read operation + Add a dok-tidy GNUMakefile target to clean up the messy HTML + generated by the other dok targets. - 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. + GNUisms in the GNUMakefile have been removed. - Do not claim to listen on a socket until we actually do. - Patch submitted by Petr Pisar #3354485 + Change the HTTP version in static responses to 1.1 - Prevent a duplicated LOG_LEVEL_CLF message when sending out the "no-server-data" response + Synced config.sub and config.guess with upstream + 2011-11-11/386c7218162c145f5f9e1ff7f558a3fbb66c37c5. - Also log the client socket when dropping a connection. + 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. - Include the destination host in the - 'Request ... marked for blocking. limit-connect{...} doesn't allow CONNECT ...' message - Patch submitted by Saperski in #3296250. + Terminate HTML lines in static error messages with \n instead of \r\n. - Prevent a duplicated log message if none of the resolved IP - addresses were reachable + Simplify cgi_error_unknown() a bit. - In connect_to(), do not pretend to retry if forwarded-connect-retries is zero or unset. + In LogPutString(), don't bother looking at pszText when not + actually logging anything. - When a specified user or group can't be found, put the name in single-quotes when logging it. + Change ssplit()'s fourth parameter from int to size_t. + Fixes a clang complaint. - In rfc2553_connect_to(), explain getnameinfo() errors differently. + 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. - Remove a useless log message in chat() + In rfc2553_connect_to(), start setting cgi->error_message on error. - When retrying to connect, also log the maximum number of connection attempts + Change the expected status code returned for http://p.p/die depending + on whether or not FEATURE_GRACEFUL_TERMINATION is available. - 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. + 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. - In a fatal error message in load_one_actions_file(), cover both URL and TAG patterns + Add a proper CGI message for cgi_die(). - In pcrs_strerror(), properly report unknown positive error code values as unknown. - Previously they were handled like 0 (no error). + Don't enforce a logical line length limit in read_config_line(). - In compile_dynamic_pcrs_job_list(), also log the actual error code as - pcrs_strerror() doesn't handle all errors reported by pcre + Slightly refactor server_last_modified() to remove useless gmtime*() calls. - Don't bother trying to continue chatting if the client didn't ask for it. - Reduces log noise a bit. + In get_content_type(), also recognize '.jpeg' as JPEG extension. - Make two fatal error message in load_one_actions_file() more descriptive + Add '.png' to the list of recognized file extensions in get_content_type(). - In cgi_send_user_manual(), log when rejecting a file name due to '/' or '..' + 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 load_file(), log a message if opening a file failed - The CGI error message alone isn't too helpful. + 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 connection_destination_matches(), improve two log messages to - help understand why the destinations don't match + 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. - Rephrase a log message in serve(). Client request arrival - should be differentiated from closed client connections now. + The socket timeout is used for SOCKS negotiations as well which + previously couldn't timeout. - In serve(), log if a client connection isn't reused due to a - configuration file change. + 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. - 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. + Treat all Content-Type header values containing the pattern + 'script' as a sign of text. Reported by pribog in #3134970. @@ -965,286 +1010,345 @@ How to install the binary packages depends on your operating system: - Miscellaneous Privoxy improvements: + Action file 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. - - + 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. + + - 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. + Remove -prevent-compression from the fragile alias. It's no longer + used anywhere by default and isn't known to break stuff anyway. - Simplify the signal setup in main() + Add a (disabled) section to block various Facebook tracking URLs. + Reported by Dan Stahlke in #3421764. - Streamline socks5_connect() slightly + Add a (disabled) section to rewrite and redirect click-tracking + URLs used on news.google.com. + Reported by Dan Stahlke in #3421755. - In case of SOCKS5 failures, dump the socks response + Unblock linuxcounter.net/. + Reported by Dan Stahlke in #3422612. - 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. + Block 'www91.intel.com/' which is used by Omniture. + Reported by Adam Piggott in #3167370. - In chat(), do not bother to generate a client request in case of direct CONNECT requests + Disable the handle-as-empty-doc-returns-ok option and mark it as deprecated. + Reminded by tceverling in #2790091. - Reduce server_last_modified()'s stack size + Add ".ivwbox.de/" to the "Cross-site user tracking" section. + Reported by Nettozahler in #3172525. - Shorten get_http_time() by using strftime() + Unblock and fast-redirect ".awin1.com/.*=http://". + Reported by Adam Piggott in #3170921. - Constify the known_http_methods pointers in unknown_method() + Block "b.collective-media.net/". - Constify the time_formats pointers in parse_header_time() + Widen the Debian popcon exception to "qa.debian.org/popcon". + Seen in Debian's 05_default_action.dpatch by Roland Rosenfeld. - Constify the formerly_valid_actions pointers in action_used_to_be_valid() + Block ".gemius.pl/" which only seems to be used for user tracking. + Reported by johnd16 in #3002731. Additional input from Lee and movax. - In html_code_map[], use a numeric character reference instead of ' - which wasn't standardized before XHTML 1.0 + Disable banners-by-size filters for '.thinkgeek.com/'. + The filter only seems to catch pictures of the inventory. - 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. + Block requests for 'go.idmnet.bbelements.com/please/showit/'. + Reported by kacperdominik in #3372959. - Deduplicate the INADDR_NONE definition for Solaris by moving it to jbsockets.h + Unblock adainitiative.org/. - In block_url(), ditch the obsolete workaround for ancient Netscape versions - that supposedly couldn't properly deal with status code 403. + Add a fast-redirects exception for '.googleusercontent.com/.*=cache'. - Remove a useless NULL pointer check in load_trustfile() + Add a fast-redirects exception for webcache.googleusercontent.com/. - Remove two useless NULL pointer checks in load_one_re_filterfile(). + Unblock http://adassier.wordpress.com/ and http://adassier.files.wordpress.com/. + + + + + + + + Filter file improvements: + + + + Let the yahoo filter hide '.ads'. - 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. + 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'. - Fix various typos. - Fixes taken from Debian's 29_typos.dpatch by Roland Rosenfeld. + Let the js-events filter additionally disarm setInterval(). + Suggested by dg1727 in #3423775. + + + + + + + + Documentation improvements: + + + + Clarify the effect of compiling Privoxy with zlib support. + Suggested by dg1727 in #3423782. - Add a dok-tidy GNUMakefile target to clean up the messy HTML - generated by the other dok targets. + Point out that the SourceForge messaging system works like a black + hole and should thus not be used to contact individual developers. - GNUisms in the GNUMakefile have been removed. + Mention some of the problems one can experience when not explicitly + configuring an IP addresses as listen address. - Change the HTTP version in static responses to 1.1 + 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. + + + + + + + + Log message improvements: + + + + If only the server connection is kept alive, do not pretend to + wait for a new client request. - Synced config.sub and config.guess with upstream - 2011-11-11/386c7218162c145f5f9e1ff7f558a3fbb66c37c5. + Remove a superfluous log message in forget_connection(). - 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. + In chat(), properly report missing server responses as such + instead of calling them empty. - Terminate HTML lines in static error messages with \n instead of \r\n. + In forwarded_connect(), fix a log message nobody should ever see. - Simplify cgi_error_unknown() a bit. + Fix a log message in socks5_connect(), a failed write operation + was logged as failed read operation. - In LogPutString(), don't bother looking at pszText when not actually logging anything + 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. - Change ssplit()'s fourth parameter from int to size_t. - Fixes a clang complaint. + Do not claim to listen on a socket until Privoxy actually does. + Patch submitted by Petr Pisar #3354485 - 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. + Prevent a duplicated LOG_LEVEL_CLF message when sending out + the "no-server-data" response. - In rfc2553_connect_to(), start setting cgi->error_message on error + Also log the client socket when dropping a connection. - Change the expected status code returned for http://p.p/die depending - on whether or not FEATURE_GRACEFUL_TERMINATION is available. + Include the destination host in the 'Request ... marked for + blocking. limit-connect{...} doesn't allow CONNECT ...' message + Patch submitted by Saperski in #3296250. - 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. + Prevent a duplicated log message if none of the resolved IP + addresses were reachable. - Add a proper CGI message for cgi_die(). + In connect_to(), do not pretend to retry if forwarded-connect-retries + is zero or unset. - Fix an invalid free when compiled with FEATURE_GRACEFUL_TERMINATION - and shut down through http://config.privoxy.org/die + When a specified user or group can't be found, put the name in + single-quotes when logging it. - Don't enforce a logical line length limit in read_config_line() + In rfc2553_connect_to(), explain getnameinfo() errors better. - Slightly refactor server_last_modified() to remove useless gmtime*() calls + Remove a useless log message in chat(). - In get_content_type(), also recognize '.jpeg' as JPEG extension + When retrying to connect, also log the maximum number of connection + attempts. - Add '.png' to the list of recognized file extenstions in get_content_type() + 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. - 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 a fatal error message in load_one_actions_file(), cover both + URL and TAG patterns. - 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 pcrs_strerror(), properly report unknown positive error code + values as such. Previously they were handled like 0 (no error). - 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 compile_dynamic_pcrs_job_list(), also log the actual error code as + pcrs_strerror() doesn't handle all errors reported by pcre. - 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. + Don't bother trying to continue chatting if the client didn't ask for it. + Reduces log noise a bit. - The socket timeout is used for SOCKS negotiation as well. + Make two fatal error message in load_one_actions_file() more descriptive. - 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. + In cgi_send_user_manual(), log when rejecting a file name due to '/' or '..'. - Treat all Content-Type header values containing the pattern - 'script' as a sign of text. Reported by pribog in #3134970. + 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. @@ -1267,22 +1371,22 @@ How to install the binary packages depends on your operating system: - Remove a useless test for setpgrp(2). Privoxy doesn't - need it and it can cause problems when cross-compiling + Remove a useless test for setpgrp(2). Privoxy doesn't need it 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 Liu. + next stable release' posting. The old URL stopped working after + one of SF's recent site "optimizations". Reported by Han Liu. @@ -1294,29 +1398,27 @@ How to install the binary packages depends on your operating system: - Added --shuffle-tests option to increase the chances of detection race conditions + Added --shuffle-tests option to increase the chances of detection race conditions. - Added a --local-test-file option that allows to use Privoxy-Regression-Test without Privoxy + Added a --local-test-file option that allows to use Privoxy-Regression-Test without Privoxy. - Added tests for missing socks4 and socks4a forwarders + Added tests for missing socks4 and socks4a forwarders. - The --privoxy-address option now works with IPv6 addresses - containing brackets, too + 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. + Perform limited sanity checks for parameters that are supposed to have numerical values. @@ -1327,7 +1429,7 @@ How to install the binary packages depends on your operating system: - Disable the range-requests tagger for tests that break if it's enabled + Disable the range-requests tagger for tests that break if it's enabled. @@ -1344,6 +1446,11 @@ How to install the binary packages depends on your operating system: 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. + @@ -1354,8 +1461,8 @@ How to install the binary packages depends on your operating system: - 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. @@ -1385,7 +1492,7 @@ How to install the binary packages depends on your operating system: - Accept log messages with ISO 8601 time stamps, too + Accept log messages with ISO 8601 time stamps, too. @@ -1397,13 +1504,14 @@ How to install the binary packages depends on your operating system: - Bump generated Firefox version to 9.0 + Bump generated Firefox version to 8.0. - 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. + 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. @@ -2332,6 +2440,27 @@ must find a better place for this paragraph + + + --config-test + + + Exit after loading the configuration files before binding to + the listen address. The exit code signals whether or not the + configuration files have been successfully loaded. + + + If the exit code is 1, at least one of the configuration files + is invalid, if it is 0, all the configuration files have been + successfully loaded (but may still contain errors that can + currently only be detected at run time). + + + This option doesn't affect the log setting, combination with + --no-daemon is recommended if a configured + log file shouldn't be used. + + --version @@ -3843,7 +3972,7 @@ for details. and use their output as input. - If the request URL gets changed, &my-app; will detect that and use the new + If the request URI gets changed, &my-app; will detect that and use the new one. This can be used to rewrite the request destination behind the client's back, for example to specify a Tor exit relay for certain requests. @@ -3865,7 +3994,7 @@ for details. {+client-header-filter{hide-tor-exit-notation}} / - + @@ -3959,6 +4088,22 @@ TAG:^User-Agent: fetch libfetch/ TAG:^User-Agent: Ubuntu APT-HTTP/ TAG:^User-Agent: MPlayer/ + + + +# Tag all requests with the Range header set +{+client-header-tagger{range-requests}} +/ + +# Disable filtering for the tagged requests. +# +# With filtering enabled Privoxy would remove the Range headers +# to be able to filter the whole response. The downside is that +# it prevents clients from resuming downloads or skipping over +# parts of multimedia files. +{-filter -deanimate-gifs} +TAG:^RANGE-REQUEST$ + @@ -4577,9 +4722,19 @@ new action This is a left-over from the time when Privoxy didn't support important HTTP/1.1 features well. It is left here for the - unlikely case that you experience HTTP/1.1 related problems with some server - out there. Not all HTTP/1.1 features and requirements are supported yet, - so there is a chance you might need this action. + unlikely case that you experience HTTP/1.1-related problems with some server + out there. + + + Note that enabling this action is only a workaround. It should not + be enabled for sites that work without it. While it shouldn't break + any pages, it has an (usually negative) performance impact. + + + If you come across a site where enabling this action helps, please report it, + so the cause of the problem can be analyzed. If the problem turns out to be + caused by a bug in Privoxy it should be + fixed so the following release works without the work around. @@ -5923,6 +6078,94 @@ new action + + + +limit-cookie-lifetime + + + + Typical use: + + Limit the lifetime of HTTP cookies to a couple of minutes or hours. + + + + + Effect: + + + Overwrites the expires field in Set-Cookie server headers if it's above the specified limit. + + + + + + Type: + + + Parameterized. + + + + + Parameter: + + + The lifetime limit in minutes, or 0. + + + + + + Notes: + + + This action reduces the lifetime of HTTP cookies coming from the + server to the specified number of minutes, starting from the time + the cookie passes Privoxy. + + + Cookies with a lifetime below the limit are not modified. + The lifetime of session cookies is set to the specified limit. + + + The effect of this action depends on the server. + + + In case of servers which refresh their cookies with each response + (or at least frequently), the lifetime limit set by this action + is updated as well. + Thus, a session associated with the cookie continues to work with + this action enabled, as long as a new request is made before the + last limit set is reached. + + + However, some servers send their cookies once, with a lifetime of several + years (the year 2037 is a popular choice), and do not refresh them + until a certain event in the future, for example the user logging out. + In this case this action may limit the absolute lifetime of the session, + even if requests are made frequently. + + + If the parameter is 0, this action behaves like + session-cookies-only. + + + + + + Example usages: + + + +limit-cookie-lifetime{60} + + + + + + + prevent-compression @@ -6179,6 +6422,10 @@ new action either provided as parameter, or derived by applying a single pcrs command to the original URL. + + The syntax for pcrs commands is documented in the + filter file section. + This action will be ignored if you use it together with block. @@ -7799,7 +8046,7 @@ pre-defined filters for your convenience: - refresh tags + refresh-tags Disable any refresh tags if the interval is greater than nine seconds (so @@ -9373,988 +9620,6 @@ In file: user.action [ View ] [ Edit ] style. - - Small fixes in the actions chapter - - Small clarifications in the quickstart to ad blocking - - Removed from s since the new doc CSS - renders them red (bad in TOC). - - Revision 1.120 2002/05/23 19:16:43 roro - Correct Debian specials (installation and startup). - - Revision 1.119 2002/05/22 17:17:05 oes - Added Security hint - - Revision 1.118 2002/05/21 04:54:55 hal9 - -New Section: Quickstart to Ad Blocking - -Reformat Actions Anatomy to match new CGI layout - - Revision 1.117 2002/05/17 13:56:16 oes - - Reworked & extended Templates chapter - - Small changes to Regex appendix - - #included authors.sgml into (C) and hist chapter - - Revision 1.116 2002/05/17 03:23:46 hal9 - Fixing merge conflict in Quickstart section. - - Revision 1.115 2002/05/16 16:25:00 oes - Extended the Filter File chapter & minor fixes - - Revision 1.114 2002/05/16 09:42:50 oes - More ulink->link, added some hints to Quickstart section - - Revision 1.113 2002/05/15 21:07:25 oes - Extended and further commented the example actions files - - Revision 1.112 2002/05/15 03:57:14 hal9 - Spell check. A few minor edits here and there for better syntax and - clarification. - - Revision 1.111 2002/05/14 23:01:36 oes - Fixing the fixes - - Revision 1.110 2002/05/14 19:10:45 oes - Restored alphabetical order of actions - - Revision 1.109 2002/05/14 17:23:11 oes - Renamed the prevent-*-cookies actions, extended aliases section and moved it before the example AFs - - Revision 1.108 2002/05/14 15:29:12 oes - Completed proofreading the actions chapter - - Revision 1.107 2002/05/12 03:20:41 hal9 - Small clarifications for 127.0.0.1 vs localhost for listen-address since this - apparently an important distinction for some OS's. - - Revision 1.106 2002/05/10 01:48:20 hal9 - This is mostly proposed copyright/licensing additions and changes. Docs - are still GPL, but licensing and copyright are more visible. Also, copyright - changed in doc header comments (eliminate references to JB except FAQ). - - Revision 1.105 2002/05/05 20:26:02 hal9 - Sorting out license vs copyright in these docs. - - Revision 1.104 2002/05/04 08:44:45 swa - bumped version - - Revision 1.103 2002/05/04 00:40:53 hal9 - -Remove the TOC first page kludge. It's fixed proper now in ldp.dsl.in. - -Some minor additions to Quickstart. - - Revision 1.102 2002/05/03 17:46:00 oes - Further proofread & reactivated short build instructions - - Revision 1.101 2002/05/03 03:58:30 hal9 - Move the user-manual config directive to top of section. Add note about - Privoxy needing read permissions for configs, and write for logs. - - Revision 1.100 2002/04/29 03:05:55 hal9 - Add clarification on differences of new actions files. - - Revision 1.99 2002/04/28 16:59:05 swa - more structure in starting section - - Revision 1.98 2002/04/28 05:43:59 hal9 - This is the break up of configuration.html into multiple files. This - will probably break links elsewhere :( - - Revision 1.97 2002/04/27 21:04:42 hal9 - -Rewrite of Actions File example. - -Add section for user-manual directive in config. - - Revision 1.96 2002/04/27 05:32:00 hal9 - -Add short section to Filter Files to tie in with +filter action. - -Start rewrite of examples in Actions Examples (not finished). - - Revision 1.95 2002/04/26 17:23:29 swa - bookmarks cleaned, changed structure of user manual, screen and programlisting cleanups, and numerous other changes that I forgot - - Revision 1.94 2002/04/26 05:24:36 hal9 - -Add most of Andreas suggestions to Chain of Events section. - -A few other minor corrections and touch up. - - Revision 1.92 2002/04/25 18:55:13 hal9 - More catchups on new actions files, and new actions names. - Other assorted cleanups, and minor modifications. - - Revision 1.91 2002/04/24 02:39:31 hal9 - Add 'Chain of Events' section. - - Revision 1.90 2002/04/23 21:41:25 hal9 - Linuxconf is deprecated on RH, substitute chkconfig. - - Revision 1.89 2002/04/23 21:05:28 oes - Added hint for startup on Red Hat - - Revision 1.88 2002/04/23 05:37:54 hal9 - Add AmigaOS install stuff. - - Revision 1.87 2002/04/23 02:53:15 david__schmidt - Updated Mac OS X installation section - Added a few English tweaks here an there - - Revision 1.86 2002/04/21 01:46:32 hal9 - Re-write actions section. - - Revision 1.85 2002/04/18 21:23:23 hal9 - Fix ugly typo (mine). - - Revision 1.84 2002/04/18 21:17:13 hal9 - Spell Redhat correctly (ie Red Hat). A few minor grammar corrections. - - Revision 1.83 2002/04/18 18:21:12 oes - Added RPM install detail - - Revision 1.82 2002/04/18 12:04:50 oes - Cosmetics - - Revision 1.81 2002/04/18 11:50:24 oes - Extended Install section - needs fixing by packagers - - Revision 1.80 2002/04/18 10:45:19 oes - Moved text to buildsource.sgml, renamed some filters, details - - Revision 1.79 2002/04/18 03:18:06 hal9 - Spellcheck, and minor touchups. - - Revision 1.78 2002/04/17 18:04:16 oes - Proofreading part 2 - - Revision 1.77 2002/04/17 13:51:23 oes - Proofreading, part one - - Revision 1.76 2002/04/16 04:25:51 hal9 - -Added 'Note to Upgraders' and re-ordered the 'Quickstart' section. - -Note about proxy may need requests to re-read config files. - - Revision 1.75 2002/04/12 02:08:48 david__schmidt - Remove OS/2 building info... it is already in the developer-manual - - Revision 1.74 2002/04/11 00:54:38 hal9 - Add small section on submitting actions. - - Revision 1.73 2002/04/10 18:45:15 swa - generated - - Revision 1.72 2002/04/10 04:06:19 hal9 - Added actions feedback to Bookmarklets section - - Revision 1.71 2002/04/08 22:59:26 hal9 - Version update. Spell chkconfig correctly :) - - Revision 1.70 2002/04/08 20:53:56 swa - ? - - Revision 1.69 2002/04/06 05:07:29 hal9 - -Add privoxy-man-page.sgml, for man page. - -Add authors.sgml for AUTHORS (and p-authors.sgml) - -Reworked various aspects of various docs. - -Added additional comments to sub-docs. - - Revision 1.68 2002/04/04 18:46:47 swa - consistent look. reuse of copyright, history et. al. - - Revision 1.67 2002/04/04 17:27:57 swa - more single file to be included at multiple points. make maintaining easier - - Revision 1.66 2002/04/04 06:48:37 hal9 - Structural changes to allow for conditional inclusion/exclusion of content - based on entity toggles, e.g. 'entity % p-not-stable "INCLUDE"'. And - definition of internal entities, e.g. 'entity p-version "2.9.13"' that will - eventually be set by Makefile. - More boilerplate text for use across multiple docs. - - Revision 1.65 2002/04/03 19:52:07 swa - enhance squid section due to user suggestion - - Revision 1.64 2002/04/03 03:53:43 hal9 - A few minor bug fixes, and touch ups. Ready for review. - - Revision 1.63 2002/04/01 16:24:49 hal9 - Define entities to include boilerplate text. See doc/source/*. - - Revision 1.62 2002/03/30 04:15:53 hal9 - - Fix privoxy.org/config links. - - Paste in Bookmarklets from Toggle page. - - Move Quickstart nearer top, and minor rework. - - Revision 1.61 2002/03/29 01:31:08 hal9 - Minor update. - - Revision 1.60 2002/03/27 01:57:34 hal9 - Added more to Anatomy section. - - Revision 1.59 2002/03/27 00:54:33 hal9 - Touch up intro for new name. - - Revision 1.58 2002/03/26 22:29:55 swa - we have a new homepage! - - Revision 1.57 2002/03/24 20:33:30 hal9 - A few minor catch ups with name change. - - Revision 1.56 2002/03/24 16:17:06 swa - configure needs to be generated. - - Revision 1.55 2002/03/24 16:08:08 swa - we are too lazy to make a block-built - privoxy logo. hence removed the option. - - Revision 1.54 2002/03/24 15:46:20 swa - name change related issue. - - Revision 1.53 2002/03/24 11:51:00 swa - name change. changed filenames. - - Revision 1.52 2002/03/24 11:01:06 swa - name change - - Revision 1.51 2002/03/23 15:13:11 swa - renamed every reference to the old name with foobar. - fixed "application foobar application" tag, fixed - "the foobar" with "foobar". left junkbustser in cvs - comments and remarks to history untouched. - - Revision 1.50 2002/03/23 05:06:21 hal9 - Touch up. - - Revision 1.49 2002/03/21 17:01:05 hal9 - New section in Appendix. - - Revision 1.48 2002/03/12 06:33:01 hal9 - Catching up to Andreas and re_filterfile changes. - - Revision 1.47 2002/03/11 13:13:27 swa - correct feedback channels - - Revision 1.46 2002/03/10 00:51:08 hal9 - Added section on JB internal pages in Appendix. - - Revision 1.45 2002/03/09 17:43:53 swa - more distros - - Revision 1.44 2002/03/09 17:08:48 hal9 - New section on Jon's actions file editor, and move some stuff around. - - Revision 1.43 2002/03/08 00:47:32 hal9 - Added imageblock{pattern}. - - Revision 1.42 2002/03/07 18:16:55 swa - looks better - - Revision 1.41 2002/03/07 16:46:43 hal9 - Fix a few markup problems for jade. - - Revision 1.40 2002/03/07 16:28:39 swa - provide correct feedback channels - - Revision 1.39 2002/03/06 16:19:28 hal9 - Note on perceived filtering slowdown per FR. - - Revision 1.38 2002/03/05 23:55:14 hal9 - Stupid I did it again. Double hyphen in comment breaks jade. - - Revision 1.37 2002/03/05 23:53:49 hal9 - jade barfs on '- -' embedded in comments. - -user option broke it. - - Revision 1.36 2002/03/05 22:53:28 hal9 - Add new - - user option. - - Revision 1.35 2002/03/05 00:17:27 hal9 - Added section on command line options. - - Revision 1.34 2002/03/04 19:32:07 oes - Changed default port to 8118 - - Revision 1.33 2002/03/03 19:46:13 hal9 - Emphasis on where/how to report bugs, etc - - Revision 1.32 2002/03/03 09:26:06 joergs - AmigaOS changes, config is now loaded from PROGDIR: instead of - AmiTCP:db/junkbuster/ if no configuration file is specified on the - command line. - - Revision 1.31 2002/03/02 22:45:52 david__schmidt - Just tweaking - - Revision 1.30 2002/03/02 22:00:14 hal9 - Updated 'New Features' list. Ran through spell-checker. - - Revision 1.29 2002/03/02 20:34:07 david__schmidt - Update OS/2 build section - - Revision 1.28 2002/02/24 14:34:24 jongfoster - Formatting changes. Now changing the doctype to DocBook XML 4.1 - will work - no other changes are needed. - - Revision 1.27 2002/01/11 14:14:32 hal9 - Added a very short section on Templates - - Revision 1.26 2002/01/09 20:02:50 hal9 - Fix bug re: auto-detect config file changes. - - Revision 1.25 2002/01/09 18:20:30 hal9 - Touch ups for *.action files. - - Revision 1.24 2001/12/02 01:13:42 hal9 - Fix typo. - - Revision 1.23 2001/12/02 00:20:41 hal9 - Updates for recent changes. - - Revision 1.22 2001/11/05 23:57:51 hal9 - Minor update for startup now daemon mode. - - Revision 1.21 2001/10/31 21:11:03 hal9 - Correct 2 minor errors - - Revision 1.18 2001/10/24 18:45:26 hal9 - *** empty log message *** - - Revision 1.17 2001/10/24 17:10:55 hal9 - Catching up with Jon's recent work, and a few other things. - - Revision 1.16 2001/10/21 17:19:21 swa - wrong url in documentation - - Revision 1.15 2001/10/14 23:46:24 hal9 - Various minor changes. Fleshed out SEE ALSO section. - - Revision 1.13 2001/10/10 17:28:33 hal9 - Very minor changes. - - Revision 1.12 2001/09/28 02:57:04 hal9 - Ditto :/ - - Revision 1.11 2001/09/28 02:25:20 hal9 - Ditto. - - Revision 1.9 2001/09/27 23:50:29 hal9 - A few changes. A short section on regular expression in appendix. - - Revision 1.8 2001/09/25 00:34:59 hal9 - Some additions, and re-arranging. - - Revision 1.7 2001/09/24 14:31:36 hal9 - Diddling. - - Revision 1.6 2001/09/24 14:10:32 hal9 - Including David's OS/2 installation instructions. - - Revision 1.2 2001/09/13 15:27:40 swa - cosmetics - - Revision 1.1 2001/09/12 15:36:41 swa - source files for junkbuster documentation - - Revision 1.3 2001/09/10 17:43:59 swa - first proposal of a structure. - - Revision 1.2 2001/06/13 14:28:31 swa - docs should have an author. - - Revision 1.1 2001/06/13 14:20:37 swa - first import of project's documentation for the webserver. - --> </article>