updated privoxy to 3.0.19-stable

This commit is contained in:
n8fr8 2012-06-27 23:17:49 -04:00
parent 6620e144a1
commit f5183d8128
194 changed files with 37255 additions and 85209 deletions

View File

@ -7,11 +7,8 @@ Current Privoxy Team:
David Schmidt, developer David Schmidt, developer
Hal Burgiss Hal Burgiss
Mark Miller
Gerry Murphy
Lee Rian Lee Rian
Roland Rosenfeld Roland Rosenfeld
Jörg Strohmayer
Former Privoxy Team Members: Former Privoxy Team Members:
@ -28,10 +25,13 @@ Former Privoxy Team Members:
Adam Lock Adam Lock
Guy Laroche Guy Laroche
Justin McMurtry Justin McMurtry
Mark Miller
Gerry Murphy
Andreas Oesterhelt Andreas Oesterhelt
Haroon Rafique Haroon Rafique
Georg Sauthoff Georg Sauthoff
Thomas Steudten Thomas Steudten
Jörg Strohmayer
Rodney Stromlund Rodney Stromlund
Sviatoslav Sviridov Sviatoslav Sviridov
Sarantis Paskalis Sarantis Paskalis
@ -43,11 +43,15 @@ alphabetical order):
Ken Arromdee Ken Arromdee
Devin Bayer Devin Bayer
Havard Berland
Gergely Bor Gergely Bor
Francois Botha
Reiner Buehl Reiner Buehl
Andrew J. Caines Andrew J. Caines
Clifford Caoile Clifford Caoile
Wan-Teh Chang
Frédéric Crozat Frédéric Crozat
Billy Crook
Michael T. Davis Michael T. Davis
Mattes Dolak Mattes Dolak
Matthias Drochner Matthias Drochner
@ -58,12 +62,13 @@ alphabetical order):
Stephen Gildea Stephen Gildea
Daniel Griscom Daniel Griscom
Felix Gröbert Felix Gröbert
Jeff H.
Aaron Hamid Aaron Hamid
Darel Henman Darel Henman
Magnus Holmgren Magnus Holmgren
Eric M. Hopper Eric M. Hopper
Ralf Horstmann Ralf Horstmann
Stefan Huehner Stefan Huehner
Peter Hyman Peter Hyman
Derek Jennings Derek Jennings
Petr Kadlec Petr Kadlec
@ -71,13 +76,17 @@ alphabetical order):
Bert van Leeuwen Bert van Leeuwen
Don Libes Don Libes
Paul Lieverse Paul Lieverse
Han Liu
Toby Lyward Toby Lyward
Wil Mahan Wil Mahan
Jindrich Makovicka Jindrich Makovicka
Raphael Marichez
Francois Marier
David Mediavilla David Mediavilla
Raphael Moll Raphael Moll
Amuro Namie Amuro Namie
Adam Piggott Adam Piggott
Petr Písar
Dan Price Dan Price
Roberto Ragusa Roberto Ragusa
Félix Rauch Félix Rauch
@ -85,6 +94,7 @@ alphabetical order):
Chung-chieh Shan Chung-chieh Shan
Spinor S. Spinor S.
Bart Schelstraete Bart Schelstraete
Dan Stahlke
Oliver Stoeneberg Oliver Stoeneberg
Peter Thoenen Peter Thoenen
Martin Thomas Martin Thomas
@ -114,3 +124,4 @@ If we've missed you off this list, please let us know!
Privoxy team. http://www.privoxy.org/ Privoxy team. http://www.privoxy.org/
<ijbswa-developers@lists.sourceforge.net> <ijbswa-developers@lists.sourceforge.net>

View File

@ -1,7 +1,713 @@
-------------------------------------------------------------------- --------------------------------------------------------------------
ChangeLog for Privoxy ChangeLog for Privoxy
-------------------------------------------------------------------- --------------------------------------------------------------------
*** Version 3.0.12 (UNRELEASED) *** *** Version 3.0.19 Stable ***
- Bug fixes:
- 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.
- 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.
- General improvements:
- Fix an off-by-one in an error message about connect failures.
- Use a GNUMakefile variable for the webserver root directory and
update the path. Sourceforge changed it which broke various
web-related targets.
- Update the CODE_STATUS description.
*** Version 3.0.18 Stable ***
- Bug fixes:
- 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.
- Fix a logic bug that could cause Privoxy to reuse a server
socket after it got tainted by a server-header-tagger-induced
block that was triggered before the whole server response had
been read. If keep-alive was enabled and the request following
the blocked one was to the same host and using the same forwarding
settings, Privoxy would send it on the tainted server socket.
While the server would simply treat it as a pipelined request,
Privoxy would later on fail to properly parse the server's
response as it would try to parse the unread data from the
first response as server headers for the second one.
Regression introduced in 3.0.17.
- When implying keep-alive in client_connection(), remember that
the client didn't. Fixes a regression introduced in 3.0.13 that
would cause Privoxy to wait for additional client requests after
receiving a HTTP/1.1 request with "Connection: close" set
and connection sharing enabled.
With clients which terminates the client connection after detecting
that the whole body has been received it doesn't really matter,
but with clients that don't the connection would be kept open until
it timed out.
- Fix a subtle race condition between prepare_csp_for_next_request()
and sweep(). A thread preparing itself for the next client request
could briefly appear to be inactive.
If all other threads were already using more recent files,
the thread could get its files swept away under its feet.
So far this has only been reproduced while stress testing in
valgrind while touching action files in a loop. It's unlikely
to have caused any actual problems in the real world.
- Disable filters if SDCH compression is used unless filtering is forced.
If SDCH was combined with a supported compression algorithm, Privoxy
previously could try to decompress it and ditch the Content-Encoding
header even though the SDCH compression wasn't dealt with.
Reported by zebul666 in #3225863.
- Make a copy of the --user value and only mess with that when splitting
user and group. On some operating systems modifying the value directly
is reflected in the output of ps and friends and can be misleading.
Reported by zepard in #3292710.
- If forwarded-connect-retries is set, only retry if Privoxy is actually
forwarding the request. Previously direct connections would be retried
as well.
- Fixed a small memory leak when retrying connections with IPv6
support enabled.
- Remove an incorrect assertion in compile_dynamic_pcrs_job_list()
It could be triggered by a pcrs job with an invalid pcre
pattern (for example one that contains a lone quantifier).
- If the --user argument user[.group] contains a dot, always bail out
if no group has been specified. Previously the intended, but undocumented
(and apparently untested), behaviour was to try interpreting the whole
argument as user name, but the detection was flawed and checked for '0'
instead of '\0', thus merely preventing group names beginning with a zero.
- In html_code_map[], use a numeric character reference instead of &apos;
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.
- General improvements:
- Privoxy can (re)compress buffered content before delivering
it to the client. Disabled by default as most users wouldn't
benefit from it.
- The +fast-redirects{check-decoded-url} action checks URL
segments separately. If there are other parameters behind
the redirect URL, this makes it unnecessary to cut them off
by additionally using a +redirect{} pcrs command.
Initial patch submitted by Jamie Zawinski in #3429848.
- 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 known problems.
- When compiled without FEATURE_FAST_REDIRECTS, do not silently
ignore +fast-redirect{} directives
- 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
- 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.
- 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.
- 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.
- In case of SOCKS5 failures, dump the socks response in the log message.
- Simplify the signal setup in main().
- Streamline socks5_connect() slightly.
- 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.
- In chat(), do not bother to generate a client request in case of
direct CONNECT requests. It will not be used anyway.
- 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().
- 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 extensions 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.
- Action file improvements:
- Moved the site-specific block pattern section below the one for the
generic patterns so for requests that are matched in both, the block
reason for the domain is shown which is usually more useful than showing
the one for the generic pattern.
- Remove -prevent-compression from the fragile alias. It's no longer
used anywhere by default and isn't known to break stuff anyway.
- Add a (disabled) section to block various Facebook tracking URLs.
Reported by Dan Stahlke in #3421764.
- Add a (disabled) section to rewrite and redirect click-tracking
URLs used on news.google.com.
Reported by Dan Stahlke in #3421755.
- Unblock linuxcounter.net/.
Reported by Dan Stahlke in #3422612.
- Block 'www91.intel.com/' which is used by Omniture.
Reported by Adam Piggott in #3167370.
- Disable the handle-as-empty-doc-returns-ok option and mark it as deprecated.
Reminded by tceverling in #2790091.
- Add ".ivwbox.de/" to the "Cross-site user tracking" section.
Reported by Nettozahler in #3172525.
- Unblock and fast-redirect ".awin1.com/.*=http://".
Reported by Adam Piggott in #3170921.
- Block "b.collective-media.net/".
- Widen the Debian popcon exception to "qa.debian.org/popcon".
Seen in Debian's 05_default_action.dpatch by Roland Rosenfeld.
- Block ".gemius.pl/" which only seems to be used for user tracking.
Reported by johnd16 in #3002731. Additional input from Lee and movax.
- Disable banners-by-size filters for '.thinkgeek.com/'.
The filter only seems to catch pictures of the inventory.
- Block requests for 'go.idmnet.bbelements.com/please/showit/'.
Reported by kacperdominik in #3372959.
- Unblock adainitiative.org/.
- Add a fast-redirects exception for '.googleusercontent.com/.*=cache'.
- Add a fast-redirects exception for webcache.googleusercontent.com/.
- Unblock http://adassier.wordpress.com/ and http://adassier.files.wordpress.com/.
- Filter file improvements:
- Let the yahoo filter hide '.ads'.
- Let the msn filter hide overlay ads for Facebook 'likes' in search
results and elements with the id 's_notf_div'. They only seem to be
used to advertise site 'enhancements'.
- Let the js-events filter additionally disarm setInterval().
Suggested by dg1727 in #3423775.
- Documentation improvements:
- Clarify the effect of compiling Privoxy with zlib support.
Suggested by dg1727 in #3423782.
- Point out that the SourceForge messaging system works like a black
hole and should thus not be used to contact individual developers.
- Mention some of the problems one can experience when not explicitly
configuring an IP addresses as listen address.
- 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.
- Remove a superfluous log message in forget_connection().
- In chat(), properly report missing server responses as such
instead of calling them empty.
- In forwarded_connect(), fix a log message nobody should ever see.
- Fix a log message in socks5_connect(), a failed write operation
was logged as failed read operation.
- Let load_one_actions_file() properly complain about a missing
'{' at the beginning of the file.
Simply stating that a line is invalid isn't particularly helpful.
- Do not claim to listen on a socket until Privoxy actually does.
Patch submitted by Petr Pisar #3354485
- Prevent a duplicated LOG_LEVEL_CLF message when sending out
the "no-server-data" response.
- Also log the client socket when dropping a connection.
- Include the destination host in the 'Request ... marked for
blocking. limit-connect{...} doesn't allow CONNECT ...' message
Patch submitted by Saperski in #3296250.
- Prevent a duplicated log message if none of the resolved IP
addresses were reachable.
- In connect_to(), do not pretend to retry if forwarded-connect-retries
is zero or unset.
- When a specified user or group can't be found, put the name in
single-quotes when logging it.
- In rfc2553_connect_to(), explain getnameinfo() errors better.
- Remove a useless log message in chat().
- When retrying to connect, also log the maximum number of connection
attempts.
- 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 a fatal error message in load_one_actions_file(), cover both
URL and TAG patterns.
- In pcrs_strerror(), properly report unknown positive error code
values as such. Previously they were handled like 0 (no error).
- In compile_dynamic_pcrs_job_list(), also log the actual error code as
pcrs_strerror() doesn't handle all errors reported by pcre.
- Don't bother trying to continue chatting if the client didn't ask for it.
Reduces log noise a bit.
- Make two fatal error message in load_one_actions_file() more descriptive.
- In cgi_send_user_manual(), log when rejecting a file name due to '/' or '..'.
- In load_file(), log a message if opening a file failed.
The CGI error message alone isn't too helpful.
- In connection_destination_matches(), improve two log messages
to help understand why the destinations don't match.
- Rephrase a log message in serve(). Client request arrival
should be differentiated from closed client connections now.
- In serve(), log if a client connection isn't reused due to a
configuration file change.
- Let mark_server_socket_tainted() always mark the server socket tainted,
just don't talk about it in cases where it has no effect. It doesn't change
Privoxy's behaviour, but makes understanding the log file easier.
- configure:
- Added a --disable-ipv6-support switch for platforms where support
is detected but doesn't actually work.
- Do not check for the existence of strerror() and memmove() twice
- Remove a useless test for setpgrp(2). Privoxy doesn't need it and
it can cause problems when cross-compiling.
- Rename the --disable-acl-files switch to --disable-acl-support.
Since about 2001, ACL directives are specified in the standard
config file.
- Update the URL of the 'Removing outdated PCRE version after the
next stable release' posting. The old URL stopped working after
one of SF's recent site "optimizations". Reported by Han Liu.
- Privoxy-Regression-Test:
- 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 tests for missing socks4 and socks4a forwarders.
- The --privoxy-address option now works with IPv6 addresses containing brackets, too.
- Perform limited sanity checks for parameters that are supposed to have numerical values.
- Added a --sleep-time option to specify a number of seconds to
sleep between tests, defaults to 0.
- Disable the range-requests tagger for tests that break if it's enabled.
- Log messages use the ISO 8601 date format %Y-%m-%d.
- Fix spelling in two error messages.
- In the --help output, include a list of supported tests and their default levels.
- Adjust the tests to properly deal with FEATURE_TOGGLE being disabled.
- Privoxy-Log-Parser:
- Perform limited sanity checks for command line parameters that
are supposed to have numerical values.
- Implement a --unbreak-lines-only option to try to revert MUA breakage.
- Accept and highlight: Added header: Content-Encoding: deflate
- Accept and highlight: Compressed content from 29258 to 8630 bytes.
- Accept and highlight: Client request arrived in time on socket 21.
- Highlight: Didn't receive data in time: a.fsdn.com:443
- Accept log messages with ISO 8601 time stamps, too.
- uagen:
- 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.
*** Version 3.0.17 Stable ***
- Fixed last-chunk-detection for responses where the body was small
enough to be read with the headers, causing Privoxy to wait for the
end of the content until the server closed the connection or the
request timed out. Reported by "Karsten" in #3028326.
- Responses with status code 204 weren't properly detected as body-less
like RFC2616 mandates. Like the previous bug, this caused Privoxy to
wait for the end of the content until the server closed the connection
or the request timed out. Fixes #3022042 and #3025553, reported by a
user with no visible name. Most likely also fixes a bunch of other
AJAX-related problem reports that got closed in the past due to
insufficient information and lack of feedback.
- Fixed an ACL bug that made it impossible to build a blacklist.
Usually the ACL directives are used in a whitelist, which worked
as expected, but blacklisting is still useful for public proxies
where one only needs to deny known abusers access.
- Added LOG_LEVEL_RECEIVED to log the not-yet-parsed data read from the
network. This should make debugging various parsing issues a lot easier.
- The IPv6 code is enabled by default on Windows versions that support it.
Patch submitted by oCameLo in #2942729.
- In mingw32 versions, the user.filter file is reachable through the
GUI, just like default.filter is. Feature request 3040263.
- Added the configure option --enable-large-file-support to set a few
defines that are required by platforms like GNU/Linux to support files
larger then 2GB. Mainly interesting for users without proper logfile
management.
- Logging with "debug 16" no longer stops at the first nul byte which is
pretty useless. Non-printable characters are replaced with their hex value
so the result can't span multiple lines making parsing them harder then
necessary.
- Privoxy logs when reading an action, filter or trust file.
- Fixed incorrect regression test markup which caused a test in
3.0.16 to fail while Privoxy itself was working correctly.
While Privoxy accepts hide-referer, too, the action name is actually
hide-referrer which is also the name used one the final results page,
where the test expected the alias.
- CGI interface improvements:
- In finish_http_response(), continue to add the 'Connection: close'
header if the client connection will not be kept alive.
Anonymously pointed out in #2987454.
- Apostrophes in block messages no longer cause parse errors
when the blocked page is viewed with JavaScript enabled.
Reported by dg1727 in #3062296.
- Fix a bunch of anchors that used underscores instead of dashes.
- Allow to keep the client connection alive after crunching the previous request.
Already opened server connections can be kept alive, too.
- In cgi_show_url_info(), don't forget to prefix URLs that only contain
http:// or https:// in the path. Fixes #2975765 reported by Adam Piggott.
- Show the 404 CGI page if cgi_send_user_manual() is called while
local user manual delivery is disabled.
- Action file improvements:
- Enable user.filter by default. Suggested by David White in #3001830.
- Block .sitestat.com/. Reported by johnd16 in #3002725.
- Block .atemda.com/. Reported by johnd16 in #3002723.
- Block js.adlink.net/. Reported by johnd16 in #3002720.
- Block .analytics.yahoo.com/. Reported by johnd16 in #3002713.
- Block sb.scorecardresearch.com, too. Reported by dg1727 in #2992652.
- Fix problems noticed on Yahoo mail and news pages.
- Remove the too broad yahoo section, only keeping the
fast-redirects exception as discussed on ijbswa-devel@.
- Don't block adesklets.sourceforge.net. Reported in #2974204.
- Block chartbeat ping tracking. Reported in #2975895.
- Tag CSS and image requests with cautious and medium settings, too.
- Don't handle view.atdmt.com as image. It's used for click-throughs
so users should be able to "go there anyway".
Reported by Adam Piggott in #2975927.
- Also let the refresh-tags filter remove invalid refresh tags where
the 'url=' part is missing. Anonymously reported in #2986382.
While at it, update the description to mention the fact that only
refresh tags with refresh times above 9 seconds are covered.
- javascript needs to be blocked with +handle-as-empty-document to
work around Firefox bug 492459. So move .js blockers from
+block{Might be a web-bug.} -handle-as-empty-document to
+block{Might be a web-bug.} +handle-as-empty-document.
- ijbswa-Feature Requests-3006719 - Block 160x578 Banners.
- Block another omniture tracking domain.
- Added a range-requests tagger.
- Added two sections to get Flickr's Ajax interface working with
default pre-settings. If you change the configuration to block
cookies by default, you'll need additional exceptions.
Reported by Mathias Homann in #3101419 and by Patrick on ijbswa-users@.
- Documentation improvements:
- Explicitly mention how to match all URLs.
- Consistently recommend socks5 in the Tor FAQ entry and mention
its advantage compared to socks4a. Reported by David in #2960129.
- Slightly improve the explanation of why filtering may appear
slower than it is.
- Grammar fixes for the ACL section.
- Fixed a link to the 'intercepting' entry and add another one.
- Rename the 'Other' section to 'Mailing Lists' and reword it
to make it clear that nobody is forced to use the trackers
- Note that 'anonymously' posting on the trackers may not always
be possible.
- Suggest to enable debug 32768 when suspecting parsing problems.
- Privoxy-Log-Parser improvements:
- Gather statistics for ressources, methods, and HTTP versions
used by the client.
- Also gather statistics for blocked and redirected requests.
- Provide the percentage of keep-alive offers the client accepted.
- Add a --url-statistics-threshold option.
- Add a --host-statistics-threshold option to also gather
statistics about how many request where made per host.
- Fix a bug in handle_loglevel_header() where a 'scan: ' got lost.
- Add a --shorten-thread-ids option to replace the thread id with
a decimal number.
- Accept and ignore: Looks like we got the last chunk together
with the server headers. We better stop reading.
- Accept and ignore: Continue hack in da house.
- Accept and higlight: Rejecting connection from 10.0.0.2.
Maximum number of connections reached.
- Accept and highlight: Loading actions file: /usr/local/etc/privoxy/default.action
- Accept and highlight: Loading filter file: /usr/local/etc/privoxy/default.filter
- Accept and highlight: Killed all-caps Host header line: HOST: bestproxydb.com
- Accept and highlight: Reducing expected bytes to 0. Marking
the server socket tainted after throwing 4 bytes away.
- Accept: Merged multiple header lines to: 'X-FORWARDED-PROTO: http X-HOST: 127.0.0.1'
- Code cleanups:
- Remove the next member from the client_state struct. Only the main
thread needs access to all client states so give it its own struct.
- Garbage-collect request_contains_null_bytes().
- Ditch redundant code in unload_configfile().
- Ditch LogGetURLUnderCursor() which doesn't seem to be used anywhere.
- In write_socket(), remove the write-only variable write_len in
an ifdef __OS2__ block. Spotted by cppcheck.
- In connect_to(), don't declare the variable 'flags' on OS/2 where
it isn't used. Spotted by cppcheck.
- Limit the scope of various variables. Spotted by cppcheck.
- In add_to_iob(), turn an interestingly looking for loop into a
boring while loop.
- Code cleanup in preparation for external filters.
- In listen_loop(), mention the socket on which we accepted the
connection, not just the source IP address.
- In write_socket(), also log the socket we're writing to.
- In log_error(), assert that escaped characters get logged
completely or not at all.
- In log_error(), assert that ival and sval have reasonable values.
There's no reason not to abort() if they don't.
- Remove an incorrect cgi_error_unknown() call in a
cannot-happen-situation in send_crunch_response().
- Clean up white-space in http_response definition and
move the crunch_reason to the beginning.
- Turn http_response.reason into an enum and rename it
to http_response.crunch_reason.
- Silence a 'gcc (Debian 4.3.2-1.1) 4.3.2' warning on i686 GNU/Linux.
- Fix white-space in a log message in remove_chunked_transfer_coding().
While at it, add a note that the message doesn't seem to
be entirely correct and should be improved later on.
- GNUmakefile improvements:
- Use $(SSH) instead of ssh, so one only needs to specify a username once.
- Removed references to the action feedback thingy that hasn't been
working for years.
- Consistently use shell.sourceforge.net instead of shell.sf.net so
one doesn't need to check server fingerprints twice.
- Removed GNUisms in the webserver and webactions targets so they
work with standard tar.
*** Version 3.0.16 Stable ***
- Added the config file option handle-as-empty-doc-returns-ok to
work around Firefox bug #492459, which causes Firefox to hang
if JavaScripts are blocked in certain situations. The option is
enabled in the default config file.
- Added the config file option default-server-timeout to control the
assumed default server timeout. Since Privoxy no longer returns
an error message for connection resets on reused client connections,
assuming larger server timeout values appears to actually work
pretty well as long as connections aren't shared.
- Added optional support for FreeBSD's accf_http(9). Use the
configure option --enable-accept-filter to enable it.
- Added fancier Privoxy icons for win32. Contributed by Jeff H.
- In daemon mode, fd 0, 1 and 2 are bound to /dev/null.
- Resolve localhost using whatever address family the operating
system feels like. Previous betas would try to use IPv4 as this
is what most users expect, but this didn't work reliably on
GNU/Linux systems.
- In the action lists on CGI pages, actions and their parameters are
no longer separated with a space. The action file parser doesn't
actually allow this and will throw an invalid syntax error if actions
and parameters in the action files are separated. Not adding the
spaces means copy and pasting CGI output into the action files works.
- The default keep-alive timeout has been reduced to 5 seconds to work
around hangs in clients that treat the proxy like any other host and
stop allowing any new connections if the "maximum number of
connections per host" is reached.
- Several webbug URLs that look like they are leading to images are now
blocked as image instead of empty documents. Doing the latter causes
WebKit-based clients to show a "missing image" icon which may mess up
the layout.
- The no-such-domain template is used for DNS resolution
problems with FEATURE_IPV6_SUPPORT enabled. Previously the
connect-failed template was used. Reported by 'zebul666'.
- Accepts quoted expiration dates even though RFC 2109 10.1.2
doesn't seem to allow them. Reported anonymously.
- Don't try to forget connections if connection sharing is disabled.
This wasn't a real problem but caused an unnecessary log message.
- The still undocumented --enable-extended-host-patterns configure
option has a better description.
- Fixed an error message that would claim a write to the server
failed when actually writing to the client failed.
- Log the crunch reason before trying to write to the client.
The log is easier to read that way.
- Several log messages about client connections also mention
the socket number.
- handle-as-empty-document no longer depends on the image blocking
code being enabled.
- Privoxy-Log-Parser is roughly 40% faster in highlighting mode.
- uagen, a Firefox User-Agent generator for Privoxy and Mozilla
browsers has been imported and is available in the tarball's
tools directory.
- The scripts in the tools directory treat unknown parameters
as fatal errors.
*** Version 3.0.15 Beta ***
- In case of missing server data, no error message is send to the
client if the request arrived on a reused connection. The client
is then supposed to silently retry the request without bothering
the user. This should significantly reduce the frequency of the
"No server or forwarder data received" error message many users
reported.
- More reliable detection of prematurely closed client sockets
with keep-alive enabled.
- FEATURE_CONNECTION_KEEP_ALIVE is decoupled from
FEATURE_CONNECTION_SHARING and now available on
all platforms.
- Improved handling of POST requests on reused connections.
Should fix problems with stalled connections after submitting
form data with some browser configurations.
- Fixed various latency calculation issues.
- Allows the client to pass NTLM authentication requests to a
forwarding proxy. This was already assumed and hinted to work
in 3.0.13 beta but actually didn't. Now it's confirmed to work
with IE, Firefox and Chrome.
Thanks to Francois Botha and Wan-Teh Chang
- Fixed a calculation problem if receiving the server headers
takes more than two reads, that could cause Privoxy to terminate
the connection prematurely. Reported by Oliver.
- Compiles again on platforms such as OpenBSD and systems
using earlier glibc version that don't support AI_ADDRCONFIG.
Anonymously submitted in #2872591.
- A bunch of MS VC project files and Suse and Redhat RPM spec
files have been removed as they were no longer maintained for
quite some time.
- Overly long action lines are properly rejected with a proper
error message. Previously they would be either rejected as
invalid or cause a core dump through abort().
- Already timed-out connections are no longer temporarily remembered.
They weren't reused anyway, but wasted a socket slot.
- len refers to the number of bytes actually read which might
differ from the ones received. Adjust log messages accordingly.
- The optional JavaScript on the CGI page uses encodeURIComponent()
instead of escape() which doesn't encode all characters that matter.
Anonymously reported in #2832722.
- Fix gcc45 warnings in decompress_iob().
- Various log message improvements.
- Privoxy-Regression-Test supports redirect tests.
- Privoxy-Log-Parser can gather some connection statistics.
*** Version 3.0.14 Beta ***
- The latency is taken into account when evaluating whether or not to
reuse a connection. This should significantly reduce the number of
connections problems several users reported.
- If the server doesn't specify how long the connection stays alive,
Privoxy errs on the safe side of caution and assumes it's only a second.
- The error pages for connection timeouts or missing server data use a
Last-Modified date in the past. Retry attempts are detected and Privoxy
removes the If-Modified-Since header to prevent the server from responding
with status code 304 in which case the client would reuse the error message.
- Setting keep-alive-timeout to 0 disables keep-alive support. Previously
Privoxy would claim to allow persistence but not reuse the connection.
- Pipelined requests are less likely to be mistaken for the request
body of the previous request. Note that Privoxy still has no real
pipeline support and will either serialize pipelined requests or
drop them in which case the client has to resent them.
- Fixed a crash on some Windows versions when header randomization
is enabled and the date couldn't be parsed.
- Privoxy's keep-alive timeout for the current connection is reduced
to the one specified in the client's Keep-Alive header.
- For HTTP/1.1 requests, Privoxy implies keep-alive support by not
setting any Connection header instead of using 'Connection: keep-alive'.
- If the socket isn't reusable, Privoxy doesn't temporarily waste
a socket slot to remember the connection.
- If keep-alive support is disabled but compiled in, the client's
Keep-Alive header is removed.
- Fixed a bug on mingw32 where downloading large files failed if
keep-alive support was enabled.
- Fixed a bug that (at least theoretically) could cause log
timestamps to be occasionally off by about a second.
- No Proxy-Connection header if added if there already is one.
- The configure script respects the $PATH variable when searching
for groups and id.
*** Version 3.0.13 Beta ***
- Added IPv6 support. Thanks to Petr Pisar who not only provided
the initial patch but also helped a lot with the integration.
- Added client-side keep-alive support.
- The connection sharing code is only used if the connection-sharing
option is enabled.
- The max-client-connections option has been added to restrict
the number of client connections below a value enforced by
the operating system.
- Fixed a regression reintroduced in 3.0.12 that could cause
crashes on mingw32 if header date randomization was enabled.
- Compressed content with extra fields couldn't be decompressed
and would get passed to the client unfiltered. This problem
has only be detected through statical analysis with clang as
nobody seems to be using extra fields anyway.
- If the server resets the Connection after sending only the headers
Privoxy forwards what it got to the client. Previously Privoxy
would deliver an error message instead.
- Error messages in case of connection timeouts use the right
HTTP status code.
- If spawning a child to handle a request fails, the client
gets an error message and Privoxy continues to listen for
new requests right away.
- The error messages in case of server-connection timeouts or
prematurely closed server connections are now template-based.
- If zlib support isn't compiled in, Privoxy no longer tries to
filter compressed content unless explicitly asked to do so.
- In case of connections that are denied based on ACL directives,
the memory used for the client IP is no longer leaked.
- Fixed another small memory leak if the client request times out
while waiting for client headers other than the request line.
- The client socket is kept open until the server socket has
been marked as unused. This should increase the chances that
the still-open connection will be reused for the client's next
request to the same destination. Note that this only matters
if connection-sharing is enabled.
- A TODO list has been added to the source tarball to give potential
volunteers a better idea of what the current goals are. Donations
are still welcome too: http://www.privoxy.org/faq/general.html#DONATE
*** Version 3.0.12 ***
- The socket-timeout option now also works on platforms whose - The socket-timeout option now also works on platforms whose
select() implementation modifies the timeout structure. select() implementation modifies the timeout structure.
@ -36,7 +742,7 @@ ChangeLog for Privoxy
skip reason. skip reason.
*** Version 3.0.11 *** *** Version 3.0.11 ***
- On most platforms, outgoing connections can be kept alive and - On most platforms, outgoing connections can be kept alive and
reused if the server supports it. Whether or not this improves reused if the server supports it. Whether or not this improves
things depends on the connection. things depends on the connection.
@ -251,7 +957,7 @@ ChangeLog for Privoxy
forbidden characters like dots. forbidden characters like dots.
- New trust entries are saved with a comment that contains the - New trust entries are saved with a comment that contains the
trusted referring URL (Suggested by Daniel Griscom). trusted referring URL (Suggested by Daniel Griscom).
- Filter descriptions are HTML encoded automatically. - Filter descriptions are HTML encoded automatically.
- New config option "split-large-forms" to work - New config option "split-large-forms" to work
around a browser bug that caused IE6 and IE7 to ignore around a browser bug that caused IE6 and IE7 to ignore
the Submit button on the edit-actions-for-url CGI page. the Submit button on the edit-actions-for-url CGI page.
@ -290,11 +996,11 @@ ChangeLog for Privoxy
Privoxy detection "attack". Note that detecting Privoxy is Privoxy detection "attack". Note that detecting Privoxy is
still possible through other ways and Privoxy was never intended still possible through other ways and Privoxy was never intended
to be invisible anyway. to be invisible anyway.
- Added support for AmigaOS 4, fixed build for AmigaOS 3.x. - Added support for AmigaOS 4, fixed build for AmigaOS 3.x.
- The show-url-info CGI page displays a warning if Privoxy - The show-url-info CGI page displays a warning if Privoxy
is currently toggled off. is currently toggled off.
- The show-status CGI page suppresses the edit button - The show-status CGI page suppresses the edit button
for action files if Privoxy has no write access. for action files if Privoxy has no write access.
- Most CGI error pages react properly to HEAD requests. - Most CGI error pages react properly to HEAD requests.
- Requests with RFC 3253 HTTP methods (used by Subversion) - Requests with RFC 3253 HTTP methods (used by Subversion)
are accepted. (Patch provided by Petr Kadlec) are accepted. (Patch provided by Petr Kadlec)
@ -369,18 +1075,18 @@ ChangeLog for Privoxy
- Improved the filters img-reorder, js-annoyances, webbugs, - Improved the filters img-reorder, js-annoyances, webbugs,
banners-by-size, banners-by-link and ie-exploits to make them banners-by-size, banners-by-link and ie-exploits to make them
less likely to break anything. less likely to break anything.
- Removed outdated URL patterns in default.action and added new ones. - Removed outdated URL patterns in default.action and added new ones.
- Added redirection from http://p.p/user-manual to http://p.p/user-manual/ - Added redirection from http://p.p/user-manual to http://p.p/user-manual/
- Changed webinterface default values for hide-user-agent, hide-referrer - Changed webinterface default values for hide-user-agent, hide-referrer
and set-image-blocker. and set-image-blocker.
*** Version 3.0.5 Beta *** *** Version 3.0.5 Beta ***
- Windows version can be installed/started as a service. - Windows version can be installed/started as a service.
- Windows icon stays blue when Privoxy is idle, green when busy. - Windows icon stays blue when Privoxy is idle, green when busy.
- Integrated Fabian Keil's extensive patch. See: - Integrated Fabian Keil's extensive patch. See:
http://www.fabiankeil.de/sourcecode/privoxy/. Includes the http://www.fabiankeil.de/sourcecode/privoxy/. Includes the
following new or significantly improved actions (among many following new or significantly improved actions (among many
other improvements): other improvements):
content-type-overwrite{} content-type-overwrite{}
@ -408,17 +1114,17 @@ ChangeLog for Privoxy
- Added jpeg filtering to defend against MS jpeg vulnerability MS04-028 - Added jpeg filtering to defend against MS jpeg vulnerability MS04-028
with the new inspect-jpegs action. with the new inspect-jpegs action.
- Removed the "arbitrary" 1000 filter limit - addresses tracker #911950 - Removed the "arbitrary" 1000 filter limit - addresses tracker #911950
- Thanks to Jindrich Makovicka for a race condition fix for the log - Thanks to Jindrich Makovicka for a race condition fix for the log
file. The race condition remains for non-pthread implementations. file. The race condition remains for non-pthread implementations.
Reference patch #1175720. Various other logging enhancements. Reference patch #1175720. Various other logging enhancements.
- A pile of assorted bug fixes, memory leaks, enhancements, etc. - A pile of assorted bug fixes, memory leaks, enhancements, etc.
- Moved Actions file reporting mechanism to SF tracker. - Moved Actions file reporting mechanism to SF tracker.
- Two new options for config: enable-remote-http-toggle and - Two new options for config: enable-remote-http-toggle and
forwarded-connect-retries. forwarded-connect-retries.
- Trap unsupported FTP requests. - Trap unsupported FTP requests.
- Let text/xml be filtered. - Let text/xml be filtered.
- Numerous updates to default.action - Numerous updates to default.action
- Increase the compiled in limit of trusted referrers from 64 to 512 - Increase the compiled in limit of trusted referrers from 64 to 512
(for trustfile users). (for trustfile users).
*** Version 3.0.3 *** *** Version 3.0.3 ***
@ -435,15 +1141,15 @@ ChangeLog for Privoxy
- Workarounds for client (iTunes etc) and server (PHP < 4.2.3) bugs - Workarounds for client (iTunes etc) and server (PHP < 4.2.3) bugs
including the notorious "blank page" problem. including the notorious "blank page" problem.
- Various filter improvements; most notably the unsolicited-popups - Various filter improvements; most notably the unsolicited-popups
filter became less destructive filter became less destructive
- Major revamp of the actions file - Major revamp of the actions file
*** Version 3.0.2 *** *** Version 3.0.2 ***
- Fixed two memory leaks, one serious - Fixed two memory leaks, one serious
- Fixed bug in pcrs which could cause crashes with user-defined filters - Fixed bug in pcrs which could cause crashes with user-defined filters
- Fixed bug in domain name matching - Fixed bug in domain name matching
- Assorted small fixes (Win32 menu, CGI URL editor, ..) - Assorted small fixes (Win32 menu, CGI URL editor, ..)
- Added basic support for the OPTIONS and TRACE http methods - Added basic support for the OPTIONS and TRACE http methods
- Added workaround for Bug in Mac OSX that made Privoxy crash occasionally - Added workaround for Bug in Mac OSX that made Privoxy crash occasionally
- Refined the default action file through >400 items of user feedback - Refined the default action file through >400 items of user feedback
@ -454,7 +1160,7 @@ ChangeLog for Privoxy
- Replaced filter "popups" by choice between two modes: - Replaced filter "popups" by choice between two modes:
- "unsolicited-popups" tries to catch only the unsolicited ones - "unsolicited-popups" tries to catch only the unsolicited ones
- "all-popups" tries to kill them all (as before) - "all-popups" tries to kill them all (as before)
- New filter "tiny-textforms" Help those tiny or hard-wrap textareas. - New filter "tiny-textforms" Help those tiny or hard-wrap textareas.
- New filter "jumping-windows" that prevents windows from resizing - New filter "jumping-windows" that prevents windows from resizing
and moving themselves and moving themselves
- New filter "demoronizer" which fixes MS's abuse of std charsets - New filter "demoronizer" which fixes MS's abuse of std charsets
@ -478,7 +1184,7 @@ ChangeLog for Privoxy
- Added quicktime-kioskmode filter and improved frameset-borders - Added quicktime-kioskmode filter and improved frameset-borders
- Updated default.action based on latest feedback - Updated default.action based on latest feedback
- New PDF doc build process - New PDF doc build process
- Add a user contrib module to cvs: - Add a user contrib module to cvs:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/ http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/
*** Version 2.9.18 *** *** Version 2.9.18 ***
@ -488,7 +1194,7 @@ ChangeLog for Privoxy
- Three filters fixed (again!) - Three filters fixed (again!)
- Assorted small fixes and doc enhancements - Assorted small fixes and doc enhancements
*** Version 2.9.16 *** *** Version 2.9.16 ***
- Major revamp of default.action to get rid of years of cruft. - Major revamp of default.action to get rid of years of cruft.
- Same for default.filter - Same for default.filter
@ -500,11 +1206,11 @@ ChangeLog for Privoxy
- user-manual directive added to config for help links from within CGI - user-manual directive added to config for help links from within CGI
editor. editor.
- Multiple actions files can now be specified in config. - Multiple actions files can now be specified in config.
- Actions files are changed to: default.action, standard.action, and - Actions files are changed to: default.action, standard.action, and
user.action. user.action is for personal/local configuration. user.action. user.action is for personal/local configuration.
- The usual many small and miscellaneous bug and security fixes. - The usual many small and miscellaneous bug and security fixes.
*** Version 2.9.14 Beta *** *** Version 2.9.14 Beta ***
- Fix Solaris compile problem (gateway.h and filters.h) - Fix Solaris compile problem (gateway.h and filters.h)
- Makefile fixes for Solaris, FreeBSD (?) - Makefile fixes for Solaris, FreeBSD (?)
@ -518,30 +1224,30 @@ ChangeLog for Privoxy
- #include mechansim for common text in templates - #include mechansim for common text in templates
- Various other minor fixes. - Various other minor fixes.
*** Version 2.9.13 Beta *** *** Version 2.9.13 Beta ***
- *NEWS*: The project has been renamed to Privoxy! The new name is - *NEWS*: The project has been renamed to Privoxy! The new name is
reflected throughout (file locations, etc). reflected throughout (file locations, etc).
- ijb.action is now default.action. re_filterfile is now - ijb.action is now default.action. re_filterfile is now
default.filter. default.filter.
- http://i.j.b/ is now http://p.p/ - http://i.j.b/ is now http://p.p/
- The 'logo' option for replacing ad iamges is removed now. 'Pattern' - The 'logo' option for replacing ad iamges is removed now. 'Pattern'
(checkerboard) is now the default. (checkerboard) is now the default.
- RPM spec file make over. - RPM spec file make over.
*** Version 2.9.12 Beta *** *** Version 2.9.12 Beta ***
- **READ**: The default listening PORT is NOW 8118!!! Changed from - **READ**: The default listening PORT is NOW 8118!!! Changed from
8000 due to conflict with NAS (Network Audio Server, whatever that 8000 due to conflict with NAS (Network Audio Server, whatever that
is.) is.)
- More CGI actions editor fixes and improvements. - More CGI actions editor fixes and improvements.
- Win32 command line fix ups. - Win32 command line fix ups.
- re_filterfile now has modular sections that can be activated on a - re_filterfile now has modular sections that can be activated on a
per site basis. Some new goodies there too. per site basis. Some new goodies there too.
- +filter now takes arguments to match FILTER sections in re_filterfile - +filter now takes arguments to match FILTER sections in re_filterfile
for even more flexibility. for even more flexibility.
- Added a new image blocker option: +image-blocker{pattern}, which - Added a new image blocker option: +image-blocker{pattern}, which
displays a checkerboard patthern and scales better than the logo. displays a checkerboard patthern and scales better than the logo.
- PNG images will be used in place of GIF for JB built-in images - PNG images will be used in place of GIF for JB built-in images
if configured with --enable-no-gif. if configured with --enable-no-gif.
@ -554,14 +1260,14 @@ ChangeLog for Privoxy
- CGI Editor works on OS/2 now. - CGI Editor works on OS/2 now.
- Fix restart failure where sockets were in TIME_WAIT. - Fix restart failure where sockets were in TIME_WAIT.
- Fixes for actions cgi editor, make sure we have right file. - Fixes for actions cgi editor, make sure we have right file.
- A --pidfile command line option now, in addition to --help, - A --pidfile command line option now, in addition to --help,
--version, --no-daemon, --user and configfile. --no-daemon replaces --version, --no-daemon, --user and configfile. --no-daemon replaces
the former -d option and _DEBUG define. --user will drop privileges the former -d option and _DEBUG define. --user will drop privileges
to the specified user. to the specified user.
- Signal handling cleanups (*nix). - Signal handling cleanups (*nix).
- CGI actions editor improvements and fixes. - CGI actions editor improvements and fixes.
- Error handling improvements, especially out of memory. - Error handling improvements, especially out of memory.
- Default re_filterfile fix that caused spurious IJB logos - Default re_filterfile fix that caused spurious IJB logos
(instead of 'blank'). (instead of 'blank').
- configure.in threading fixes for Solaris. - configure.in threading fixes for Solaris.
- Various other minor fixes. - Various other minor fixes.
@ -569,14 +1275,14 @@ ChangeLog for Privoxy
*** Version 2.9.11 Beta Changes *** *** Version 2.9.11 Beta Changes ***
- Add "session" cookie concept where cookies exist for the life - Add "session" cookie concept where cookies exist for the life
of that browser session only (ie never goes to disk). of that browser session only (ie never goes to disk).
- Checks for correct header length. - Checks for correct header length.
- Fix user:pass@host.domain.com auth bug. - Fix user:pass@host.domain.com auth bug.
- Better signal handling on *nix. - Better signal handling on *nix.
- Fix CFLAGS hard-coded in configure.in - Fix CFLAGS hard-coded in configure.in
- Fix threading bug re: gethostbyname() that caused random - Fix threading bug re: gethostbyname() that caused random
URLs to fail in some cases. URLs to fail in some cases.
*** Version 2.9.11 Alpha Changes *** *** Version 2.9.11 Alpha Changes ***
@ -616,7 +1322,7 @@ The only other URLs left are the GNU GPL:
and the home page: and the home page:
http://ijbswa.sourceforge.net/ http://ijbswa.sourceforge.net/
... and various URLs which will be intercepted by Junkbuster anyway. ... and various URLs which will be intercepted by Junkbuster anyway.
TODO: Still need to do something with the URLs in Junkbuster Corp's TODO: Still need to do something with the URLs in Junkbuster Corp's
copyright/trademark notice on the bottom of the show-proxy-args page. copyright/trademark notice on the bottom of the show-proxy-args page.
- PCRE or GNU Regex is now a #define option. - PCRE or GNU Regex is now a #define option.
@ -640,7 +1346,7 @@ parsers.c (again). They obviously got lost in our current
patch war ;-) patch war ;-)
- Cut the credit for the §-referrer-option from the config file, - Cut the credit for the §-referrer-option from the config file,
that Stefan had placed there. that Stefan had placed there.
- Improved the re_filterfile - Improved the re_filterfile
*** Version 2.9.0 pre-Alpha Changes *** *** Version 2.9.0 pre-Alpha Changes ***
@ -648,9 +1354,9 @@ that Stefan had placed there.
- Now use PCRE, not GNU REGEX. I have not yet had chance to check the - Now use PCRE, not GNU REGEX. I have not yet had chance to check the
syntax of the block/image/cookie file to ensure that they match what syntax of the block/image/cookie file to ensure that they match what
is expected - however they seem to work. is expected - however they seem to work.
- Replaced "configure" script with one generated by "autoconf". Also - Replaced "configure" script with one generated by "autoconf". Also
use a header "config.h" (was ijbconfig.h in my previous release) for use a header "config.h" (was ijbconfig.h in my previous release) for
the #defines. "config.h" is now generated with "autoheader" from the #defines. "config.h" is now generated with "autoheader" from
"acconfig.h" and "configure.in". (Note that to install you do not "acconfig.h" and "configure.in". (Note that to install you do not
need autoconf or autoheader - just run "./configure".) need autoconf or autoheader - just run "./configure".)
To see command-line options, run "./configure --help". To see command-line options, run "./configure --help".
@ -663,7 +1369,7 @@ apply all of these, since I had already independently done conditional
popup file, conditional image file, and integration of popup code. popup file, conditional image file, and integration of popup code.
- ACL, Jar and trust files conditionally compiled. - ACL, Jar and trust files conditionally compiled.
- New source file headers. - New source file headers.
- Various cosmetic changes. (But I have not consistently ordered the - Various cosmetic changes. (But I have not consistently ordered the
config files - I think that's worthwhile, but it's 1am and I want to config files - I think that's worthwhile, but it's 1am and I want to
get this released!) get this released!)
- RCS tags on .h files. - RCS tags on .h files.
@ -689,16 +1395,15 @@ being a mix of "U.S. English", "U.K. English" and "Irish English".
- Version number changes to 2.9.0 - Version number changes to 2.9.0
---------------------------------------------------------------------- ----------------------------------------------------------------------
Copyright : Written by and Copyright (C) 2001-2008 the SourceForge Copyright : Written by and Copyright (C) 2001-2010 the
Privoxy team. http://www.privoxy.org/ Privoxy team. http://www.privoxy.org/
Based on the Internet Junkbuster originally written Based on the Internet Junkbuster originally written
by and Copyright (C) 1997 Anonymous Coders and by and Copyright (C) 1997 Anonymous Coders and
Junkbusters Corporation. http://www.junkbusters.com/ Junkbusters Corporation. http://www.junkbusters.com/
This program is free software; you can redistribute it This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General and/or modify it under the terms of the GNU General
Public License as published by the Free Software Public License as published by the Free Software
Foundation; either version 2 of the License, or (at Foundation; either version 2 of the License, or (at

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,10 +8,10 @@
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -26,8 +26,8 @@
* The GNU General Public License should be included with * The GNU General Public License should be included with
* this file. If not, you can view it at * this file. If not, you can view it at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or write to the Free Software Foundation, Inc., * or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA * USA
* *
*********************************************************************/ *********************************************************************/
@ -40,9 +40,8 @@ compiler like gcc are required.
When building from a source tarball, first unpack the source: When building from a source tarball, first unpack the source:
tar xzvf privoxy-3.0.12-stable-src.tar.gz tar xzvf privoxy-3.0.19-stable-src.tar.gz
cd privoxy-3.0.12-stable cd privoxy-3.0.19-stable
For retrieving the current CVS sources, you'll need a CVS client installed. For retrieving the current CVS sources, you'll need a CVS client installed.
Note that sources from CVS are typically development quality, and may not be Note that sources from CVS are typically development quality, and may not be
@ -53,7 +52,6 @@ documentation, which might give commands like:
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
cd current cd current
This will create a directory named current/, which will contain the source This will create a directory named current/, which will contain the source
tree. tree.
@ -70,12 +68,10 @@ adduser, but the command syntax may vary from platform to platform).
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
And then /etc/group, like: And then /etc/group, like:
privoxy:*:7777: privoxy:*:7777:
Some binary packages may do this for you. Some binary packages may do this for you.
Then, to build from either unpacked tarball or CVS source: Then, to build from either unpacked tarball or CVS source:
@ -88,13 +84,11 @@ Then, to build from either unpacked tarball or CVS source:
make -n install # (to see where all the files will go) make -n install # (to see where all the files will go)
make -s install # (to really install, -s to silence output) make -s install # (to really install, -s to silence output)
Using GNU make, you can have the first four steps automatically done for you by Using GNU make, you can have the first four steps automatically done for you by
just typing: just typing:
make make
in the freshly downloaded or unpacked source directory. in the freshly downloaded or unpacked source directory.
To build an executable with security enhanced features so that users cannot To build an executable with security enhanced features so that users cannot
@ -103,7 +97,6 @@ configurations, configure like this:
./configure --disable-toggle --disable-editor --disable-force ./configure --disable-toggle --disable-editor --disable-force
Then build as above. In Privoxy 3.0.7 and later, all of these options can also Then build as above. In Privoxy 3.0.7 and later, all of these options can also
be disabled through the configuration file. be disabled through the configuration file.
@ -124,7 +117,6 @@ sure both already exist:
make -s install USER=privoxy GROUP=privoxy make -s install USER=privoxy GROUP=privoxy
The default installation path for make install is /usr/local. This may of The default installation path for make install is /usr/local. This may of
course be customized with the various ./configure path options. If you are course be customized with the various ./configure path options. If you are
doing an install to anywhere besides /usr/local, be sure to set the appropriate doing an install to anywhere besides /usr/local, be sure to set the appropriate

View File

@ -4,14 +4,14 @@
* *
* Purpose : README file to give a short intro. * Purpose : README file to give a short intro.
* *
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge * Copyright : Written by and Copyright (C) 2001-2011 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -26,13 +26,13 @@
* The GNU General Public License should be included with * The GNU General Public License should be included with
* this file. If not, you can view it at * this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html * http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., * or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA * USA
* *
*********************************************************************/ *********************************************************************/
This README is included with Privoxy 3.0.12. See http://www.privoxy.org/ for This README is included with Privoxy 3.0.19. See http://www.privoxy.org/ for
more information. The current code maturity level is "stable". more information. The current code maturity level is "stable".
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -44,36 +44,22 @@ flexible configuration and can be customized to suit individual needs and
tastes. It has application for both stand-alone systems and multi-user tastes. It has application for both stand-alone systems and multi-user
networks. networks.
Privoxy is Free Software and licensed under the GPL2. Privoxy is Free Software and licensed under the GNU GPLv2.
Privoxy is an associated project of Software in the Public Interest (SPI). Privoxy is an associated project of Software in the Public Interest (SPI).
Donations are welcome.
Helping hands and donations are welcome:
* http://www.privoxy.org/faq/general.html#PARTICIPATE
* http://www.privoxy.org/faq/general.html#DONATE
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
1. IMPORTANT CHANGES 1. CHANGES
March 2009, Privoxy 3.0.12 is released. For a list of changes in this release, please have a look at the "ChangeLog",
the "What's New" section or the "Upgrader's Notes" in the User Manual.
This is primarily a bug fix release. See the "ChangeLog", and the "What's New"
section and the "Upgrader's Notes" in the User Manual for details.
February 2009, Privoxy 3.0.11 is released.
As usual there are changes that effect the configuration. See the "ChangeLog",
and the "What's New" section and the "Upgrader's Notes" in the User Manual for
details and specifics.
This is a stable release, and marks a departure for Privoxy development.
Previously, odd numbered releases were considered beta versions and were only
released at the end of the development cycle when the code was already believed
to be stable. Usually it was, so the stable release contained pretty much the
same code, but got a higher version number. In the future we intend to release
several snapshots between stable releases. There will probably still be about
two stable releases per year, but hopefully about six snapshots instead of the
two betas we have now. The intentions is to make testing without CVS access
easier.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
@ -96,10 +82,6 @@ If no config_file is specified on the command line, Privoxy will look for a
file named 'config' in the current directory (except Win32 which will look for file named 'config' in the current directory (except Win32 which will look for
'config.txt'). If no config_file is found, Privoxy will fail to start. 'config.txt'). If no config_file is found, Privoxy will fail to start.
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
Or Debian and Ubuntu: /etc/init.d/privoxy start
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
4. CONFIGURATION 4. CONFIGURATION
@ -116,7 +98,7 @@ www.privoxy.org/user-manual/.
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
you specify in the config file under 'listen-address'. DEFAULT is you specify in the config file under 'listen-address'. DEFAULT is
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not 127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
try it with FTP or other protocols for the simple reason it does not work. try it with FTP or other protocols for the simple reason it does not work.
The actions list can be configured via the web interface accessed via http:// The actions list can be configured via the web interface accessed via http://
@ -158,6 +140,13 @@ list, where the developers also hang around.
Please don't sent private support requests to individual Privoxy developers, Please don't sent private support requests to individual Privoxy developers,
either use the mailing lists or the support trackers. either use the mailing lists or the support trackers.
If you have to contact a Privoxy developer directly for other reasons, please
send a real mail and do not bother with SourceForge's messaging system. Answers
to SourceForge messages are usually bounced by SourceForge's mail server in
which case the developer wasted time writing a response you don't get. From
your point of view it will look like your message has been completely ignored,
so this is frustrating for all parties involved.
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
addresses have to be accepted manually by a moderator. This may cause a delay addresses have to be accepted manually by a moderator. This may cause a delay
of several days and if you use a subject that doesn't clearly mention Privoxy of several days and if you use a subject that doesn't clearly mention Privoxy
@ -246,16 +235,49 @@ Please be sure to provide the following information:
* Any other pertinent information to help identify the problem such as config * Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each action or log file excerpts (yes, you should have log file entries for each action
taken). taken). To get a meaningful logfile, please make sure that the logfile
directive is being used and the following debug options are enabled:
You don't have to tell us your actual name when filing a problem report, but debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.
please use a nickname so we can differentiate between your messages and the debug 2 # show each connection status
ones entered by other "anonymous" users that may respond to your request if debug 4 # show I/O status
they have the same problem or already found a solution. debug 8 # show header parsing
debug 128 # debug redirects
debug 256 # debug GIF de-animation
debug 512 # Common Log Format
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
debug 4096 # Startup banner and warnings.
debug 8192 # Non-fatal errors
If you are having trouble with a filter, please additionally enable
debug 64 # debug regular expression filters
If you are using Privoxy 3.0.17 or later and suspect that it interprets the
request or the response incorrectly, please enable
debug 32768 # log all data read from the network
Note that Privoxy log files may contain sensitive information so please
don't submit any logfiles you didn't read first. You can mask sensitive
information as long as it's clear that you removed something.
You don't have to tell us your actual name when filing a problem report, but if
you don't, please use a nickname so we can differentiate between your messages
and the ones entered by other "anonymous" users that may respond to your
request if they have the same problem or already found a solution. Note that
due to spam the trackers may not always allow to post without being logged into
SourceForge. If that's the case, you are still free to create a login that
isn't directly linked to your name, though.
Please also check the status of your request a few days after submitting it, as Please also check the status of your request a few days after submitting it, as
we may request additional information. If you use a SF id, you should we may request additional information. If you use a SF id, you should
automatically get a mail when someone responds to your request. automatically get a mail when someone responds to your request. Please don't
bother to add an email address when using the tracker. If you prefer to
communicate through email, just use one of the mailing lists directly.
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 helpful information on The appendix of the Privoxy User Manual also has helpful information on
understanding actions, and action debugging. understanding actions, and action debugging.
@ -270,11 +292,13 @@ tracker/?atid=361118&group_id=11118.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
6.4. Other 6.4. Mailing Lists
For any other issues, feel free to use the mailing lists. Technically If you prefer to communicate through email, instead of using a web interface,
interested users and people who wish to contribute to the project are also feel free to use one of the mailing lists. To discuss issues that haven't been
welcome on the developers list! You can find an overview of all Privoxy-related completely diagnosed yet, please use the Privoxy users list. Technically
interested users and people who wish to contribute to the project are always
welcome on the developers list. You can find an overview of all Privoxy-related
mailing lists, including list archives, at: http://sourceforge.net/mail/? mailing lists, including list archives, at: http://sourceforge.net/mail/?
group_id=11118. group_id=11118.

View File

@ -5,19 +5,19 @@
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $ * File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
* *
* Purpose : This file should be the first thing included in every * Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains * .c file. (Before even system headers). It contains
* #define statements for various features. It was * #define statements for various features. It was
* introduced because the compile command line started * introduced because the compile command line started
* getting ludicrously long with feature defines. * getting ludicrously long with feature defines.
* *
* Copyright : Written by and Copyright (C) 2001 the SourceForge * Copyright : Written by and Copyright (C) 2001-2009 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -35,211 +35,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: acconfig.h,v $
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
* Connection keep-alive support is ready for testing,
* allow enabling it through the configure script.
*
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
* Oh well, rename the --enable-pcre-host-patterns option to
* --enable-extended-host-patterns as it's not really PCRE syntax.
*
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
* Use PCRE syntax in host patterns when configured
* with --enable-pcre-host-patterns.
*
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
*
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
* Cosmetics
*
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
* Another shot at Bug #707467
*
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
*
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
* are located in a pcre/ subdir to the include path.
*
* Revision 1.27 2002/04/25 19:13:57 morcego
* Removed RPM release number declaration on configure.in
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
* targets (will produce an error, explaining who to do it, if no value
* if provided).
*
* Revision 1.26 2002/04/11 11:00:21 oes
* Applied Moritz' fix for socklen_t on Solaris
*
* Revision 1.25 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.24 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.23 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.22 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.21 2002/03/24 14:31:08 swa
* remove more crappy files. set RPM
* release version correctly.
*
* Revision 1.20 2002/03/24 13:46:44 swa
* name change related issue.
*
* Revision 1.19 2002/03/24 13:25:42 swa
* name change related issues
*
* Revision 1.18 2002/03/08 16:40:28 oes
* Added FEATURE_NO_GIFS
*
* Revision 1.17 2002/03/04 17:52:44 oes
* Deleted PID_FILE_PATH
*
* Revision 1.16 2002/01/10 12:36:18 oes
* Moved HAVE_*_R to acconfig.h, where they belong.
*
* Revision 1.15 2001/12/30 14:07:31 steudten
* - Add signal handling (unix)
* - Add SIGHUP handler (unix)
* - Add creation of pidfile (unix)
* - Add action 'top' in rc file (RH)
* - Add entry 'SIGNALS' to manpage
* - Add exit message to logfile (unix)
*
* Revision 1.14 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.13 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.12 2001/09/13 19:56:37 jongfoster
* Reverting to revision 1.10 - previous checking was majorly broken.
*
* Revision 1.10 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.9 2001/07/29 19:08:52 jongfoster
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
* Also added protection against using a MinGW32 or CygWin version of
* config.h from within MS Visual C++
*
* Revision 1.8 2001/07/29 17:09:17 jongfoster
* Major changes to build system in order to fix these bugs:
* - pthreads under Linux was broken - changed -lpthread to -pthread
* - Compiling in MinGW32 mode under CygWin now correctly detects
* which shared libraries are available
* - Solaris support (?) (Not tested under Solaris yet)
*
* Revision 1.7 2001/07/25 22:53:59 jongfoster
* Will #error if pthreads is enabled under BeOs
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/ *********************************************************************/
@TOP@ @TOP@
/* /*
@ -267,7 +64,7 @@
*/ */
#undef CODE_STATUS #undef CODE_STATUS
/* /*
* Should pcre be statically built in instead of linkling with libpcre? * Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of * (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it. * libpcre and user preferences). The name is ugly, but pcre needs it.
@ -275,7 +72,7 @@
*/ */
#undef STATIC_PCRE #undef STATIC_PCRE
/* /*
* Should pcrs be statically built in instead of linkling with libpcrs? * Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of * (This is determined by configure depending on the availiability of
* libpcrs and user preferences). * libpcrs and user preferences).
@ -288,6 +85,11 @@
*/ */
#undef FEATURE_ACL #undef FEATURE_ACL
/*
* Allow Privoxy to use accf_http(9) if supported.
*/
#undef FEATURE_ACCEPT_FILTER
/* /*
* Enables the web-based configuration (actionsfile) editor. If you * Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off. * have a shared proxy, you might want to turn this off.
@ -334,14 +136,14 @@
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) * User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / * * Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
* *
* And no, I haven't got that backwards - IE is being wierd. * And no, I haven't got that backwards - IE is being weird.
* *
* Known limitations: * Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get * 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page. * the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it * 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML * in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the * "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again. * browser cache to get the HTML version again.
* *
* These limitations are due to IE making inconsistent choices * These limitations are due to IE making inconsistent choices
@ -349,11 +151,6 @@
*/ */
#undef FEATURE_IMAGE_DETECT_MSIE #undef FEATURE_IMAGE_DETECT_MSIE
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
#undef FEATURE_KILL_POPUPS
/* /*
* Use PNG instead of GIF for built-in images * Use PNG instead of GIF for built-in images
*/ */
@ -370,10 +167,15 @@
#undef FEATURE_EXTENDED_HOST_PATTERNS #undef FEATURE_EXTENDED_HOST_PATTERNS
/* /*
* Keep outgoing connections alive if possible. * Keep connections alive if possible.
*/ */
#undef FEATURE_CONNECTION_KEEP_ALIVE #undef FEATURE_CONNECTION_KEEP_ALIVE
/*
* Allow to share outgoing connections between incoming connections.
*/
#undef FEATURE_CONNECTION_SHARING
/* /*
* Use POSIX threads instead of native threads. * Use POSIX threads instead of native threads.
*/ */
@ -435,7 +237,7 @@
#undef HAVE_GMTIME_R #undef HAVE_GMTIME_R
#undef HAVE_LOCALTIME_R #undef HAVE_LOCALTIME_R
/* Define to 'int' if <sys/socket.h> doesn't have it. /* Define to 'int' if <sys/socket.h> doesn't have it.
*/ */
#undef socklen_t #undef socklen_t
@ -485,7 +287,7 @@
/* /*
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h * It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
* under VC++, and it usually gives many wierd error messages. Let's make * under VC++, and it usually gives many weird error messages. Let's make
* the error messages understandable, by bailing out now. * the error messages understandable, by bailing out now.
*/ */
#ifdef _MSC_VER #ifdef _MSC_VER

View File

@ -12,14 +12,14 @@
* DEFINE_ACTION_BOOL() * DEFINE_ACTION_BOOL()
* DEFINE_ACTION_ALIAS * DEFINE_ACTION_ALIAS
* *
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge * Copyright : Written by and Copyright (C) 2001-2008 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -37,156 +37,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: actionlist.h,v $
* Revision 1.36 2008/09/20 10:04:33 fabiankeil
* Remove hide-forwarded-for-headers action which has
* been obsoleted by change-x-forwarded-for{block}.
*
* Revision 1.35 2008/09/19 15:43:54 fabiankeil
* Fix sorting.
*
* Revision 1.34 2008/09/19 15:26:28 fabiankeil
* Add change-x-forwarded-for{} action to block or add
* X-Forwarded-For headers. Mostly based on code removed
* before 3.0.7.
*
* Revision 1.33 2008/03/29 12:13:45 fabiankeil
* Remove send-wafer and send-vanilla-wafer actions.
*
* Revision 1.32 2008/03/28 15:13:42 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.31 2008/03/27 18:27:20 fabiankeil
* Remove kill-popups action.
*
* Revision 1.30 2008/03/04 18:30:34 fabiankeil
* Remove the treat-forbidden-connects-like-blocks action. We now
* use the "blocked" page for forbidden CONNECT requests by default.
*
* Revision 1.29 2008/03/01 14:00:43 fabiankeil
* Let the block action take the reason for the block
* as argument and show it on the "blocked" page.
*
* Revision 1.28 2007/12/11 21:08:29 fabiankeil
* Let the CGI editor suggest a forward-override
* parameter whose syntax is actually valid.
*
* Revision 1.27 2007/11/10 15:04:08 fabiankeil
* Tell the CGI editor about +hide-referrer{conditional-forge}.
*
* Revision 1.26 2007/06/01 16:54:28 fabiankeil
* Add forward-override{} to change the forwarding settings through
* action sections. This is mainly interesting to forward different
* clients differently (for example based on User-Agent or request
* origin).
*
* Revision 1.25 2007/04/15 16:39:20 fabiankeil
* Introduce tags as alternative way to specify which
* actions apply to a request. At the moment tags can be
* created based on client and server headers.
*
* Revision 1.24 2007/03/20 15:16:34 fabiankeil
* Use dedicated header filter actions instead of abusing "filter".
* Replace "filter-client-headers" and "filter-client-headers"
* with "server-header-filter" and "client-header-filter".
*
* Revision 1.23 2006/10/09 10:26:18 fabiankeil
* Changed the path in set-image-blocker's redirection default to
* "send-banner?type=pattern" instead of "show-banner?type=pattern"
* which isn't caught by Privoxy. Fixes BR 1573468.
*
* Changed hide-user-agent's default value to "Privoxy VERSION".
*
* Changed hide-referrer's default fake value to "http://www.privoxy.org/".
* A static referrer is obviously fake anyway, so we might as well
* advertise ourselves.
*
* Revision 1.22 2006/09/01 17:14:18 hal9
* Re-ordered the actions list so that they display in the actions editor in
* alphabetical order. Some of the new actions were "out of order".
*
* Revision 1.21 2006/08/14 08:25:19 fabiankeil
* Split filter-headers{} into filter-client-headers{}
* and filter-server-headers{}.
* Added parse_header_time() to share some code.
* Replaced timegm() with mktime().
*
* Revision 1.20 2006/08/03 02:46:41 david__schmidt
* Incorporate Fabian Keil's patch work: http://www.fabiankeil.de/sourcecode/privoxy/
*
* Revision 1.19 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.17.2.3 2004/10/03 12:53:32 david__schmidt
* Add the ability to check jpeg images for invalid
* lengths of comment blocks. Defensive strategy
* against the exploit:
* Microsoft Security Bulletin MS04-028
* Buffer Overrun in JPEG Processing (GDI+) Could
* Allow Code Execution (833987)
* Enabled with +inspect-jpegs in actions files.
*
* Revision 1.17.2.2 2002/09/25 15:25:25 oes
* Added more aliases for prehistoric action names
*
* Revision 1.17.2.1 2002/08/02 12:50:47 oes
* Consistency with docs: Change default name for action from hide-referer to hide-referrer
*
* Revision 1.17 2002/05/14 21:25:55 oes
* Renamed prevent-(setting/reading)-cookies to crunch-(incoming/outgoing)-cookies
*
* Revision 1.16 2002/04/24 02:15:18 oes
* Renamed actions as discussed, Aliased old action names to new ones.
*
* Revision 1.15 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.14 2002/03/24 16:32:08 jongfoster
* Removing logo option
*
* Revision 1.13 2002/03/24 15:23:33 jongfoster
* Name changes
*
* Revision 1.12 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.11 2002/03/12 01:42:49 oes
* Introduced modular filters
*
* Revision 1.10 2002/03/08 18:19:14 jongfoster
* Adding +image-blocker{pattern} option to edit interface
*
* Revision 1.9 2001/11/22 21:58:41 jongfoster
* Adding action +no-cookies-keep
*
* Revision 1.8 2001/10/10 16:42:52 oes
* Fixed a bug, Added +limit-connect string action
*
* Revision 1.7 2001/10/07 15:33:59 oes
* Introduced a +no-compression action
* Introduced a +downgrade action
*
* Revision 1.6 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
* Revision 1.5 2001/07/18 12:27:03 oes
* Changed deanimate-gifs to string action
*
* Revision 1.4 2001/07/13 13:52:12 oes
* - Formatting
* - Introduced new action ACTION_DEANIMATE
*
* Revision 1.3 2001/06/07 23:03:56 jongfoster
* Added standard comment at top of file.
*
*
*********************************************************************/ *********************************************************************/
#if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING)) #if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING))
#error Please define lots of macros before including "actionlist.h". #error Please define lots of macros before including "actionlist.h".
@ -219,9 +71,11 @@ DEFINE_ACTION_STRING ("deanimate-gifs", ACTION_DEANIMATE,
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "first", 0) DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "first", 0)
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1) DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1)
DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE) DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE)
#ifdef FEATURE_FAST_REDIRECTS
DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS) DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS)
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0) DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0)
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1) DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1)
#endif /* def FEATURE_FAST_REDIRECTS */
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER) DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE) DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE) DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
@ -267,19 +121,19 @@ DEFINE_CGI_PARAM_CUSTOM ("set-image-blocker", ACTION_IMAGE_BLOCKER,
#if DEFINE_ACTION_ALIAS #if DEFINE_ACTION_ALIAS
/* /*
* Alternative spellings * Alternative spellings
*/ */
DEFINE_ACTION_STRING ("hide-referer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER) DEFINE_ACTION_STRING ("hide-referer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
DEFINE_ACTION_BOOL ("prevent-keeping-cookies", ACTION_NO_COOKIE_KEEP) DEFINE_ACTION_BOOL ("prevent-keeping-cookies", ACTION_NO_COOKIE_KEEP)
/* /*
* Pre-3.0.7 (pseudo) compatibility * Pre-3.0.7 (pseudo) compatibility
*/ */
DEFINE_ACTION_MULTI ("filter-client-headers", ACTION_MULTI_CLIENT_HEADER_FILTER) DEFINE_ACTION_MULTI ("filter-client-headers", ACTION_MULTI_CLIENT_HEADER_FILTER)
DEFINE_ACTION_MULTI ("filter-server-headers", ACTION_MULTI_SERVER_HEADER_FILTER) DEFINE_ACTION_MULTI ("filter-server-headers", ACTION_MULTI_SERVER_HEADER_FILTER)
/* /*
* Pre-3.0 compatibility * Pre-3.0 compatibility
*/ */
DEFINE_ACTION_BOOL ("no-cookie-read", ACTION_NO_COOKIE_READ) DEFINE_ACTION_BOOL ("no-cookie-read", ACTION_NO_COOKIE_READ)

View File

@ -1,4 +1,4 @@
const char actions_rcs[] = "$Id: actions.c,v 1.56 2009/03/08 14:19:21 fabiankeil Exp $"; const char actions_rcs[] = "$Id: actions.c,v 1.73 2011/09/18 14:43:07 fabiankeil Exp $";
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/actions.c,v $ * File : $Source: /cvsroot/ijbswa/current/actions.c,v $
@ -6,7 +6,7 @@ const char actions_rcs[] = "$Id: actions.c,v 1.56 2009/03/08 14:19:21 fabiankeil
* Purpose : Declares functions to work with actions files * Purpose : Declares functions to work with actions files
* Functions declared include: FIXME * Functions declared include: FIXME
* *
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge * Copyright : Written by and Copyright (C) 2001-2011 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
@ -31,259 +31,8 @@ const char actions_rcs[] = "$Id: actions.c,v 1.56 2009/03/08 14:19:21 fabiankeil
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: actions.c,v $
* Revision 1.56 2009/03/08 14:19:21 fabiankeil
* Fix justified (but harmless) compiler warnings
* on platforms where sizeof(int) < sizeof(long).
*
* Revision 1.55 2008/12/04 18:18:56 fabiankeil
* Fix some cparser warnings.
*
* Revision 1.54 2008/09/20 10:04:33 fabiankeil
* Remove hide-forwarded-for-headers action which has
* been obsoleted by change-x-forwarded-for{block}.
*
* Revision 1.53 2008/05/26 16:04:04 fabiankeil
* s@memorey@memory@
*
* Revision 1.52 2008/04/27 16:26:59 fabiankeil
* White space fix for the last commit.
*
* Revision 1.51 2008/04/27 16:20:19 fabiankeil
* Complain about every block action without reason found.
*
* Revision 1.50 2008/03/30 14:52:00 fabiankeil
* Rename load_actions_file() and load_re_filterfile()
* as they load multiple files "now".
*
* Revision 1.49 2008/03/29 12:13:45 fabiankeil
* Remove send-wafer and send-vanilla-wafer actions.
*
* Revision 1.48 2008/03/28 18:17:14 fabiankeil
* In action_used_to_be_valid(), loop through an array of formerly
* valid actions instead of using an OR-chain of strcmpic() calls.
*
* Revision 1.47 2008/03/28 15:13:37 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.46 2008/03/27 18:27:20 fabiankeil
* Remove kill-popups action.
*
* Revision 1.45 2008/03/24 11:21:02 fabiankeil
* Share the action settings for multiple patterns in the same
* section so we waste less memory for gigantic block lists
* (and load them slightly faster). Reported by Franz Schwartau.
*
* Revision 1.44 2008/03/04 18:30:34 fabiankeil
* Remove the treat-forbidden-connects-like-blocks action. We now
* use the "blocked" page for forbidden CONNECT requests by default.
*
* Revision 1.43 2008/03/01 14:00:43 fabiankeil
* Let the block action take the reason for the block
* as argument and show it on the "blocked" page.
*
* Revision 1.42 2008/02/09 15:15:38 fabiankeil
* List active and inactive actions in the show-url-info's
* "Final results" section separately. Patch submitted by Lee
* in #1830056, modified to list active actions first.
*
* Revision 1.41 2008/01/28 20:17:40 fabiankeil
* - Mark some parameters as immutable.
* - Hide update_action_bits_for_all_tags() while it's unused.
*
* Revision 1.40 2007/05/21 10:26:50 fabiankeil
* - Use strlcpy() instead of strcpy().
* - Provide a reason why loading the actions
* file might have failed.
*
* Revision 1.39 2007/04/17 18:21:45 fabiankeil
* Split update_action_bits() into
* update_action_bits_for_all_tags()
* and update_action_bits_for_tag().
*
* Revision 1.38 2007/04/15 16:39:20 fabiankeil
* Introduce tags as alternative way to specify which
* actions apply to a request. At the moment tags can be
* created based on client and server headers.
*
* Revision 1.37 2007/03/11 15:56:12 fabiankeil
* Add kludge to log unknown aliases and actions before exiting.
*
* Revision 1.36 2006/12/28 17:15:42 fabiankeil
* Fix gcc43 conversion warning.
*
* Revision 1.35 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.32.2.6 2006/01/29 23:10:56 david__schmidt
* Multiple filter file support
*
* Revision 1.32.2.5 2005/06/09 01:18:41 david__schmidt
* Tweaks to conditionally include pthread.h if FEATURE_PTHREAD is enabled -
* this becomes important when jcc.h gets included later down the line.
*
* Revision 1.32.2.4 2003/12/03 10:33:11 oes
* - Implemented Privoxy version requirement through
* for-privoxy-version= statement in {{settings}}
* block
* - Fix for unchecked out-of-memory condition
*
* Revision 1.32.2.3 2003/02/28 12:52:10 oes
* Fixed memory leak reported by Dan Price in Bug #694713
*
* Revision 1.32.2.2 2002/11/20 14:36:55 oes
* Extended unload_current_actions_file() to multiple AFs.
* Thanks to Oliver Stoeneberg for the hint.
*
* Revision 1.32.2.1 2002/05/26 12:13:16 roro
* Change unsigned to unsigned long in actions_name struct. This closes
* SourceForge Bug #539284.
*
* Revision 1.32 2002/05/12 21:36:29 jongfoster
* Correcting function comments
*
* Revision 1.31 2002/05/06 07:56:50 oes
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.30 2002/04/30 11:14:52 oes
* Made csp the first parameter in *action_to_html
*
* Revision 1.29 2002/04/26 19:30:54 jongfoster
* - current_action_to_html(): Adding help link for the "-" form of
* one-string actions.
* - Some actions had "<br>-", some "<br> -" (note the space).
* Standardizing on no space.
* - Greatly simplifying some of the code by using string_join()
* where appropriate.
*
* Revision 1.28 2002/04/26 12:53:15 oes
* - CGI AF editor now writes action lines split into
* single lines with line continuation
* - actions_to_html now embeds each action name in
* link to chapter
* - current_action_to_text is now called current_action_to_html
* and acts like actions_to_html
*
* Revision 1.27 2002/04/24 02:10:31 oes
* - Jon's patch for multiple AFs:
* - split load_actions_file, add load_one_actions_file
* - make csp->actions_list files an array
* - remember file id with each action
* - Copy_action now frees dest action before copying
*
* Revision 1.26 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.25 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.24 2002/03/16 23:54:06 jongfoster
* Adding graceful termination feature, to help look for memory leaks.
* If you enable this (which, by design, has to be done by hand
* editing config.h) and then go to http://i.j.b/die, then the program
* will exit cleanly after the *next* request. It should free all the
* memory that was used.
*
* Revision 1.23 2002/03/07 03:46:16 oes
* Fixed compiler warnings
*
* Revision 1.22 2002/01/21 00:27:02 jongfoster
* Allowing free_action(NULL).
* Moving the functions that #include actionlist.h to the end of the file,
* because the Visual C++ 97 debugger gets extremely confused if you try
* to debug any code that comes after them in the file.
*
* Revision 1.21 2002/01/17 20:54:44 jongfoster
* Renaming free_url to free_url_spec, since it frees a struct url_spec.
*
* Revision 1.20 2001/11/22 21:56:49 jongfoster
* Making action_spec->flags into an unsigned long rather than just an
* unsigned int.
* Fixing a bug in the display of -add-header and -wafer
*
* Revision 1.19 2001/11/13 00:14:07 jongfoster
* Fixing stupid bug now I've figured out what || means.
* (It always returns 0 or 1, not one of it's paramaters.)
*
* Revision 1.18 2001/11/07 00:06:06 steudten
* Add line number in error output for lineparsing for
* actionsfile.
*
* Revision 1.17 2001/10/25 03:40:47 david__schmidt
* Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
* threads to call select() simultaneously. So, it's time to do a real, live,
* native OS/2 port. See defines for __EMX__ (the porting layer) vs. __OS2__
* (native). Both versions will work, but using __OS2__ offers multi-threading.
*
* Revision 1.16 2001/10/23 21:30:30 jongfoster
* Adding error-checking to selected functions.
*
* Revision 1.15 2001/10/14 21:58:22 jongfoster
* Adding support for the CGI-based editor:
* - Exported get_actions()
* - Added new function free_alias_list()
* - Added support for {{settings}} and {{description}} blocks
* in the actions file. They are currently ignored.
* - Added restriction to only one {{alias}} block which must appear
* first in the file, to simplify the editor's rewriting rules.
* - Note that load_actions_file() is no longer used by the CGI-based
* editor, but some of the other routines in this file are.
*
* Revision 1.14 2001/09/22 16:36:59 jongfoster
* Removing unused parameter fs from read_config_line()
*
* Revision 1.13 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
* Revision 1.12 2001/09/16 13:21:27 jongfoster
* Changes to use new list functions.
*
* Revision 1.11 2001/09/14 00:17:32 jongfoster
* Tidying up memory allocation. New function init_action().
*
* Revision 1.10 2001/09/10 10:14:34 oes
* Removing unused variable
*
* Revision 1.9 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.8 2001/06/29 13:19:52 oes
* Removed logentry from cancelled commit
*
* Revision 1.7 2001/06/09 10:55:28 jongfoster
* Changing BUFSIZ ==> BUFFER_SIZE
*
* Revision 1.6 2001/06/07 23:04:34 jongfoster
* Made get_actions() static.
*
* Revision 1.5 2001/06/03 19:11:48 oes
* adapted to new enlist_unique arg format
*
* Revision 1.4 2001/06/01 20:03:42 jongfoster
* Better memory management - current_action->strings[] now
* contains copies of the strings, not the original.
*
* Revision 1.3 2001/06/01 18:49:17 jongfoster
* Replaced "list_share" with "list" - the tiny memory gain was not
* worth the extra complexity.
*
* Revision 1.2 2001/05/31 21:40:00 jongfoster
* Removing some commented out, obsolete blocks of code.
*
* Revision 1.1 2001/05/31 21:16:46 jongfoster
* Moved functions to process the action list into this new file.
*
*
*********************************************************************/ *********************************************************************/
#include "config.h" #include "config.h"
@ -685,7 +434,7 @@ jb_err get_action_token(char **line, char **name, char **value)
*********************************************************************/ *********************************************************************/
static int action_used_to_be_valid(const char *action) static int action_used_to_be_valid(const char *action)
{ {
static const char *formerly_valid_actions[] = { static const char * const formerly_valid_actions[] = {
"inspect-jpegs", "inspect-jpegs",
"kill-popups", "kill-popups",
"send-vanilla-wafer", "send-vanilla-wafer",
@ -773,7 +522,7 @@ jb_err get_actions(char *line,
if ((value == NULL) || (*value == '\0')) if ((value == NULL) || (*value == '\0'))
{ {
if (0 != strcmpic(action->name, "block")) if (0 == strcmpic(action->name, "+block"))
{ {
/* /*
* XXX: Temporary backwards compatibility hack. * XXX: Temporary backwards compatibility hack.
@ -1130,7 +879,7 @@ int update_action_bits_for_tag(struct client_state *csp, const char *tag)
* Returns : N/A * Returns : N/A
* *
*********************************************************************/ *********************************************************************/
void free_current_action (struct current_action_spec *src) void free_current_action(struct current_action_spec *src)
{ {
int i; int i;
@ -1284,6 +1033,108 @@ int load_action_files(struct client_state *csp)
return 0; return 0;
} }
/*********************************************************************
*
* Function : referenced_filters_are_missing
*
* Description : Checks if any filters of a certain type referenced
* in an action spec are missing.
*
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : cur_action = The action spec to check.
* 3 : multi_index = The index where to look for the filter.
* 4 : filter_type = The filter type the caller is interested in.
*
* Returns : 0 => All referenced filters exists, everything else is an error.
*
*********************************************************************/
static int referenced_filters_are_missing(const struct client_state *csp,
const struct action_spec *cur_action, int multi_index, enum filter_type filter_type)
{
int i;
struct file_list *fl;
struct re_filterfile_spec *b;
struct list_entry *filtername;
for (filtername = cur_action->multi_add[multi_index]->first;
filtername; filtername = filtername->next)
{
int filter_found = 0;
for (i = 0; i < MAX_AF_FILES; i++)
{
fl = csp->rlist[i];
if ((NULL == fl) || (NULL == fl->f))
{
continue;
}
for (b = fl->f; b; b = b->next)
{
if (b->type != filter_type)
{
continue;
}
if (strcmp(b->name, filtername->str) == 0)
{
filter_found = 1;
}
}
}
if (!filter_found)
{
log_error(LOG_LEVEL_ERROR, "Missing filter '%s'", filtername->str);
return 1;
}
}
return 0;
}
/*********************************************************************
*
* Function : action_spec_is_valid
*
* Description : Should eventually figure out if an action spec
* is valid, but currently only checks that the
* referenced filters are accounted for.
*
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : cur_action = The action spec to check.
*
* Returns : 0 => No problems detected, everything else is an error.
*
*********************************************************************/
static int action_spec_is_valid(struct client_state *csp, const struct action_spec *cur_action)
{
struct {
int multi_index;
enum filter_type filter_type;
} filter_map[] = {
{ACTION_MULTI_FILTER, FT_CONTENT_FILTER},
{ACTION_MULTI_CLIENT_HEADER_FILTER, FT_CLIENT_HEADER_FILTER},
{ACTION_MULTI_SERVER_HEADER_FILTER, FT_SERVER_HEADER_FILTER},
{ACTION_MULTI_CLIENT_HEADER_TAGGER, FT_CLIENT_HEADER_TAGGER},
{ACTION_MULTI_SERVER_HEADER_TAGGER, FT_SERVER_HEADER_TAGGER}
};
int errors = 0;
int i;
for (i = 0; i < SZ(filter_map); i++)
{
errors += referenced_filters_are_missing(csp, cur_action,
filter_map[i].multi_index, filter_map[i].filter_type);
}
return errors;
}
/********************************************************************* /*********************************************************************
* *
* Function : load_one_actions_file * Function : load_one_actions_file
@ -1306,23 +1157,24 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
* Note: Keep these in the order they occur in the file, they are * Note: Keep these in the order they occur in the file, they are
* sometimes tested with <= * sometimes tested with <=
*/ */
#define MODE_START_OF_FILE 1 enum {
#define MODE_SETTINGS 2 MODE_START_OF_FILE = 1,
#define MODE_DESCRIPTION 3 MODE_SETTINGS = 2,
#define MODE_ALIAS 4 MODE_DESCRIPTION = 3,
#define MODE_ACTIONS 5 MODE_ALIAS = 4,
MODE_ACTIONS = 5
int mode = MODE_START_OF_FILE; } mode;
FILE *fp; FILE *fp;
struct url_actions *last_perm; struct url_actions *last_perm;
struct url_actions *perm; struct url_actions *perm;
char buf[BUFFER_SIZE]; char *buf;
struct file_list *fs; struct file_list *fs;
struct action_spec * cur_action = NULL; struct action_spec * cur_action = NULL;
int cur_action_used = 0; int cur_action_used = 0;
struct action_alias * alias_list = NULL; struct action_alias * alias_list = NULL;
unsigned long linenum = 0; unsigned long linenum = 0;
mode = MODE_START_OF_FILE;
if (!check_file_changed(current_actions_file[fileid], csp->config->actions_file[fileid], &fs)) if (!check_file_changed(current_actions_file[fileid], csp->config->actions_file[fileid], &fs))
{ {
@ -1353,7 +1205,9 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
return 1; /* never get here */ return 1; /* never get here */
} }
while (read_config_line(buf, sizeof(buf), fp, &linenum) != NULL) log_error(LOG_LEVEL_INFO, "Loading actions file: %s", csp->config->actions_file[fileid]);
while (read_config_line(fp, &linenum, &buf) != NULL)
{ {
if (*buf == '{') if (*buf == '{')
{ {
@ -1369,7 +1223,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
/* too short */ /* too short */
fclose(fp); fclose(fp);
log_error(LOG_LEVEL_FATAL, log_error(LOG_LEVEL_FATAL,
"can't load actions file '%s': invalid line (%lu): %s", "can't load actions file '%s': invalid line (%lu): %s",
csp->config->actions_file[fileid], linenum, buf); csp->config->actions_file[fileid], linenum, buf);
return 1; /* never get here */ return 1; /* never get here */
} }
@ -1470,11 +1324,11 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
{ {
/* It's an actions block */ /* It's an actions block */
char actions_buf[BUFFER_SIZE]; char *actions_buf;
char * end; char * end;
/* set mode */ /* set mode */
mode = MODE_ACTIONS; mode = MODE_ACTIONS;
/* free old action */ /* free old action */
if (cur_action) if (cur_action)
@ -1497,8 +1351,23 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
} }
init_action(cur_action); init_action(cur_action);
/* trim { */ /*
strlcpy(actions_buf, buf + 1, sizeof(actions_buf)); * Copy the buffer before messing with it as we may need the
* unmodified version in for the fatal error messages. Given
* that this is not a common event, we could instead simply
* read the line again.
*
* buf + 1 to skip the leading '{'
*/
actions_buf = strdup(buf + 1);
if (actions_buf == NULL)
{
fclose(fp);
log_error(LOG_LEVEL_FATAL,
"can't load actions file '%s': out of memory",
csp->config->actions_file[fileid]);
return 1; /* never get here */
}
/* check we have a trailing } and then trim it */ /* check we have a trailing } and then trim it */
end = actions_buf + strlen(actions_buf) - 1; end = actions_buf + strlen(actions_buf) - 1;
@ -1506,8 +1375,9 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
{ {
/* No closing } */ /* No closing } */
fclose(fp); fclose(fp);
log_error(LOG_LEVEL_FATAL, freez(actions_buf);
"can't load actions file '%s': invalid line (%lu): %s", log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': "
"Missing trailing '}' in action section starting at line (%lu): %s",
csp->config->actions_file[fileid], linenum, buf); csp->config->actions_file[fileid], linenum, buf);
return 1; /* never get here */ return 1; /* never get here */
} }
@ -1520,11 +1390,21 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
{ {
/* error */ /* error */
fclose(fp); fclose(fp);
log_error(LOG_LEVEL_FATAL, freez(actions_buf);
"can't load actions file '%s': invalid line (%lu): %s", log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': "
"can't completely parse the action section starting at line (%lu): %s",
csp->config->actions_file[fileid], linenum, buf); csp->config->actions_file[fileid], linenum, buf);
return 1; /* never get here */ return 1; /* never get here */
} }
if (action_spec_is_valid(csp, cur_action))
{
log_error(LOG_LEVEL_ERROR, "Invalid action section in file '%s', "
"starting at line %lu: %s",
csp->config->actions_file[fileid], linenum, buf);
}
freez(actions_buf);
} }
} }
else if (mode == MODE_SETTINGS) else if (mode == MODE_SETTINGS)
@ -1548,8 +1428,8 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
csp->config->actions_file[fileid]); csp->config->actions_file[fileid]);
return 1; /* never get here */ return 1; /* never get here */
} }
num_fields = ssplit(version_string, ".", fields, 3, TRUE, FALSE); num_fields = ssplit(version_string, ".", fields, SZ(fields), TRUE, FALSE);
if (num_fields < 1 || atoi(fields[0]) == 0) if (num_fields < 1 || atoi(fields[0]) == 0)
{ {
@ -1658,7 +1538,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
} }
else if (mode == MODE_ACTIONS) else if (mode == MODE_ACTIONS)
{ {
/* it's a URL pattern */ /* it's an URL pattern */
/* allocate a new node */ /* allocate a new node */
if ((perm = zalloc(sizeof(*perm))) == NULL) if ((perm = zalloc(sizeof(*perm))) == NULL)
@ -1678,7 +1558,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
{ {
fclose(fp); fclose(fp);
log_error(LOG_LEVEL_FATAL, log_error(LOG_LEVEL_FATAL,
"can't load actions file '%s': line %lu: cannot create URL pattern from: %s", "can't load actions file '%s': line %lu: cannot create URL or TAG pattern from: %s",
csp->config->actions_file[fileid], linenum, buf); csp->config->actions_file[fileid], linenum, buf);
return 1; /* never get here */ return 1; /* never get here */
} }
@ -1692,7 +1572,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
/* oops - please have a {} line as 1st line in file. */ /* oops - please have a {} line as 1st line in file. */
fclose(fp); fclose(fp);
log_error(LOG_LEVEL_FATAL, log_error(LOG_LEVEL_FATAL,
"can't load actions file '%s': first needed line (%lu) is invalid: %s", "can't load actions file '%s': line %lu should begin with a '{': %s",
csp->config->actions_file[fileid], linenum, buf); csp->config->actions_file[fileid], linenum, buf);
return 1; /* never get here */ return 1; /* never get here */
} }
@ -1705,6 +1585,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
csp->config->actions_file[fileid], mode); csp->config->actions_file[fileid], mode);
return 1; /* never get here */ return 1; /* never get here */
} }
freez(buf);
} }
fclose(fp); fclose(fp);
@ -1738,7 +1619,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
* *
* Description : Converts a actionsfile entry from the internal * Description : Converts a actionsfile entry from the internal
* structure into a text line. The output is split * structure into a text line. The output is split
* into one line for each action with line continuation. * into one line for each action with line continuation.
* *
* Parameters : * Parameters :
* 1 : action = The action to format. * 1 : action = The action to format.
@ -1823,7 +1704,7 @@ char * actions_to_text(const struct action_spec *action)
* Function : actions_to_html * Function : actions_to_html
* *
* Description : Converts a actionsfile entry from numeric form * Description : Converts a actionsfile entry from numeric form
* ("mask" and "add") to a <br>-seperated HTML string * ("mask" and "add") to a <br>-separated HTML string
* in which each action is linked to its chapter in * in which each action is linked to its chapter in
* the user manual. * the user manual.
* *
@ -1929,12 +1810,12 @@ char * actions_to_html(const struct client_state *csp,
* *
* Function : current_actions_to_html * Function : current_actions_to_html
* *
* Description : Converts a curren action spec to a <br> seperated HTML * Description : Converts a curren action spec to a <br> separated HTML
* text in which each action is linked to its chapter in * text in which each action is linked to its chapter in
* the user manual. * the user manual.
* *
* Parameters : * Parameters :
* 1 : csp = Client state (for config) * 1 : csp = Client state (for config)
* 2 : action = Current action spec to be converted * 2 : action = Current action spec to be converted
* *
* Returns : A string. Caller must free it. * Returns : A string. Caller must free it.

View File

@ -1,6 +1,6 @@
#ifndef ACTIONS_H_INCLUDED #ifndef ACTIONS_H_INCLUDED
#define ACTIONS_H_INCLUDED #define ACTIONS_H_INCLUDED
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.18 2008/03/30 14:52:00 fabiankeil Exp $" #define ACTIONS_H_VERSION "$Id: actions.h,v 1.20 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/actions.h,v $ * File : $Source: /cvsroot/ijbswa/current/actions.h,v $
@ -12,10 +12,10 @@
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -33,87 +33,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: actions.h,v $
* Revision 1.18 2008/03/30 14:52:00 fabiankeil
* Rename load_actions_file() and load_re_filterfile()
* as they load multiple files "now".
*
* Revision 1.17 2008/01/28 20:17:40 fabiankeil
* - Mark some parameters as immutable.
* - Hide update_action_bits_for_all_tags() while it's unused.
*
* Revision 1.16 2007/04/17 18:21:45 fabiankeil
* Split update_action_bits() into
* update_action_bits_for_all_tags()
* and update_action_bits_for_tag().
*
* Revision 1.15 2007/04/15 16:39:20 fabiankeil
* Introduce tags as alternative way to specify which
* actions apply to a request. At the moment tags can be
* created based on client and server headers.
*
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.12 2002/05/06 07:56:50 oes
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.11 2002/04/30 11:14:52 oes
* Made csp the first parameter in *action_to_html
*
* Revision 1.10 2002/04/26 12:53:33 oes
* - actions_to_html signature change
* - current_action_to_text: renamed to current_action_to_html
* and signature change
*
* Revision 1.9 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.8 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.7 2002/03/16 23:54:06 jongfoster
* Adding graceful termination feature, to help look for memory leaks.
* If you enable this (which, by design, has to be done by hand
* editing config.h) and then go to http://i.j.b/die, then the program
* will exit cleanly after the *next* request. It should free all the
* memory that was used.
*
* Revision 1.6 2001/10/23 21:30:30 jongfoster
* Adding error-checking to selected functions.
*
* Revision 1.5 2001/10/14 21:58:22 jongfoster
* Adding support for the CGI-based editor:
* - Exported get_actions()
* - Added new function free_alias_list()
* - Added support for {{settings}} and {{description}} blocks
* in the actions file. They are currently ignored.
* - Added restriction to only one {{alias}} block which must appear
* first in the file, to simplify the editor's rewriting rules.
* - Note that load_actions_file() is no longer used by the CGI-based
* editor, but some of the other routines in this file are.
*
* Revision 1.4 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
* Revision 1.3 2001/09/14 00:17:32 jongfoster
* Tidying up memory allocation. New function init_action().
*
* Revision 1.2 2001/07/29 19:01:11 jongfoster
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
* Added forward declarations for needed structures.
*
* Revision 1.1 2001/05/31 21:16:46 jongfoster
* Moved functions to process the action list into this new file.
*
*
*********************************************************************/ *********************************************************************/
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -135,27 +56,27 @@ struct action_alias
}; };
extern jb_err get_actions (char *line, extern jb_err get_actions (char *line,
struct action_alias * alias_list, struct action_alias * alias_list,
struct action_spec *cur_action); struct action_spec *cur_action);
extern void free_alias_list(struct action_alias *alias_list); extern void free_alias_list(struct action_alias *alias_list);
extern void init_action(struct action_spec *dest); extern void init_action(struct action_spec *dest);
extern void free_action(struct action_spec *src); extern void free_action(struct action_spec *src);
extern jb_err merge_actions (struct action_spec *dest, extern jb_err merge_actions (struct action_spec *dest,
const struct action_spec *src); const struct action_spec *src);
#if 0 #if 0
extern int update_action_bits_for_all_tags(struct client_state *csp); extern int update_action_bits_for_all_tags(struct client_state *csp);
#endif #endif
extern int update_action_bits_for_tag(struct client_state *csp, const char *tag); extern int update_action_bits_for_tag(struct client_state *csp, const char *tag);
extern jb_err copy_action (struct action_spec *dest, extern jb_err copy_action (struct action_spec *dest,
const struct action_spec *src); const struct action_spec *src);
extern char * actions_to_text (const struct action_spec *action); extern char * actions_to_text (const struct action_spec *action);
extern char * actions_to_html (const struct client_state *csp, extern char * actions_to_html (const struct client_state *csp,
const struct action_spec *action); const struct action_spec *action);
extern void init_current_action (struct current_action_spec *dest); extern void init_current_action (struct current_action_spec *dest);
extern void free_current_action (struct current_action_spec *src); extern void free_current_action (struct current_action_spec *src);
extern jb_err merge_current_action (struct current_action_spec *dest, extern jb_err merge_current_action (struct current_action_spec *dest,
const struct action_spec *src); const struct action_spec *src);
extern char * current_action_to_html(const struct client_state *csp, extern char * current_action_to_html(const struct client_state *csp,
const struct current_action_spec *action); const struct current_action_spec *action);

View File

@ -1,4 +1,4 @@
const char amiga_rcs[] = "$Id: amiga.c,v 1.12 2007/01/07 07:40:52 joergs Exp $"; const char amiga_rcs[] = "$Id: amiga.c,v 1.14 2011/09/04 11:10:56 fabiankeil Exp $";
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/amiga.c,v $ * File : $Source: /cvsroot/ijbswa/current/amiga.c,v $
@ -8,7 +8,7 @@ const char amiga_rcs[] = "$Id: amiga.c,v 1.12 2007/01/07 07:40:52 joergs Exp $";
* Copyright : Written by and Copyright (C) 2001 the SourceForge * Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -26,66 +26,8 @@ const char amiga_rcs[] = "$Id: amiga.c,v 1.12 2007/01/07 07:40:52 joergs Exp $";
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: amiga.c,v $
* Revision 1.12 2007/01/07 07:40:52 joergs
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
*
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.9 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.8 2002/03/25 19:32:15 joergs
* Name in version string changed from junkbuster to Privoxy.
*
* Revision 1.7 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.6 2002/03/09 20:03:52 jongfoster
* - Making various functions return int rather than size_t.
* (Undoing a recent change). Since size_t is unsigned on
* Windows, functions like read_socket that return -1 on
* error cannot return a size_t.
*
* THIS WAS A MAJOR BUG - it caused frequent, unpredictable
* crashes, and also frequently caused JB to jump to 100%
* CPU and stay there. (Because it thought it had just
* read ((unsigned)-1) == 4Gb of data...)
*
* - The signature of write_socket has changed, it now simply
* returns success=0/failure=nonzero.
*
* - Trying to get rid of a few warnings --with-debug on
* Windows, I've introduced a new type "jb_socket". This is
* used for the socket file descriptors. On Windows, this
* is SOCKET (a typedef for unsigned). Everywhere else, it's
* an int. The error value can't be -1 any more, so it's
* now JB_INVALID_SOCKET (which is -1 on UNIX, and in
* Windows it maps to the #define INVALID_SOCKET.)
*
* - The signature of bind_port has changed.
*
* Revision 1.5 2002/03/03 09:18:03 joergs
* Made jumbjuster work on AmigaOS again.
*
* Revision 1.4 2001/10/07 15:35:13 oes
* Replaced 6 boolean members of csp with one bitmap (csp->flags)
*
* Revision 1.3 2001/09/12 22:54:51 joergs
* Stacksize of main thread increased.
*
* Revision 1.2 2001/05/23 00:13:58 joergs
* AmigaOS support fixed.
*
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/ *********************************************************************/
#include "config.h" #include "config.h"

View File

@ -1,7 +1,7 @@
#ifdef AMIGA #ifdef AMIGA
#ifndef AMIGA_H_INCLUDED #ifndef AMIGA_H_INCLUDED
#define AMIGA_H_INCLUDED #define AMIGA_H_INCLUDED
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.12 2007/01/07 07:40:52 joergs Exp $" #define AMIGA_H_VERSION "$Id: amiga.h,v 1.14 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/amiga.h,v $ * File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
@ -11,7 +11,7 @@
* Copyright : Written by and Copyright (C) 2001 the SourceForge * Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -29,47 +29,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: amiga.h,v $
* Revision 1.12 2007/01/07 07:40:52 joergs
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
*
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.9 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.8 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.7 2002/03/03 09:18:03 joergs
* Made jumbjuster work on AmigaOS again.
*
* Revision 1.6 2001/10/13 12:46:08 joergs
* Added #undef EINTR to avoid warnings
*
* Revision 1.5 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.4 2001/05/29 20:05:06 joergs
* Fixed exit() macro not exiting if called before InitAmiga()
* (junkbuster --help and --version).
*
* Revision 1.3 2001/05/25 21:53:27 jongfoster
* Fixing indentation
*
* Revision 1.2 2001/05/23 00:13:58 joergs
* AmigaOS support fixed.
*
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/ *********************************************************************/
#define _KERNEL #define _KERNEL
#include <sys/socket.h> #include <sys/socket.h>

File diff suppressed because it is too large Load Diff

View File

@ -1,75 +0,0 @@
# This file was generated by Autom4te Sun Nov 6 20:57:04 UTC 2011.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'configure.in'
],
{
'AM_PROG_F77_C_O' => 1,
'_LT_AC_TAGCONFIG' => 1,
'm4_pattern_forbid' => 1,
'AC_INIT' => 1,
'AC_CANONICAL_TARGET' => 1,
'_AM_COND_IF' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_SUBST' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_FC_SRCEXT' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_PATH_GUILE' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'LT_SUPPORTED_TAG' => 1,
'm4_sinclude' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_NLS' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'_m4_warn' => 1,
'AM_MAKEFILE_INCLUDE' => 1,
'AM_PROG_CXX_C_O' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
'_AM_COND_ENDIF' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AM_SILENT_RULES' => 1,
'AM_PROG_MOC' => 1,
'AC_CONFIG_FILES' => 1,
'LT_INIT' => 1,
'include' => 1,
'AM_GNU_GETTEXT' => 1,
'AM_PROG_AR' => 1,
'AC_LIBSOURCE' => 1,
'AC_CANONICAL_BUILD' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_FC_FREEFORM' => 1,
'AH_OUTPUT' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'm4_pattern_allow' => 1,
'AM_PROG_CC_C_O' => 1,
'sinclude' => 1,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_XGETTEXT_OPTION' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AM_POT_TOOLS' => 1,
'm4_include' => 1,
'_AM_COND_ELSE' => 1,
'AC_SUBST_TRACE' => 1
}
], 'Autom4te::Request' )
);

View File

@ -1,726 +0,0 @@
m4trace:configure.in:570: -1- AC_INIT([jcc.c])
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:570: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:570: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:570: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:570: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:570: -1- AC_SUBST([SHELL])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.in:570: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.in:570: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.in:570: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_URL])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.in:570: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.in:570: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.in:570: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.in:570: -1- m4_pattern_allow([^prefix$])
m4trace:configure.in:570: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.in:570: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.in:570: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.in:570: -1- m4_pattern_allow([^bindir$])
m4trace:configure.in:570: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.in:570: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.in:570: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.in:570: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.in:570: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.in:570: -1- m4_pattern_allow([^datadir$])
m4trace:configure.in:570: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.in:570: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.in:570: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.in:570: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^includedir$])
m4trace:configure.in:570: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.in:570: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^docdir$])
m4trace:configure.in:570: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.in:570: -1- m4_pattern_allow([^infodir$])
m4trace:configure.in:570: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.in:570: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.in:570: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.in:570: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.in:570: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.in:570: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^psdir$])
m4trace:configure.in:570: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^libdir$])
m4trace:configure.in:570: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^localedir$])
m4trace:configure.in:570: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.in:570: -1- m4_pattern_allow([^mandir$])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
@%:@undef PACKAGE_NAME])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
@%:@undef PACKAGE_TARNAME])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
@%:@undef PACKAGE_VERSION])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
@%:@undef PACKAGE_STRING])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
@%:@undef PACKAGE_BUGREPORT])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
@%:@undef PACKAGE_URL])
m4trace:configure.in:570: -1- AC_SUBST([DEFS])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.in:570: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.in:570: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.in:570: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.in:570: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.in:570: -1- AC_SUBST([LIBS])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:570: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:570: -1- AC_SUBST([build_alias])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.in:570: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.in:570: -1- AC_SUBST([host_alias])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.in:570: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.in:570: -1- AC_SUBST([target_alias])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.in:570: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.in:583: -1- AC_CONFIG_HEADERS([config.h])
m4trace:configure.in:584: -1- AC_CANONICAL_HOST
m4trace:configure.in:584: -1- AC_CANONICAL_BUILD
m4trace:configure.in:584: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.in:584: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.in:584: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build])
m4trace:configure.in:584: -1- m4_pattern_allow([^build$])
m4trace:configure.in:584: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.in:584: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.in:584: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.in:584: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.in:584: -1- AC_SUBST([build_os])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.in:584: -1- m4_pattern_allow([^build_os$])
m4trace:configure.in:584: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host])
m4trace:configure.in:584: -1- m4_pattern_allow([^host$])
m4trace:configure.in:584: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.in:584: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.in:584: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.in:584: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.in:584: -1- AC_SUBST([host_os])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.in:584: -1- m4_pattern_allow([^host_os$])
m4trace:configure.in:626: -1- AC_SUBST([VERSION_MAJOR])
m4trace:configure.in:626: -1- AC_SUBST_TRACE([VERSION_MAJOR])
m4trace:configure.in:626: -1- m4_pattern_allow([^VERSION_MAJOR$])
m4trace:configure.in:627: -1- AC_SUBST([VERSION_MINOR])
m4trace:configure.in:627: -1- AC_SUBST_TRACE([VERSION_MINOR])
m4trace:configure.in:627: -1- m4_pattern_allow([^VERSION_MINOR$])
m4trace:configure.in:628: -1- AC_SUBST([VERSION_POINT])
m4trace:configure.in:628: -1- AC_SUBST_TRACE([VERSION_POINT])
m4trace:configure.in:628: -1- m4_pattern_allow([^VERSION_POINT$])
m4trace:configure.in:629: -1- AC_SUBST([CODE_STATUS])
m4trace:configure.in:629: -1- AC_SUBST_TRACE([CODE_STATUS])
m4trace:configure.in:629: -1- m4_pattern_allow([^CODE_STATUS$])
m4trace:configure.in:632: -1- AC_DEFINE_TRACE_LITERAL([VERSION_MAJOR])
m4trace:configure.in:632: -1- m4_pattern_allow([^VERSION_MAJOR$])
m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([VERSION_MINOR])
m4trace:configure.in:633: -1- m4_pattern_allow([^VERSION_MINOR$])
m4trace:configure.in:634: -1- AC_DEFINE_TRACE_LITERAL([VERSION_POINT])
m4trace:configure.in:634: -1- m4_pattern_allow([^VERSION_POINT$])
m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.in:635: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.in:636: -1- AC_DEFINE_TRACE_LITERAL([CODE_STATUS])
m4trace:configure.in:636: -1- m4_pattern_allow([^CODE_STATUS$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.in:647: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.in:647: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.in:647: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.in:647: -1- AC_SUBST([LIBS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:647: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:647: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:647: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.in:647: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.in:647: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.in:647: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.in:647: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.in:648: -1- AC_SUBST([CPP])
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.in:648: -1- m4_pattern_allow([^CPP$])
m4trace:configure.in:648: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:648: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:648: -1- AC_SUBST([CPP])
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.in:648: -1- m4_pattern_allow([^CPP$])
m4trace:configure.in:649: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.in:650: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.in:650: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.in:650: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.in:651: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:651: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.in:651: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.in:652: -1- AC_SUBST([AWK])
m4trace:configure.in:652: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.in:652: -1- m4_pattern_allow([^AWK$])
m4trace:configure.in:654: -1- AC_SUBST([GDB])
m4trace:configure.in:654: -1- AC_SUBST_TRACE([GDB])
m4trace:configure.in:654: -1- m4_pattern_allow([^GDB$])
m4trace:configure.in:655: -1- AC_SUBST([BGROUPS])
m4trace:configure.in:655: -1- AC_SUBST_TRACE([BGROUPS])
m4trace:configure.in:655: -1- m4_pattern_allow([^BGROUPS$])
m4trace:configure.in:656: -1- AC_SUBST([ID])
m4trace:configure.in:656: -1- AC_SUBST_TRACE([ID])
m4trace:configure.in:656: -1- m4_pattern_allow([^ID$])
m4trace:configure.in:657: -1- AC_SUBST([ID])
m4trace:configure.in:657: -1- AC_SUBST_TRACE([ID])
m4trace:configure.in:657: -1- m4_pattern_allow([^ID$])
m4trace:configure.in:658: -1- AC_SUBST([BGROUPS])
m4trace:configure.in:658: -1- AC_SUBST_TRACE([BGROUPS])
m4trace:configure.in:658: -1- m4_pattern_allow([^BGROUPS$])
m4trace:configure.in:734: -1- AC_SUBST([USER])
m4trace:configure.in:734: -1- AC_SUBST_TRACE([USER])
m4trace:configure.in:734: -1- m4_pattern_allow([^USER$])
m4trace:configure.in:771: -1- AC_SUBST([GROUP])
m4trace:configure.in:771: -1- AC_SUBST_TRACE([GROUP])
m4trace:configure.in:771: -1- m4_pattern_allow([^GROUP$])
m4trace:configure.in:799: -1- _m4_warn([obsolete], [The macro `AC_MINGW32' is obsolete.
You should run autoupdate.], [../../lib/autoconf/specific.m4:345: AC_MINGW32 is expanded from...
configure.in:799: the top level])
m4trace:configure.in:799: -1- AC_CANONICAL_HOST
m4trace:configure.in:800: -1- _m4_warn([obsolete], [The macro `AC_CYGWIN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/specific.m4:317: AC_CYGWIN is expanded from...
configure.in:800: the top level])
m4trace:configure.in:800: -1- AC_CANONICAL_HOST
m4trace:configure.in:849: -1- AC_SUBST([WIN_ONLY])
m4trace:configure.in:849: -1- AC_SUBST_TRACE([WIN_ONLY])
m4trace:configure.in:849: -1- m4_pattern_allow([^WIN_ONLY$])
m4trace:configure.in:853: -1- AC_SUBST([WDUMP])
m4trace:configure.in:853: -1- AC_SUBST_TRACE([WDUMP])
m4trace:configure.in:853: -1- m4_pattern_allow([^WDUMP$])
m4trace:configure.in:861: -1- AC_SUBST([DB2HTML])
m4trace:configure.in:861: -1- AC_SUBST_TRACE([DB2HTML])
m4trace:configure.in:861: -1- m4_pattern_allow([^DB2HTML$])
m4trace:configure.in:864: -1- AC_SUBST([WDUMP])
m4trace:configure.in:864: -1- AC_SUBST_TRACE([WDUMP])
m4trace:configure.in:864: -1- m4_pattern_allow([^WDUMP$])
m4trace:configure.in:865: -1- AC_SUBST([DB2HTML])
m4trace:configure.in:865: -1- AC_SUBST_TRACE([DB2HTML])
m4trace:configure.in:865: -1- m4_pattern_allow([^DB2HTML$])
m4trace:configure.in:868: -1- AC_SUBST([RPMBIN])
m4trace:configure.in:868: -1- AC_SUBST_TRACE([RPMBIN])
m4trace:configure.in:868: -1- m4_pattern_allow([^RPMBIN$])
m4trace:configure.in:875: -1- AC_SUBST([RPM_BASE])
m4trace:configure.in:875: -1- AC_SUBST_TRACE([RPM_BASE])
m4trace:configure.in:875: -1- m4_pattern_allow([^RPM_BASE$])
m4trace:configure.in:878: -1- AC_SUBST([JADEBIN])
m4trace:configure.in:878: -1- AC_SUBST_TRACE([JADEBIN])
m4trace:configure.in:878: -1- m4_pattern_allow([^JADEBIN$])
m4trace:configure.in:879: -1- AC_SUBST([JADEBIN])
m4trace:configure.in:879: -1- AC_SUBST_TRACE([JADEBIN])
m4trace:configure.in:879: -1- m4_pattern_allow([^JADEBIN$])
m4trace:configure.in:882: -1- AC_SUBST([MAN2HTML])
m4trace:configure.in:882: -1- AC_SUBST_TRACE([MAN2HTML])
m4trace:configure.in:882: -1- m4_pattern_allow([^MAN2HTML$])
m4trace:configure.in:883: -1- AC_SUBST([MAN2HTML])
m4trace:configure.in:883: -1- AC_SUBST_TRACE([MAN2HTML])
m4trace:configure.in:883: -1- m4_pattern_allow([^MAN2HTML$])
m4trace:configure.in:890: -1- AC_SUBST([DOC_STATUS])
m4trace:configure.in:890: -1- AC_SUBST_TRACE([DOC_STATUS])
m4trace:configure.in:890: -1- m4_pattern_allow([^DOC_STATUS$])
m4trace:configure.in:932: -1- AC_SUBST([JADECAT])
m4trace:configure.in:932: -1- AC_SUBST_TRACE([JADECAT])
m4trace:configure.in:932: -1- m4_pattern_allow([^JADECAT$])
m4trace:configure.in:933: -1- AC_SUBST([DKPREFIX])
m4trace:configure.in:933: -1- AC_SUBST_TRACE([DKPREFIX])
m4trace:configure.in:933: -1- m4_pattern_allow([^DKPREFIX$])
m4trace:configure.in:951: -1- AC_SUBST([GREP])
m4trace:configure.in:951: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.in:951: -1- m4_pattern_allow([^GREP$])
m4trace:configure.in:951: -1- AC_SUBST([EGREP])
m4trace:configure.in:951: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.in:951: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.in:951: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:951: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:951: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
@%:@undef HAVE_SYS_TYPES_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
@%:@undef HAVE_MEMORY_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
@%:@undef HAVE_INTTYPES_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
@%:@undef HAVE_STDINT_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.in:966: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_PTHREAD])
m4trace:configure.in:966: -1- m4_pattern_allow([^FEATURE_PTHREAD$])
m4trace:configure.in:973: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
configure.in:973: the top level])
m4trace:configure.in:989: -1- AC_SUBST([PTHREAD_ONLY])
m4trace:configure.in:989: -1- AC_SUBST_TRACE([PTHREAD_ONLY])
m4trace:configure.in:989: -1- m4_pattern_allow([^PTHREAD_ONLY$])
m4trace:configure.in:997: -1- AH_OUTPUT([HAVE_LIBNSL], [/* Define to 1 if you have the `nsl\' library (-lnsl). */
@%:@undef HAVE_LIBNSL])
m4trace:configure.in:997: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNSL])
m4trace:configure.in:997: -1- m4_pattern_allow([^HAVE_LIBNSL$])
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:999: the top level])
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_8_ARGS])
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_8_ARGS$])
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:999: the top level])
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_7_ARGS])
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_7_ARGS$])
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:999: the top level])
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_5_ARGS])
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_5_ARGS$])
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1043: the top level])
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_6_ARGS])
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_6_ARGS$])
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1043: the top level])
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_5_ARGS])
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_5_ARGS$])
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1043: the top level])
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_3_ARGS])
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_3_ARGS$])
m4trace:configure.in:1086: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1086: the top level])
m4trace:configure.in:1086: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GMTIME_R])
m4trace:configure.in:1086: -1- m4_pattern_allow([^HAVE_GMTIME_R$])
m4trace:configure.in:1104: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1104: the top level])
m4trace:configure.in:1104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALTIME_R])
m4trace:configure.in:1104: -1- m4_pattern_allow([^HAVE_LOCALTIME_R$])
m4trace:configure.in:1136: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
m4trace:configure.in:1136: -1- m4_pattern_allow([^__EXTENSIONS__$])
m4trace:configure.in:1149: -1- AC_SUBST([SOCKET_LIB])
m4trace:configure.in:1149: -1- AC_SUBST_TRACE([SOCKET_LIB])
m4trace:configure.in:1149: -1- m4_pattern_allow([^SOCKET_LIB$])
m4trace:configure.in:1158: -2- AC_DEFINE_TRACE_LITERAL([socklen_t])
m4trace:configure.in:1158: -2- m4_pattern_allow([^socklen_t$])
m4trace:configure.in:1158: -2- AH_OUTPUT([socklen_t], [/* Define to \'int\' if <sys/socket.h> doesn\'t have it. */
@%:@undef socklen_t])
m4trace:configure.in:1171: -1- AC_SUBST([SOCKET_LIB])
m4trace:configure.in:1171: -1- AC_SUBST_TRACE([SOCKET_LIB])
m4trace:configure.in:1171: -1- m4_pattern_allow([^SOCKET_LIB$])
m4trace:configure.in:1202: -1- AC_SUBST([AMIGAOS_ONLY])
m4trace:configure.in:1202: -1- AC_SUBST_TRACE([AMIGAOS_ONLY])
m4trace:configure.in:1202: -1- m4_pattern_allow([^AMIGAOS_ONLY$])
m4trace:configure.in:1210: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:1210: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:1210: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
*/
@%:@undef HAVE_DIRENT_H])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
*/
@%:@undef HAVE_SYS_NDIR_H])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
*/
@%:@undef HAVE_SYS_DIR_H])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
@%:@undef HAVE_NDIR_H])
m4trace:configure.in:1212: -1- AC_DEFINE_TRACE_LITERAL([const])
m4trace:configure.in:1212: -1- m4_pattern_allow([^const$])
m4trace:configure.in:1212: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
@%:@undef const])
m4trace:configure.in:1213: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:1213: -1- m4_pattern_allow([^size_t$])
m4trace:configure.in:1213: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
@%:@undef size_t])
m4trace:configure.in:1214: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
m4trace:configure.in:1214: -1- m4_pattern_allow([^pid_t$])
m4trace:configure.in:1214: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
@%:@undef pid_t])
m4trace:configure.in:1215: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
m4trace:configure.in:1215: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
m4trace:configure.in:1215: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
@%:@undef TIME_WITH_SYS_TIME])
m4trace:configure.in:1216: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.in:1216: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
m4trace:configure.in:1216: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
@%:@undef TM_IN_SYS_TIME])
m4trace:configure.in:1217: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
m4trace:configure.in:1217: -1- m4_pattern_allow([^SIZEOF_INT$])
m4trace:configure.in:1217: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
@%:@undef SIZEOF_INT])
m4trace:configure.in:1218: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
m4trace:configure.in:1218: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
m4trace:configure.in:1218: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
@%:@undef SIZEOF_CHAR_P])
m4trace:configure.in:1219: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
m4trace:configure.in:1219: -1- m4_pattern_allow([^SIZEOF_LONG$])
m4trace:configure.in:1219: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
@%:@undef SIZEOF_LONG])
m4trace:configure.in:1220: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
m4trace:configure.in:1220: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
m4trace:configure.in:1220: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
@%:@undef SIZEOF_LONG_LONG])
m4trace:configure.in:1221: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SIZE_T])
m4trace:configure.in:1221: -1- m4_pattern_allow([^SIZEOF_SIZE_T$])
m4trace:configure.in:1221: -1- AH_OUTPUT([SIZEOF_SIZE_T], [/* The size of `size_t\', as computed by sizeof. */
@%:@undef SIZEOF_SIZE_T])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_OS_H], [/* Define to 1 if you have the <OS.h> header file. */
@%:@undef HAVE_OS_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
@%:@undef HAVE_ARPA_INET_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
@%:@undef HAVE_ERRNO_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
@%:@undef HAVE_FCNTL_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
@%:@undef HAVE_LIMITS_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
@%:@undef HAVE_LOCALE_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
@%:@undef HAVE_NETDB_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
@%:@undef HAVE_NETINET_IN_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
@%:@undef HAVE_STDDEF_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_IOCTL_H], [/* Define to 1 if you have the <sys/ioctl.h> header file. */
@%:@undef HAVE_SYS_IOCTL_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
@%:@undef HAVE_SYS_SOCKET_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
@%:@undef HAVE_SYS_TIME_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_TIMEB_H], [/* Define to 1 if you have the <sys/timeb.h> header file. */
@%:@undef HAVE_SYS_TIMEB_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
@%:@undef HAVE_SYS_WAIT_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
@%:@undef HAVE_STRERROR])
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
@%:@undef HAVE_BCOPY])
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
@%:@undef HAVE_MEMMOVE])
m4trace:configure.in:1236: -1- AC_DEFINE_TRACE_LITERAL([SETPGRP_VOID])
m4trace:configure.in:1236: -1- m4_pattern_allow([^SETPGRP_VOID$])
m4trace:configure.in:1236: -1- AH_OUTPUT([SETPGRP_VOID], [/* Define to 1 if the `setpgrp\' function takes no argument. */
@%:@undef SETPGRP_VOID])
m4trace:configure.in:1237: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
configure.in:1237: the top level])
m4trace:configure.in:1237: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
m4trace:configure.in:1237: -1- m4_pattern_allow([^RETSIGTYPE$])
m4trace:configure.in:1237: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
@%:@undef RETSIGTYPE])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_ACCESS], [/* Define to 1 if you have the `access\' function. */
@%:@undef HAVE_ACCESS])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_ATEXIT], [/* Define to 1 if you have the `atexit\' function. */
@%:@undef HAVE_ATEXIT])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
@%:@undef HAVE_GETCWD])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYADDR], [/* Define to 1 if you have the `gethostbyaddr\' function. */
@%:@undef HAVE_GETHOSTBYADDR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYADDR_R], [/* Define to 1 if you have the `gethostbyaddr_r\' function. */
@%:@undef HAVE_GETHOSTBYADDR_R])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
@%:@undef HAVE_GETHOSTBYNAME])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME_R], [/* Define to 1 if you have the `gethostbyname_r\' function. */
@%:@undef HAVE_GETHOSTBYNAME_R])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
@%:@undef HAVE_GETTIMEOFDAY])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_INET_NTOA], [/* Define to 1 if you have the `inet_ntoa\' function. */
@%:@undef HAVE_INET_NTOA])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_LOCALTIME_R], [/* Define to 1 if you have the `localtime_r\' function. */
@%:@undef HAVE_LOCALTIME_R])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMCHR], [/* Define to 1 if you have the `memchr\' function. */
@%:@undef HAVE_MEMCHR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
@%:@undef HAVE_MEMMOVE])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
@%:@undef HAVE_MEMSET])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_POLL], [/* Define to 1 if you have the `poll\' function. */
@%:@undef HAVE_POLL])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
@%:@undef HAVE_PUTENV])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_RANDOM], [/* Define to 1 if you have the `random\' function. */
@%:@undef HAVE_RANDOM])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
@%:@undef HAVE_REGCOMP])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
@%:@undef HAVE_SELECT])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
@%:@undef HAVE_SETLOCALE])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
@%:@undef HAVE_SNPRINTF])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
@%:@undef HAVE_SOCKET])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
@%:@undef HAVE_STRCHR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
@%:@undef HAVE_STRDUP])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
@%:@undef HAVE_STRERROR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
@%:@undef HAVE_STRFTIME])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRLCAT], [/* Define to 1 if you have the `strlcat\' function. */
@%:@undef HAVE_STRLCAT])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */
@%:@undef HAVE_STRLCPY])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRPTIME], [/* Define to 1 if you have the `strptime\' function. */
@%:@undef HAVE_STRPTIME])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
@%:@undef HAVE_STRSTR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
@%:@undef HAVE_STRTOUL])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_TIMEGM], [/* Define to 1 if you have the `timegm\' function. */
@%:@undef HAVE_TIMEGM])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
@%:@undef HAVE_TZSET])
m4trace:configure.in:1249: -1- AC_DEFINE_TRACE_LITERAL([PCRE_H_IN_SUBDIR])
m4trace:configure.in:1249: -1- m4_pattern_allow([^PCRE_H_IN_SUBDIR$])
m4trace:configure.in:1259: -1- AC_DEFINE_TRACE_LITERAL([PCREPOSIX_H_IN_SUBDIR])
m4trace:configure.in:1259: -1- m4_pattern_allow([^PCREPOSIX_H_IN_SUBDIR$])
m4trace:configure.in:1284: -1- AC_DEFINE_TRACE_LITERAL([__MT__])
m4trace:configure.in:1284: -1- m4_pattern_allow([^__MT__$])
m4trace:configure.in:1294: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_TOGGLE])
m4trace:configure.in:1294: -2- m4_pattern_allow([^FEATURE_TOGGLE$])
m4trace:configure.in:1290: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_TOGGLE])
m4trace:configure.in:1290: -1- m4_pattern_allow([^FEATURE_TOGGLE$])
m4trace:configure.in:1300: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_FORCE_LOAD])
m4trace:configure.in:1300: -2- m4_pattern_allow([^FEATURE_FORCE_LOAD$])
m4trace:configure.in:1296: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_FORCE_LOAD])
m4trace:configure.in:1296: -1- m4_pattern_allow([^FEATURE_FORCE_LOAD$])
m4trace:configure.in:1306: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_FAST_REDIRECTS])
m4trace:configure.in:1306: -2- m4_pattern_allow([^FEATURE_FAST_REDIRECTS$])
m4trace:configure.in:1302: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_FAST_REDIRECTS])
m4trace:configure.in:1302: -1- m4_pattern_allow([^FEATURE_FAST_REDIRECTS$])
m4trace:configure.in:1312: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_STATISTICS])
m4trace:configure.in:1312: -2- m4_pattern_allow([^FEATURE_STATISTICS$])
m4trace:configure.in:1308: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_STATISTICS])
m4trace:configure.in:1308: -1- m4_pattern_allow([^FEATURE_STATISTICS$])
m4trace:configure.in:1314: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_DETECT_MSIE])
m4trace:configure.in:1314: -1- m4_pattern_allow([^FEATURE_IMAGE_DETECT_MSIE$])
m4trace:configure.in:1327: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_BLOCKING])
m4trace:configure.in:1327: -2- m4_pattern_allow([^FEATURE_IMAGE_BLOCKING$])
m4trace:configure.in:1321: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_BLOCKING])
m4trace:configure.in:1321: -1- m4_pattern_allow([^FEATURE_IMAGE_BLOCKING$])
m4trace:configure.in:1335: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_ACL])
m4trace:configure.in:1335: -2- m4_pattern_allow([^FEATURE_ACL$])
m4trace:configure.in:1329: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_ACL])
m4trace:configure.in:1329: -1- m4_pattern_allow([^FEATURE_ACL$])
m4trace:configure.in:1342: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_TRUST])
m4trace:configure.in:1342: -2- m4_pattern_allow([^FEATURE_TRUST$])
m4trace:configure.in:1337: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_TRUST])
m4trace:configure.in:1337: -1- m4_pattern_allow([^FEATURE_TRUST$])
m4trace:configure.in:1350: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_CGI_EDIT_ACTIONS])
m4trace:configure.in:1350: -2- m4_pattern_allow([^FEATURE_CGI_EDIT_ACTIONS$])
m4trace:configure.in:1344: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_CGI_EDIT_ACTIONS])
m4trace:configure.in:1344: -1- m4_pattern_allow([^FEATURE_CGI_EDIT_ACTIONS$])
m4trace:configure.in:1352: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_NO_GIFS])
m4trace:configure.in:1352: -1- m4_pattern_allow([^FEATURE_NO_GIFS$])
m4trace:configure.in:1359: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_GRACEFUL_TERMINATION])
m4trace:configure.in:1359: -1- m4_pattern_allow([^FEATURE_GRACEFUL_TERMINATION$])
m4trace:configure.in:1365: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_EXTENDED_HOST_PATTERNS])
m4trace:configure.in:1365: -1- m4_pattern_allow([^FEATURE_EXTENDED_HOST_PATTERNS$])
m4trace:configure.in:1400: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_ZLIB])
m4trace:configure.in:1400: -1- m4_pattern_allow([^FEATURE_ZLIB$])
m4trace:configure.in:1400: -1- AH_OUTPUT([FEATURE_ZLIB], [/* Define to 1 to use compression through the zlib library. */
@%:@undef FEATURE_ZLIB])
m4trace:configure.in:1422: -1- AC_DEFINE_TRACE_LITERAL([STATIC_PCRE])
m4trace:configure.in:1422: -1- m4_pattern_allow([^STATIC_PCRE$])
m4trace:configure.in:1428: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_CONNECTION_KEEP_ALIVE])
m4trace:configure.in:1428: -1- m4_pattern_allow([^FEATURE_CONNECTION_KEEP_ALIVE$])
m4trace:configure.in:1445: -1- AC_DEFINE_TRACE_LITERAL([STATIC_PCRS])
m4trace:configure.in:1445: -1- m4_pattern_allow([^STATIC_PCRS$])
m4trace:configure.in:1449: -1- AC_SUBST([STATIC_PCRE_ONLY])
m4trace:configure.in:1449: -1- AC_SUBST_TRACE([STATIC_PCRE_ONLY])
m4trace:configure.in:1449: -1- m4_pattern_allow([^STATIC_PCRE_ONLY$])
m4trace:configure.in:1450: -1- AC_SUBST([STATIC_PCRS_ONLY])
m4trace:configure.in:1450: -1- AC_SUBST_TRACE([STATIC_PCRS_ONLY])
m4trace:configure.in:1450: -1- m4_pattern_allow([^STATIC_PCRS_ONLY$])
m4trace:configure.in:1459: -1- AC_SUBST([SPECIAL_CFLAGS])
m4trace:configure.in:1459: -1- AC_SUBST_TRACE([SPECIAL_CFLAGS])
m4trace:configure.in:1459: -1- m4_pattern_allow([^SPECIAL_CFLAGS$])
m4trace:configure.in:1461: -1- AC_SUBST([PTHREAD_LIB])
m4trace:configure.in:1461: -1- AC_SUBST_TRACE([PTHREAD_LIB])
m4trace:configure.in:1461: -1- m4_pattern_allow([^PTHREAD_LIB$])
m4trace:configure.in:1463: -1- AC_CONFIG_FILES([GNUmakefile doc/source/ldp.dsl])
m4trace:configure.in:1463: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
m4trace:configure.in:1463: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:1463: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:1463: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.in:1463: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([INSTALL])

1084
external/privoxy/cgi.c vendored

File diff suppressed because it is too large Load Diff

184
external/privoxy/cgi.h vendored
View File

@ -1,24 +1,24 @@
#ifndef CGI_H_INCLUDED #ifndef CGI_H_INCLUDED
#define CGI_H_INCLUDED #define CGI_H_INCLUDED
#define CGI_H_VERSION "$Id: cgi.h,v 1.35 2008/05/21 15:24:37 fabiankeil Exp $" #define CGI_H_VERSION "$Id: cgi.h,v 1.41 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/cgi.h,v $ * File : $Source: /cvsroot/ijbswa/current/cgi.h,v $
* *
* Purpose : Declares functions to intercept request, generate * Purpose : Declares functions to intercept request, generate
* html or gif answers, and to compose HTTP resonses. * html or gif answers, and to compose HTTP resonses.
*
* Functions declared include:
*
* *
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge * Functions declared include:
*
*
* Copyright : Written by and Copyright (C) 2001-2009 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -36,161 +36,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: cgi.h,v $
* Revision 1.35 2008/05/21 15:24:37 fabiankeil
* Mark csp as immutable for a bunch of functions.
*
* Revision 1.34 2008/04/17 14:40:48 fabiankeil
* Provide get_http_time() with the buffer size so it doesn't
* have to blindly assume that the buffer is big enough.
*
* Revision 1.33 2007/01/28 13:41:17 fabiankeil
* - Add HEAD support to finish_http_response.
* - Add error favicon to internal HTML error messages.
*
* Revision 1.32 2006/12/17 17:53:39 fabiankeil
* Suppress the toggle link if remote toggling is disabled.
*
* Revision 1.31 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.29.2.2 2004/02/17 13:30:23 oes
* Moved cgi_error_disabled() from cgiedit.c to
* cgi.c to re-enable build with --disable-editor.
* Fixes Bug #892744. Thanks to Matthew Fischer
* for spotting.
*
* Revision 1.29.2.1 2003/12/17 16:33:28 oes
* Added prototype of new function cgi_redirect
*
* Revision 1.29 2002/05/19 11:33:21 jongfoster
* If a CGI error was not handled, and propogated back to
* dispatch_known_cgi(), then it was assumed to be "out of memory".
* This gave a very misleading error message.
*
* Now other errors will cause a simple message giving the error
* number and asking the user to report a bug.
*
* Bug report:
* http://sourceforge.net/tracker/index.php?func=detail
* &aid=557905&group_id=11118&atid=111118
*
* Revision 1.28 2002/04/26 12:54:03 oes
* New function add_help_link
*
* Revision 1.27 2002/04/24 02:16:51 oes
* Moved get_char_param, get_string_param and get_number_param here from cgiedit.c
*
* Revision 1.26 2002/04/10 13:38:35 oes
* load_template signature changed
*
* Revision 1.25 2002/04/08 20:50:25 swa
* fixed JB spelling
*
* Revision 1.24 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.23 2002/03/24 16:18:15 jongfoster
* Removing old logo
*
* Revision 1.22 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.21 2002/03/07 03:48:38 oes
* - Changed built-in images from GIF to PNG
* (with regard to Unisys patent issue)
* - Added a 4x4 pattern PNG which is less intrusive
* than the logo but also clearly marks the deleted banners
*
* Revision 1.20 2002/03/04 17:53:22 oes
* Fixed compiled warning
*
* Revision 1.19 2002/01/21 00:33:52 jongfoster
* Adding map_block_keep() to save a few bytes in the edit-actions-list HTML.
*
* Revision 1.18 2001/11/16 00:46:31 jongfoster
* Fixing compiler warnings
*
* Revision 1.17 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle Junkbuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.16 2001/09/16 17:08:54 jongfoster
* Moving simple CGI functions from cgi.c to new file cgisimple.c
*
* Revision 1.15 2001/09/16 15:02:35 jongfoster
* Adding i.j.b/robots.txt.
* Inlining add_stats() since it's only ever called from one place.
*
* Revision 1.14 2001/09/16 11:38:02 jongfoster
* Splitting fill_template() into 2 functions:
* template_load() loads the file
* template_fill() performs the PCRS regexps.
* This is because the CGI edit interface has a "table row"
* template which is used many times in the page - this
* change means it's only loaded from disk once.
*
* Revision 1.13 2001/09/16 11:00:10 jongfoster
* New function alloc_http_response, for symmetry with free_http_response
*
* Revision 1.12 2001/09/13 23:31:25 jongfoster
* Moving image data to cgi.c rather than cgi.h.
*
* Revision 1.11 2001/08/05 16:06:20 jongfoster
* Modifiying "struct map" so that there are now separate header and
* "map_entry" structures. This means that functions which modify a
* map no longer need to return a pointer to the modified map.
* Also, it no longer reverses the order of the entries (which may be
* important with some advanced template substitutions).
*
* Revision 1.10 2001/08/01 21:19:22 jongfoster
* Moving file version information to a separate CGI page.
*
* Revision 1.9 2001/08/01 00:17:54 jongfoster
* Adding prototype for map_conditional
*
* Revision 1.8 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.7 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.6 2001/06/29 21:45:41 oes
* Indentation, CRLF->LF, Tab-> Space
*
* Revision 1.5 2001/06/29 13:22:44 oes
* - Cleaned up
* - Added new functions: default_exports(), make_menu(),
* error_response() etc, ranamed others and changed
* param and return types.
* - Removed HTTP/HTML snipplets
* - Removed logentry from cancelled commit
*
* Revision 1.4 2001/06/09 10:50:58 jongfoster
* Changing "show URL info" handler to new style.
* Adding "extern" to some function prototypes.
*
* Revision 1.3 2001/06/03 19:12:16 oes
* introduced new cgi handling
*
* No revisions before 1.3
*
**********************************************************************/ **********************************************************************/
#include "project.h" #include "project.h"
@ -204,9 +51,8 @@ extern "C" {
extern struct http_response *dispatch_cgi(struct client_state *csp); extern struct http_response *dispatch_cgi(struct client_state *csp);
/* Not exactly a CGI */ /* Not exactly a CGI */
extern struct http_response * error_response(struct client_state *csp, extern struct http_response *error_response(struct client_state *csp,
const char *templatename, const char *templatename);
int err);
/* /*
* CGI support functions * CGI support functions
@ -223,7 +69,7 @@ extern jb_err map_block_killer (struct map *exports, const char *name);
extern jb_err map_block_keep (struct map *exports, const char *name); extern jb_err map_block_keep (struct map *exports, const char *name);
extern jb_err map_conditional (struct map *exports, const char *name, int choose_first); extern jb_err map_conditional (struct map *exports, const char *name, int choose_first);
extern jb_err template_load(const struct client_state *csp, char ** template_ptr, extern jb_err template_load(const struct client_state *csp, char ** template_ptr,
const char *templatename, int recursive); const char *templatename, int recursive);
extern jb_err template_fill(char ** template_ptr, const struct map *exports); extern jb_err template_fill(char ** template_ptr, const struct map *exports);
extern jb_err template_fill_for_cgi(const struct client_state *csp, extern jb_err template_fill_for_cgi(const struct client_state *csp,
@ -255,6 +101,14 @@ extern jb_err get_string_param(const struct map *parameters,
const char **pparam); const char **pparam);
extern char get_char_param(const struct map *parameters, extern char get_char_param(const struct map *parameters,
const char *param_name); const char *param_name);
#ifdef FEATURE_COMPRESSION
/*
* Minimum length which a buffer has to reach before
* we bother to (re-)compress it. Completely arbitrary.
*/
extern const size_t LOWER_LENGTH_LIMIT_FOR_COMPRESSION;
extern char *compress_buffer(char *buffer, size_t *buffer_length, int compression_level);
#endif
/* /*
* Text generators * Text generators

View File

@ -1,4 +1,4 @@
const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.65 2009/03/08 14:19:22 fabiankeil Exp $"; const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.71 2011/11/18 16:47:08 fabiankeil Exp $";
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $ * File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $
@ -40,361 +40,8 @@ const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.65 2009/03/08 14:19:22 fabiankeil
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: cgiedit.c,v $
* Revision 1.65 2009/03/08 14:19:22 fabiankeil
* Fix justified (but harmless) compiler warnings
* on platforms where sizeof(int) < sizeof(long).
*
* Revision 1.64 2009/03/01 18:43:09 fabiankeil
* Fix cparser warnings.
*
* Revision 1.63 2008/12/04 18:15:38 fabiankeil
* Fix some cparser warnings.
*
* Revision 1.62 2008/08/31 15:59:02 fabiankeil
* There's no reason to let remote toggling support depend
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
*
* Revision 1.61 2008/03/24 18:12:52 fabiankeil
* Use sizeof() more often.
*
* Revision 1.60 2008/03/15 14:52:35 fabiankeil
* Add CGI editor support for the "disable all filters of this type"
* directives "-client-header-filter", "-server-header-filter",
* "-client-header-tagger" and "-server-header-tagger".
*
* Revision 1.59 2008/03/08 16:25:56 fabiankeil
* After three file modification time mismatches, turn the CGI editor off.
*
* Revision 1.58 2007/11/28 17:57:01 fabiankeil
* Fix double free in cgi_edit_actions_list().
* Reported by adlab in BR#1840145.
*
* Revision 1.57 2007/10/27 13:32:23 fabiankeil
* Plug minor 5-year-old memory leak. Spotted by
* Valgrind and triggered by Privoxy-Regression-Test.
*
* Revision 1.56 2007/08/05 13:47:03 fabiankeil
* #1763173 from Stefan Huehner: s@const static@static const@.
*
* Revision 1.55 2007/05/31 11:50:20 fabiankeil
* Re-enable support for old-school URLs like
* http://config.privoxy.org/edit-actions-list?f=default
* in the action editor.
*
* They are no longer used by the CGI pages, but make it easier
* to reach the editor directly, without knowing the requested
* file's index in csp->config->actions_file[].
*
* Revision 1.54 2007/05/14 10:33:51 fabiankeil
* - Use strlcpy() and strlcat() instead of strcpy() and strcat().
*
* Revision 1.53 2007/04/15 16:39:20 fabiankeil
* Introduce tags as alternative way to specify which
* actions apply to a request. At the moment tags can be
* created based on client and server headers.
*
* Revision 1.52 2007/04/12 10:41:23 fabiankeil
* - Don't mistake VC++'s _snprintf() for a snprintf() replacement.
* - Move some cgi_edit_actions_for_url() variables into structs.
* - Remove bogus comment.
*
* Revision 1.51 2007/04/08 13:21:05 fabiankeil
* Reference action files in CGI URLs by id instead
* of using the first part of the file name.
* Fixes BR 1694250 and BR 1590556.
*
* Revision 1.50 2007/03/29 11:40:34 fabiankeil
* Divide @filter-params@ into @client-header-filter-params@
* @content-filter-params@ and @server-header-filter-params@.
*
* Revision 1.49 2007/03/20 15:16:34 fabiankeil
* Use dedicated header filter actions instead of abusing "filter".
* Replace "filter-client-headers" and "filter-client-headers"
* with "server-header-filter" and "client-header-filter".
*
* Revision 1.48 2007/02/13 14:35:25 fabiankeil
* Replace hash escaping code to prevent
* crashes, memory and file corruption.
*
* Revision 1.47 2006/12/28 18:04:25 fabiankeil
* Fixed gcc43 conversion warnings.
*
* Revision 1.46 2006/12/27 18:44:52 fabiankeil
* Stop shadowing string.h's index().
*
* Revision 1.45 2006/12/21 12:57:48 fabiankeil
* Add config option "split-large-forms"
* to work around the browser bug reported
* in BR #1570678.
*
* Revision 1.44 2006/12/09 13:49:16 fabiankeil
* Fix configure option --disable-toggle.
* Thanks to Peter Thoenen for reporting this.
*
* Revision 1.43 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.41.2.12 2006/01/30 15:16:25 david__schmidt
* Remove a little residual debugging info
*
* Revision 1.41.2.11 2006/01/29 23:10:56 david__schmidt
* Multiple filter file support
*
* Revision 1.41.2.10 2005/07/04 03:13:43 david__schmidt
* Undo some damaging memory leak patches
*
* Revision 1.41.2.9 2005/07/04 00:31:04 david__schmidt
* Removing a double free
*
* Revision 1.41.2.8 2005/05/07 21:50:54 david__schmidt
* A few memory leaks plugged (mostly on error paths)
*
* Revision 1.41.2.7 2004/02/17 13:30:23 oes
* Moved cgi_error_disabled() from cgiedit.c to
* cgi.c to re-enable build with --disable-editor.
* Fixes Bug #892744. Thanks to Matthew Fischer
* for spotting.
*
* Revision 1.41.2.6 2003/12/18 08:13:48 oes
* One line lost in last commit
*
* Revision 1.41.2.5 2003/12/17 16:33:47 oes
* - All edit functions that redirect back to the list page
* now use cgi_redirect
* - All redirects now contain useless parameter "foo", whose
* value are raw seconds since epoch, in order to force
* Opera and Konqueror to properly reload the list. Closes
* bug #859993
*
* Revision 1.41.2.4 2003/03/11 11:53:59 oes
* Cosmetic: Renamed cryptic variable
*
* Revision 1.41.2.3 2002/11/12 15:01:41 oes
* Fix: Don't free uninitialized struct editable_file
*
* Revision 1.41.2.2 2002/08/05 20:02:59 oes
* Bugfix: "Insert new section at top" did not work properly if first non-comment line in file was of type FILE_LINE_ACTION
*
* Revision 1.41.2.1 2002/08/02 12:43:14 oes
* Fixed bug #588514: first_time now set on a per-string basis in actions_from_radio; javascriptify now called on copies
*
* Revision 1.41 2002/05/21 19:09:45 oes
* - Made Add/Edit/Remove URL Submit and Cancel
* buttons jump back to relevant section in eal
* - Bugfix: remove-url-form needs p export
*
* Revision 1.40 2002/05/19 11:34:35 jongfoster
* Handling read-only actions files better - report the actual
* error, not "Out of memory"!
*
* Bug report:
* http://sourceforge.net/tracker/index.php?func=detail
* &aid=557905&group_id=11118&atid=111118
*
* Revision 1.39 2002/05/12 21:39:15 jongfoster
* - Adding Doxygen-style comments to structures and #defines.
* - Correcting function comments
*
* Revision 1.38 2002/05/03 23:00:38 jongfoster
* Support for templates for "standard actions" buttons.
* See bug #549871
*
* Revision 1.37 2002/04/30 11:14:52 oes
* Made csp the first parameter in *action_to_html
*
* Revision 1.36 2002/04/26 21:53:30 jongfoster
* Fixing a memory leak. (Near, but not caused by, my earlier commit).
*
* Revision 1.35 2002/04/26 21:50:02 jongfoster
* Honouring default exports in edit-actions-for-url-filter template.
*
* Revision 1.34 2002/04/26 12:54:17 oes
* Adaptions to changes in actions.c
*
* Revision 1.33 2002/04/24 02:17:47 oes
* - Moved get_char_param, get_string_param and get_number_param to cgi.c
* - Comments
* - Activated Jon's code for editing multiple AFs
* - cgi_edit_list_actions now provides context-sensitive
* help, looks up all action sets from standard.action and
* makes buttons for them in the catchall section
* - cgi_edit_action_submit now honors a p parameter, looks up
* the corresponding action set, and sets the catchall pattern's
* actions accordingly.
*
* Revision 1.32 2002/04/19 16:55:31 jongfoster
* Fixing newline problems. If we do our own text file newline
* mangling, we don't want the library to do any, so we need to
* open the files in *binary* mode.
*
* Revision 1.31 2002/04/18 19:21:08 jongfoster
* Added code to detect "conventional" action files, that start
* with a set of actions for all URLs (the pattern "/").
* These are special-cased in the "edit-actions-list" CGI, so
* that a special UI can be written for them.
*
* Revision 1.30 2002/04/10 13:38:35 oes
* load_template signature changed
*
* Revision 1.29 2002/04/08 16:59:08 oes
* Fixed comment
*
* Revision 1.28 2002/03/27 12:30:29 oes
* Deleted unsused variable
*
* Revision 1.27 2002/03/26 23:06:04 jongfoster
* Removing duplicate @ifs on the toggle page
*
* Revision 1.26 2002/03/26 22:59:17 jongfoster
* Fixing /toggle to display status consistently.
*
* Revision 1.25 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.24 2002/03/24 15:23:33 jongfoster
* Name changes
*
* Revision 1.23 2002/03/24 13:32:41 swa
* name change related issues
*
* Revision 1.22 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.21 2002/03/22 18:02:48 jongfoster
* Fixing remote toggle
*
* Revision 1.20 2002/03/16 20:28:34 oes
* Added descriptions to the filters so users will know what they select in the cgi editor
*
* Revision 1.19 2002/03/16 18:38:14 jongfoster
* Stopping stupid or malicious users from breaking the actions
* file using the web-based editor.
*
* Revision 1.18 2002/03/16 14:57:44 jongfoster
* Full support for enabling/disabling modular filters.
*
* Revision 1.17 2002/03/16 14:26:42 jongfoster
* First version of modular filters support - READ ONLY!
* Fixing a double-free bug in the out-of-memory handling in map_radio().
*
* Revision 1.16 2002/03/07 03:46:17 oes
* Fixed compiler warnings
*
* Revision 1.15 2002/03/06 22:54:35 jongfoster
* Automated function-comment nitpicking.
*
* Revision 1.14 2002/03/05 00:24:51 jongfoster
* Patch to always edit the current actions file.
*
* Revision 1.13 2002/03/04 02:07:59 david__schmidt
* Enable web editing of actions file on OS/2 (it had been broken all this time!)
*
* Revision 1.12 2002/03/03 09:18:03 joergs
* Made jumbjuster work on AmigaOS again.
*
* Revision 1.11 2002/01/23 01:03:31 jongfoster
* Fixing gcc [CygWin] compiler warnings
*
* Revision 1.10 2002/01/23 00:22:59 jongfoster
* Adding new function cgi_edit_actions_section_swap(), to reorder
* the actions file.
*
* Adding get_url_spec_param() to get a validated URL pattern.
*
* Moving edit_read_line() out of this file and into loaders.c.
*
* Adding missing html_encode() to many CGI functions.
*
* Moving the functions that #include actionlist.h to the end of the file,
* because the Visual C++ 97 debugger gets extremely confused if you try
* to debug any code that comes after them in the file.
*
* Major optimizations in cgi_edit_actions_list() to reduce the size of
* the generated HTML (down 40% from 550k to 304k), with major side-effects
* throughout the editor and templates. In particular, the length of the
* URLs throughout the editor has been drastically reduced, by cutting
* paramater names down to 1 character and CGI names down to 3-4
* characters, by removing all non-essential CGI paramaters even at the
* expense of having to re-read the actions file for the most trivial
* page, and by using relative rather than absolute URLs. This means
* that this (typical example):
*
* <a href="http://ijbswa.sourceforge.net/config/edit-actions-url-form?
* filename=ijb&amp;ver=1011487572&amp;section=12&amp;pattern=13
* &amp;oldval=www.oesterhelt.org%2Fdeanimate-demo">
*
* is now this:
*
* <a href="eau?f=ijb&amp;v=1011487572&amp;p=13">
*
* Revision 1.9 2002/01/17 20:56:22 jongfoster
* Replacing hard references to the URL of the config interface
* with #defines from project.h
*
* Revision 1.8 2001/11/30 23:35:51 jongfoster
* Renaming actionsfile to ijb.action
*
* Revision 1.7 2001/11/13 00:28:24 jongfoster
* - Renaming parameters from edit-actions-for-url so that they only
* contain legal JavaScript characters. If we wanted to write
* JavaScript that worked with Netscape 4, this is nessacery.
* (Note that at the moment the JavaScript doesn't actually work
* with Netscape 4, but now this is purely a template issue, not
* one affecting code).
* - Adding new CGIs for use by non-JavaScript browsers:
* edit-actions-url-form
* edit-actions-add-url-form
* edit-actions-remove-url-form
* - Fixing || bug.
*
* Revision 1.6 2001/10/29 03:48:09 david__schmidt
* OS/2 native needed a snprintf() routine. Added one to miscutil, brackedted
* by and __OS2__ ifdef.
*
* Revision 1.5 2001/10/25 03:40:48 david__schmidt
* Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
* threads to call select() simultaneously. So, it's time to do a real, live,
* native OS/2 port. See defines for __EMX__ (the porting layer) vs. __OS2__
* (native). Both versions will work, but using __OS2__ offers multi-threading.
*
* Revision 1.4 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle JunkBuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.3 2001/10/14 22:12:49 jongfoster
* New version of CGI-based actionsfile editor.
* Major changes, including:
* - Completely new file parser and file output routines
* - edit-actions CGI renamed edit-actions-for-url
* - All CGIs now need a filename parameter, except for...
* - New CGI edit-actions which doesn't need a filename,
* to allow you to start the editor up.
* - edit-actions-submit now works, and now automatically
* redirects you back to the main edit-actions-list handler.
*
* Revision 1.2 2001/09/16 17:05:14 jongfoster
* Removing unused #include showarg.h
*
* Revision 1.1 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
*
**********************************************************************/ **********************************************************************/
#include "config.h" #include "config.h"
@ -438,10 +85,10 @@ struct file_line
{ {
/** Next entry in the linked list */ /** Next entry in the linked list */
struct file_line * next; struct file_line * next;
/** The raw data, to write out if this line is unmodified. */ /** The raw data, to write out if this line is unmodified. */
char * raw; char * raw;
/** Comments and/or whitespace to put before this line if it's modified /** Comments and/or whitespace to put before this line if it's modified
and then written out. */ and then written out. */
char * prefix; char * prefix;
@ -450,7 +97,7 @@ struct file_line
are performed on the data read from file before it's stored here, so are performed on the data read from file before it's stored here, so
it will be a single line of data. */ it will be a single line of data. */
char * unprocessed; char * unprocessed;
/** The type of data on this line. One of the FILE_LINE_xxx constants. */ /** The type of data on this line. One of the FILE_LINE_xxx constants. */
int type; int type;
@ -674,15 +321,10 @@ static jb_err actions_from_radio(const struct map * parameters,
static jb_err map_copy_parameter_html(struct map *out, static jb_err map_copy_parameter_html(struct map *out,
const struct map *in, const struct map *in,
const char *name); const char *name);
#if 0 /* unused function */
static jb_err map_copy_parameter_url(struct map *out,
const struct map *in,
const char *name);
#endif /* unused function */
static jb_err get_file_name_param(struct client_state *csp, static jb_err get_file_name_param(struct client_state *csp,
const struct map *parameters, const struct map *parameters,
const char *param_name, const char *param_name,
const char **pfilename); const char **pfilename);
/* Internal convenience functions */ /* Internal convenience functions */
@ -786,56 +428,6 @@ static jb_err map_copy_parameter_html(struct map *out,
} }
#if 0 /* unused function */
/*********************************************************************
*
* Function : map_copy_parameter_url
*
* Description : Copy a CGI parameter from one map to another, URL
* encoding it.
*
* Parameters :
* 1 : out = target map
* 2 : in = source map
* 3 : name = name of cgi parameter to copy
*
* Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory
* JB_ERR_CGI_PARAMS if the parameter doesn't exist
* in the source map
*
*********************************************************************/
static jb_err map_copy_parameter_url(struct map *out,
const struct map *in,
const char *name)
{
const char * value;
jb_err err;
assert(out);
assert(in);
assert(name);
value = lookup(in, name);
err = map(out, name, 1, url_encode(value), 0);
if (err)
{
/* Out of memory */
return err;
}
else if (*value == '\0')
{
return JB_ERR_CGI_PARAMS;
}
else
{
return JB_ERR_OK;
}
}
#endif /* 0 - unused function */
/********************************************************************* /*********************************************************************
* *
* Function : cgi_edit_actions_url_form * Function : cgi_edit_actions_url_form
@ -1060,7 +652,7 @@ jb_err cgi_edit_actions_remove_url_form(struct client_state *csp,
if (cur_line->type == FILE_LINE_ACTION) if (cur_line->type == FILE_LINE_ACTION)
{ {
section_start_line_number = line_number; section_start_line_number = line_number;
} }
cur_line = cur_line->next; cur_line = cur_line->next;
} }
@ -1836,7 +1428,7 @@ jb_err edit_read_file_lines(FILE *fp, struct file_line ** pfile, int *newline)
if (rval) if (rval)
{ {
/* Out of memory or empty file. */ /* Out of memory or empty file. */
/* Note that empty file is not an error we propogate up */ /* Note that empty file is not an error we propagate up */
free(cur_line); free(cur_line);
return ((rval == JB_ERR_FILE) ? JB_ERR_OK : rval); return ((rval == JB_ERR_FILE) ? JB_ERR_OK : rval);
} }
@ -1941,7 +1533,7 @@ jb_err edit_read_file(struct client_state *csp,
* Probably an old-school URL like * Probably an old-school URL like
* http://config.privoxy.org/edit-actions-list?f=default * http://config.privoxy.org/edit-actions-list?f=default
*/ */
err = get_file_name_param(csp, parameters, "f", &filename); get_file_name_param(csp, parameters, "f", &filename);
} }
if (NULL == filename || stat(filename, statbuf) < 0) if (NULL == filename || stat(filename, statbuf) < 0)
@ -2087,7 +1679,7 @@ jb_err edit_read_actions_file(struct client_state *csp,
{ {
log_error(LOG_LEVEL_INFO, log_error(LOG_LEVEL_INFO,
"Timestamp mismatch limit reached, turning CGI editor off. " "Timestamp mismatch limit reached, turning CGI editor off. "
"Reload the configuration file to reenable it."); "Reload the configuration file to re-enable it.");
csp->config->feature_flags &= ~RUNTIME_FEATURE_CGI_EDIT_ACTIONS; csp->config->feature_flags &= ~RUNTIME_FEATURE_CGI_EDIT_ACTIONS;
} }
} }
@ -3226,7 +2818,7 @@ jb_err cgi_edit_actions_for_url(struct client_state *csp,
if (!err) err = actions_to_radio(exports, cur_line->data.action); if (!err) err = actions_to_radio(exports, cur_line->data.action);
/* /*
* XXX: Some browsers (at least IE6 and IE7) have an artifical URL * XXX: Some browsers (at least IE6 and IE7) have an artificial URL
* length limitation and ignore clicks on the Submit buttons if * length limitation and ignore clicks on the Submit buttons if
* the resulting GET URL would be longer than their limit. * the resulting GET URL would be longer than their limit.
* *
@ -3235,7 +2827,7 @@ jb_err cgi_edit_actions_for_url(struct client_state *csp,
* browsers (BR #1570678). * browsers (BR #1570678).
* *
* The config option split-large-forms works around this browser * The config option split-large-forms works around this browser
* bug (HTTP has no URL lenght limitation) by deviding the action * bug (HTTP has no URL length limitation) by deviding the action
* list form into multiple smaller ones. It means the URLs are shorter * list form into multiple smaller ones. It means the URLs are shorter
* and work in broken browsers as well, but the user can no longer change * and work in broken browsers as well, but the user can no longer change
* all actions with one submit. * all actions with one submit.
@ -3768,7 +3360,7 @@ jb_err cgi_edit_actions_url(struct client_state *csp,
if (cur_line->type == FILE_LINE_ACTION) if (cur_line->type == FILE_LINE_ACTION)
{ {
section_start_line_number = line_number; section_start_line_number = line_number;
} }
cur_line = cur_line->next; cur_line = cur_line->next;
line_number++; line_number++;
} }
@ -4536,7 +4128,7 @@ jb_err cgi_edit_actions_section_swap(struct client_state *csp,
* *
* Description : Converts a string into a form JavaScript will like. * Description : Converts a string into a form JavaScript will like.
* *
* Netscape 4's JavaScript sucks - it doesn't use * Netscape 4's JavaScript sucks - it doesn't use
* "id" parameters, so you have to set the "name" * "id" parameters, so you have to set the "name"
* used to submit a form element to something JavaScript * used to submit a form element to something JavaScript
* will like. (Or access the elements by index in an * will like. (Or access the elements by index in an

View File

@ -1,23 +1,23 @@
#ifndef CGIEDIT_H_INCLUDED #ifndef CGIEDIT_H_INCLUDED
#define CGIEDIT_H_INCLUDED #define CGIEDIT_H_INCLUDED
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.10 2008/08/31 15:59:03 fabiankeil Exp $" #define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.12 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $ * File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $
* *
* Purpose : CGI-based actionsfile editor. * Purpose : CGI-based actionsfile editor.
* *
* Functions declared include: * Functions declared include:
* *
* *
* Copyright : Written by and Copyright (C) 2001 the SourceForge * Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -35,72 +35,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: cgiedit.h,v $
* Revision 1.10 2008/08/31 15:59:03 fabiankeil
* There's no reason to let remote toggling support depend
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
*
* Revision 1.9 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.7.2.2 2004/02/17 13:30:23 oes
* Moved cgi_error_disabled() from cgiedit.c to
* cgi.c to re-enable build with --disable-editor.
* Fixes Bug #892744. Thanks to Matthew Fischer
* for spotting.
*
* Revision 1.7.2.1 2002/11/28 18:15:17 oes
* Added cgi_error_disabled
*
* Revision 1.7 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.6 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.5 2002/01/22 23:24:48 jongfoster
* Adding edit-actions-section-swap
*
* Revision 1.4 2001/11/13 00:28:51 jongfoster
* Adding new CGIs for use by non-JavaScript browsers:
* edit-actions-url-form
* edit-actions-add-url-form
* edit-actions-remove-url-form
*
* Revision 1.3 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle JunkBuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.2 2001/10/14 22:12:49 jongfoster
* New version of CGI-based actionsfile editor.
* Major changes, including:
* - Completely new file parser and file output routines
* - edit-actions CGI renamed edit-actions-for-url
* - All CGIs now need a filename parameter, except for...
* - New CGI edit-actions which doesn't need a filename,
* to allow you to start the editor up.
* - edit-actions-submit now works, and now automatically
* redirects you back to the main edit-actions-list handler.
*
* Revision 1.1 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
*
**********************************************************************/ **********************************************************************/
#include "project.h" #include "project.h"

View File

@ -1,22 +1,22 @@
const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.91 2009/03/08 14:19:23 fabiankeil Exp $"; const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.111 2011/09/04 11:10:56 fabiankeil Exp $";
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $ * File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
* *
* Purpose : Simple CGIs to get information about Privoxy's * Purpose : Simple CGIs to get information about Privoxy's
* status. * status.
*
* Functions declared include:
*
* *
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge * Functions declared include:
*
*
* Copyright : Written by and Copyright (C) 2001-2011 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -34,415 +34,8 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.91 2009/03/08 14:19:23 fabian
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: cgisimple.c,v $
* Revision 1.91 2009/03/08 14:19:23 fabiankeil
* Fix justified (but harmless) compiler warnings
* on platforms where sizeof(int) < sizeof(long).
*
* Revision 1.90 2009/03/01 18:43:09 fabiankeil
* Fix cparser warnings.
*
* Revision 1.89 2008/10/11 11:31:14 fabiankeil
* Add FEATURE_CONNECTION_KEEP_ALIVE to the list
* of conditional defines on the show-status page.
*
* Revision 1.88 2008/08/30 12:03:07 fabiankeil
* Remove FEATURE_COOKIE_JAR.
*
* Revision 1.87 2008/08/29 15:59:22 fabiankeil
* Fix two comments.
*
* Revision 1.86 2008/06/28 14:19:05 fabiankeil
* Protocol detection is done case-insensitive, fix assertion
* to do the same. Yay for Privoxy-Regression-Test and zzuf.
*
* Revision 1.85 2008/05/26 17:30:55 fabiankeil
* Provide an OpenSearch Description to access the
* show-url-info page through "search engine plugins".
*
* Revision 1.84 2008/05/26 16:16:55 fabiankeil
* Spell error correctly.
*
* Revision 1.83 2008/05/12 14:51:30 fabiankeil
* Don't complain about an invalid URL if show-url-info is requested
* without parameters. Regression introduced in 1.81 by yours truly.
*
* Revision 1.82 2008/05/10 20:01:47 fabiankeil
* Fix an assertion that could erroneously
* trigger in case of memory shortage.
*
* Revision 1.81 2008/05/05 09:54:39 fabiankeil
* In cgi_show_url_info(), make sure ftp URLs are
* declared invalid. Also simplify the code that adds
* "http://" if no protocol has been specified.
*
* Revision 1.80 2008/05/04 16:18:32 fabiankeil
* Provide parse_http_url() with a third parameter to specify
* whether or not URLs without protocol are acceptable.
*
* Revision 1.79 2008/05/04 13:30:56 fabiankeil
* Streamline parse_http_url()'s prototype.
*
* Revision 1.78 2008/05/03 16:50:11 fabiankeil
* Leverage content_filters_enabled() in cgi_show_url_info().
*
* Revision 1.77 2008/05/02 09:47:48 fabiankeil
* In cgi_show_url_info, pass an initialized http structure
* to parse_http_url() as that will be required soonish and
* assert that https URLs are recognized correctly.
*
* Revision 1.76 2008/04/28 09:13:30 fabiankeil
* In load_file(), remember the error reason and fclose()
* and return later on instead of right away.
*
* Revision 1.75 2008/04/27 13:52:52 fabiankeil
* Move CGI file loading code into load_file() and
* add checks for unexpected errors.
*
* Revision 1.74 2008/04/26 15:50:56 fabiankeil
* Fix macro name in cgi_show_file() error path.
*
* Revision 1.73 2008/04/26 12:21:55 fabiankeil
* Forget about JB_ERR_PARSE. JB_ERR_CGI_PARAMS to the rescue.
*
* Revision 1.72 2008/04/26 10:34:15 fabiankeil
* If zlib support is unavailable and there are content filters active
* but the prevent-compression action is disabled, include a warning
* on the show-url-info page that compression might prevent filtering.
*
* Revision 1.71 2008/04/25 13:33:56 fabiankeil
* - Factor cgi_show_file() out of cgi_show_status().
* - Adjust cgi_show_status()'s parameter description to match reality.
*
* Revision 1.70 2008/04/24 16:12:38 fabiankeil
* In cgi_show_status(), load the requested file at once.
* Using string_join() for every line really doesn't scale.
*
* Revision 1.69 2008/04/17 14:40:48 fabiankeil
* Provide get_http_time() with the buffer size so it doesn't
* have to blindly assume that the buffer is big enough.
*
* Revision 1.68 2008/03/27 18:27:21 fabiankeil
* Remove kill-popups action.
*
* Revision 1.67 2008/03/27 17:00:05 fabiankeil
* Turn the favicon blobs into locals.
*
* Revision 1.66 2008/02/23 16:57:12 fabiankeil
* Rename url_actions() to get_url_actions() and let it
* use the standard parameter ordering.
*
* Revision 1.65 2008/02/23 16:33:43 fabiankeil
* Let forward_url() use the standard parameter ordering
* and mark its second parameter immutable.
*
* Revision 1.64 2008/02/03 13:56:07 fabiankeil
* Add SOCKS5 support for show-url-info CGI page.
*
* Revision 1.63 2008/02/01 06:04:31 fabiankeil
* If edit buttons on the show-url-info CGI page are hidden, explain why.
*
* Revision 1.62 2008/02/01 05:52:40 fabiankeil
* Hide edit buttons on the show-url-info CGI page if enable-edit-action
* is disabled. Patch by Lee with additional white space adjustments.
*
* Revision 1.61 2008/01/26 11:13:25 fabiankeil
* If enable-edit-actions is disabled, hide the edit buttons and explain why.
*
* Revision 1.60 2007/10/27 13:12:13 fabiankeil
* Finish 1.49 and check write access before
* showing edit buttons on show-url-info page.
*
* Revision 1.59 2007/10/19 16:42:36 fabiankeil
* Plug memory leak I introduced five months ago.
* Yay Valgrind and Privoxy-Regression-Test.
*
* Revision 1.58 2007/07/21 12:19:50 fabiankeil
* If show-url-info is called with an URL that Privoxy
* would reject as invalid, don't show unresolved forwarding
* variables, "final matches" or claim the site's secure.
*
* Revision 1.57 2007/06/01 16:53:05 fabiankeil
* Adjust cgi_show_url_info() to show what forward-override{}
* would do with the requested URL (instead of showing how the
* request for the CGI page would be forwarded if it wasn't a
* CGI request).
*
* Revision 1.56 2007/05/21 10:50:35 fabiankeil
* - Use strlcpy() instead of strcpy().
* - Stop treating actions files special. Expect a complete file name
* (with or without path) like it's done for the rest of the files.
* Closes FR#588084.
* - Don't rerun sed() in cgi_show_request().
*
* Revision 1.55 2007/04/13 13:36:46 fabiankeil
* Reference action files in CGI URLs by id instead
* of using the first part of the file name.
* Fixes BR 1694250 and BR 1590556.
*
* Revision 1.54 2007/04/09 18:11:35 fabiankeil
* Don't mistake VC++'s _snprintf() for a snprintf() replacement.
*
* Revision 1.53 2007/04/08 13:21:04 fabiankeil
* Reference action files in CGI URLs by id instead
* of using the first part of the file name.
* Fixes BR 1694250 and BR 1590556.
*
* Revision 1.52 2007/02/13 15:10:26 fabiankeil
* Apparently fopen()ing in "binary" mode doesn't require
* #ifdefs, it's already done without them in cgiedit.c.
*
* Revision 1.51 2007/02/10 16:55:22 fabiankeil
* - Show forwarding settings on the show-url-info page
* - Fix some HTML syntax errors.
*
* Revision 1.50 2007/01/23 15:51:17 fabiankeil
* Add favicon delivery functions.
*
* Revision 1.49 2007/01/20 16:29:38 fabiankeil
* Suppress edit buttons for action files if Privoxy has
* no write access. Suggested by Roland in PR 1564026.
*
* Revision 1.48 2007/01/20 15:31:31 fabiankeil
* Display warning if show-url-info CGI page
* is used while Privoxy is toggled off.
*
* Revision 1.47 2007/01/12 15:07:10 fabiankeil
* Use zalloc in cgi_send_user_manual.
*
* Revision 1.46 2007/01/02 12:49:46 fabiankeil
* Add FEATURE_ZLIB to the list of conditional
* defines at the show-status page.
*
* Revision 1.45 2006/12/28 18:16:41 fabiankeil
* Fixed gcc43 compiler warnings, zero out cgi_send_user_manual's
* body memory before using it, replaced sprintf calls with snprintf.
*
* Revision 1.44 2006/12/22 14:19:27 fabiankeil
* Removed checks whether or not AF_FILES have
* data structures associated with them in cgi_show_status.
* It doesn't matter as we're only interested in the file names.
*
* For the action files the checks were always true,
* but they prevented empty filter files from being
* listed. Fixes parts of BR 1619208.
*
* Revision 1.43 2006/12/17 17:57:56 fabiankeil
* - Added FEATURE_GRACEFUL_TERMINATION to the
* "conditional #defines" section
* - Escaped ampersands in generated HTML.
* - Renamed re-filter-filename to re-filter-filenames
*
* Revision 1.42 2006/11/21 15:43:12 fabiankeil
* Add special treatment for WIN32 to make sure
* cgi_send_user_manual opens the files in binary mode.
* Fixes BR 1600411 and unbreaks image delivery.
*
* Remove outdated comment.
*
* Revision 1.41 2006/10/09 19:18:28 roro
* Redirect http://p.p/user-manual (without trailing slash) to
* http://p.p/user-manual/ (with trailing slash), otherwise links will be broken.
*
* Revision 1.40 2006/09/09 13:05:33 fabiankeil
* Modified cgi_send_user_manual to serve binary
* content without destroying it first. Should also be
* faster now. Added ".jpg" check for Content-Type guessing.
*
* Revision 1.39 2006/09/08 09:49:23 fabiankeil
* Deliver documents in the user-manual directory
* with "Content-Type text/css" if their filename
* ends with ".css".
*
* Revision 1.38 2006/09/06 18:45:03 fabiankeil
* Incorporate modified version of Roland Rosenfeld's patch to
* optionally access the user-manual via Privoxy. Closes patch 679075.
*
* Formatting changed to Privoxy style, added call to
* cgi_error_no_template if the requested file doesn't
* exist and modified check whether or not Privoxy itself
* should serve the manual. Should work cross-platform now.
*
* Revision 1.37 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.35.2.7 2006/01/29 23:10:56 david__schmidt
* Multiple filter file support
*
* Revision 1.35.2.6 2005/07/04 03:13:43 david__schmidt
* Undo some damaging memory leak patches
*
* Revision 1.35.2.5 2005/05/07 21:50:55 david__schmidt
* A few memory leaks plugged (mostly on error paths)
*
* Revision 1.35.2.4 2005/04/04 02:21:24 david__schmidt
* Another instance of:
* Don't show "Edit" buttons #ifndef FEATURE_CGI_EDIT_ACTIONS
* Thanks to Magnus Holmgren for the patch
*
* Revision 1.35.2.3 2003/12/17 16:34:15 oes
* - Prevent line wrap beween "View/Edit" link buttons on status page
* - Some (mostly irrelevant) fixes for Out-of-mem-case handling
*
* Revision 1.35.2.2 2003/04/03 13:48:28 oes
* Don't show "Edit" buttons #ifndef FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.35.2.1 2002/07/04 15:02:38 oes
* Added ability to send redirects to send-banner CGI, so that it can completely mimic the image blocking action if called with type=auto
*
* Revision 1.35.2.1 2002/07/01 17:32:04 morcego
* Applying patch from Andreas as provided by Hal on the list.
* Message-ID: <20020701121218.V1606@feenix.burgiss.net>
*
* Revision 1.35 2002/05/12 21:44:44 jongfoster
* Adding amiga.[ch] revision information, if on an amiga.
*
* Revision 1.34 2002/04/30 12:06:12 oes
* Deleted unused code from default_cgi
*
* Revision 1.33 2002/04/30 11:14:52 oes
* Made csp the first parameter in *action_to_html
*
* Revision 1.32 2002/04/26 18:29:13 jongfoster
* Fixing this Visual C++ warning:
* cgisimple.c(775) : warning C4018: '<' : signed/unsigned mismatch
*
* Revision 1.31 2002/04/26 12:54:36 oes
* - Kill obsolete REDIRECT_URL code
* - Error handling fixes
* - Style sheet related HTML snipplet changes
* - cgi_show_url_info:
* - Matches now in table, actions on single lines,
* linked to help
* - standard.action suppressed
* - Buttons to View and Edit AFs
*
* Revision 1.30 2002/04/24 02:18:08 oes
* - show-status is now the starting point for editing
* the actions files, generate list of all AFs with buttons
* for viewing and editing, new look for file list (Jon:
* buttons now aligned ;-P ), view mode now supports multiple
* AFs, name changes, no view links for unspecified files,
* no edit link for standard.action.
*
* - Jon's multiple AF patch: cgi_show_url_info now uses all
* AFs and marks the output accordingly
*
* Revision 1.29 2002/04/10 13:38:35 oes
* load_template signature changed
*
* Revision 1.28 2002/04/07 15:42:12 jongfoster
* Fixing send-banner?type=auto when the image-blocker is
* a redirect to send-banner
*
* Revision 1.27 2002/04/05 15:50:48 oes
* added send-stylesheet CGI
*
* Revision 1.26 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.25 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.24 2002/04/02 16:12:47 oes
* Fix: moving misplaced lines into #ifdef FEATURE_FORCE
*
* Revision 1.23 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.22 2002/03/24 16:18:15 jongfoster
* Removing old logo
*
* Revision 1.21 2002/03/24 15:23:33 jongfoster
* Name changes
*
* Revision 1.20 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.19 2002/03/16 23:54:06 jongfoster
* Adding graceful termination feature, to help look for memory leaks.
* If you enable this (which, by design, has to be done by hand
* editing config.h) and then go to http://i.j.b/die, then the program
* will exit cleanly after the *next* request. It should free all the
* memory that was used.
*
* Revision 1.18 2002/03/12 01:44:49 oes
* Changed default for "blocked" image from jb logo to checkboard pattern
*
* Revision 1.17 2002/03/08 16:43:18 oes
* Added choice beween GIF and PNG built-in images
*
* Revision 1.16 2002/03/07 03:48:38 oes
* - Changed built-in images from GIF to PNG
* (with regard to Unisys patent issue)
* - Added a 4x4 pattern PNG which is less intrusive
* than the logo but also clearly marks the deleted banners
*
* Revision 1.15 2002/03/06 22:54:35 jongfoster
* Automated function-comment nitpicking.
*
* Revision 1.14 2002/03/02 04:14:50 david__schmidt
* Clean up a little CRLF unpleasantness that suddenly appeared
*
* Revision 1.13 2002/02/21 00:10:37 jongfoster
* Adding send-banner?type=auto option
*
* Revision 1.12 2002/01/23 01:03:32 jongfoster
* Fixing gcc [CygWin] compiler warnings
*
* Revision 1.11 2002/01/23 00:01:04 jongfoster
* Adding cgi_transparent_gif() for http://i.j.b/t
* Adding missing html_encode() to many CGI functions.
* Adding urlmatch.[ch] to http://i.j.b/show-version
*
* Revision 1.10 2002/01/17 21:10:37 jongfoster
* Changes to cgi_show_url_info to use new matching code from urlmatch.c.
* Also fixing a problem in the same function with improperly quoted URLs
* in output HTML, and adding code to handle https:// URLs correctly.
*
* Revision 1.9 2001/11/30 23:09:15 jongfoster
* Now reports on FEATURE_CGI_EDIT_ACTIONS
* Removing FEATURE_DENY_GZIP from template
*
* Revision 1.8 2001/11/13 00:14:07 jongfoster
* Fixing stupid bug now I've figured out what || means.
* (It always returns 0 or 1, not one of it's paramaters.)
*
* Revision 1.7 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle JunkBuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.6 2001/10/14 22:00:32 jongfoster
* Adding support for a 404 error when an invalid CGI page is requested.
*
* Revision 1.5 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.4 2001/10/02 15:31:12 oes
* Introduced show-request cgi
*
* Revision 1.3 2001/09/22 16:34:44 jongfoster
* Removing unneeded #includes
*
* Revision 1.2 2001/09/19 18:01:11 oes
* Fixed comments; cosmetics
*
* Revision 1.1 2001/09/16 17:08:54 jongfoster
* Moving simple CGI functions from cgi.c to new file cgisimple.c
*
*
**********************************************************************/ **********************************************************************/
#include "config.h" #include "config.h"
@ -487,7 +80,7 @@ static jb_err load_file(const char *filename, char **buffer, size_t *length);
* Description : CGI function that is called for the CGI_SITE_1_HOST * Description : CGI function that is called for the CGI_SITE_1_HOST
* and CGI_SITE_2_HOST/CGI_SITE_2_PATH base URLs. * and CGI_SITE_2_HOST/CGI_SITE_2_PATH base URLs.
* Boring - only exports the default exports. * Boring - only exports the default exports.
* *
* Parameters : * Parameters :
* 1 : csp = Current client state (buffers, headers, etc...) * 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output * 2 : rsp = http_response data structure for output
@ -525,7 +118,7 @@ jb_err cgi_default(struct client_state *csp,
* *
* Description : CGI function that is called if an unknown action was * Description : CGI function that is called if an unknown action was
* given. * given.
* *
* Parameters : * Parameters :
* 1 : csp = Current client state (buffers, headers, etc...) * 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output * 2 : rsp = http_response data structure for output
@ -534,7 +127,7 @@ jb_err cgi_default(struct client_state *csp,
* CGI Parameters : none * CGI Parameters : none
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_error_404(struct client_state *csp, jb_err cgi_error_404(struct client_state *csp,
@ -572,7 +165,7 @@ jb_err cgi_error_404(struct client_state *csp,
* NOTE: Turning this on in a production build * NOTE: Turning this on in a production build
* would be a BAD idea. An EXTREMELY BAD idea. * would be a BAD idea. An EXTREMELY BAD idea.
* In short, don't do it. * In short, don't do it.
* *
* Parameters : * Parameters :
* 1 : csp = Current client state (buffers, headers, etc...) * 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output * 2 : rsp = http_response data structure for output
@ -581,13 +174,27 @@ jb_err cgi_error_404(struct client_state *csp,
* CGI Parameters : none * CGI Parameters : none
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_die (struct client_state *csp, jb_err cgi_die (struct client_state *csp,
struct http_response *rsp, struct http_response *rsp,
const struct map *parameters) const struct map *parameters)
{ {
static const char status[] = "200 OK Privoxy shutdown request received";
static const char body[] =
"<html>\n"
"<head>\n"
" <title>Privoxy shutdown request received</title>\n"
" <link rel=\"shortcut icon\" href=\"" CGI_PREFIX "error-favicon.ico\" type=\"image/x-icon\">\n"
" <link rel=\"stylesheet\" type=\"text/css\" href=\"http://config.privoxy.org/send-stylesheet\">\n"
"</head>\n"
"<body>\n"
"<h1>Privoxy shutdown request received</h1>\n"
"<p>Privoxy is going to shut down after the next request.</p>\n"
"</body>\n"
"</html>\n";
assert(csp); assert(csp);
assert(rsp); assert(rsp);
assert(parameters); assert(parameters);
@ -595,12 +202,21 @@ jb_err cgi_die (struct client_state *csp,
/* quit */ /* quit */
g_terminate = 1; g_terminate = 1;
/* csp->flags &= ~CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE;
* I don't really care what gets sent back to the browser.
* Take the easy option - "out of memory" page.
*/
return JB_ERR_MEMORY; rsp->content_length = 0;
rsp->head_length = 0;
rsp->is_static = 0;
rsp->body = strdup(body);
rsp->status = strdup(status);
if ((rsp->body == NULL) || (rsp->status == NULL))
{
return JB_ERR_MEMORY;
}
return JB_ERR_OK;
} }
#endif /* def FEATURE_GRACEFUL_TERMINATION */ #endif /* def FEATURE_GRACEFUL_TERMINATION */
@ -611,7 +227,7 @@ jb_err cgi_die (struct client_state *csp,
* *
* Description : Show the client's request and what sed() would have * Description : Show the client's request and what sed() would have
* made of it. * made of it.
* *
* Parameters : * Parameters :
* 1 : csp = Current client state (buffers, headers, etc...) * 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output * 2 : rsp = http_response data structure for output
@ -620,7 +236,7 @@ jb_err cgi_die (struct client_state *csp,
* CGI Parameters : none * CGI Parameters : none
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_show_request(struct client_state *csp, jb_err cgi_show_request(struct client_state *csp,
@ -638,7 +254,7 @@ jb_err cgi_show_request(struct client_state *csp,
{ {
return JB_ERR_MEMORY; return JB_ERR_MEMORY;
} }
/* /*
* Repair the damage done to the IOB by get_header() * Repair the damage done to the IOB by get_header()
*/ */
@ -673,7 +289,7 @@ jb_err cgi_show_request(struct client_state *csp,
* *
* Function : cgi_send_banner * Function : cgi_send_banner
* *
* Description : CGI function that returns a banner. * Description : CGI function that returns a banner.
* *
* Parameters : * Parameters :
* 1 : csp = Current client state (buffers, headers, etc...) * 1 : csp = Current client state (buffers, headers, etc...)
@ -688,7 +304,7 @@ jb_err cgi_show_request(struct client_state *csp,
* equivalent). * equivalent).
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_send_banner(struct client_state *csp, jb_err cgi_send_banner(struct client_state *csp,
@ -701,7 +317,7 @@ jb_err cgi_send_banner(struct client_state *csp,
* If type is auto, then determine the right thing * If type is auto, then determine the right thing
* to do from the set-image-blocker action * to do from the set-image-blocker action
*/ */
if (imagetype == 'a') if (imagetype == 'a')
{ {
/* /*
* Default to pattern * Default to pattern
@ -752,14 +368,14 @@ jb_err cgi_send_banner(struct client_state *csp,
} }
#endif /* def FEATURE_IMAGE_BLOCKING */ #endif /* def FEATURE_IMAGE_BLOCKING */
} }
/* /*
* Now imagetype is either the non-auto type we were called with, * Now imagetype is either the non-auto type we were called with,
* or it was auto and has since been determined. In any case, we * or it was auto and has since been determined. In any case, we
* can proceed to actually answering the request by sending a redirect * can proceed to actually answering the request by sending a redirect
* or an image as appropriate: * or an image as appropriate:
*/ */
if (imagetype == 'r') if (imagetype == 'r')
{ {
rsp->status = strdup("302 Local Redirect from Privoxy"); rsp->status = strdup("302 Local Redirect from Privoxy");
if (rsp->status == NULL) if (rsp->status == NULL)
@ -774,7 +390,7 @@ jb_err cgi_send_banner(struct client_state *csp,
} }
else else
{ {
if ((imagetype == 'b') || (imagetype == 't')) if ((imagetype == 'b') || (imagetype == 't'))
{ {
rsp->body = bindup(image_blank_data, image_blank_length); rsp->body = bindup(image_blank_data, image_blank_length);
rsp->content_length = image_blank_length; rsp->content_length = image_blank_length;
@ -816,7 +432,7 @@ jb_err cgi_send_banner(struct client_state *csp,
* CGI Parameters : None * CGI Parameters : None
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_transparent_image(struct client_state *csp, jb_err cgi_transparent_image(struct client_state *csp,
@ -860,7 +476,7 @@ jb_err cgi_transparent_image(struct client_state *csp,
* CGI Parameters : None * CGI Parameters : None
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_send_default_favicon(struct client_state *csp, jb_err cgi_send_default_favicon(struct client_state *csp,
@ -921,7 +537,7 @@ jb_err cgi_send_default_favicon(struct client_state *csp,
* CGI Parameters : None * CGI Parameters : None
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_send_error_favicon(struct client_state *csp, jb_err cgi_send_error_favicon(struct client_state *csp,
@ -983,7 +599,7 @@ jb_err cgi_send_error_favicon(struct client_state *csp,
* CGI Parameters : None * CGI Parameters : None
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_send_stylesheet(struct client_state *csp, jb_err cgi_send_stylesheet(struct client_state *csp,
@ -991,7 +607,7 @@ jb_err cgi_send_stylesheet(struct client_state *csp,
const struct map *parameters) const struct map *parameters)
{ {
jb_err err; jb_err err;
assert(csp); assert(csp);
assert(rsp); assert(rsp);
@ -1037,7 +653,7 @@ jb_err cgi_send_stylesheet(struct client_state *csp,
* CGI Parameters : None * CGI Parameters : None
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_send_url_info_osd(struct client_state *csp, jb_err cgi_send_url_info_osd(struct client_state *csp,
@ -1065,6 +681,48 @@ jb_err cgi_send_url_info_osd(struct client_state *csp,
} }
/*********************************************************************
*
* Function : get_content_type
*
* Description : Use the file extension to guess the content type
* header we should use to serve the file.
*
* Parameters :
* 1 : filename = Name of the file whose content type
* we care about
*
* Returns : The guessed content type.
*
*********************************************************************/
static const char *get_content_type(const char *filename)
{
int i;
struct content_type
{
const char *extension;
const char *content_type;
};
static const struct content_type content_types[] =
{
{".css", "text/css"},
{".jpg", "image/jpeg"},
{".jpeg", "image/jpeg"},
{".png", "image/png"},
};
for (i = 0; i < SZ(content_types); i++)
{
if (strstr(filename, content_types[i].extension))
{
return content_types[i].content_type;
}
}
/* No match by extension, default to html */
return "text/html";
}
/********************************************************************* /*********************************************************************
* *
* Function : cgi_send_user_manual * Function : cgi_send_user_manual
@ -1081,22 +739,29 @@ jb_err cgi_send_url_info_osd(struct client_state *csp,
* (relative to user-manual from config) * (relative to user-manual from config)
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_send_user_manual(struct client_state *csp, jb_err cgi_send_user_manual(struct client_state *csp,
struct http_response *rsp, struct http_response *rsp,
const struct map *parameters) const struct map *parameters)
{ {
const char * filename; const char *filename;
char *full_path; char *full_path;
jb_err err = JB_ERR_OK; jb_err err = JB_ERR_OK;
size_t length; const char *content_type;
assert(csp); assert(csp);
assert(rsp); assert(rsp);
assert(parameters); assert(parameters);
if (0 == strncmpic(csp->config->usermanual, "http://", 7))
{
log_error(LOG_LEVEL_CGI, "Request for local user-manual "
"received while user-manual delivery is disabled.");
return cgi_error_404(csp, rsp, parameters);
}
if (!parameters->first) if (!parameters->first)
{ {
/* requested http://p.p/user-manual (without trailing slash) */ /* requested http://p.p/user-manual (without trailing slash) */
@ -1104,17 +769,24 @@ jb_err cgi_send_user_manual(struct client_state *csp,
} }
get_string_param(parameters, "file", &filename); get_string_param(parameters, "file", &filename);
/* Check paramter for hack attempts */ if (filename == NULL)
if (filename && strchr(filename, '/'))
{ {
return JB_ERR_CGI_PARAMS; /* It's '/' so serve the index.html if there is one. */
filename = "index.html";
} }
if (filename && strstr(filename, "..")) else if (NULL != strchr(filename, '/') || NULL != strstr(filename, ".."))
{ {
/*
* We currently only support a flat file
* hierarchy for the documentation.
*/
log_error(LOG_LEVEL_ERROR,
"Rejecting the request to serve '%s' as it contains '/' or '..'",
filename);
return JB_ERR_CGI_PARAMS; return JB_ERR_CGI_PARAMS;
} }
full_path = make_path(csp->config->usermanual, filename ? filename : "index.html"); full_path = make_path(csp->config->usermanual, filename);
if (full_path == NULL) if (full_path == NULL)
{ {
return JB_ERR_MEMORY; return JB_ERR_MEMORY;
@ -1133,29 +805,12 @@ jb_err cgi_send_user_manual(struct client_state *csp,
} }
freez(full_path); freez(full_path);
/* Guess correct Content-Type based on the filename's ending */ content_type = get_content_type(filename);
if (filename) log_error(LOG_LEVEL_CGI,
{ "Content-Type guessed for %s: %s", filename, content_type);
length = strlen(filename);
} return enlist_unique_header(rsp->headers, "Content-Type", content_type);
else
{
length = 0;
}
if((length>=4) && !strcmp(&filename[length-4], ".css"))
{
err = enlist(rsp->headers, "Content-Type: text/css");
}
else if((length>=4) && !strcmp(&filename[length-4], ".jpg"))
{
err = enlist(rsp->headers, "Content-Type: image/jpeg");
}
else
{
err = enlist(rsp->headers, "Content-Type: text/html");
}
return err;
} }
@ -1174,7 +829,7 @@ jb_err cgi_send_user_manual(struct client_state *csp,
* CGI Parameters : none * CGI Parameters : none
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_show_version(struct client_state *csp, jb_err cgi_show_version(struct client_state *csp,
@ -1223,7 +878,7 @@ jb_err cgi_show_version(struct client_state *csp,
* Default is to show menu and other information. * Default is to show menu and other information.
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_show_status(struct client_state *csp, jb_err cgi_show_status(struct client_state *csp,
@ -1269,7 +924,7 @@ jb_err cgi_show_status(struct client_state *csp,
if (!err) err = map(exports, "options", 1, csp->config->proxy_args, 1); if (!err) err = map(exports, "options", 1, csp->config->proxy_args, 1);
if (!err) err = show_defines(exports); if (!err) err = show_defines(exports);
if (err) if (err)
{ {
free_map(exports); free_map(exports);
return JB_ERR_MEMORY; return JB_ERR_MEMORY;
@ -1313,8 +968,8 @@ jb_err cgi_show_status(struct client_state *csp,
#else /* ndef FEATURE_STATISTICS */ #else /* ndef FEATURE_STATISTICS */
err = err || map_block_killer(exports, "statistics"); err = err || map_block_killer(exports, "statistics");
#endif /* ndef FEATURE_STATISTICS */ #endif /* ndef FEATURE_STATISTICS */
/* /*
* List all action files in use, together with view and edit links, * List all action files in use, together with view and edit links,
* except for standard.action, which should only be viewable. (Not * except for standard.action, which should only be viewable. (Not
* enforced in the editor itself) * enforced in the editor itself)
@ -1355,7 +1010,7 @@ jb_err cgi_show_status(struct client_state *csp,
if (!err) err = string_append(&s, "</td></tr>\n"); if (!err) err = string_append(&s, "</td></tr>\n");
} }
} }
if (*s != '\0') if (*s != '\0')
{ {
if (!err) err = map(exports, "actions-filenames", 1, s, 0); if (!err) err = map(exports, "actions-filenames", 1, s, 0);
} }
@ -1364,7 +1019,7 @@ jb_err cgi_show_status(struct client_state *csp,
if (!err) err = map(exports, "actions-filenames", 1, "<tr><td>None specified</td></tr>", 1); if (!err) err = map(exports, "actions-filenames", 1, "<tr><td>None specified</td></tr>", 1);
} }
/* /*
* List all re_filterfiles in use, together with view options. * List all re_filterfiles in use, together with view options.
* FIXME: Shouldn't include hardwired HTML here, use line template instead! * FIXME: Shouldn't include hardwired HTML here, use line template instead!
*/ */
@ -1381,7 +1036,7 @@ jb_err cgi_show_status(struct client_state *csp,
if (!err) err = string_append(&s, "</td></tr>\n"); if (!err) err = string_append(&s, "</td></tr>\n");
} }
} }
if (*s != '\0') if (*s != '\0')
{ {
if (!err) err = map(exports, "re-filter-filenames", 1, s, 0); if (!err) err = map(exports, "re-filter-filenames", 1, s, 0);
} }
@ -1421,7 +1076,7 @@ jb_err cgi_show_status(struct client_state *csp,
return template_fill_for_cgi(csp, "show-status", exports, rsp); return template_fill_for_cgi(csp, "show-status", exports, rsp);
} }
/********************************************************************* /*********************************************************************
* *
* Function : cgi_show_url_info * Function : cgi_show_url_info
@ -1442,7 +1097,7 @@ jb_err cgi_show_status(struct client_state *csp,
* the template. * the template.
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_show_url_info(struct client_state *csp, jb_err cgi_show_url_info(struct client_state *csp,
@ -1478,7 +1133,7 @@ jb_err cgi_show_url_info(struct client_state *csp,
* 1) "http://" or "https://" prefix present and followed by URL - OK * 1) "http://" or "https://" prefix present and followed by URL - OK
* 2) Only the "http://" or "https://" part is present, no URL - change * 2) Only the "http://" or "https://" part is present, no URL - change
* to empty string so it will be detected later as "no URL". * to empty string so it will be detected later as "no URL".
* 3) Parameter specified but doesn't contain "http(s?)://" - add a * 3) Parameter specified but doesn't start with "http(s?)://" - add a
* "http://" prefix. * "http://" prefix.
* 4) Parameter not specified or is empty string - let this fall through * 4) Parameter not specified or is empty string - let this fall through
* for now, next block of code will handle it. * for now, next block of code will handle it.
@ -1505,9 +1160,14 @@ jb_err cgi_show_url_info(struct client_state *csp,
url_param[0] = '\0'; url_param[0] = '\0';
} }
} }
else if ((url_param[0] != '\0') && (NULL == strstr(url_param, "://"))) else if ((url_param[0] != '\0')
&& ((NULL == strstr(url_param, "://")
|| (strstr(url_param, "://") > strstr(url_param, "/")))))
{ {
/* No prefix - assume http:// */ /*
* No prefix or at least no prefix before
* the first slash - assume http://
*/
char *url_param_prefixed = strdup("http://"); char *url_param_prefixed = strdup("http://");
if (JB_ERR_OK != string_join(&url_param_prefixed, url_param)) if (JB_ERR_OK != string_join(&url_param_prefixed, url_param))
@ -1555,7 +1215,7 @@ jb_err cgi_show_url_info(struct client_state *csp,
struct http_request url_to_query[1]; struct http_request url_to_query[1];
struct current_action_spec action[1]; struct current_action_spec action[1];
int i; int i;
if (map(exports, "url", 1, html_encode(url_param), 0)) if (map(exports, "url", 1, html_encode(url_param), 0))
{ {
free(url_param); free(url_param);
@ -1843,7 +1503,7 @@ jb_err cgi_show_url_info(struct client_state *csp,
* CGI Parameters : None * CGI Parameters : None
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
jb_err cgi_robots_txt(struct client_state *csp, jb_err cgi_robots_txt(struct client_state *csp,
@ -1891,13 +1551,19 @@ jb_err cgi_robots_txt(struct client_state *csp,
* 1 : exports = map to extend * 1 : exports = map to extend
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
static jb_err show_defines(struct map *exports) static jb_err show_defines(struct map *exports)
{ {
jb_err err = JB_ERR_OK; jb_err err = JB_ERR_OK;
#ifdef FEATURE_ACCEPT_FILTER
if (!err) err = map_conditional(exports, "FEATURE_ACCEPT_FILTER", 1);
#else /* ifndef FEATURE_ACCEPT_FILTER */
if (!err) err = map_conditional(exports, "FEATURE_ACCEPT_FILTER", 0);
#endif /* ndef FEATURE_ACCEPT_FILTER */
#ifdef FEATURE_ACL #ifdef FEATURE_ACL
if (!err) err = map_conditional(exports, "FEATURE_ACL", 1); if (!err) err = map_conditional(exports, "FEATURE_ACL", 1);
#else /* ifndef FEATURE_ACL */ #else /* ifndef FEATURE_ACL */
@ -1910,12 +1576,24 @@ static jb_err show_defines(struct map *exports)
if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0); if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0);
#endif /* ndef FEATURE_CGI_EDIT_ACTIONS */ #endif /* ndef FEATURE_CGI_EDIT_ACTIONS */
#ifdef FEATURE_COMPRESSION
if (!err) err = map_conditional(exports, "FEATURE_COMPRESSION", 1);
#else /* ifndef FEATURE_COMPRESSION */
if (!err) err = map_conditional(exports, "FEATURE_COMPRESSION", 0);
#endif /* ndef FEATURE_COMPRESSION */
#ifdef FEATURE_CONNECTION_KEEP_ALIVE #ifdef FEATURE_CONNECTION_KEEP_ALIVE
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1); if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1);
#else /* ifndef FEATURE_CGI_EDIT_ACTIONS */ #else /* ifndef FEATURE_CONNECTION_KEEP_ALIVE */
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 0); if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 0);
#endif /* ndef FEATURE_CONNECTION_KEEP_ALIVE */ #endif /* ndef FEATURE_CONNECTION_KEEP_ALIVE */
#ifdef FEATURE_CONNECTION_SHARING
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_SHARING", 1);
#else /* ifndef FEATURE_CONNECTION_SHARING */
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_SHARING", 0);
#endif /* ndef FEATURE_CONNECTION_SHARING */
#ifdef FEATURE_FAST_REDIRECTS #ifdef FEATURE_FAST_REDIRECTS
if (!err) err = map_conditional(exports, "FEATURE_FAST_REDIRECTS", 1); if (!err) err = map_conditional(exports, "FEATURE_FAST_REDIRECTS", 1);
#else /* ifndef FEATURE_FAST_REDIRECTS */ #else /* ifndef FEATURE_FAST_REDIRECTS */
@ -1948,6 +1626,12 @@ static jb_err show_defines(struct map *exports)
if (!err) err = map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0); if (!err) err = map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0);
#endif /* ndef FEATURE_IMAGE_DETECT_MSIE */ #endif /* ndef FEATURE_IMAGE_DETECT_MSIE */
#ifdef HAVE_RFC2553
if (!err) err = map_conditional(exports, "FEATURE_IPV6_SUPPORT", 1);
#else /* ifndef HAVE_RFC2553 */
if (!err) err = map_conditional(exports, "FEATURE_IPV6_SUPPORT", 0);
#endif /* ndef HAVE_RFC2553 */
#ifdef FEATURE_NO_GIFS #ifdef FEATURE_NO_GIFS
if (!err) err = map_conditional(exports, "FEATURE_NO_GIFS", 1); if (!err) err = map_conditional(exports, "FEATURE_NO_GIFS", 1);
#else /* ifndef FEATURE_NO_GIFS */ #else /* ifndef FEATURE_NO_GIFS */
@ -2117,7 +1801,7 @@ static char *show_rcs(void)
* Default is to show menu and other information. * Default is to show menu and other information.
* *
* Returns : JB_ERR_OK on success * Returns : JB_ERR_OK on success
* JB_ERR_MEMORY on out-of-memory error. * JB_ERR_MEMORY on out-of-memory error.
* *
*********************************************************************/ *********************************************************************/
static jb_err cgi_show_file(struct client_state *csp, static jb_err cgi_show_file(struct client_state *csp,
@ -2211,7 +1895,7 @@ static jb_err cgi_show_file(struct client_state *csp,
return JB_ERR_CGI_PARAMS; return JB_ERR_CGI_PARAMS;
} }
/********************************************************************* /*********************************************************************
* *
* Function : load_file * Function : load_file
@ -2238,6 +1922,7 @@ static jb_err load_file(const char *filename, char **buffer, size_t *length)
fp = fopen(filename, "rb"); fp = fopen(filename, "rb");
if (NULL == fp) if (NULL == fp)
{ {
log_error(LOG_LEVEL_ERROR, "Failed to open %s: %E", filename);
return JB_ERR_FILE; return JB_ERR_FILE;
} }

View File

@ -1,24 +1,24 @@
#ifndef CGISIMPLE_H_INCLUDED #ifndef CGISIMPLE_H_INCLUDED
#define CGISIMPLE_H_INCLUDED #define CGISIMPLE_H_INCLUDED
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.16 2008/05/26 17:30:55 fabiankeil Exp $" #define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.18 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $ * File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
* *
* Purpose : Declares functions to intercept request, generate * Purpose : Declares functions to intercept request, generate
* html or gif answers, and to compose HTTP resonses. * html or gif answers, and to compose HTTP resonses.
* *
* Functions declared include: * Functions declared include:
* *
* *
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge * Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -36,78 +36,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: cgisimple.h,v $
* Revision 1.16 2008/05/26 17:30:55 fabiankeil
* Provide an OpenSearch Description to access the
* show-url-info page through "search engine plugins".
*
* Revision 1.15 2007/01/23 15:51:17 fabiankeil
* Add favicon delivery functions.
*
* Revision 1.14 2006/09/06 18:45:03 fabiankeil
* Incorporate modified version of Roland Rosenfeld's patch to
* optionally access the user-manual via Privoxy. Closes patch 679075.
*
* Formatting changed to Privoxy style, added call to
* cgi_error_no_template if the requested file doesn't
* exist and modified check whether or not Privoxy itself
* should serve the manual. Should work cross-platform now.
*
* Revision 1.13 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.11 2002/04/05 15:50:53 oes
* added send-stylesheet CGI
*
* Revision 1.10 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.9 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.8 2002/03/16 23:54:06 jongfoster
* Adding graceful termination feature, to help look for memory leaks.
* If you enable this (which, by design, has to be done by hand
* editing config.h) and then go to http://i.j.b/die, then the program
* will exit cleanly after the *next* request. It should free all the
* memory that was used.
*
* Revision 1.7 2002/03/08 16:43:59 oes
* Renamed cgi_transparent_png to cgi_transparent_image
*
* Revision 1.6 2002/03/07 03:48:59 oes
* - Changed built-in images from GIF to PNG
* (with regard to Unisys patent issue)
*
* Revision 1.5 2002/01/22 23:26:03 jongfoster
* Adding cgi_transparent_gif() for http://i.j.b/t
*
* Revision 1.4 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle JunkBuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.3 2001/10/14 22:00:32 jongfoster
* Adding support for a 404 error when an invalid CGI page is requested.
*
* Revision 1.2 2001/10/02 15:31:20 oes
* Introduced show-request cgi
*
* Revision 1.1 2001/09/16 17:08:54 jongfoster
* Moving simple CGI functions from cgi.c to new file cgisimple.c
*
*
**********************************************************************/ **********************************************************************/
#include "project.h" #include "project.h"

View File

@ -1,8 +1,8 @@
# Sample Configuration File for Privoxy v3.0.12 # Sample Configuration File for Privoxy v3.0.19
# #
# $Id: config,v 1.76 2009/03/21 11:51:51 fabiankeil Exp $ # $Id: config,v 1.98 2011/12/26 17:04:50 fabiankeil Exp $
# #
# Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ # Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
# #
#################################################################### ####################################################################
# # # #
@ -113,7 +113,6 @@
# #
# user-manual /usr/share/doc/privoxy/user-manual # user-manual /usr/share/doc/privoxy/user-manual
# #
#
# The User Manual is then available to anyone with # The User Manual is then available to anyone with
# access to Privoxy, by following the built-in URL: # access to Privoxy, by following the built-in URL:
# http://config.privoxy.org/user-manual/ (or the shortcut: # http://config.privoxy.org/user-manual/ (or the shortcut:
@ -124,7 +123,6 @@
# #
# user-manual http://example.com/privoxy/user-manual/ # user-manual http://example.com/privoxy/user-manual/
# #
#
# WARNING!!! # WARNING!!!
# #
# If set, this option should be the first option in the config # If set, this option should be the first option in the config
@ -416,7 +414,7 @@ actionsfile user.action # User customizations
# separate file, such as user.filter. # separate file, such as user.filter.
# #
filterfile default.filter filterfile default.filter
#filterfile user.filter # User customizations filterfile user.filter # User customizations
# #
# #
# 2.6. logfile # 2.6. logfile
@ -560,7 +558,7 @@ logfile logfile
# debug 2 # show each connection status # debug 2 # show each connection status
# debug 4 # show I/O status # debug 4 # show I/O status
# debug 8 # show header parsing # debug 8 # show header parsing
# debug 16 # log all data written to the network into the logfile # debug 16 # log all data written to the network
# debug 32 # debug force feature # debug 32 # debug force feature
# debug 64 # debug regular expression filters # debug 64 # debug regular expression filters
# debug 128 # debug redirects # debug 128 # debug redirects
@ -570,15 +568,16 @@ logfile logfile
# debug 2048 # CGI user interface # debug 2048 # CGI user interface
# debug 4096 # Startup banner and warnings. # debug 4096 # Startup banner and warnings.
# debug 8192 # Non-fatal errors # debug 8192 # Non-fatal errors
# debug 32768 # log all data read from the network
# #
# #
# To select multiple debug levels, you can either add them or # To select multiple debug levels, you can either add them or
# use multiple debug lines. # use multiple debug lines.
# #
# A debug level of 1 is informative because it will show you each # A debug level of 1 is informative because it will show you each
# request as it happens. 1, 4096 and 8192 are recommended so that # request as it happens. 1, 1024, 4096 and 8192 are recommended
# you will notice when things go wrong. The other levels are # so that you will notice when things go wrong. The other levels
# probably only of interest if you are hunting down a specific # are probably only of interest if you are hunting down a specific
# problem. They can produce a hell of an output (especially 16). # problem. They can produce a hell of an output (especially 16).
# #
# Privoxy used to ship with the debug levels recommended above # Privoxy used to ship with the debug levels recommended above
@ -682,22 +681,24 @@ logfile logfile
# #
# Specifies: # Specifies:
# #
# The IP address and TCP port on which Privoxy will listen for # The address and TCP port on which Privoxy will listen for
# client requests. # client requests.
# #
# Type of value: # Type of value:
# #
# [IP-Address]:Port # [IP-Address]:Port
# #
# [Hostname]:Port
#
# Default value: # Default value:
# #
# 127.0.0.1:8118 # 127.0.0.1:8118
# #
# Effect if unset: # Effect if unset:
# #
# Bind to 127.0.0.1 (localhost), port 8118. This is suitable and # Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable
# recommended for home users who run Privoxy on the same machine # and recommended for home users who run Privoxy on the same
# as their browser. # machine as their browser.
# #
# Notes: # Notes:
# #
@ -708,15 +709,56 @@ logfile logfile
# if you want to serve requests from other machines (e.g. on your # if you want to serve requests from other machines (e.g. on your
# local network) as well, you will need to override the default. # local network) as well, you will need to override the default.
# #
# If you leave out the IP address, Privoxy will bind to all # You can use this statement multiple times to make Privoxy listen
# on more ports or more IP addresses. Suitable if your operating
# system does not support sharing IPv6 and IPv4 protocols on the
# same socket.
#
# If a hostname is used instead of an IP address, Privoxy will
# try to resolve it to an IP address and if there are multiple,
# use the first one returned.
#
# If the address for the hostname isn't already known on the
# system (for example because it's in /etc/hostname), this may
# result in DNS traffic.
#
# If the specified address isn't available on the system, or if
# the hostname can't be resolved, Privoxy will fail to start.
#
# IPv6 addresses containing colons have to be quoted by
# brackets. They can only be used if Privoxy has been compiled
# with IPv6 support. If you aren't sure if your version supports
# it, have a look at http://config.privoxy.org/ show-status.
#
# Some operating systems will prefer IPv6 to IPv4 addresses even if
# the system has no IPv6 connectivity which is usually not expected
# by the user. Some even rely on DNS to resolve localhost which
# mean the "localhost" address used may not actually be local.
#
# It is therefore recommended to explicitly configure the intended
# IP address instead of relying on the operating system, unless
# there's a strong reason not to.
#
# If you leave out the address, Privoxy will bind to all IPv4
# interfaces (addresses) on your machine and may become reachable # interfaces (addresses) on your machine and may become reachable
# from the Internet. In that case, consider using access control # from the Internet and/ or the local network. Be aware that
# lists (ACL's, see below), and/or a firewall. # some GNU/Linux distributions modify that behaviour without
# updating the documentation. Check for non-standard patches if
# your Privoxyversion behaves differently.
#
# If you configure Privoxyto be reachable from the network,
# consider using access control lists (ACL's, see below), and/or
# a firewall.
# #
# If you open Privoxy to untrusted users, you will also # If you open Privoxy to untrusted users, you will also
# want to make sure that the following actions are disabled: # want to make sure that the following actions are disabled:
# enable-edit-actions and enable-remote-toggle # enable-edit-actions and enable-remote-toggle
# #
# With the exception noted above, listening on multiple addresses
# is currently not supported by Privoxy directly. It can be done
# on most operating systems by letting a packet filter redirect
# request for certain addresses to Privoxy, though.
#
# Example: # Example:
# #
# Suppose you are running Privoxy on a machine which has the # Suppose you are running Privoxy on a machine which has the
@ -726,6 +768,10 @@ logfile logfile
# #
# listen-address 192.168.0.1:8118 # listen-address 192.168.0.1:8118
# #
# Suppose you are running Privoxy on an IPv6-capable machine and
# you want it to listen on the IPv6 address of the loopback device:
#
# listen-address [::1]:8118
# #
listen-address 127.0.0.1:8118 listen-address 127.0.0.1:8118
# #
@ -942,18 +988,28 @@ enforce-blocks 0
# #
# Type of value: # Type of value:
# #
# src_addr[/src_masklen] [dst_addr[/dst_masklen]] # src_addr[:port][/src_masklen] [dst_addr[:port][/dst_masklen]]
# #
# Where src_addr and dst_addr are IP addresses in dotted decimal # Where src_addr and dst_addr are IPv4 addresses in dotted
# notation or valid DNS names, and src_masklen and dst_masklen are # decimal notation or valid DNS names, port is a port number, and
# subnet masks in CIDR notation, i.e. integer values from 2 to 30 # src_masklen and dst_masklen are subnet masks in CIDR notation,
# representing the length (in bits) of the network address. The # i.e. integer values from 2 to 30 representing the length
# masks and the whole destination part are optional. # (in bits) of the network address. The masks and the whole
# destination part are optional.
#
# If your system implements RFC 3493, then src_addr and dst_addr
# can be IPv6 addresses delimeted by brackets, port can be a
# number or a service name, and src_masklen and dst_masklen can
# be a number from 0 to 128.
# #
# Default value: # Default value:
# #
# Unset # Unset
# #
# If no port is specified, any port will match. If no src_masklen
# or src_masklen is given, the complete IP address has to match
# (i.e. 32 bits for IPv4 and 128 bits for IPv6).
#
# Effect if unset: # Effect if unset:
# #
# Don't restrict access further than implied by listen-address # Don't restrict access further than implied by listen-address
@ -989,6 +1045,12 @@ enforce-blocks 0
# names. If a DNS name resolves to multiple IP addresses, only # names. If a DNS name resolves to multiple IP addresses, only
# the first one is used. # the first one is used.
# #
# Some systems allow IPv4 clients to connect to IPv6 server
# sockets. Then the client's IPv4 address will be translated by the
# system into IPv6 address space with special prefix ::ffff:0:0/96
# (so called IPv4 mapped IPv6 address). Privoxy can handle it
# and maps such ACL addresses automatically.
#
# Denying access to particular sites by ACL may have undesired # Denying access to particular sites by ACL may have undesired
# side effects if the site in question is hosted on a machine # side effects if the site in question is hosted on a machine
# which also hosts other sites (most sites are). # which also hosts other sites (most sites are).
@ -1016,6 +1078,16 @@ enforce-blocks 0
# permit-access 192.168.45.64/26 # permit-access 192.168.45.64/26
# deny-access 192.168.45.73 www.dirty-stuff.example.com # deny-access 192.168.45.73 www.dirty-stuff.example.com
# #
# Allow access from the IPv4 network 192.0.2.0/24 even if listening
# on an IPv6 wild card address (not supported on all platforms):
#
# permit-access 192.0.2.0/24
#
#
# This is equivalent to the following line even if listening on
# an IPv4 address (not supported on all platforms):
#
# permit-access [::ffff:192.0.2.0]/120
# #
# #
# 4.8. buffer-limit # 4.8. buffer-limit
@ -1093,7 +1165,7 @@ buffer-limit 4096
# to denote "all URLs". http_parent[:port] is the DNS name or # to denote "all URLs". http_parent[:port] is the DNS name or
# IP address of the parent HTTP proxy through which the requests # IP address of the parent HTTP proxy through which the requests
# should be forwarded, optionally followed by its listening port # should be forwarded, optionally followed by its listening port
# (default: 8080). Use a single dot (.) to denote "no forwarding". # (default: 8000). Use a single dot (.) to denote "no forwarding".
# #
# Default value: # Default value:
# #
@ -1108,6 +1180,13 @@ buffer-limit 4096
# If http_parent is ".", then requests are not forwarded to # If http_parent is ".", then requests are not forwarded to
# another HTTP proxy but are made directly to the web servers. # another HTTP proxy but are made directly to the web servers.
# #
# http_parent can be a numerical IPv6 address (if RFC 3493 is
# implemented). To prevent clashes with the port delimiter,
# the whole IP address has to be put into brackets. On the other
# hand a target_pattern containing an IPv6 address has to be put
# into angle brackets (normal brackets are reserved for regular
# expressions already).
#
# Multiple lines are OK, they are checked in sequence, and the # Multiple lines are OK, they are checked in sequence, and the
# last match wins. # last match wins.
# #
@ -1127,6 +1206,16 @@ buffer-limit 4096
# forward .isp.example.net . # forward .isp.example.net .
# #
# #
# Parent proxy specified by an IPv6 address:
#
# forward / [2001:DB8::1]:8000
#
#
# Suppose your parent proxy doesn't support IPv6:
#
# forward / parent-proxy.example.org:8000
# forward ipv6-server.example.org .
# forward <[2-3][0-9a-f][0-9a-f][0-9a-f]:*> .
# #
# #
# 5.2. forward-socks4, forward-socks4a and forward-socks5 # 5.2. forward-socks4, forward-socks4a and forward-socks5
@ -1169,6 +1258,13 @@ buffer-limit 4096
# With forward-socks5 the DNS resolution will happen on the remote # With forward-socks5 the DNS resolution will happen on the remote
# server as well. # server as well.
# #
# socks_proxy and http_parent can be a numerical IPv6 address
# (if RFC 3493 is implemented). To prevent clashes with the port
# delimiter, the whole IP address has to be put into brackets. On
# the other hand a target_pattern containing an IPv6 address has
# to be put into angle brackets (normal brackets are reserved
# for regular expressions already).
#
# If http_parent is ".", then requests are not forwarded to another # If http_parent is ".", then requests are not forwarded to another
# HTTP proxy but are made (HTTP-wise) directly to the web servers, # HTTP proxy but are made (HTTP-wise) directly to the web servers,
# albeit through a SOCKS proxy. # albeit through a SOCKS proxy.
@ -1193,7 +1289,7 @@ buffer-limit 4096
# To chain Privoxy and Tor, both running on the same system, # To chain Privoxy and Tor, both running on the same system,
# you would use something like: # you would use something like:
# #
# forward-socks4a / 127.0.0.1:9050 . # forward-socks5 / 127.0.0.1:9050 .
# #
# #
# The public Tor network can't be used to reach your local network, # The public Tor network can't be used to reach your local network,
@ -1219,7 +1315,6 @@ buffer-limit 4096
# #
# #
# #
#
# 5.3. forwarded-connect-retries # 5.3. forwarded-connect-retries
# =============================== # ===============================
# #
@ -1260,6 +1355,9 @@ buffer-limit 4096
# manually. Start with a small value and check Privoxy's logfile # manually. Start with a small value and check Privoxy's logfile
# from time to time, to see how many retries are usually needed. # from time to time, to see how many retries are usually needed.
# #
# Due to a bug, this option currently also causes Privoxy to
# retry in case of certain problems with direct connections.
#
# Examples: # Examples:
# #
# forwarded-connect-retries 1 # forwarded-connect-retries 1
@ -1267,7 +1365,10 @@ buffer-limit 4096
forwarded-connect-retries 0 forwarded-connect-retries 0
# #
# #
# 5.4. accept-intercepted-requests # 6. MISCELLANEOUS
# =================
#
# 6.1. accept-intercepted-requests
# ================================= # =================================
# #
# Specifies: # Specifies:
@ -1306,7 +1407,7 @@ forwarded-connect-retries 0
accept-intercepted-requests 0 accept-intercepted-requests 0
# #
# #
# 5.5. allow-cgi-request-crunching # 6.2. allow-cgi-request-crunching
# ================================= # =================================
# #
# Specifies: # Specifies:
@ -1344,7 +1445,7 @@ accept-intercepted-requests 0
allow-cgi-request-crunching 0 allow-cgi-request-crunching 0
# #
# #
# 5.6. split-large-forms # 6.3. split-large-forms
# ======================= # =======================
# #
# Specifies: # Specifies:
@ -1386,7 +1487,7 @@ allow-cgi-request-crunching 0
split-large-forms 0 split-large-forms 0
# #
# #
# 5.7. keep-alive-timeout # 6.4. keep-alive-timeout
# ======================== # ========================
# #
# Specifies: # Specifies:
@ -1404,12 +1505,120 @@ split-large-forms 0
# #
# Effect if unset: # Effect if unset:
# #
# Connections are not reused. # Connections are not kept alive.
#
# Notes:
#
# This option allows clients to keep the connection to Privoxy
# alive. If the server supports it, Privoxy will keep the
# connection to the server alive as well. Under certain
# circumstances this may result in speed-ups.
#
# By default, Privoxy will close the connection to the server if
# the client connection gets closed, or if the specified timeout
# has been reached without a new request coming in. This behaviour
# can be changed with the connection-sharing option.
#
# This option has no effect if Privoxy has been compiled without
# keep-alive support.
#
# Note that a timeout of five seconds as used in the default
# configuration file significantly decreases the number of
# connections that will be reused. The value is used because some
# browsers limit the number of connections they open to a single
# host and apply the same limit to proxies. This can result in a
# single website "grabbing" all the connections the browser allows,
# which means connections to other websites can't be opened until
# the connections currently in use time out.
#
# Several users have reported this as a Privoxy bug, so the default
# value has been reduced. Consider increasing it to 300 seconds
# or even more if you think your browser can handle it. If your
# browser appears to be hanging it can't.
#
# Examples:
#
# keep-alive-timeout 300
#
keep-alive-timeout 5
#
#
# 6.5. default-server-timeout
# ============================
#
# Specifies:
#
# Assumed server-side keep-alive timeout if not specified by
# the server.
#
# Type of value:
#
# Time in seconds.
#
# Default value:
#
# None
#
# Effect if unset:
#
# Connections for which the server didn't specify the keep-alive
# timeout are not reused.
#
# Notes:
#
# Enabling this option significantly increases the number of
# connections that are reused, provided the keep-alive-timeout
# option is also enabled.
#
# While it also increases the number of connections problems when
# Privoxy tries to reuse a connection that already has been closed
# on the server side, or is closed while Privoxy is trying to
# reuse it, this should only be a problem if it happens for the
# first request sent by the client. If it happens for requests
# on reused client connections, Privoxy will simply close the
# connection and the client is supposed to retry the request
# without bothering the user.
#
# Enabling this option is therefore only recommended if the
# connection-sharing option is disabled.
#
# It is an error to specify a value larger than the
# keep-alive-timeout value.
#
# This option has no effect if Privoxy has been compiled without
# keep-alive support.
#
# Examples:
#
# default-server-timeout 60
#
#default-server-timeout 60
#
#
# 6.6. connection-sharing
# ========================
#
# Specifies:
#
# Whether or not outgoing connections that have been kept alive
# should be shared between different incoming connections.
#
# Type of value:
#
# 0 or 1
#
# Default value:
#
# None
#
# Effect if unset:
#
# Connections are not shared.
# #
# Notes: # Notes:
# #
# This option has no effect if Privoxy has been compiled without # This option has no effect if Privoxy has been compiled without
# keep-alive support. # keep-alive support, or if it's disabled.
# #
# Notes: # Notes:
# #
@ -1417,23 +1626,47 @@ split-large-forms 0
# speedups. There are also a few privacy implications you should # speedups. There are also a few privacy implications you should
# be aware of. # be aware of.
# #
# Outgoing connections are shared between clients (if there are # If this option is effective, outgoing connections are shared
# more than one) and closing the client that initiated the outgoing # between clients (if there are more than one) and closing the
# connection does not affect the connection between Privoxy and # browser that initiated the outgoing connection does no longer
# the server unless the client's request hasn't been completed # affect the connection between Privoxy and the server unless
# yet. If the outgoing connection is idle, it will not be closed # the client's request hasn't been completed yet.
# until either Privoxy's or the server's timeout is reached. While #
# If the outgoing connection is idle, it will not be closed until
# either Privoxy's or the server's timeout is reached. While
# it's open, the server knows that the system running Privoxy is # it's open, the server knows that the system running Privoxy is
# still there. # still there.
# #
# If there are more than one client (maybe even belonging to
# multiple users), they will be able to reuse each others
# connections. This is potentially dangerous in case of
# authentication schemes like NTLM where only the connection
# is authenticated, instead of requiring authentication for
# each request.
#
# If there is only a single client, and if said client can keep
# connections alive on its own, enabling this option has next to
# no effect. If the client doesn't support connection keep-alive,
# enabling this option may make sense as it allows Privoxy to keep
# outgoing connections alive even if the client itself doesn't
# support it.
#
# You should also be aware that enabling this option increases
# the likelihood of getting the "No server or forwarder data"
# error message, especially if you are using a slow connection
# to the Internet.
#
# This option should only be used by experienced users who
# understand the risks and can weight them against the benefits.
#
# Examples: # Examples:
# #
# keep-alive-timeout 300 # connection-sharing 1
# #
keep-alive-timeout 300 #connection-sharing 1
# #
# #
# 5.8. socket-timeout # 6.7. socket-timeout
# ==================== # ====================
# #
# Specifies: # Specifies:
@ -1466,7 +1699,187 @@ keep-alive-timeout 300
socket-timeout 300 socket-timeout 300
# #
# #
# 6. WINDOWS GUI OPTIONS # 6.8. max-client-connections
# ============================
#
# Specifies:
#
# Maximum number of client connections that will be served.
#
# Type of value:
#
# Positive number.
#
# Default value:
#
# None
#
# Effect if unset:
#
# Connections are served until a resource limit is reached.
#
# Notes:
#
# Privoxy creates one thread (or process) for every incoming
# client connection that isn't rejected based on the access
# control settings.
#
# If the system is powerful enough, Privoxy can theoretically deal
# with several hundred (or thousand) connections at the same time,
# but some operating systems enforce resource limits by shutting
# down offending processes and their default limits may be below
# the ones Privoxy would require under heavy load.
#
# Configuring Privoxy to enforce a connection limit below the
# thread or process limit used by the operating system makes
# sure this doesn't happen. Simply increasing the operating
# system's limit would work too, but if Privoxy isn't the only
# application running on the system, you may actually want to
# limit the resources used by Privoxy.
#
# If Privoxy is only used by a single trusted user, limiting the
# number of client connections is probably unnecessary. If there
# are multiple possibly untrusted users you probably still want
# to additionally use a packet filter to limit the maximal number
# of incoming connections per client. Otherwise a malicious user
# could intentionally create a high number of connections to
# prevent other users from using Privoxy.
#
# Obviously using this option only makes sense if you choose a
# limit below the one enforced by the operating system.
#
# Examples:
#
# max-client-connections 256
#
#max-client-connections 256
#
# 6.9. handle-as-empty-doc-returns-ok
# ====================================
#
# Specifies:
#
# The status code Privoxy returns for pages blocked with
# +handle-as-empty-document.
#
# Type of value:
#
# 0 or 1
#
# Default value:
#
# 0
#
# Effect if unset:
#
# Privoxy returns a status 403(forbidden) for all blocked pages.
#
# Effect if set:
#
# Privoxy returns a status 200(OK) for pages blocked with
# +handle-as-empty-document and a status 403(Forbidden) for all
# other blocked pages.
#
# Notes:
#
# This is a work-around for Firefox bug 492459: " Websites are no
# longer rendered if SSL requests for JavaScripts are blocked by a
# proxy. " (https:/ /bugzilla.mozilla.org/show_bug.cgi?id=492459)
# As the bug has been fixed for quite some time this option
# should no longer be needed and will be removed in a future
# release. Please speak up if you have a reason why the option
# should be kept around.
#
#handle-as-empty-doc-returns-ok 1
#
#
# 1.6.10. enable-compression
#
# Specifies:
#
# Whether or not buffered content is compressed before delivery.
#
# Type of value:
#
# 0 or 1
#
# Default value:
#
# 0
#
# Effect if unset:
#
# Privoxy does not compress buffered content.
#
# Effect if set:
#
# Privoxy compresses buffered content before delivering it to
# the client, provided the client supports it.
#
# Notes:
#
# This directive is only supported if Privoxy has been compiled
# with FEATURE_COMPRESSION, which should not to be confused
# with FEATURE_ZLIB.
#
# Compressing buffered content is mainly useful if Privoxy and the
# client are running on different systems. If they are running on
# the same system, enabling compression is likely to slow things
# down. If you didn't measure otherwise, you should assume that
# it does and keep this option disabled.
#
# Privoxy will not compress buffered content below a certain
# length.
#
#enable-compression 1
#
#
# 1.6.11. compression-level
#
# Specifies:
#
# The compression level that is passed to the zlib library when
# compressing buffered content.
#
# Type of value:
#
# Positive number ranging from 0 to 9.
#
# Default value:
#
# 1
#
# Notes:
#
# Compressing the data more takes usually longer than compressing
# it less or not compressing it at all. Which level is best
# depends on the connection between Privoxy and the client. If
# you can't be bothered to benchmark it for yourself, you should
# stick with the default and keep compression disabled.
#
# If compression is disabled, the compression level is irrelevant.
#
# Examples:
#
# # Best speed (compared to the other levels)
# compression-level 1
#
# # Best compression
# compression-level 9
#
# # No compression. Only useful for testing as the added header
# # slightly increases the amount of data that has to be sent.
# # If your benchmark shows that using this compression level
# # is superior to using no compression at all, the benchmark
# # is likely to be flawed.
# compression-level 0
#
#
#compression-level 1
#
#
# 7. WINDOWS GUI OPTIONS
# ======================= # =======================
# #
# Privoxy has a number of options specific to the Windows GUI # Privoxy has a number of options specific to the Windows GUI

36
external/privoxy/config.guess vendored Normal file → Executable file
View File

@ -2,9 +2,9 @@
# Attempt to guess a canonical system name. # Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc. # 2011 Free Software Foundation, Inc.
timestamp='2012-02-10' timestamp='2011-11-11'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -17,7 +17,9 @@ timestamp='2012-02-10'
# General Public License for more details. # General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>. # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
# #
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -55,8 +57,8 @@ GNU config.guess ($timestamp)
Originally written by Per Bothner. Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
Free Software Foundation, Inc. Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -143,7 +145,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*) *:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or # NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old # switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward # object file format. This provides both forward
@ -861,13 +863,6 @@ EOF
i*86:Minix:*:*) i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix echo ${UNAME_MACHINE}-pc-minix
exit ;; exit ;;
aarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
alpha:Linux:*:*) alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;; EV5) UNAME_MACHINE=alphaev5 ;;
@ -902,16 +897,16 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;; exit ;;
cris:Linux:*:*) cris:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-gnu echo cris-axis-linux-gnu
exit ;; exit ;;
crisv32:Linux:*:*) crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-gnu echo crisv32-axis-linux-gnu
exit ;; exit ;;
frv:Linux:*:*) frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo frv-unknown-linux-gnu
exit ;; exit ;;
hexagon:Linux:*:*) hexagon:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo hexagon-unknown-linux-gnu
exit ;; exit ;;
i*86:Linux:*:*) i*86:Linux:*:*)
LIBC=gnu LIBC=gnu
@ -953,7 +948,7 @@ EOF
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;; ;;
or32:Linux:*:*) or32:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo or32-unknown-linux-gnu
exit ;; exit ;;
padre:Linux:*:*) padre:Linux:*:*)
echo sparc-unknown-linux-gnu echo sparc-unknown-linux-gnu
@ -994,7 +989,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-gnu echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;; exit ;;
x86_64:Linux:*:*) x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo x86_64-unknown-linux-gnu
exit ;; exit ;;
xtensa*:Linux:*:*) xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
@ -1325,9 +1320,6 @@ EOF
i*86:AROS:*:*) i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros echo ${UNAME_MACHINE}-pc-aros
exit ;; exit ;;
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
esac esac
#echo '(No uname command or uname output not recognized.)' 1>&2 #echo '(No uname command or uname output not recognized.)' 1>&2

View File

@ -1,744 +0,0 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
*
* Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains
* #define statements for various features. It was
* introduced because the compile command line started
* getting ludicrously long with feature defines.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: acconfig.h,v $
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
* Connection keep-alive support is ready for testing,
* allow enabling it through the configure script.
*
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
* Oh well, rename the --enable-pcre-host-patterns option to
* --enable-extended-host-patterns as it's not really PCRE syntax.
*
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
* Use PCRE syntax in host patterns when configured
* with --enable-pcre-host-patterns.
*
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
*
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
* Cosmetics
*
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
* Another shot at Bug #707467
*
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
*
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
* are located in a pcre/ subdir to the include path.
*
* Revision 1.27 2002/04/25 19:13:57 morcego
* Removed RPM release number declaration on configure.in
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
* targets (will produce an error, explaining who to do it, if no value
* if provided).
*
* Revision 1.26 2002/04/11 11:00:21 oes
* Applied Moritz' fix for socklen_t on Solaris
*
* Revision 1.25 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.24 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.23 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.22 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.21 2002/03/24 14:31:08 swa
* remove more crappy files. set RPM
* release version correctly.
*
* Revision 1.20 2002/03/24 13:46:44 swa
* name change related issue.
*
* Revision 1.19 2002/03/24 13:25:42 swa
* name change related issues
*
* Revision 1.18 2002/03/08 16:40:28 oes
* Added FEATURE_NO_GIFS
*
* Revision 1.17 2002/03/04 17:52:44 oes
* Deleted PID_FILE_PATH
*
* Revision 1.16 2002/01/10 12:36:18 oes
* Moved HAVE_*_R to acconfig.h, where they belong.
*
* Revision 1.15 2001/12/30 14:07:31 steudten
* - Add signal handling (unix)
* - Add SIGHUP handler (unix)
* - Add creation of pidfile (unix)
* - Add action 'top' in rc file (RH)
* - Add entry 'SIGNALS' to manpage
* - Add exit message to logfile (unix)
*
* Revision 1.14 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.13 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.12 2001/09/13 19:56:37 jongfoster
* Reverting to revision 1.10 - previous checking was majorly broken.
*
* Revision 1.10 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.9 2001/07/29 19:08:52 jongfoster
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
* Also added protection against using a MinGW32 or CygWin version of
* config.h from within MS Visual C++
*
* Revision 1.8 2001/07/29 17:09:17 jongfoster
* Major changes to build system in order to fix these bugs:
* - pthreads under Linux was broken - changed -lpthread to -pthread
* - Compiling in MinGW32 mode under CygWin now correctly detects
* which shared libraries are available
* - Solaris support (?) (Not tested under Solaris yet)
*
* Revision 1.7 2001/07/25 22:53:59 jongfoster
* Will #error if pthreads is enabled under BeOs
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
/*
* Version number - Major (X._._)
*/
#define VERSION_MAJOR 3
/*
* Version number - Minor (_.X._)
*/
#define VERSION_MINOR 0
/*
* Version number - Point (_._.X)
*/
#define VERSION_POINT 12
/*
* Version number, as a string
*/
#define VERSION "3.0.12"
/*
* Status of the code: "alpha", "beta" or "stable".
*/
#define CODE_STATUS "stable"
/*
* Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it.
* Don't bother to change this here! Use configure instead.
*/
#define STATIC_PCRE 1
/*
* Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of
* libpcrs and user preferences).
* Don't bother to change this here! Use configure instead.
*/
#define STATIC_PCRS 1
/*
* Allows the use of an ACL to control access to the proxy by IP address.
*/
#define FEATURE_ACL 1
/*
* Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off.
*/
#define FEATURE_CGI_EDIT_ACTIONS 1
/*
* Allows the use of jar files to capture cookies.
*/
/* #undef FEATURE_COOKIE_JAR */
/*
* Locally redirect remote script-redirect URLs
*/
#define FEATURE_FAST_REDIRECTS 1
/*
* Bypass filtering for 1 page only
*/
#define FEATURE_FORCE_LOAD 1
/*
* Allow blocking using images as well as HTML.
* If you do not define this then everything is blocked as HTML.
*
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
*/
#define FEATURE_IMAGE_BLOCKING 1
/*
* Detect image requests automatically for MSIE. Will fall back to
* other image-detection methods (i.e. "+image" permission) for other
* browsers.
*
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
*
* It detects the following header pair as an image request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: * / *
*
* And the following as a HTML request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
*
* And no, I haven't got that backwards - IE is being wierd.
*
* Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again.
*
* These limitations are due to IE making inconsistent choices
* about which "Accept:" header to send.
*/
/* #undef FEATURE_IMAGE_DETECT_MSIE */
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
/* #undef FEATURE_KILL_POPUPS */
/*
* Use PNG instead of GIF for built-in images
*/
/* #undef FEATURE_NO_GIFS */
/*
* Allow to shutdown Privoxy through the webinterface.
*/
/* #undef FEATURE_GRACEFUL_TERMINATION */
/*
* Allow PCRE syntax in host patterns.
*/
/* #undef FEATURE_EXTENDED_HOST_PATTERNS */
/*
* Keep outgoing connections alive if possible.
*/
#define FEATURE_CONNECTION_KEEP_ALIVE 1
/*
* Use POSIX threads instead of native threads.
*/
#define FEATURE_PTHREAD 1
/*
* Enables statistics function.
*/
#define FEATURE_STATISTICS 1
/*
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
* non-anonymizing proxy. This is useful if you're trying to access a
* blocked or broken site - just change the setting in the config file,
* or use the handy "Disable" menu option in the Windows GUI.
*/
#define FEATURE_TOGGLE 1
/*
* Allows the use of trust files.
*/
#define FEATURE_TRUST 1
/*
* Defined on Solaris only. Makes the system libraries thread safe.
*/
/* #undef _REENTRANT */
/*
* Defined on Solaris only. Without this, many important functions are not
* defined in the system headers.
*/
/* #undef __EXTENSIONS__ */
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with MultiThreading?)
*/
#define __MT__ 1
/* If the (nonstandard and thread-safe) function gethostbyname_r
* is available, select which signature to use
*/
#define HAVE_GETHOSTBYNAME_R_6_ARGS 1
/* #undef HAVE_GETHOSTBYNAME_R_5_ARGS */
/* #undef HAVE_GETHOSTBYNAME_R_3_ARGS */
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
* is available, select which signature to use
*/
/* #undef HAVE_GETHOSTBYADDR_R_8_ARGS */
/* #undef HAVE_GETHOSTBYADDR_R_7_ARGS */
/* #undef HAVE_GETHOSTBYADDR_R_5_ARGS */
/* Defined if you have gmtime_r and localtime_r with a signature
* of (struct time *, struct tm *)
*/
#define HAVE_GMTIME_R 1
#define HAVE_LOCALTIME_R 1
/* Define to 'int' if <sys/socket.h> doesn't have it.
*/
/* #undef socklen_t */
/* Define if pcre.h must be included as <pcre/pcre.h>
*/
/* #undef PCRE_H_IN_SUBDIR */
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
*/
/* #undef PCREPOSIX_H_IN_SUBDIR */
/* Define to 1 to use compression through the zlib library. */
#define FEATURE_ZLIB 1
/* Define to 1 if you have the `access' function. */
#define HAVE_ACCESS 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the `atexit' function. */
#define HAVE_ATEXIT 1
/* Define to 1 if you have the `bcopy' function. */
#define HAVE_BCOPY 1
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1
/* Define to 1 if you have the `gethostbyaddr' function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the `gethostbyaddr_r' function. */
/* #undef HAVE_GETHOSTBYADDR_R */
/* Define to 1 if you have the `gethostbyname' function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the `gethostbyname_r' function. */
#define HAVE_GETHOSTBYNAME_R 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `inet_ntoa' function. */
#define HAVE_INET_NTOA 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `nsl' library (-lnsl). */
/* #undef HAVE_LIBNSL */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if you have the `memchr' function. */
#define HAVE_MEMCHR 1
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <OS.h> header file. */
/* #undef HAVE_OS_H */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the `putenv' function. */
#define HAVE_PUTENV 1
/* Define to 1 if you have the `random' function. */
/* #undef HAVE_RANDOM */
/* Define to 1 if you have the `regcomp' function. */
#define HAVE_REGCOMP 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strlcat' function. */
#define HAVE_STRLCAT 1
/* Define to 1 if you have the `strlcpy' function. */
#define HAVE_STRLCPY 1
/* Define to 1 if you have the `strptime' function. */
#define HAVE_STRPTIME 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/timeb.h> header file. */
#define HAVE_SYS_TIMEB_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/wait.h> header file. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the `timegm' function. */
/* #undef HAVE_TIMEGM */
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to 1 if the `setpgrp' function takes no argument. */
#define SETPGRP_VOID 1
/* The size of `char *', as computed by sizeof. */
#define SIZEOF_CHAR_P 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 4
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* #undef TM_IN_SYS_TIME */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to 'int' if <sys/socket.h> doesn't have it. */
/* #undef socklen_t */
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with ANSI Standard C?)
*/
#ifndef __STDC__
#define __STDC__ 1
#endif /* ndef __STDC__ */
/*
* Need to set up this define only for the Pthreads library for
* Win32, available from http://sources.redhat.com/pthreads-win32/
*/
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
#define __CLEANUP_C
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
/*
* BEOS does not currently support POSIX threads.
* This *should* be detected by ./configure, but let's be sure.
*/
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
/*
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
* symbol unix; it defines __unix__ and sometimes not even that:
*/
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
#define unix 1
#endif
/*
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
* under VC++, and it usually gives many wierd error messages. Let's make
* the error messages understandable, by bailing out now.
*/
#ifdef _MSC_VER
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
#endif /* def _MSC_VER */
#endif /* CONFIG_H_INCLUDED */

View File

@ -1,743 +0,0 @@
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
*
* Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains
* #define statements for various features. It was
* introduced because the compile command line started
* getting ludicrously long with feature defines.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: acconfig.h,v $
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
* Connection keep-alive support is ready for testing,
* allow enabling it through the configure script.
*
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
* Oh well, rename the --enable-pcre-host-patterns option to
* --enable-extended-host-patterns as it's not really PCRE syntax.
*
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
* Use PCRE syntax in host patterns when configured
* with --enable-pcre-host-patterns.
*
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
*
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
* Cosmetics
*
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
* Another shot at Bug #707467
*
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
*
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
* are located in a pcre/ subdir to the include path.
*
* Revision 1.27 2002/04/25 19:13:57 morcego
* Removed RPM release number declaration on configure.in
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
* targets (will produce an error, explaining who to do it, if no value
* if provided).
*
* Revision 1.26 2002/04/11 11:00:21 oes
* Applied Moritz' fix for socklen_t on Solaris
*
* Revision 1.25 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.24 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.23 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.22 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.21 2002/03/24 14:31:08 swa
* remove more crappy files. set RPM
* release version correctly.
*
* Revision 1.20 2002/03/24 13:46:44 swa
* name change related issue.
*
* Revision 1.19 2002/03/24 13:25:42 swa
* name change related issues
*
* Revision 1.18 2002/03/08 16:40:28 oes
* Added FEATURE_NO_GIFS
*
* Revision 1.17 2002/03/04 17:52:44 oes
* Deleted PID_FILE_PATH
*
* Revision 1.16 2002/01/10 12:36:18 oes
* Moved HAVE_*_R to acconfig.h, where they belong.
*
* Revision 1.15 2001/12/30 14:07:31 steudten
* - Add signal handling (unix)
* - Add SIGHUP handler (unix)
* - Add creation of pidfile (unix)
* - Add action 'top' in rc file (RH)
* - Add entry 'SIGNALS' to manpage
* - Add exit message to logfile (unix)
*
* Revision 1.14 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.13 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.12 2001/09/13 19:56:37 jongfoster
* Reverting to revision 1.10 - previous checking was majorly broken.
*
* Revision 1.10 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.9 2001/07/29 19:08:52 jongfoster
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
* Also added protection against using a MinGW32 or CygWin version of
* config.h from within MS Visual C++
*
* Revision 1.8 2001/07/29 17:09:17 jongfoster
* Major changes to build system in order to fix these bugs:
* - pthreads under Linux was broken - changed -lpthread to -pthread
* - Compiling in MinGW32 mode under CygWin now correctly detects
* which shared libraries are available
* - Solaris support (?) (Not tested under Solaris yet)
*
* Revision 1.7 2001/07/25 22:53:59 jongfoster
* Will #error if pthreads is enabled under BeOs
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
/*
* Version number - Major (X._._)
*/
#undef VERSION_MAJOR
/*
* Version number - Minor (_.X._)
*/
#undef VERSION_MINOR
/*
* Version number - Point (_._.X)
*/
#undef VERSION_POINT
/*
* Version number, as a string
*/
#undef VERSION
/*
* Status of the code: "alpha", "beta" or "stable".
*/
#undef CODE_STATUS
/*
* Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it.
* Don't bother to change this here! Use configure instead.
*/
#undef STATIC_PCRE
/*
* Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of
* libpcrs and user preferences).
* Don't bother to change this here! Use configure instead.
*/
#undef STATIC_PCRS
/*
* Allows the use of an ACL to control access to the proxy by IP address.
*/
#undef FEATURE_ACL
/*
* Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off.
*/
#undef FEATURE_CGI_EDIT_ACTIONS
/*
* Allows the use of jar files to capture cookies.
*/
#undef FEATURE_COOKIE_JAR
/*
* Locally redirect remote script-redirect URLs
*/
#undef FEATURE_FAST_REDIRECTS
/*
* Bypass filtering for 1 page only
*/
#undef FEATURE_FORCE_LOAD
/*
* Allow blocking using images as well as HTML.
* If you do not define this then everything is blocked as HTML.
*
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
*/
#undef FEATURE_IMAGE_BLOCKING
/*
* Detect image requests automatically for MSIE. Will fall back to
* other image-detection methods (i.e. "+image" permission) for other
* browsers.
*
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
*
* It detects the following header pair as an image request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: * / *
*
* And the following as a HTML request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
*
* And no, I haven't got that backwards - IE is being wierd.
*
* Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again.
*
* These limitations are due to IE making inconsistent choices
* about which "Accept:" header to send.
*/
#undef FEATURE_IMAGE_DETECT_MSIE
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
#undef FEATURE_KILL_POPUPS
/*
* Use PNG instead of GIF for built-in images
*/
#undef FEATURE_NO_GIFS
/*
* Allow to shutdown Privoxy through the webinterface.
*/
#undef FEATURE_GRACEFUL_TERMINATION
/*
* Allow PCRE syntax in host patterns.
*/
#undef FEATURE_EXTENDED_HOST_PATTERNS
/*
* Keep outgoing connections alive if possible.
*/
#undef FEATURE_CONNECTION_KEEP_ALIVE
/*
* Use POSIX threads instead of native threads.
*/
#undef FEATURE_PTHREAD
/*
* Enables statistics function.
*/
#undef FEATURE_STATISTICS
/*
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
* non-anonymizing proxy. This is useful if you're trying to access a
* blocked or broken site - just change the setting in the config file,
* or use the handy "Disable" menu option in the Windows GUI.
*/
#undef FEATURE_TOGGLE
/*
* Allows the use of trust files.
*/
#undef FEATURE_TRUST
/*
* Defined on Solaris only. Makes the system libraries thread safe.
*/
#undef _REENTRANT
/*
* Defined on Solaris only. Without this, many important functions are not
* defined in the system headers.
*/
#undef __EXTENSIONS__
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with MultiThreading?)
*/
#undef __MT__
/* If the (nonstandard and thread-safe) function gethostbyname_r
* is available, select which signature to use
*/
#undef HAVE_GETHOSTBYNAME_R_6_ARGS
#undef HAVE_GETHOSTBYNAME_R_5_ARGS
#undef HAVE_GETHOSTBYNAME_R_3_ARGS
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
* is available, select which signature to use
*/
#undef HAVE_GETHOSTBYADDR_R_8_ARGS
#undef HAVE_GETHOSTBYADDR_R_7_ARGS
#undef HAVE_GETHOSTBYADDR_R_5_ARGS
/* Defined if you have gmtime_r and localtime_r with a signature
* of (struct time *, struct tm *)
*/
#undef HAVE_GMTIME_R
#undef HAVE_LOCALTIME_R
/* Define to 'int' if <sys/socket.h> doesn't have it.
*/
#undef socklen_t
/* Define if pcre.h must be included as <pcre/pcre.h>
*/
#undef PCRE_H_IN_SUBDIR
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
*/
#undef PCREPOSIX_H_IN_SUBDIR
/* Define to 1 to use compression through the zlib library. */
#undef FEATURE_ZLIB
/* Define to 1 if you have the `access' function. */
#undef HAVE_ACCESS
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyaddr' function. */
#undef HAVE_GETHOSTBYADDR
/* Define to 1 if you have the `gethostbyaddr_r' function. */
#undef HAVE_GETHOSTBYADDR_R
/* Define to 1 if you have the `gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME
/* Define to 1 if you have the `gethostbyname_r' function. */
#undef HAVE_GETHOSTBYNAME_R
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `inet_ntoa' function. */
#undef HAVE_INET_NTOA
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <OS.h> header file. */
#undef HAVE_OS_H
/* Define to 1 if you have the `poll' function. */
#undef HAVE_POLL
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
/* Define to 1 if you have the `regcomp' function. */
#undef HAVE_REGCOMP
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strlcat' function. */
#undef HAVE_STRLCAT
/* Define to 1 if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
/* Define to 1 if you have the `strptime' function. */
#undef HAVE_STRPTIME
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `timegm' function. */
#undef HAVE_TIMEGM
/* Define to 1 if you have the `tzset' function. */
#undef HAVE_TZSET
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to 1 if the `setpgrp' function takes no argument. */
#undef SETPGRP_VOID
/* The size of `char *', as computed by sizeof. */
#undef SIZEOF_CHAR_P
/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* The size of `size_t', as computed by sizeof. */
#undef SIZEOF_SIZE_T
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to 'int' if <sys/socket.h> doesn't have it. */
#undef socklen_t
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with ANSI Standard C?)
*/
#ifndef __STDC__
#define __STDC__ 1
#endif /* ndef __STDC__ */
/*
* Need to set up this define only for the Pthreads library for
* Win32, available from http://sources.redhat.com/pthreads-win32/
*/
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
#define __CLEANUP_C
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
/*
* BEOS does not currently support POSIX threads.
* This *should* be detected by ./configure, but let's be sure.
*/
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
/*
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
* symbol unix; it defines __unix__ and sometimes not even that:
*/
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
#define unix 1
#endif
/*
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
* under VC++, and it usually gives many wierd error messages. Let's make
* the error messages understandable, by bailing out now.
*/
#ifdef _MSC_VER
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
#endif /* def _MSC_VER */
#endif /* CONFIG_H_INCLUDED */

File diff suppressed because it is too large Load Diff

30
external/privoxy/config.sub vendored Normal file → Executable file
View File

@ -2,9 +2,9 @@
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012 Free Software Foundation, Inc. # 2011 Free Software Foundation, Inc.
timestamp='2012-02-10' timestamp='2011-11-11'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -21,7 +21,9 @@ timestamp='2012-02-10'
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>. # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
# #
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -74,8 +76,8 @@ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
Free Software Foundation, Inc. Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -130,10 +132,6 @@ case $maybe_os in
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
android-linux)
os=-linux-android
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;;
*) *)
basic_machine=`echo $1 | sed 's/-[^-]*$//'` basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ] if [ $basic_machine != $1 ]
@ -249,7 +247,6 @@ case $basic_machine in
# Some are omitted here because they have special meanings below. # Some are omitted here because they have special meanings below.
1750a | 580 \ 1750a | 580 \
| a29k \ | a29k \
| aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \ | am33_2.0 \
@ -322,7 +319,8 @@ case $basic_machine in
c6x) c6x)
basic_machine=tic6x-unknown basic_machine=tic6x-unknown
;; ;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) m6811 | m68hc11 | m6812 | m68hc12 | picochip)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
os=-none os=-none
;; ;;
@ -335,10 +333,7 @@ case $basic_machine in
strongarm | thumb | xscale) strongarm | thumb | xscale)
basic_machine=arm-unknown basic_machine=arm-unknown
;; ;;
xgate)
basic_machine=$basic_machine-unknown
os=-none
;;
xscaleeb) xscaleeb)
basic_machine=armeb-unknown basic_machine=armeb-unknown
;; ;;
@ -361,7 +356,6 @@ case $basic_machine in
# Recognize the basic CPU types with company name. # Recognize the basic CPU types with company name.
580-* \ 580-* \
| a29k-* \ | a29k-* \
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
@ -725,6 +719,7 @@ case $basic_machine in
i370-ibm* | ibm*) i370-ibm* | ibm*)
basic_machine=i370-ibm basic_machine=i370-ibm
;; ;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32) i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32 os=-sysv32
@ -1564,6 +1559,9 @@ case $basic_machine in
;; ;;
m68000-sun) m68000-sun)
os=-sunos3 os=-sunos3
# This also exists in the configure program, but was not the
# default.
# os=-sunos4
;; ;;
m68*-cisco) m68*-cisco)
os=-aout os=-aout

File diff suppressed because it is too large Load Diff

View File

@ -1,572 +1,38 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl dnl
dnl $Id: configure.in,v 1.126 2009/03/21 10:45:06 fabiankeil Exp $ dnl $Id: configure.in,v 1.166 2011/12/26 17:03:31 fabiankeil Exp $
dnl dnl
dnl Written by and Copyright (C) 2001-2009 the dnl Written by and Copyright (C) 2001-2010 the
dnl Privoxy team. http://www.privoxy.org/ dnl Privoxy team. http://www.privoxy.org/
dnl dnl
dnl Based on the Internet Junkbuster originally written dnl Based on the Internet Junkbuster originally written
dnl by and Copyright (C) 1997 Anonymous Coders and dnl by and Copyright (C) 1997 Anonymous Coders and
dnl Junkbusters Corporation. http://www.junkbusters.com dnl Junkbusters Corporation. http://www.junkbusters.com
dnl dnl
dnl This program is free software; you can redistribute it dnl This program is free software; you can redistribute it
dnl and/or modify it under the terms of the GNU General dnl and/or modify it under the terms of the GNU General
dnl Public License as published by the Free Software dnl Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at dnl Foundation; either version 2 of the License, or (at
dnl your option) any later version. dnl your option) any later version.
dnl dnl
dnl This program is distributed in the hope that it will dnl This program is distributed in the hope that it will
dnl be useful, but WITHOUT ANY WARRANTY; without even the dnl be useful, but WITHOUT ANY WARRANTY; without even the
dnl implied warranty of MERCHANTABILITY or FITNESS FOR A dnl implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE. See the GNU General Public dnl PARTICULAR PURPOSE. See the GNU General Public
dnl License for more details. dnl License for more details.
dnl dnl
dnl The GNU General Public License should be included with dnl The GNU General Public License should be included with
dnl this file. If not, you can view it at dnl this file. If not, you can view it at
dnl http://www.gnu.org/copyleft/gpl.html dnl http://www.gnu.org/copyleft/gpl.html
dnl or write to the Free Software Foundation, Inc., 59 dnl or write to the Free Software Foundation, Inc., 59
dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
dnl
dnl $Log: configure.in,v $
dnl Revision 1.126 2009/03/21 10:45:06 fabiankeil
dnl Declare the code stable.
dnl dnl
dnl Revision 1.125 2009/02/25 16:58:03 fabiankeil
dnl And the journey continues. Bump version to 3.0.12 UNRELEASED.
dnl
dnl Revision 1.124 2009/02/12 15:42:00 fabiankeil
dnl Declare the code stable.
dnl
dnl Revision 1.123 2009/02/06 18:17:32 fabiankeil
dnl Boldly enable keep-alive support where possible.
dnl
dnl Revision 1.122 2008/10/18 11:17:52 fabiankeil
dnl Connection keep-alive support is ready for testing,
dnl allow enabling it through the configure script.
dnl
dnl Revision 1.121 2008/08/30 12:03:07 fabiankeil
dnl Remove FEATURE_COOKIE_JAR.
dnl
dnl Revision 1.120 2008/08/21 17:19:50 fabiankeil
dnl Change version to 3.0.11 UNRELEASED.
dnl
dnl Revision 1.119 2008/08/13 16:53:50 fabiankeil
dnl Change version to 3.0.10 stable.
dnl
dnl Revision 1.118 2008/06/27 12:50:44 fabiankeil
dnl Here's looking at you, Gentoo Linux: Show a warning if
dnl --disable-pthread is used even though pthreads are available.
dnl
dnl Revision 1.117 2008/06/14 12:47:30 fabiankeil
dnl Set CODE_STATUS to beta.
dnl
dnl Revision 1.116 2008/06/08 11:55:09 fabiankeil
dnl - Show a warning if the soon-to-be-removed static PCRE code is used.
dnl - Hide the "using built-in static pcrs" message. With dynamic linking
dnl against PCRS disabled, the message isn't particularly useful.
dnl
dnl Revision 1.115 2008/05/25 15:50:14 fabiankeil
dnl Try to use zlib by default, but just show a warning if it's
dnl unavailable. Remove --enable-zlib, add --disable-zlib.
dnl
dnl Revision 1.114 2008/04/06 15:18:33 fabiankeil
dnl Oh well, rename the --enable-pcre-host-patterns option to
dnl --enable-extended-host-patterns as it's not really PCRE syntax.
dnl
dnl Revision 1.113 2008/04/06 14:54:26 fabiankeil
dnl Use PCRE syntax in host patterns when configured
dnl with --enable-pcre-host-patterns.
dnl
dnl Revision 1.112 2008/03/27 18:27:22 fabiankeil
dnl Remove kill-popups action.
dnl
dnl Revision 1.111 2008/02/03 14:40:47 fabiankeil
dnl Remove unused OSX_DARWIN macro. Reported by Mark Miller in #1852529.
dnl
dnl Revision 1.110 2008/01/26 10:52:13 fabiankeil
dnl Change version to 3.0.9 UNRELEASED.
dnl
dnl Revision 1.109 2008/01/20 14:07:09 fabiankeil
dnl Set CODE_STATUS to stable.
dnl
dnl Revision 1.108 2007/12/10 02:30:00 hal9
dnl Change versioning for > 3.0.7 && < 3.0.8
dnl
dnl Revision 1.107 2007/11/15 02:50:14 hal9
dnl Setting to "beta" (for doc builds, etc).
dnl
dnl Revision 1.106 2007/05/11 11:49:41 fabiankeil
dnl Check for strlcat().
dnl
dnl Revision 1.105 2007/04/09 17:34:58 fabiankeil
dnl Check for snprintf().
dnl
dnl Revision 1.104 2007/03/31 13:35:11 fabiankeil
dnl Add checks for gettimeofday() and strlcpy().
dnl
dnl Revision 1.103 2007/01/20 16:29:38 fabiankeil
dnl Suppress edit buttons for action files if Privoxy has
dnl no write access. Suggested by Roland in PR 1564026.
dnl
dnl Revision 1.102 2007/01/18 14:55:45 fabiankeil
dnl Check for tzset() and putenv() to make sure the
dnl replacement timegm() isn't included on systems
dnl where it fails to compile.
dnl
dnl Revision 1.101 2007/01/12 15:20:17 fabiankeil
dnl Temporarily ignore external libpcrs to prevent
dnl problems that are fixed in Privoxy's own version.
dnl
dnl Revision 1.100 2007/01/07 07:38:10 joergs
dnl Disabled -pipe for AmigaOS4.
dnl
dnl Revision 1.99 2007/01/01 19:36:37 fabiankeil
dnl Integrate a modified version of Wil Mahan's
dnl zlib patch (PR #895531).
dnl
dnl Revision 1.98 2006/12/17 19:15:26 fabiankeil
dnl Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
dnl
dnl Revision 1.97 2006/11/21 18:32:46 hal9
dnl Setting version to 3.0.7 UNRELEASED for lack of a better setting.
dnl
dnl Revision 1.96 2006/11/18 14:42:51 fabiankeil
dnl Mark as stable.
dnl
dnl Revision 1.95 2006/11/14 02:08:59 hal9
dnl Setting version string to 3.0.6 UNRELEASED. This needs to be reset to 3.0.6
dnl stable just before CVS is tagged for release.
dnl
dnl Revision 1.94 2006/11/13 19:05:50 fabiankeil
dnl Make pthread mutex locking more generic. Instead of
dnl checking for OSX and OpenBSD, check for FEATURE_PTHREAD
dnl and use mutex locking unless there is an _r function
dnl available. Better safe than sorry.
dnl
dnl Fixes "./configure --disable-pthread" and should result
dnl in less threading-related problems on pthread-using platforms,
dnl but it still doesn't fix BR#1122404.
dnl
dnl Revision 1.93 2006/09/22 01:26:20 hal9
dnl Set version to 3.0.5 BETA for hopefully release this weekend.
dnl
dnl Revision 1.92 2006/08/17 17:09:49 fabiankeil
dnl Added check for timegm().
dnl
dnl Revision 1.91 2006/08/13 22:01:51 fabiankeil
dnl Added checks for strptime() and random()
dnl
dnl Revision 1.90 2006/07/18 14:48:45 david__schmidt
dnl Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
dnl with what was really the latest development (the v_3_0_branch branch)
dnl
dnl Revision 1.68.2.20 2004/01/31 16:31:46 oes
dnl Resetting version info to 0.0.0 UNRELEASED
dnl
dnl Revision 1.68.2.19 2004/01/30 09:26:03 oes
dnl Added docbook paths for debian sarge; set status for release
dnl
dnl Revision 1.68.2.18 2003/12/08 15:10:29 oes
dnl Bugfix: --with-docbook now correctly accepts its path parameter. Thanks, Roland!
dnl
dnl Revision 1.68.2.17 2003/10/18 18:41:26 david__schmidt
dnl Update to remain buildable on OS/2 - remove the failures
dnl due to missing unixisms
dnl
dnl Revision 1.68.2.16 2003/03/26 16:05:14 oes
dnl Marked as 0.0.0 UNRELEASED
dnl
dnl Revision 1.68.2.15 2003/03/26 00:25:00 oes
dnl Bump version for 3.0.2
dnl
dnl Revision 1.68.2.14 2003/03/25 13:27:12 hal9
dnl Manually apply Docbook/FreeBSD patch #708081 from a.go at tiscali.nl.
dnl
dnl Revision 1.68.2.13 2003/03/18 19:38:57 oes
dnl Set version info for 3.0.1 release
dnl
dnl Revision 1.68.2.12 2003/03/07 03:41:04 david__schmidt
dnl Wrapping all *_r functions (the non-_r versions of them) with mutex semaphores for OSX. Hopefully this will take care of all of those pesky crash reports.
dnl
dnl Revision 1.68.2.11 2003/03/06 15:22:37 oes
dnl Fixed minor shell syntax bug
dnl
dnl Revision 1.68.2.10 2003/01/08 16:39:41 oes
dnl Changing default to exclude FEATURE_IMAGE_DETECT_MSIE because of problem reports with recent IEs
dnl
dnl Revision 1.68.2.9 2002/12/13 23:47:45 hal9
dnl Add openbsd $specialflags per gunner at styx2002.no-ip.org
dnl
dnl Revision 1.68.2.8 2002/11/27 12:55:26 oes
dnl Fixed broken handling of pre-set CFLAGS
dnl
dnl Revision 1.68.2.7 2002/10/25 02:44:22 hal9
dnl Port of make install, etc from main trunk. Needs testing! Add Slackware
dnl support, and other related changes. Update related docs.
dnl
dnl Revision 1.68.2.6 2002/09/25 15:35:15 oes
dnl Marking as non-release
dnl
dnl Revision 1.68.2.5 2002/08/25 23:37:00 hal9
dnl Getting ready for 3.0 release.
dnl
dnl Revision 1.68.2.4 2002/08/10 11:21:57 oes
dnl - Set Version to 2.9.20 (beta)
dnl - Add two AC_DEFINEs that indicate if the pcre*.h headers
dnl are located in a pcre/ subdir to the include path.
dnl
dnl Revision 1.68.2.3 2002/08/06 11:29:36 oes
dnl Fixed detection/inclusion of pcre.h, which is in a pcre subdir on RH
dnl
dnl Revision 1.68.2.2 2002/07/30 19:36:09 hal9
dnl Bump version to 2.9.17.
dnl
dnl Revision 1.68.2.1 2002/07/26 15:21:12 oes
dnl Bumped version number for 2.9.16 freeze
dnl
dnl Revision 1.68 2002/05/25 16:54:54 jongfoster
dnl Detect if the compiler supports -pthread.
dnl Hopefully this will fix bug 560442. (I don't have a HP PA-RISC
dnl machine to test this!)
dnl
dnl Revision 1.67 2002/05/03 14:33:59 oes
dnl Generate doc/soucre/ldp.dsl
dnl
dnl Revision 1.66 2002/05/03 00:41:56 oes
dnl Set version to 2.9.15 to comply with new versioning scheme
dnl
dnl Revision 1.65 2002/04/25 19:13:57 morcego
dnl Removed RPM release number declaration on configure.in
dnl Changed makefile to use given value for RPM_PACKAGEV when on uploading
dnl targets (will produce an error, explaining who to do it, if no value
dnl if provided).
dnl
dnl Revision 1.64 2002/04/22 16:32:31 morcego
dnl configure.in, *.spec: Bumping release to 2 (2.9.14-2)
dnl -rh.spec: uid and gid are now macros
dnl -suse.spec: Changing the header Copyright to License (Copyright is
dnl deprecable)
dnl
dnl Revision 1.63 2002/04/11 11:00:21 oes
dnl Applied Moritz' fix for socklen_t on Solaris
dnl
dnl Revision 1.62 2002/04/11 10:09:20 oes
dnl Version 2.9.14
dnl
dnl Revision 1.61 2002/04/10 18:14:45 morcego
dnl - (privoxy-rh.spec only) Relisting template files on the %%files section
dnl - (configure.in, privoxy-rh.spec) Bumped package release to 5
dnl
dnl Revision 1.60 2002/04/09 16:38:49 oes
dnl Added detection of missing config.h.in
dnl
dnl Revision 1.59 2002/04/06 20:23:55 jongfoster
dnl Removing unnessacery tests (C++, ranlib)
dnl
dnl Revision 1.58 2002/04/04 20:49:20 swa
dnl attempt to consolidate the
dnl different dokbook versions.
dnl
dnl Revision 1.57 2002/04/04 00:36:36 gliptak
dnl always use pcre for matching
dnl
dnl Revision 1.56 2002/04/03 22:28:03 gliptak
dnl Removed references to gnu_regex
dnl
dnl Revision 1.55 2002/04/03 03:54:38 gliptak
dnl Checking pcre version
dnl
dnl Revision 1.54 2002/04/01 00:54:24 gliptak
dnl More changes needed around regex support.
dnl
dnl Revision 1.53 2002/03/29 20:09:01 swa
dnl al's patch
dnl
dnl Revision 1.52 2002/03/29 19:51:40 gliptak
dnl Correcting compile problem with Debian
dnl
dnl Revision 1.51 2002/03/28 20:43:00 swa
dnl set make correctly
dnl
dnl Revision 1.50 2002/03/27 03:03:45 hal9
dnl Add test for man2html
dnl
dnl Revision 1.49 2002/03/27 02:19:52 david__schmidt
dnl More Mac OSX support:
dnl - Get rid of extraneous, noisy -pthread warnings
dnl - Define unix so we get oes' unix-tagged changes
dnl
dnl Revision 1.48 2002/03/26 22:29:54 swa
dnl we have a new homepage!
dnl
dnl Revision 1.47 2002/03/26 16:41:00 hal9
dnl Upped RPM Release to 3 (need to build new RH packages)
dnl
dnl Revision 1.46 2002/03/24 18:55:06 jongfoster
dnl Making Docbook work under Windows
dnl
dnl Revision 1.45 2002/03/24 14:19:55 swa
dnl set rpm package release in configure.in. nowhere else.
dnl
dnl Revision 1.44 2002/03/24 13:25:43 swa
dnl name change related issues
dnl
dnl Revision 1.43 2002/03/24 12:56:21 swa
dnl name change related issues.
dnl
dnl Revision 1.42 2002/03/22 18:11:37 jongfoster
dnl Bumping version number to 2.9.12
dnl
dnl Revision 1.41 2002/03/19 19:30:04 morcego
dnl - Fixing stylesheet checking on configure. If it is found, no further checks
dnl should be done
dnl
dnl - configure will now check for db2html or docbook2html (should work now
dnl on SuSe without the docbktls package)
dnl
dnl Revision 1.40 2002/03/09 14:33:30 oes
dnl Fixing the (harmless) AC_CHECK_FILE warnings
dnl
dnl Revision 1.39 2002/03/08 16:46:13 oes
dnl Added --enable-no-gifs
dnl
dnl Revision 1.38 2002/03/08 14:13:50 morcego
dnl Fixing configure, to remove a command not found error.
dnl
dnl Revision 1.37 2002/03/08 12:58:21 oes
dnl Tiny bugfix in AC_ARG_WITH(debug)
dnl
dnl Revision 1.36 2002/03/06 23:50:36 morcego
dnl Will not test for a text browser if we are not using docbook.
dnl
dnl Revision 1.35 2002/03/06 21:55:52 morcego
dnl New configure option: --with-docbook=(yes|no|directory)
dnl Preliminary new platform detection code included. Will work with the
dnl old one for now. No use just trowing it away
dnl
dnl Revision 1.34 2002/03/06 20:57:00 morcego
dnl Fixing detection of stylesheets on SuSe.
dnl
dnl Revision 1.33 2002/03/05 17:31:11 morcego
dnl Search for docbook.dsl. Should solve portability problems for SuSe.
dnl
dnl Revision 1.32 2002/03/05 14:07:43 morcego
dnl configure now detects rpm topdir, and change GNUmakefile acordingly
dnl (based on sugestion by Sarantis Paskalis)
dnl
dnl Revision 1.31 2002/03/05 13:43:28 morcego
dnl Checking for text browser, so redhat-dok can work.
dnl
dnl Revision 1.30 2002/03/04 17:58:01 oes
dnl Deleted _DEBUG and PID_FILE_PATH
dnl
dnl Revision 1.29 2002/02/28 14:20:53 oes
dnl Fixed detection of gethost*_r functions on Solaris
dnl
dnl Revision 1.28 2002/02/27 15:02:38 oes
dnl Incremented version number
dnl
dnl Revision 1.27 2002/01/10 12:35:18 oes
dnl Added cross-compile defaults to the AC_CHECK_SIZEOF macros
dnl to silence autoconf warnings. Numbers are for Intel/Linux.
dnl Is there a better way?
dnl
dnl Revision 1.26 2002/01/09 14:29:49 oes
dnl - Added AC_CHECK_FUNC tests for the availability of
dnl gethostbyname_r, gethostbyaddr_r, gmtime_r and
dnl localtime_r, as well as AC_TRY_COMPILE tests to
dnl determine their signatures.
dnl
dnl - Fixed a bug with the init of CFLAGS that was
dnl reported by barsnick
dnl
dnl Revision 1.25 2002/01/04 15:27:18 oes
dnl Changed quoting of CODE_STATUS for use in make
dnl
dnl Revision 1.24 2001/12/30 14:07:31 steudten
dnl - Add signal handling (unix)
dnl - Add SIGHUP handler (unix)
dnl - Add creation of pidfile (unix)
dnl - Add action 'top' in rc file (RH)
dnl - Add entry 'SIGNALS' to manpage
dnl - Add exit message to logfile (unix)
dnl
dnl Revision 1.23 2001/12/09 20:24:42 david__schmidt
dnl Change from "alpha" to "beta" in configure.in
dnl
dnl Revision 1.22 2001/12/01 11:24:01 jongfoster
dnl Renaming Makefile.in to GNUmakefile.in so that non-GNU versions of
dnl make break in a more obvious way.
dnl
dnl Revision 1.21 2001/11/30 21:35:54 jongfoster
dnl Bumping version number to 2.9.10
dnl
dnl Revision 1.20 2001/10/23 21:24:09 jongfoster
dnl Support for FEATURE_CGI_EDIT_ACTIONS
dnl
dnl Revision 1.19 2001/10/07 15:33:14 oes
dnl Removed FEATURE_DENY_GZIP
dnl Bumped up version number
dnl
dnl Revision 1.18 2001/09/13 13:10:24 steudten
dnl
dnl PreWork for Debug Interface.
dnl Add new option "--with-debug" to enable debugging (flags aso.)
dnl
dnl Revision 1.17 2001/09/12 23:44:55 david__schmidt
dnl Mac OSX (Darwin) support added.
dnl
dnl Revision 1.16 2001/09/12 22:55:45 joergs
dnl AmigaOS support added.
dnl
dnl Revision 1.15 2001/09/12 17:28:59 david__schmidt
dnl
dnl OS/2 port: update autoconf'd support for the platform.
dnl
dnl Revision 1.14 2001/07/30 22:12:11 jongfoster
dnl Fixing Solaris build (I hope) and tidying up #defines:
dnl - All feature #defines are now of the form FEATURE_xxx
dnl - Permanently turned off WIN_GUI_EDIT
dnl - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
dnl
dnl Revision 1.13 2001/07/29 17:09:17 jongfoster
dnl Major changes to build system in order to fix these bugs:
dnl - pthreads under Linux was broken - changed -lpthread to -pthread
dnl - Compiling in MinGW32 mode under CygWin now correctly detects
dnl which shared libraries are available
dnl - Solaris support (?) (Not tested under Solaris yet)
dnl
dnl Revision 1.12 2001/07/25 19:16:27 oes
dnl Bumping version number to 2.9.8
dnl
dnl Revision 1.11 2001/07/21 18:00:07 jongfoster
dnl Bumping version number to 2.9.7
dnl
dnl Revision 1.10 2001/07/18 17:25:04 oes
dnl Fixed a typo
dnl
dnl Revision 1.9 2001/07/15 19:45:13 jongfoster
dnl Added support for linking with POSIX threads library
dnl
dnl Revision 1.8 2001/07/15 17:54:29 jongfoster
dnl Renaming #define STATIC to STATIC_PCRE
dnl Adding new #define FEATURE_PTHREAD that will be used to enable
dnl POSIX threads support.
dnl
dnl Revision 1.7 2001/07/13 13:58:05 oes
dnl Completely reorganized the selection scheme for
dnl pcre, pcreposix, pcrs and gnu_regex:
dnl
dnl The presence of shared pcre, pcreposix or pcrs
dnl libraried is now autodetected. Additionally, the
dnl user can enforce using the built-in static variants
dnl by specifying --disable-dynamic-(pcre|pcrs).
dnl Care is taken to avoid that pcre is dyn, while pcreposix
dnl is static, if both are used and that pcrs is static if
dnl pcrs is.
dnl
dnl The choice between pcre, gnu or no regex for actionsfile
dnl URL matching is now via
dnl --(enable|disable)-regex-matching[=(gnu|pcre|no)] with the
dnl default being pcre.
dnl
dnl Revision 1.6 2001/06/29 21:56:40 oes
dnl Version -> 2.9.5
dnl
dnl Revision 1.5 2001/06/29 13:26:27 oes
dnl Introduced #define CODE_STATUS
dnl
dnl Revision 1.4 2001/05/29 09:50:24 jongfoster
dnl Unified blocklist/imagelist/permissionslist.
dnl File format is still under discussion, but the internal changes
dnl are (mostly) done.
dnl
dnl Also modified interceptor behaviour:
dnl - We now intercept all URLs beginning with one of the following
dnl prefixes (and *only* these prefixes):
dnl * http://i.j.b/
dnl * http://ijbswa.sf.net/config/
dnl * http://ijbswa.sourceforge.net/config/
dnl - New interceptors "home page" - go to http://i.j.b/ to see it.
dnl - Internal changes so that intercepted and fast redirect pages
dnl are not replaced with an image.
dnl - Interceptors now have the option to send a binary page direct
dnl to the client. (i.e. ijb-send-banner uses this)
dnl - Implemented show-url-info interceptor. (Which is why I needed
dnl the above interceptors changes - a typical URL is
dnl "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
dnl The previous mechanism would not have intercepted that, and
dnl if it had been intercepted then it then it would have replaced
dnl it with an image.)
dnl
dnl Revision 1.3 2001/05/22 18:46:04 oes
dnl
dnl - Enabled filtering banners by size rather than URL
dnl by adding patterns that replace all standard banner
dnl sizes with the "Junkbuster" gif to the re_filterfile
dnl
dnl - Enabled filtering WebBugs by providing a pattern
dnl which kills all 1x1 images
dnl
dnl - Added support for PCRE_UNGREEDY behaviour to pcrs,
dnl which is selected by the (nonstandard and therefore
dnl capital) letter 'U' in the option string.
dnl It causes the quantifiers to be ungreedy by default.
dnl Appending a ? turns back to greedy (!).
dnl
dnl - Added a new interceptor ijb-send-banner, which
dnl sends back the "Junkbuster" gif. Without imagelist or
dnl MSIE detection support, or if tinygif = 1, or the
dnl URL isn't recognized as an imageurl, a lame HTML
dnl explanation is sent instead.
dnl
dnl - Added new feature, which permits blocking remote
dnl script redirects and firing back a local redirect
dnl to the browser.
dnl The feature is conditionally compiled, i.e. it
dnl can be disabled with --disable-fast-redirects,
dnl plus it must be activated by a "fast-redirects"
dnl line in the config file, has its own log level
dnl and of course wants to be displayed by show-proxy-args
dnl Note: Boy, all the #ifdefs in 1001 locations and
dnl all the fumbling with configure.in and acconfig.h
dnl were *way* more work than the feature itself :-(
dnl
dnl - Because a generic redirect template was needed for
dnl this, tinygif = 3 now uses the same.
dnl
dnl - Moved GIFs, and other static HTTP response templates
dnl to project.h
dnl
dnl - Some minor fixes
dnl
dnl - Removed some >400 CRs again (Jon, you really worked
dnl a lot! ;-)
dnl
dnl Revision 1.2 2001/05/20 01:21:20 jongfoster
dnl Version 2.9.4 checkin.
dnl - Merged popupfile and cookiefile, and added control over PCRS
dnl filtering, in new "permissionsfile".
dnl - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
dnl file error you now get a message box (in the Win32 GUI) rather
dnl than the program exiting with no explanation.
dnl - Made killpopup use the PCRS MIME-type checking and HTTP-header
dnl skipping.
dnl - Removed tabs from "config"
dnl - Moved duplicated url parsing code in "loaders.c" to a new funcition.
dnl - Bumped up version number.
dnl
dnl Revision 1.1.1.1 2001/05/15 13:58:50 oes
dnl Initial import of version 2.9.3 source tree
dnl
dnl
dnl ================================================================= dnl =================================================================
dnl AutoConf Initialization dnl AutoConf Initialization
dnl ================================================================= dnl =================================================================
AC_REVISION($Revision: 1.126 $) AC_REVISION($Revision: 1.166 $)
AC_INIT(jcc.c) AC_INIT(jcc.c)
if test ! -f config.h.in; then if test ! -f config.h.in; then
@ -578,7 +44,7 @@ if test ! -f config.h.in; then
else else
autoheader autoheader
fi fi
fi fi
AC_CONFIG_HEADER([config.h]) AC_CONFIG_HEADER([config.h])
AC_CANONICAL_HOST AC_CANONICAL_HOST
@ -586,13 +52,13 @@ AC_CANONICAL_HOST
dodk=auto dodk=auto
DKPREFIX=none DKPREFIX=none
AC_ARG_WITH(docbook, dnl AC_ARG_WITH(docbook, dnl
--with-docbook=[[yes|no|directory]] --with-docbook=[[yes|no|directory]]
Enable docbook documentation creation Enable docbook documentation creation
(default = yes, for gnu and linux),[dnl (default = yes, for gnu and linux),[dnl
case "$with_docbook" in case "$with_docbook" in
yes) dodk=yes;; yes) dodk=yes;;
no) dodk=no;; no) dodk=no;;
*) *)
dodk=yes dodk=yes
DKPREFIX=$withval DKPREFIX=$withval
;; ;;
@ -612,12 +78,13 @@ dnl =================================================================
VERSION_MAJOR=3 VERSION_MAJOR=3
VERSION_MINOR=0 VERSION_MINOR=0
VERSION_POINT=12 VERSION_POINT=19
CODE_STATUS="stable" CODE_STATUS="stable"
dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED" dnl and will be used for CGI output. Increment version number and
dnl whenever CVS in a stable branch differs from the last release. dnl set status to "UNRELEASED" whenever CVS differs from the last
dnl release and no new release is near.
dnl ================================================================= dnl =================================================================
dnl Substitute the version numbers dnl Substitute the version numbers
@ -652,13 +119,13 @@ AC_PROG_MAKE_SET
AC_PROG_AWK AC_PROG_AWK
AC_CHECK_PROG(GDB,gdb,yes,no) AC_CHECK_PROG(GDB,gdb,yes,no)
AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin) AC_PATH_PROG(BGROUPS,groups,no,$PATH:/bin:/usr/bin:/usr/local/bin)
AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin) AC_PATH_PROG(ID,id,no,$PATH:/bin:/usr/bin:/usr/local/bin)
AC_SUBST(ID) AC_SUBST(ID)
AC_SUBST(BGROUPS) AC_SUBST(BGROUPS)
dnl ================================================================= dnl =================================================================
dnl debug, gcc and gdb support dnl debug, gcc and gdb support
dnl ================================================================= dnl =================================================================
AC_ARG_WITH(debug, AC_ARG_WITH(debug,
@ -736,7 +203,7 @@ else
AC_MSG_CHECKING([for group]) AC_MSG_CHECKING([for group])
AC_ARG_WITH(group, AC_ARG_WITH(group,
[ --with-group=privoxy Set group for privoxy], [ --with-group=privoxy Set group for privoxy],
[ [
if test "x$withval" != "xyes"; then if test "x$withval" != "xyes"; then
if test $BGROUPS = no ; then if test $BGROUPS = no ; then
AC_MSG_ERROR(There is no 'groups' program on this system) AC_MSG_ERROR(There is no 'groups' program on this system)
@ -775,7 +242,7 @@ fi
dnl ================================================================= dnl =================================================================
dnl additional gcc flags dnl additional gcc flags
dnl ================================================================= dnl =================================================================
dnl dnl
if test "$GCC"; then if test "$GCC"; then
if test "$host" != "powerpc-unknown-amigaos"; then if test "$host" != "powerpc-unknown-amigaos"; then
CFLAGS="-pipe $CFLAGS" CFLAGS="-pipe $CFLAGS"
@ -793,7 +260,7 @@ dnl Reason: This sets CFLAGS in order to switch the Cygwin compiler
dnl into Cygwin or MinGW32 modes. Depending on the mode selected, dnl into Cygwin or MinGW32 modes. Depending on the mode selected,
dnl the compiler will use completely different sets of library dnl the compiler will use completely different sets of library
dnl and include files. dnl and include files.
dnl dnl
dnl ================================================================= dnl =================================================================
AC_MINGW32 AC_MINGW32
@ -832,6 +299,7 @@ fi])
if test $target_type = mingw; then if test $target_type = mingw; then
WIN_ONLY= WIN_ONLY=
CFLAGS="$CFLAGS -DWINVER=0x501"
SPECIAL_CFLAGS="-mwindows -mno-cygwin" SPECIAL_CFLAGS="-mwindows -mno-cygwin"
PTHREAD_LIB=-lpthreadGC PTHREAD_LIB=-lpthreadGC
echo "Using mingw32 (Win32 GUI)" echo "Using mingw32 (Win32 GUI)"
@ -848,7 +316,7 @@ else
fi fi
AC_SUBST(WIN_ONLY) AC_SUBST(WIN_ONLY)
dnl Checking which text html browser we have avaliable dnl Checking which text html browser we have available
if test $dodk != no; then if test $dodk != no; then
AC_CHECK_PROGS(WDUMP,w3m lynx links,false) AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
if test "$WDUMP" = false; then if test "$WDUMP" = false; then
@ -856,7 +324,7 @@ if test $dodk != no; then
fi fi
if test $DB2HTML = false; then if test $DB2HTML = false; then
dnl We need to clean the variable, otherwise AC_CHECK_PROGS dnl We need to clean the variable, otherwise AC_CHECK_PROGS
dnl will fail dnl will fail
DB2HTML="" DB2HTML=""
AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false) AC_CHECK_PROGS(DB2HTML,db2html docbook2html,false)
fi fi
@ -932,6 +400,13 @@ fi
AC_SUBST(JADECAT) AC_SUBST(JADECAT)
AC_SUBST(DKPREFIX) AC_SUBST(DKPREFIX)
AC_ARG_ENABLE(large-file-support,
[ --enable-large-file-support Define _LARGE_FILES and friends.
Required by some systems to support files larger then 2GB.],
[if test $enableval = yes; then
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1"
fi])
dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
old_CFLAGS_nospecial=$CFLAGS old_CFLAGS_nospecial=$CFLAGS
CFLAGS="$CFLAGS $SPECIAL_CFLAGS" CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
@ -955,7 +430,7 @@ AC_ARG_ENABLE(pthread,
[if test $enableval = no; then [if test $enableval = no; then
# Disable pthreads # Disable pthreads
if test $have_pthread = yes; then if test $have_pthread = yes; then
AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.]) AC_MSG_WARN([pthreads seem to be available but you are using --disable-pthread.])
AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.]) AC_MSG_WARN([This is almost always a mistake and can render Privoxy unacceptable slow.])
fi fi
have_pthread=no have_pthread=no
@ -1173,10 +648,10 @@ AC_SUBST(SOCKET_LIB)
dnl ================================================================= dnl =================================================================
dnl Mac OSX specific dnl Mac OSX specific
dnl ================================================================= dnl =================================================================
case "$host" in case "$host" in
*-apple-darwin*) SPECIAL_CFLAGS="-Dunix" *-apple-darwin*) SPECIAL_CFLAGS="-Dunix"
;; ;;
esac esac
dnl ================================================================= dnl =================================================================
@ -1226,19 +701,63 @@ dnl AC_CHECK_HEADERS(fcntl.h limits.h malloc.h sys/time.h unistd.h)
AC_CHECK_HEADERS([OS.h arpa/inet.h errno.h fcntl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h sys/wait.h unistd.h]) AC_CHECK_HEADERS([OS.h arpa/inet.h errno.h fcntl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h sys/wait.h unistd.h])
dnl Checks for library functions. dnl Checks for library functions.
dnl AC_TYPE_SIGNAL dnl bcopy is for PCRE
dnl AC_CHECK_FUNC(strstr) AC_CHECK_FUNCS([bcopy])
dnl bcopy and memmove are for PCRE
AC_CHECK_FUNCS([strerror bcopy memmove])
AC_PROG_GCC_TRADITIONAL AC_PROG_GCC_TRADITIONAL
dnl uncommenting does not work for swa. suse linux
dnl AC_FUNC_MALLOC
AC_FUNC_SETPGRP
AC_TYPE_SIGNAL AC_TYPE_SIGNAL
dnl uncommenting does not work for swa. suse linux
dnl AC_FUNC_STAT
AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset]) AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset])
dnl Checks for RFC 2553 resolver and socket functions
AC_ARG_ENABLE(ipv6-support,
[ --disable-ipv6-support Disable IPv6 support and other RFC-2554-related improvements],
[if test $enableval = yes; then
enable_ipv6_support=yes
fi], enable_ipv6_support=yes)
if test $enable_ipv6_support != yes; then
AC_MSG_WARN([Skipping checks for IPv6 support and other RFC-2554-related improvements.
Due to lock contention, this may result in slower DNS resolution for IPv4 setups, too.])
elif test $target_type = mingw; then
AC_CHECK_LIB(ws2_32, main)
AC_MSG_CHECKING(getaddrinfo in ws2_32)
AC_TRY_LINK(
[
#include<windows.h>
#include<ws2tcpip.h>
],
[getaddrinfo(0,0,0,0)],
have_ws2_32_getaddrinfo=yes
)
AC_MSG_RESULT($have_ws2_32_getaddrinfo)
AC_MSG_CHECKING(getnameinfo in ws2_32)
AC_TRY_LINK(
[
#include<windows.h>
#include<ws2tcpip.h>
],
[getnameinfo(0,0,0,0,0,0,0)],
have_ws2_32_getnameinfo=yes
)
AC_MSG_RESULT($have_ws2_32_getnameinfo)
if test $have_ws2_32_getaddrinfo ; then
if test $have_ws2_32_getnameinfo ; then
AC_DEFINE([HAVE_RFC2553], [1],
[Define if RFC 2553 resolver functions like getaddrinfo(3) and
getnameinfo(3) present])
fi
fi
else
AC_CHECK_FUNC([getaddrinfo],
[AC_CHECK_FUNC([getnameinfo],
[AC_DEFINE([HAVE_RFC2553], [1],
[Define if RFC 2553 resolver functions like getaddrinfo(3) and
getnameinfo(3) present])
])
])
fi
dnl ================================================================= dnl =================================================================
dnl Checks for libraries. dnl Checks for libraries.
@ -1255,7 +774,7 @@ AC_CHECK_LIB(pcre, pcre_compile, [
], [have_pcre=no]) ], [have_pcre=no])
]) ])
], [have_pcre=no]) ], [have_pcre=no])
AC_CHECK_LIB(pcreposix, regcomp, [ AC_CHECK_LIB(pcreposix, regcomp, [
AC_CHECK_HEADER(pcreposix.h, [ AC_CHECK_HEADER(pcreposix.h, [
AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes]) AC_EGREP_HEADER(pcreposix_regerror, pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes])
@ -1264,7 +783,7 @@ AC_CHECK_LIB(pcreposix, regcomp, [
AC_EGREP_HEADER(pcreposix_regerror, pcre/pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes]; [AC_DEFINE(PCREPOSIX_H_IN_SUBDIR)]) AC_EGREP_HEADER(pcreposix_regerror, pcre/pcreposix.h, [AC_MSG_WARN([[pcreposix old version installed]]); have_pcreposix=no], [have_pcreposix=yes]; [AC_DEFINE(PCREPOSIX_H_IN_SUBDIR)])
], [have_pcreposix=no]) ], [have_pcreposix=no])
]) ])
], [have_pcreposix=no], -lpcre) ], [have_pcreposix=no], -lpcre)
dnl ================================================================ dnl ================================================================
dnl libpcrs is temporarily disabled. dnl libpcrs is temporarily disabled.
@ -1319,15 +838,15 @@ AC_ARG_ENABLE(ie-images,
fi],) fi],)
AC_ARG_ENABLE(image-blocking, AC_ARG_ENABLE(image-blocking,
[ --disable-image-blocking Don't try to figure out whether a request is [ --disable-image-blocking Don't try to figure out whether a request is
for an image or HTML - assume HTML.], for an image or HTML - assume HTML.],
[if test $enableval = yes; then [if test $enableval = yes; then
AC_DEFINE(FEATURE_IMAGE_BLOCKING) AC_DEFINE(FEATURE_IMAGE_BLOCKING)
fi], fi],
AC_DEFINE(FEATURE_IMAGE_BLOCKING)) AC_DEFINE(FEATURE_IMAGE_BLOCKING))
AC_ARG_ENABLE(acl-files, AC_ARG_ENABLE(acl-support,
[ --disable-acl-files Prevents the use of ACL files to control access to [ --disable-acl-support Prevents the use of ACLs to control access to
Privoxy by IP address.], Privoxy by IP address.],
[if test $enableval = yes; then [if test $enableval = yes; then
AC_DEFINE(FEATURE_ACL) AC_DEFINE(FEATURE_ACL)
@ -1363,11 +882,23 @@ AC_ARG_ENABLE(graceful-termination,
fi]) fi])
AC_ARG_ENABLE(extended-host-patterns, AC_ARG_ENABLE(extended-host-patterns,
[ --enable-extended-host-patterns Allow extended regular expressions in host patterns.], [ --enable-extended-host-patterns Enable and require PCRE syntax in host patterns. This feature hasn't
been announced yet and it's not clear if it's a good idea. It's expected
to work, but undocumented. You should only enable it if you know what
PCRE is and are sure that you need it for your host patterns. You can
use tools/url-pattern-translator.pl to convert existing action files to
use PCRE host patterns. Please don't enable this option when creating
packages for others that may not be expecting it.],
[if test $enableval = yes; then [if test $enableval = yes; then
AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS) AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
fi]) fi])
AC_ARG_ENABLE(accept-filter,
[ --enable-accept-filter Try to use accf_http(9) if supported.],
[if test $enableval = yes; then
AC_DEFINE(FEATURE_ACCEPT_FILTER)
fi])
dnl pcre/pcrs is needed for CGI anyway, so dnl pcre/pcrs is needed for CGI anyway, so
dnl the choice is only between static and dnl the choice is only between static and
dnl dynamic: dnl dynamic:
@ -1397,12 +928,25 @@ if test $enableval2 = yes; then
AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"]) AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
if test $have_zlib = "yes"; then if test $have_zlib = "yes"; then
LIBS="$LIBS -lz" LIBS="$LIBS -lz"
AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.]) AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use zlib to decompress data before filtering.])
else else
AC_MSG_WARN([No zlib found. AC_MSG_WARN([No zlib found.
Privoxy will not be able to filter compressed content. Privoxy will not be able to filter compressed content.
This may become a fatal error in the future.]) This may become a fatal error in the future.])
fi fi
fi
AC_ARG_ENABLE(compression,
[ --enable-compression Allow Privoxy to compress buffered content if the client supports it. Requires zlib support.],
[enableval2=$enableval],
[enableval2=no])
if test $enableval2 = yes; then
if test $have_zlib = "yes"; then
echo Enabling compression support.
AC_DEFINE(FEATURE_COMPRESSION,1,[Define to 1 to use compression through the zlib library.])
else
AC_MSG_WARN([No zlib found. Privoxy will not be able to (re-)compressed buffered content.])
fi
fi fi
@ -1416,16 +960,18 @@ if test $have_pcre = "yes"; then
STATIC_PCRE_ONLY=# STATIC_PCRE_ONLY=#
LIBS="$LIBS -lpcre -lpcreposix" LIBS="$LIBS -lpcre -lpcreposix"
else else
AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see: AC_MSG_WARN([You are using the static PCRE code which is out of date and scheduled for removal, for details see:
https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de]) http://sourceforge.net/mailarchive/forum.php?thread_name=20080511195555.2dc6cfdc%40fabiankeil.de&forum_name=ijbswa-developers])
pcre_dyn=no pcre_dyn=no
AC_DEFINE(STATIC_PCRE) AC_DEFINE(STATIC_PCRE)
STATIC_PCRE_ONLY= STATIC_PCRE_ONLY=
fi fi
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
if test $have_pthread = "yes" -o $target_type = "mingw"; then if test $have_pthread = "yes" -o $target_type = "mingw"; then
echo Enabling keep-alive support for outgoing connections. echo Enabling connection-sharing support.
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE) AC_DEFINE(FEATURE_CONNECTION_SHARING)
fi fi
dnl ================================================= dnl =================================================
@ -1453,7 +999,7 @@ dnl =================================================================
dnl Final cleanup and output dnl Final cleanup and output
dnl ================================================================= dnl =================================================================
dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it separately
dnl in the Makefile dnl in the Makefile
CFLAGS=$old_CFLAGS_nospecial CFLAGS=$old_CFLAGS_nospecial
AC_SUBST(SPECIAL_CFLAGS) AC_SUBST(SPECIAL_CFLAGS)

View File

@ -1,6 +1,6 @@
#ifndef CYGWIN_H_INCLUDED #ifndef CYGWIN_H_INCLUDED
#define CYGWIN_H_INCLUDED #define CYGWIN_H_INCLUDED
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.6 2006/07/18 14:48:45 david__schmidt Exp $" #define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.8 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $ * File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $
@ -13,10 +13,10 @@
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -34,26 +34,6 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: cygwin.h,v $
* Revision 1.6 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.4 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.3 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.2 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/ *********************************************************************/
/* Conditionally include this whole file. */ /* Conditionally include this whole file. */

View File

@ -1,4 +1,4 @@
const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabiankeil Exp $"; const char deanimate_rcs[] = "$Id: deanimate.c,v 1.21 2011/09/04 11:10:56 fabiankeil Exp $";
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $ * File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $
@ -6,7 +6,7 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabian
* Purpose : Declares functions to manipulate binary images on the * Purpose : Declares functions to manipulate binary images on the
* fly. High-level functions include: * fly. High-level functions include:
* - Deanimation of GIF images * - Deanimation of GIF images
* *
* Functions declared include: gif_deanimate, buf_free, * Functions declared include: gif_deanimate, buf_free,
* buf_copy, buf_getbyte, gif_skip_data_block * buf_copy, buf_getbyte, gif_skip_data_block
* and gif_extract_image * and gif_extract_image
@ -19,7 +19,7 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabian
* and ideas from the Image::DeAnim Perl module by * and ideas from the Image::DeAnim Perl module by
* Ken MacFarlane, <ksm+cpan@universal.dca.net> * Ken MacFarlane, <ksm+cpan@universal.dca.net>
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -37,77 +37,8 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabian
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: deanimate.c,v $
* Revision 1.19 2008/05/21 15:29:35 fabiankeil
* Fix gcc43 warnings.
*
* Revision 1.18 2008/03/28 15:13:38 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.17 2007/08/05 13:42:22 fabiankeil
* #1763173 from Stefan Huehner: declare some more functions static.
*
* Revision 1.16 2007/07/14 08:01:58 fabiankeil
* s@failiure@failure@
*
* Revision 1.15 2007/01/03 14:39:19 fabiankeil
* Fix a gcc43 warning and mark the binbuffer
* as immutable for buf_getbyte().
*
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.12.2.1 2004/10/03 12:53:32 david__schmidt
* Add the ability to check jpeg images for invalid
* lengths of comment blocks. Defensive strategy
* against the exploit:
* Microsoft Security Bulletin MS04-028
* Buffer Overrun in JPEG Processing (GDI+) Could
* Allow Code Execution (833987)
* Enabled with +inspect-jpegs in actions files.
*
* Revision 1.12 2002/05/12 21:36:29 jongfoster
* Correcting function comments
*
* Revision 1.11 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.10 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.9 2002/03/13 00:27:04 jongfoster
* Killing warnings
*
* Revision 1.8 2002/03/09 19:42:47 jongfoster
* Fixing more warnings
*
* Revision 1.7 2002/03/08 17:46:04 jongfoster
* Fixing int/size_t warnings
*
* Revision 1.6 2002/03/07 03:46:17 oes
* Fixed compiler warnings
*
* Revision 1.5 2001/09/10 10:16:06 oes
* Silenced compiler warnings
*
* Revision 1.4 2001/07/18 12:28:49 oes
* - Added feature for extracting the first frame
* to gif_deanimate
* - Separated image buffer extension into buf_extend
* - Extended gif deanimation to GIF87a (untested!)
* - Cosmetics
*
* Revision 1.3 2001/07/15 13:57:50 jongfoster
* Adding #includes string.h and miscutil.h
*
* Revision 1.2 2001/07/13 13:46:20 oes
* Introduced GIF deanimation feature
*
*
**********************************************************************/ **********************************************************************/
#include "config.h" #include "config.h"
@ -122,7 +53,7 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabian
const char deanimate_h_rcs[] = DEANIMATE_H_VERSION; const char deanimate_h_rcs[] = DEANIMATE_H_VERSION;
/********************************************************************* /*********************************************************************
* *
* Function : buf_free * Function : buf_free
* *
* Description : Safely frees a struct binbuffer * Description : Safely frees a struct binbuffer
@ -148,7 +79,7 @@ void buf_free(struct binbuffer *buf)
/********************************************************************* /*********************************************************************
* *
* Function : buf_extend * Function : buf_extend
* *
* Description : Ensure that a given binbuffer can hold a given amount * Description : Ensure that a given binbuffer can hold a given amount
@ -159,7 +90,7 @@ void buf_free(struct binbuffer *buf)
* Parameters : * Parameters :
* 1 : buf = Pointer to the binbuffer * 1 : buf = Pointer to the binbuffer
* 2 : length = Desired minimum size * 2 : length = Desired minimum size
* *
* *
* Returns : 0 on success, 1 on failure. * Returns : 0 on success, 1 on failure.
* *
@ -190,7 +121,7 @@ static int buf_extend(struct binbuffer *buf, size_t length)
/********************************************************************* /*********************************************************************
* *
* Function : buf_copy * Function : buf_copy
* *
* Description : Safely copies a given amount of bytes from one * Description : Safely copies a given amount of bytes from one
@ -211,7 +142,7 @@ static int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
/* /*
* Sanity check: Can't copy more data than we have * Sanity check: Can't copy more data than we have
*/ */
if (src->offset + length > src->size) if (src->offset + length > src->size)
{ {
return 1; return 1;
} }
@ -219,7 +150,7 @@ static int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
/* /*
* Ensure that dst can hold the new data * Ensure that dst can hold the new data
*/ */
if (buf_extend(dst, length)) if (buf_extend(dst, length))
{ {
return 1; return 1;
} }
@ -238,7 +169,7 @@ static int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
/********************************************************************* /*********************************************************************
* *
* Function : buf_getbyte * Function : buf_getbyte
* *
* Description : Safely gets a byte from a given binbuffer at a * Description : Safely gets a byte from a given binbuffer at a
@ -266,7 +197,7 @@ static unsigned char buf_getbyte(const struct binbuffer *src, size_t offset)
/********************************************************************* /*********************************************************************
* *
* Function : gif_skip_data_block * Function : gif_skip_data_block
* *
* Description : Safely advances the offset of a given struct binbuffer * Description : Safely advances the offset of a given struct binbuffer
@ -284,7 +215,7 @@ static int gif_skip_data_block(struct binbuffer *buf)
{ {
unsigned char c; unsigned char c;
/* /*
* Data blocks are sequences of chunks, which are headed * Data blocks are sequences of chunks, which are headed
* by a one-byte length field, with the last chunk having * by a one-byte length field, with the last chunk having
* zero length. * zero length.
@ -305,12 +236,12 @@ static int gif_skip_data_block(struct binbuffer *buf)
/********************************************************************* /*********************************************************************
* *
* Function : gif_extract_image * Function : gif_extract_image
* *
* Description : Safely extracts an image data block from a given * Description : Safely extracts an image data block from a given
* struct binbuffer that contains a GIF image and whose * struct binbuffer that contains a GIF image and whose
* offset is positioned at the start of a data block * offset is positioned at the start of a data block
* into a given destination binbuffer. * into a given destination binbuffer.
* *
* Parameters : * Parameters :
@ -348,7 +279,7 @@ static int gif_extract_image(struct binbuffer *src, struct binbuffer *dst)
if (buf_copy(src, dst, (size_t)map_length)) if (buf_copy(src, dst, (size_t)map_length))
{ {
return 1; return 1;
} }
} }
if (buf_copy(src, dst, 1)) return 1; if (buf_copy(src, dst, 1)) return 1;
@ -373,7 +304,7 @@ static int gif_extract_image(struct binbuffer *src, struct binbuffer *dst)
} }
/********************************************************************* /*********************************************************************
* *
* Function : gif_deanimate * Function : gif_deanimate
* *
* Description : Deanimate a given GIF image, i.e. given a GIF with * Description : Deanimate a given GIF image, i.e. given a GIF with
@ -405,9 +336,9 @@ int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_im
c = buf_getbyte(src, 10); c = buf_getbyte(src, 10);
/* /*
* Check & copy GIF header * Check & copy GIF header
*/ */
if (strncmp(src->buffer, "GIF89a", 6) && strncmp(src->buffer, "GIF87a", 6)) if (strncmp(src->buffer, "GIF89a", 6) && strncmp(src->buffer, "GIF87a", 6))
{ {
return 1; return 1;
} }
@ -459,7 +390,7 @@ int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_im
case 0x3b: case 0x3b:
goto write; goto write;
/* /*
* Image block: Extract to current image buffer. * Image block: Extract to current image buffer.
*/ */
case 0x2c: case 0x2c:
@ -519,13 +450,13 @@ int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_im
*/ */
default: default:
goto failed; goto failed;
} }
} /* -END- while src */ } /* -END- while src */
/* /*
* Either we got here by goto, or because the GIF is * Either we got here by goto, or because the GIF is
* bogus and EOF was reached before an end-of-gif marker * bogus and EOF was reached before an end-of-gif marker
* was found. * was found.
*/ */

View File

@ -1,6 +1,6 @@
#ifndef DEANIMATE_H_INCLUDED #ifndef DEANIMATE_H_INCLUDED
#define DEANIMATE_H_INCLUDED #define DEANIMATE_H_INCLUDED
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.12 2008/03/28 15:13:39 fabiankeil Exp $" #define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.14 2011/09/04 11:10:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $ * File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $
@ -8,9 +8,9 @@
* Purpose : Declares functions to manipulate binary images on the * Purpose : Declares functions to manipulate binary images on the
* fly. High-level functions include: * fly. High-level functions include:
* - Deanimation of GIF images * - Deanimation of GIF images
* *
* Functions declared include: gif_deanimate and buf_free. * Functions declared include: gif_deanimate and buf_free.
* *
* *
* Copyright : Written by and Copyright (C) 2001 - 2004 by the the * Copyright : Written by and Copyright (C) 2001 - 2004 by the the
* SourceForge Privoxy team. http://www.privoxy.org/ * SourceForge Privoxy team. http://www.privoxy.org/
@ -19,10 +19,10 @@
* Ken MacFarlane, <ksm+cpan@universal.dca.net> * Ken MacFarlane, <ksm+cpan@universal.dca.net>
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -40,51 +40,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: deanimate.h,v $
* Revision 1.12 2008/03/28 15:13:39 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.11 2007/01/12 15:41:00 fabiankeil
* Remove some white space at EOL.
*
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.8.2.1 2004/10/03 12:53:32 david__schmidt
* Add the ability to check jpeg images for invalid
* lengths of comment blocks. Defensive strategy
* against the exploit:
* Microsoft Security Bulletin MS04-028
* Buffer Overrun in JPEG Processing (GDI+) Could
* Allow Code Execution (833987)
* Enabled with +inspect-jpegs in actions files.
*
* Revision 1.8 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.7 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.6 2002/03/08 17:46:04 jongfoster
* Fixing int/size_t warnings
*
* Revision 1.5 2002/03/07 03:46:17 oes
* Fixed compiler warnings
*
* Revision 1.4 2001/07/29 18:50:04 jongfoster
* Fixing "extern C" block, and renaming #define _DEANIMATE_H
*
* Revision 1.3 2001/07/18 12:29:05 oes
* Updated prototype for gif_deanimate
*
* Revision 1.2 2001/07/13 13:46:20 oes
* Introduced GIF deanimation feature
*
*
*********************************************************************/ *********************************************************************/
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -107,7 +64,7 @@ struct binbuffer
extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image); extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image);
extern void buf_free(struct binbuffer *buf); extern void buf_free(struct binbuffer *buf);
/* /*
* Revision control strings from this header and associated .c file * Revision control strings from this header and associated .c file
*/ */
extern const char deanimate_rcs[]; extern const char deanimate_rcs[];

View File

@ -11,7 +11,7 @@
# #
# File : $Source: /cvsroot/ijbswa/current/default.action.master,v $ # File : $Source: /cvsroot/ijbswa/current/default.action.master,v $
# #
# $Id: default.action.master,v 1.170 2009/03/04 15:05:00 ler762 Exp $ # $Id: default.action.master,v 1.242 2011/10/16 13:13:50 fabiankeil Exp $
# #
# Requires : This version requires Privoxy v3.0.11 or later due to # Requires : This version requires Privoxy v3.0.11 or later due to
# syntax changes. # syntax changes.
@ -23,7 +23,7 @@
# and enhancements are better placed in user.action, # and enhancements are better placed in user.action,
# the match-all section has been moved to match-all.action. # the match-all section has been moved to match-all.action.
# #
# Copyright : Written by and Copyright (C) 2001-2009 the # Copyright : Written by and Copyright (C) 2001-2010 the
# Privoxy team. http://www.privoxy.org/ # Privoxy team. http://www.privoxy.org/
# #
# Note: Updated versions of this file will be made available from time # Note: Updated versions of this file will be made available from time
@ -545,7 +545,7 @@ for-privoxy-version=3.0.11
# These aliases define combinations of actions # These aliases define combinations of actions
# that are useful for certain types of sites: # that are useful for certain types of sites:
# #
fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer
shop = -crunch-all-cookies allow-popups shop = -crunch-all-cookies allow-popups
# Your favourite blend of filters: # Your favourite blend of filters:
@ -563,6 +563,8 @@ allow-ads = -block -filter{banners-by-size} -filter{banners-by-link}
# #
{ \ { \
+change-x-forwarded-for{block} \ +change-x-forwarded-for{block} \
+client-header-tagger{css-requests} \
+client-header-tagger{image-requests} \
+hide-from-header{block} \ +hide-from-header{block} \
+set-image-blocker{pattern} \ +set-image-blocker{pattern} \
} }
@ -574,6 +576,8 @@ standard.Cautious
# #
{ \ { \
+change-x-forwarded-for{block} \ +change-x-forwarded-for{block} \
+client-header-tagger{css-requests} \
+client-header-tagger{image-requests} \
+deanimate-gifs{last} \ +deanimate-gifs{last} \
+filter{refresh-tags} \ +filter{refresh-tags} \
+filter{img-reorder} \ +filter{img-reorder} \
@ -640,6 +644,16 @@ standard.Advanced
{-handle-as-image} {-handle-as-image}
/.*\.(js|php|css|.?html?) /.*\.(js|php|css|.?html?)
#############################################################################
# These belong to multimedia files of which Firefox occasionally only
# requests parts. #2816708
#############################################################################
{-filter -deanimate-gifs}
# Sticky Actions = -filter -deanimate-gifs
# URL = http://www.example.org/foo/bar.ogg
# URL = http://www.example.net/bar.ogv
/.*\.og[gv]$
############################################################################# #############################################################################
# Generic block patterns by host: # Generic block patterns by host:
############################################################################# #############################################################################
@ -667,6 +681,7 @@ metrics.
# Generic unblockers by host: # Generic unblockers by host:
############################################################################# #############################################################################
{-block} {-block}
# Sticky Actions = -block
adsl. adsl.
ad[udmw]*. ad[udmw]*.
adbl*. adbl*.
@ -683,6 +698,11 @@ adventure*.
.*[epu]ad*. .*[epu]ad*.
county*. county*.
countr*. countr*.
#MASTER# REMARKS: We still like tor
# URL = http://metrics.torproject.org/consensus-graphs.html
metrics.torproject.org/
# URL = http://linuxcounter.net/
linuxcounter.net/
############################################################################# #############################################################################
# Generic block patterns by path: # Generic block patterns by path:
@ -708,6 +728,8 @@ countr*.
/.*(lo|thre|he|d|gr|l|ro|re|squ|class(ified)?)ads /.*(lo|thre|he|d|gr|l|ro|re|squ|class(ified)?)ads
/.*account /.*account
support./(.*/)?track support./(.*/)?track
# URL = http://repo.or.cz/r/vlc.git/objects/ad/1d316efd83157217fdf9b5d417dddca54bbf41
/.*\.git/objects/
############################################################################# #############################################################################
# Exceptions for academia and non-profits # Exceptions for academia and non-profits
@ -737,6 +759,152 @@ support./(.*/)?track
#MASTER# REMARKS: Added "text" 20070730 as per http://www.pcworld.com/textad?Keywords=System Resources Tune-Up.&type=pcworld_downloads_search&count=3&ord=906010128&serveUrl=http%3A%2F%2Fwww.pcworld.com%2Fdownloads%2Ffile%2Ffid%2C7661-order%2C1-page%2C1-c%2Csystemresourcestuneup%2Fdescription.html Adam Piggott #MASTER# REMARKS: Added "text" 20070730 as per http://www.pcworld.com/textad?Keywords=System Resources Tune-Up.&type=pcworld_downloads_search&count=3&ord=906010128&serveUrl=http%3A%2F%2Fwww.pcworld.com%2Fdownloads%2Ffile%2Ffid%2C7661-order%2C1-page%2C1-c%2Csystemresourcestuneup%2Fdescription.html Adam Piggott
/.*(top|bottom|left|right|text)_?ad /.*(top|bottom|left|right|text)_?ad
#############################################################################
# Catch-all exceptions
#############################################################################
{-block}
# Sticky Actions = -block
#MASTER# REMARKS: Actionsfile feedback item #2933856 2010-01-17 16:59
#MASTER# REMARKS: Allow URLs containing DektopAdmin (matches .*top_?ad)
# URL = http://support.apple.com/downloads/DL985/en_US/RemoteDesktopAdmin332.dmg
/.*desktopadmin
#----------------------------------------------------------------------------
# Misc Web-bugs, JS and just plain Junk. Images here aren't normal images.
#----------------------------------------------------------------------------
{+block{Might be a web-bug.} +handle-as-empty-document -handle-as-image}
#MASTER# REMARKS: signature for user tracking nytimes, cnn.com,latimes.com and many others. 10/06/06
/b/ss/.+
#MASTER# BLOCK-REFERRER: http://www.thesun.co.uk/article/0,,11071-10784,00.html
#MASTER# REMARKS: widespread hitbox signature 10/06/06
/HG\?hc=
#MASTER# BLOCK-REFERRER: http://macaddict.com 10/06/06
.visistat.com
#MASTER# REMARKS: See <http://www.google.com/analytics/> for user tracking.
#MASTER# REMARKS: There is a ssl.google-analytics as well.
.google-analytics./
#MASTER# REMARKS: Below Moved here from -handle-as-image 10/16/06 ##########
#MASTER# BLOCK-REFERRER: http://forums2.gardenweb.com/forums/orchids/ 09/25/06
#MASTER# REMARKS: Mostly JS and plain text stuff
.overture.
#MASTER# PROBLEM-URL: http://www.linuxtoday.com/
#MASTER# REMARKS: /adi has HTML snipplets for use in IFRAMEs 10/15/06
.doubleclick.net/adi
.doubleclick.net/(.*/)?adj/
#MASTER# PROBLEM-URL: http://maps.yahoo.com/
#MASTER# REMARKS: /AVE/iview has HTML snipplets for use in IFRAMEs 10/15/06
view.atdmt.com/(.*/)?iview/
#MASTER# REMARKS: Above Moved here from -handle-as-image 10/16/06 ##########
#MASTER# REMARKS: Generic, re: tracking.foxnews.com/HG? 10/01/06
tracking.
#MASTER# BLOCK-REFERRER: http://netcraft.com and many others 10/22/06
/(.*/)?adjs\.php\?
#MASTER# BLOCK-REFERRER: http://groups.yahoo.com/group/epdf/ 10/08/06
.bc.yahoo.com/b\?P=
#MASTER# BLOCK-REFERRER: http://www.motherboard.cz 10/30/06
x*.alexa.com
#MASTER# BLOCK-REFERRER: http://mplayernetwork.com 11/07/06
#MASTER# BLOCK-REFERRER: http://eetimes.com 09/26/06
/event.ng/
#MASTER# BLOCK-REFERRER: http://www.homedepot.com/ 11/08/06
#MASTER# BLOCK-REFERRER: http://www.williams-sonoma.com/ 11/08/06
/cm\?[tc]
#MASTER# BLOCK-REFERRER: http://www.snapfiles.com/feedback/ 12/13/06 SF tracker
.snapfiles.net/rotation/.*\.asp
#MASTER# BLOCK-REFERRER: not provided. SF tracker #1616034 12/16/06
#MASTER# COMMENT: JS pop-ups
spa.snap.com/
#MASTER# BLOCK-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html 12/18/06
#MASTER# COMMENT: user tracking, and run-away assorted 'junk'
#MASTER# BLOCK-REFERRER: http://formwood.com 2007-11-12
.insitemetrics.com/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://blogblog.com 2007-11-12
.extreme-dm.com/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://www.schillmania.com 2007-11-12
stats.reinvigorate.net/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://wordpress.com 2007-11-12
.getclicky.com/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://infoworld.com 2007-11-12
.quantserve.com
# Blocked URL = http://media.adrevolver.com/adrevolver/trace?sip=123&cpy=123
media.adrevolver.com/
#MASTER# REMARKS: Actionsfile feedback item #2975895 2010-03-24
# Blocked URL = http://static.chartbeat.com/js/chartbeat.js
.chartbeat.com/(.*/)?chartbeat\.js$
# Blocked URL = http://js.adlink.net/js?lang=de&s=duesseldorf-international.de&z=home&d=1274103403564
#MASTER# BLOCK-REFERRER: http://www.duesseldorf-international.de/
js.adlink.net/
# Blocked URL = nl.sitestat.com/rdw/rdw/s?www.nl.voertuigeigenaar.voertuigeigenaar&ns__t=1274099350343
#MASTER# BLOCK-REFERRER: http://www.rdw.nl/nl/voertuigeigenaar/
.sitestat.com/
#MASTER# BLOCK-REFERRER: http://www.chip.de/artikel/c_artikelunterseite_10423683.html
# Blocked URL = http://pagead.googlesyndication.example.com/foo/bar/baz.js
pagead*.googlesyndication./.*\.js
#MASTER# BLOCK-REFERRER: http://www.pcmag.com/ 11/22/06 per SF Tracker # 1601148
/js/slider\.js
#MASTER# BLOCK-REFERRER: http://floodle.net 2007-01-21 SF tracker
scripts.chitika.net/.*\.js
#MASTER# BLOCK-REFERRER: via Yahoo groups
#MASTER# REMARKS: Actionsfile tracker 1645513 2007-01-26
.adinterax.com/.*\.js
#MASTER# BLOCK-REFERRER: http://dictionary.reference.com/search?q=privacy&db=*
#MASTER# REMARKS: Actionsfile tracker 1650798 2007-02-02
# Blocked URL = http://partner.googleadservices.com/gampad/google_service.js
# Blocked URL = http://partner.googleadservices.com/gampad/google_ads.js
# Blocked URL = http://partner.googleadservices.com/gampad/slotdata.js?callback=_GA_googleAdData.setAdSlotAttributes&client=ca-gam-lexico
.googleadservices.com/gampad/.*\.js
# Blocked URL = http://richmedia.yimg.com/js/123/personnals_banners/PER_happy_sara1_4_425x600/ad.js?q=123
/.*/ad\.js\?
# Blocked URL = http://i.cmpnet.com/shared/omniture/s_code_remote.js
#MASTER# BLOCK-REFERRER: http://www.informationweek.de/
/.*omniture.*\.js
# Blocked URL = http://gadk.hit.gemius.pl/*/_1274097577014/rexdot.gif?l=30&id=..DlR.vCLZGB56RmfkYNSWZVLSqB3ueYOP.Oec5WWiv.h7&fr=1&fv=WIN%2010%2C0%2C45%2C2&tz=-120&href=http%3A//www.baadgalleri.dk/&ref=&screen=1440x900&col=32
#MASTER# BLOCK-REFERRER: http://www.baadgalleri.dk/
.gemius.pl/
{+block{Might be a web-bug.} -handle-as-empty-document +handle-as-image}
#MASTER# BLOCK-REFERRER: http://versiontracker.com and many others. 10/20/06
/(.*/)?__utm.gif\?
#MASTER# BLOCK-REFERRER: http://washingpost.com and others 10/25/06
/.*\.gif\?D=DM
#MASTER# BLOCK-REFERRER: http://www.washingtonpost.com/
#stats.surfaid.ihost.com/(crc/)?images/(bounce/)?uc.GIF
#MASTER# BLOCK-REFERRER: http://www.ibm.com 10/09/06
#MASTER# REMARKS: Similar hostname and paths appear in multiple locations.
# Blocked URL = http://stats.surfaid.ihost.com/crc/images/bounce/uc.GIF
# Blocked URL = http://stats.surfaid.ihost.com/rc/images/bounce/uc.GIF
stats./c?rc/.*/uc.gif
#MASTER# BLOCK-REFERRER: http://priceline.com 10/20/06
#MASTER# REMARKS: User tracking, webbug stuff
/(.*/)?dcs.gif\?&?dcs
#MASTER# BLOCK-REFERRER: http://www.msnbc.com 10/07/06
#MASTER# REMARKS: And MANY others. Webbug stuff.
/(.*/)?c(lear)?\.gif\?.
#MASTER# BLOCK-REFERRER: http://www.investorguide.com 10/08/06
#MASTER# BLOCK-REFERRER: http://foodnetwork.com, http://gardenweb.com 10/20/06
#MASTER# REMARK: webbug type gif used in MANY places.
#MASTER# REMARK: Too many false positives
#/(.*/)?(clear|(trans_?1x|blank)?1).gif
#MASTER# REMARK: Let's try this way.
/(.*/)?(clear|blank|(trans_?|1x)?1).gif\?.
#MASTER# BLOCK-REFERRER: http://actorstheatre.org 11/02/06
stats./.*\.gif\?
# Blocked URL = http://ad.yieldmanager.com/pixel?id=123456&t=2
.yieldmanager.com/pixel\?
# Blocked URL = http://a.analytics.yahoo.com/p.pl?a=1000226660965&js=no
# Blocked URL = http://s.analytics.yahoo.com/fpc.pl?a=1000461640983&v=4.43&enc=utf-8&f=http%3A//www.zoover.nl/nederland/limburg/maasbracht/weer%23tabs&b=Het%20Weer%20in%20Maasbracht.%20Bekijk%20Weersverwachting%20van%20Maasbracht%20%7C%20Zoover%23tabs&flv=WIN%2010%2C0%2C45%2C2&d=Mon%2C%2017%20May%202010%2014%3A09%3A26%20UTC&n=-2&g=nl&h=Y&j=1440x900&k=32&l=true&ittidx=0&fpc=uP04C7j4%7ClaDQjglKaa%7Cfses1000461640983%3D%7CkbSSgv6Jaa%7CuP04C7j4%7Cfvis1000461640983%3DZj1odHRwJTNBLy93d3cuem9vdmVyLm5sLyZiPVpvb3ZlciUyMCU3QyUyMFZha2FudGllYmVvb3JkZWxpbmdlbiUyMHZvb3IlMjBlbiUyMGRvb3IlMjByZWl6aWdlcnM%3D%7C8sHTYo10oM%7C8sHTYo10oM%7C8sHTYo10oM%7CT%7C8sHTYo10oM%7C8sHTYo10oM
.analytics.yahoo.com
#MASTER# BLOCK-REFERRER: http://www.aktivist.pl/
# Blocked URL = http://go.idmnet.bbelements.com/please/showit/46/1/1/1/?typkodu=img&keywords=
go.idmnet.bbelements.com/please/showit/
############################################################################# #############################################################################
# Site-specific block patterns; # Site-specific block patterns;
############################################################################# #############################################################################
@ -748,6 +916,10 @@ support./(.*/)?track
landing.trafficz.com/ landing.trafficz.com/
# Blocked URL = http://www.searchnut.com/?domain=www.inetcat.org # Blocked URL = http://www.searchnut.com/?domain=www.inetcat.org
.searchnut.com/\?domain .searchnut.com/\?domain
#MASTER# REMARKS: Verizon should know better
#MASTER# BLOCK-REFERRER: http://www.qwetyhjkl.com
# Blocked URL = http://wwwz.websearch.verizon.net/search?qo=www.qwetyhjkl.com
wwwz.websearch.verizon.net/search\?qo=
{+block{Site-specific block pattern matches.}} {+block{Site-specific block pattern matches.}}
#MASTER# BLOCK-REFERRER: http://www.brooksbrothers.com/ 10/18/06 #MASTER# BLOCK-REFERRER: http://www.brooksbrothers.com/ 10/18/06
@ -887,128 +1059,52 @@ static.lycos-europe.net
#MASTER# BLOCK-REFERRER: http://hitta.se #MASTER# BLOCK-REFERRER: http://hitta.se
# Blocked URL = http://82.99.18.195/media.1/112/9460/146016/150x175_Hitta_FV_Feb08.gif # Blocked URL = http://82.99.18.195/media.1/112/9460/146016/150x175_Hitta_FV_Feb08.gif
82.99.18.195 82.99.18.195
#MASTER# REMARKS: Actionsfile feedback item #1888197 2008-02-06 #MASTER# REMARKS: Actionsfile feedback item #1888197 and #2975927.
#MASTER# REMARKS: Have a "go there anyway" link for clk.atdmt.com #MASTER# REMARKS: Have a "go there anyway" link for clk.atdmt.com and view.atdmt.com.
#MASTER# BLOCK-REFERRER: http://www.networkworld.com/resourcelibrary/?tid=4&type=special%20report #MASTER# BLOCK-REFERRER: http://www.networkworld.com/resourcelibrary/?tid=4&type=special%20report
# Blocked URL = http://clk.atdmt.com/ # Blocked URL = http://clk.atdmt.com/
# Blocked URL = http://view.atdmt.com/action/mrtiwy_FY10Office2010BetaHomeandBiz1_1
.atdmt.com/ .atdmt.com/
#MASTER# REMARKS: Actionsfile feedback item #2723873 2009-04-01
#MASTER# BLOCK-REFERRER: http://www.news.software.coop/paralysed-perl-package-problem/602/
# Blocked URL = http://www.awin1.com/cread.php?s=123049&v=1983&q=80970&r=79561
.awin1.com
#MASTER# BLOCK-REFERRER: http://crooksandliars.com/
# Blocked URL = http://rotator.adjuggler.com/servlet/ajrotator/616245/0/vh?z=csm&dim=616028
.adjuggler.com/servlet/ajrotator/
#MASTER# Remark: nothing but "sponsored listings"
# Blocked URL = http://bcc.co.uk/
bcc.co.uk/
# Blocked URL = http://fusion.adtoma.com:80/125AFFE801/1DC59C7801.swf
# Blocked URL = http://fusion.adtoma.com/1254D5CC01/1E43C76801.jpg
fusion.adtoma.com/
#MASTER# Remark: Actionsfile feedback item #2975895 2010-03-24
# Blocked URL = http://ping.chartbeat.net/ping?h=uservoice.com&p=%2Fsuggestions%2Fping-chartbeat-net-sucks&u=3
.chartbeat.net/(.*/)?ping\?
# Blocked URL = http://s.atemda.com/Admeta.js
# Blocked URL = http://atemda.com/ClickThrough.ashx?pId=9616&mId=14484&tId=634102151426089505&opS=1&admetac=mR3sJ3%2b9yleq%2bHowITh0hw%3d%3d
#MASTER# BLOCK-REFERRER: http://www.startpagina.nl
.atemda.com/
#MASTER# Remark: 2o7.net, omtrdc.net and www91.intel.com are domains used by Omniture
# Blocked URL = http://ciscosystemsinc.tt.omtrdc.net/m2/ciscosystemsinc/mbox/standard?mboxHost=www.cisco.com&mboxSession=12
.omtrdc.net/
# Blocked URL = http://www91.intel.com/b/ss/intelcorp,intelcorpdc/...ONDataProvider.aspx%3FDownloadType%3DDrivers&ot=A&AQE=1
www91.intel.com/
#----------------------------------------------------------------------------
# Misc Web-bugs, JS and just plain Junk. Images here aren't normal images.
#----------------------------------------------------------------------------
{+block{Might be a web-bug.} +handle-as-empty-document -handle-as-image}
#MASTER# REMARKS: signature for user tracking nytimes, cnn.com,latimes.com and many others. 10/06/06
/b/ss/.+
#MASTER# BLOCK-REFERRER: http://www.thesun.co.uk/article/0,,11071-10784,00.html
#MASTER# REMARKS: widespread hitbox signature 10/06/06
/HG\?hc=
#MASTER# BLOCK-REFERRER: http://macaddict.com 10/06/06
.visistat.com
#MASTER# REMARKS: See <http://www.google.com/analytics/> for user tracking.
#MASTER# REMARKS: There is a ssl.google-analytics as well.
.google-analytics./
#MASTER# BLOCK-REFERRER: http://versiontracker.com and many others. 10/20/06
/(.*/)?__utm.gif\?
#MASTER# REMARKS: Below Moved here from -handle-as-image 10/16/06 ##########
#MASTER# BLOCK-REFERRER: http://forums2.gardenweb.com/forums/orchids/ 09/25/06
#MASTER# REMARKS: Mostly JS and plain text stuff
.overture.
#MASTER# PROBLEM-URL: http://www.linuxtoday.com/
#MASTER# REMARKS: /adi has HTML snipplets for use in IFRAMEs 10/15/06
.doubleclick.net/adi
.doubleclick.net/(.*/)?adj/
#MASTER# PROBLEM-URL: http://maps.yahoo.com/
#MASTER# REMARKS: /AVE/iview has HTML snipplets for use in IFRAMEs 10/15/06
view.atdmt.com/(.*/)?iview/
#MASTER# REMARKS: Above Moved here from -handle-as-image 10/16/06 ##########
#MASTER# REMARKS: Generic, re: tracking.foxnews.com/HG? 10/01/06
tracking.
#MASTER# BLOCK-REFERRER: http://netcraft.com and many others 10/22/06
/(.*/)?adjs\.php\?
#MASTER# BLOCK-REFERRER: http://washingpost.com and others 10/25/06
/.*\.gif\?D=DM
#MASTER# BLOCK-REFERRER: http://www.washingtonpost.com/
#stats.surfaid.ihost.com/(crc/)?images/(bounce/)?uc.GIF
#MASTER# BLOCK-REFERRER: http://www.ibm.com 10/09/06
#MASTER# REMARKS: Similar hostname and paths appear in multiple locations.
# Blocked URL = http://stats.surfaid.ihost.com/crc/images/bounce/uc.GIF
# Blocked URL = http://stats.surfaid.ihost.com/rc/images/bounce/uc.GIF
stats./c?rc/.*/uc.gif
#MASTER# BLOCK-REFERRER: http://priceline.com 10/20/06
#MASTER# REMARKS: User tracking, webbug stuff
/(.*/)?dcs.gif\?&?dcs
#MASTER# BLOCK-REFERRER: http://www.msnbc.com 10/07/06
#MASTER# REMARKS: And MANY others. Webbug stuff.
/(.*/)?c(lear)?\.gif\?.
#MASTER# BLOCK-REFERRER: http://www.investorguide.com 10/08/06
#MASTER# BLOCK-REFERRER: http://foodnetwork.com, http://gardenweb.com 10/20/06
#MASTER# REMARK: webbug type gif used in MANY places.
#MASTER# REMARK: Too many false positives
#/(.*/)?(clear|(trans_?1x|blank)?1).gif
#MASTER# REMARK: Let's try this way.
/(.*/)?(clear|blank|(trans_?|1x)?1).gif\?.
#MASTER# BLOCK-REFERRER: http://groups.yahoo.com/group/epdf/ 10/08/06
.bc.yahoo.com/b\?P=
#MASTER# BLOCK-REFERRER: http://www.motherboard.cz 10/30/06
x*.alexa.com
#MASTER# BLOCK-REFERRER: http://actorstheatre.org 11/02/06
stats./.*\.gif\?
#MASTER# BLOCK-REFERRER: http://mplayernetwork.com 11/07/06
#MASTER# BLOCK-REFERRER: http://eetimes.com 09/26/06
/event.ng/
#MASTER# BLOCK-REFERRER: http://www.homedepot.com/ 11/08/06
#MASTER# BLOCK-REFERRER: http://www.williams-sonoma.com/ 11/08/06
/cm\?[tc]
#MASTER# BLOCK-REFERRER: http://www.snapfiles.com/feedback/ 12/13/06 SF tracker
.snapfiles.net/rotation/.*\.asp
#MASTER# BLOCK-REFERRER: not provided. SF tracker #1616034 12/16/06
#MASTER# COMMENT: JS pop-ups
spa.snap.com/
#MASTER# BLOCK-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html 12/18/06
#MASTER# COMMENT: user tracking, and run-away assorted 'junk'
#MASTER# BLOCK-REFERRER: http://formwood.com 2007-11-12
.insitemetrics.com/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://blogblog.com 2007-11-12
.extreme-dm.com/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://www.schillmania.com 2007-11-12
stats.reinvigorate.net/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://wordpress.com 2007-11-12
.getclicky.com/
#MASTER# COMMENT: user tracking, and assorted 'junk'
#MASTER# BLOCK-REFERRER: http://infoworld.com 2007-11-12
.quantserve.com
# Blocked URL = http://media.adrevolver.com/adrevolver/trace?sip=123&cpy=123
media.adrevolver.com/
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# JavaScripts and Texts for ad and popup generation # JavaScripts and Texts for ad and popup generation
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
#MASTER# BLOCK-REFERRER: http://www.chip.de/artikel/c_artikelunterseite_10423683.html
# Blocked URL = http://pagead.googlesyndication.example.com/foo/bar/baz.js
pagead*.googlesyndication./.*\.js
#MASTER# REMARKS: broadening scope from a.tfag.de/js.ng/ 10/23/06 #MASTER# REMARKS: broadening scope from a.tfag.de/js.ng/ 10/23/06
# Blocked URL = http://a.tfag.de/js.ng/ # Blocked URL = http://a.tfag.de/js.ng/
/js\.ng/ /js\.ng/
#MASTER# BLOCK-REFERRER: http://www.britannica.com/ 10/23/06 #MASTER# BLOCK-REFERRER: http://www.britannica.com/ 10/23/06
/popunder /popunder
#MASTER# BLOCK-REFERRER: http://www.pcmag.com/ 11/22/06 per SF Tracker # 1601148
/js/slider\.js
#MASTER# BLOCK-REFERRER: http://www.earthcore.com/ feedback item #1605385 12/14/06 #MASTER# BLOCK-REFERRER: http://www.earthcore.com/ feedback item #1605385 12/14/06
/t\.php\?cat=.*&kw=.*&sc= /t\.php\?cat=.*&kw=.*&sc=
#MASTER# BLOCK-REFERRER: http://floodle.net 2007-01-21 SF tracker
scripts.chitika.net/.*\.js
#MASTER# REMARKS: Actionsfile tracker #1674363 2007-03-05, text ads #MASTER# REMARKS: Actionsfile tracker #1674363 2007-03-05, text ads
#MASTER# BLOCK-REFERRER: http://www.securityfocus.com/archive/1/461489/30/0/threaded #MASTER# BLOCK-REFERRER: http://www.securityfocus.com/archive/1/461489/30/0/threaded
jlinks.industrybrains.com/ jlinks.industrybrains.com/
#MASTER# BLOCK-REFERRER: via Yahoo groups
#MASTER# REMARKS: Actionsfile tracker 1645513 2007-01-26
.adinterax.com/.*\.js
#MASTER# BLOCK-REFERRER: http://dictionary.reference.com/search?q=privacy&db=*
#MASTER# REMARKS: Actionsfile tracker 1650798 2007-02-02
.googleadservices.com/gampad/.*\.js
#MASTER# BLOCK-REFERRER: http://www.linuxworld.com/news/2007/061307-brian-aker-interview.html #MASTER# BLOCK-REFERRER: http://www.linuxworld.com/news/2007/061307-brian-aker-interview.html
#MASTER# REMARKS: Actionsfile feedback item #1736794 2007-06-13 #MASTER# REMARKS: Actionsfile feedback item #1736794 2007-06-13
js.adsonar. js.adsonar.
@ -1018,10 +1114,7 @@ js.adsonar.
bwp. bwp.
# Blocked URL = http://us.mc123.mail.yahoo.com/mc/stampNonJs # Blocked URL = http://us.mc123.mail.yahoo.com/mc/stampNonJs
.yahoo.com/mc/stampNonJs .yahoo.com/mc/stampNonJs
# Blocked URL = http://richmedia.yimg.com/js/123/personnals_banners/PER_happy_sara1_4_425x600/ad.js?q=123
/.*/ad\.js\?
# Blocked URL = http://ad.yieldmanager.com/st?ad_type=iframe&ad_size=728x90&site=123&section_code=123
/.*\?ad_(type|size)=
############################################################################# #############################################################################
# Generic block-as-image patterns: # Generic block-as-image patterns:
@ -1052,6 +1145,8 @@ bwp.
# Blocked URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif # Blocked URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
# URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif # URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
/(.*/)?ads/images/ /(.*/)?ads/images/
# Blocked URL = http://ad.yieldmanager.com/st?ad_type=iframe&ad_size=728x90&site=123&section_code=123
/.*\?ad_(type|size)=
############################################################################# #############################################################################
# Site-specific block-as-image patterns: # Site-specific block-as-image patterns:
@ -1080,15 +1175,20 @@ bwp.
#.yimg.com/a/.*/flash/ #.yimg.com/a/.*/flash/
#MASTER# REMARKS: The above replaced with below. Actions file tracker #1645616 2007-01-27 #MASTER# REMARKS: The above replaced with below. Actions file tracker #1645616 2007-01-27
.yimg.com/.*\.yimg\.com/a/ .yimg.com/.*\.yimg\.com/a/
#MASTER# REMARKS: Yahoo doesn't always have ".yimg.com/a/" in the URL for ads now 2010-02-28
#MASTER# BLOCK-REFERRER: various yahoo pages
# Blocked URL = http://l.yimg.com/a/a/1-/flash/promotions/l3/intl/100214/300x250mfeyap.jpg
# Blocked URL = http://l.yimg.com/a/a/1-/flash/promotions/l3/intl/100219/300x250mfeya.gif
.yimg.com/.*/flash/promotions/.*\.(gif|jpg)$
bs*.gsanet.com bs*.gsanet.com
bs*.einets.com bs*.einets.com
.qkimg.net .qkimg.net
#MASTER# BLOCK-REFERRER: http://salon.com/ 10/19/06 #MASTER# BLOCK-REFERRER: http://salon.com/ 10/19/06
#MASTER# BLOCK-REFERRER: http://maps.yahoo.com/ #MASTER# BLOCK-REFERRER: http://maps.yahoo.com/
#MASTER# REMARKS: Banner farms; just exclude their corp. info #MASTER# REMARKS: Banner farms; just exclude their corp. info
#MASTER# REMARKS: and have a "go there anyway" link for clk.atdmt.com #MASTER# REMARKS: and have a "go there anyway" link for clk.atdmt.com and view.atdmt.com
#MASTER# REMARKS: (Actionsfile feedback item #1888197) #MASTER# REMARKS: (Actionsfile feedback item #1888197 and #2975927)
[abd-vx-z]*.atdmt.com/ [abd-ux-z]*.atdmt.com/
#MASTER# BLOCK-REFERRER: http://www.exactaudiocopy.de/ 09/11/06 #MASTER# BLOCK-REFERRER: http://www.exactaudiocopy.de/ 09/11/06
#MASTER# BLOCK-REFERRER: http://stanford.facebook.com/home.php #MASTER# BLOCK-REFERRER: http://stanford.facebook.com/home.php
# URL = http://www.fastclick.net/ # URL = http://www.fastclick.net/
@ -1115,7 +1215,7 @@ a.tribalfusion.com/
#MASTER# REMARKS: Pointdexter #MASTER# REMARKS: Pointdexter
.ru4.com/ .ru4.com/
#MASTER# BLOCK-REFERRER: http://www.boursorama.com/infos/actualites/detail_actu_marches.phtml?news=1510287 #MASTER# BLOCK-REFERRER: http://www.boursorama.com/infos/actualites/detail_actu_marches.phtml?news=1510287
www.smartadserver.com/ .smartadserver.com/
#MASTER# BLOCK-REFERRER: http://www.chez.tiscali.fr/ 10/07/06 #MASTER# BLOCK-REFERRER: http://www.chez.tiscali.fr/ 10/07/06
admedia. admedia.
#MASTER# REMARKS: Bannerfarm used by Morpheus file sharing software #MASTER# REMARKS: Bannerfarm used by Morpheus file sharing software
@ -1205,6 +1305,15 @@ img.directtrack.com
.pclick.yahoo.com/images/ .pclick.yahoo.com/images/
# Blocked URL = http://rover.ebay.com/ar/1/2/3?mpt=123&adtype=1&size=728x90 # Blocked URL = http://rover.ebay.com/ar/1/2/3?mpt=123&adtype=1&size=728x90
/.*\&adtype= /.*\&adtype=
# Blocked URL = http://resources.parfym.se/tradedoubler/250x360.swf
/tradedoubler/.*\.swf
# Blocked URL = http://hstse.tradedoubler.com/file/142609/440x220.swf
hstse.tradedoubler.com/.*\.swf
# Blocked URL = http://www.zdnetasia.com/2007/techguide/network/sponsor/i/logmein_mpu_whitepaper.gif
# Blocked URL = http://www.zdnetasia.com/2007/techguide/network/sponsor/sidebar.gif
www.zdnetasia.com/.*/sponsor/.*\.gif$
# Blocked URL = http://pagead2.googlesyndication.com/pagead/imgad?id=CPjtipDs9taquQEQoAEYwgQyCIvo2PNnQywb
.googlesyndication.com/.*/imgad\?
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Cross-site user tracking # Cross-site user tracking
@ -1297,6 +1406,19 @@ feeds.feedburner.com/~a/DilbertDailyStrip\?
#MASTER# BLOCK-REFERER: http://www.buch.de/ #MASTER# BLOCK-REFERER: http://www.buch.de/
# URL = http://track.webtrekk.de/471497967328727/wt.pl?p=177,de.buch.show.home,1,1024x768,24,1,1218816426275,0,884x653,0&enc1=%FC&enc2=iso-8859-1&st=view&la=en-US&np=Default%20Plugi # URL = http://track.webtrekk.de/471497967328727/wt.pl?p=177,de.buch.show.home,1,1024x768,24,1,1218816426275,0,884x653,0&enc1=%FC&enc2=iso-8859-1&st=view&la=en-US&np=Default%20Plugi
track.webtrekk.de/ track.webtrekk.de/
#MASTER# BLOCK-REFERER: https://sourceforge.net/
# URL = http://b.scorecardresearch.com/p2?c1=2&c2=6035546&c3=&c4=&c5=&c6=&c15=&cj=1
b.scorecardresearch.com/
# URL = https://sb.scorecardresearch.com/
sb.scorecardresearch.com/
#MASTER# BLOCK-REFERRER: http://sourceforge.net/projects/ijbswa/
# Blocked URL = http://b.collective-media.net/seg/cm/cm_aa_gn1
b.collective-media.net/
#MASTER# BLOCK-REFERRER: http://www.spiegel.de/
# Blocked URL = http://spiegel.ivwbox.de/cgi-bin/ivw/CP/1001;/home/c-18/be-PB64-aG9tZXBhZ2UvY2VudGVy/szwprofil-1001
#MASTER# BLOCK-REFERRER: http://www.heise.de/
# Blocked URL = http://heise.ivwbox.de/2004/01/survey.js
.ivwbox.de/
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Specific counters (see above for generic patterns) # Specific counters (see above for generic patterns)
@ -1581,6 +1703,14 @@ tags.gawker.com/.*css$
#MASTER# UNBLOCK-REFERRER: http://idonthateyouall.imeem.com/video/8zH0_f9i/kiley_rilo_pull_me_in_tighter_art_video/ #MASTER# UNBLOCK-REFERRER: http://idonthateyouall.imeem.com/video/8zH0_f9i/kiley_rilo_pull_me_in_tighter_art_video/
# URL = http://ad.doubleclick.net/crossdomain.xml # URL = http://ad.doubleclick.net/crossdomain.xml
ad.doubleclick.net/crossdomain\.xml ad.doubleclick.net/crossdomain\.xml
#MASTER# REMARKS: Support request 2838390: 2009-08-16: nfl.com videos not working
#MASTER# REMARKS: bbc.co.uk videos references ad.uk.doubleclick.net
# URL = http://ad.doubleclick.net/879366/DartShell9_8.swf?adServerHost=http://ad.doubleclick.net
# URL = http://ad.doubleclick.net/pfadx/DARTSHELLCONFIGXML;dcmt=text/xml;
# URL = http://ad.doubleclick.net/879366/DartShellPlayer9_8_01_00.swf
# URL = http://ad.uk.doubleclick.net/879366/DartShell7_7.swf?adServerHost=http://ad.uk.doubleclick.net
.doubleclick.net/.*/DartShell.*\.swf
.doubleclick.net/.*/DARTSHELLCONFIGXML
#MASTER# REMARKS: Actionsfile feedback item #2021509 2008-07-18 #MASTER# REMARKS: Actionsfile feedback item #2021509 2008-07-18
#MASTER# REMARKS: Allow realplayer site help popup windows #MASTER# REMARKS: Allow realplayer site help popup windows
#MASTER# UNBLOCK-REFERRER: http://real.custhelp.com/cgi-bin/real.cfg/php/enduser/std_adp.php?p_faqid=4512 #MASTER# UNBLOCK-REFERRER: http://real.custhelp.com/cgi-bin/real.cfg/php/enduser/std_adp.php?p_faqid=4512
@ -1594,7 +1724,8 @@ fritz.box/
# URL = http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402747&sliceId=1 # URL = http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402747&sliceId=1
.adobe.com .adobe.com
# URL = http://qa.debian.org/popcon.php # URL = http://qa.debian.org/popcon.php
qa.debian.org/popcon\.php # URL = http://qa.debian.org/popcon-png.php?packages=privoxy&show_installed=on&want_legend=on&want_ticks=on&date_fmt=%25Y-%25m&beenhere=1
qa.debian.org/popcon
#MASTER# REMARKS: Support Requests item #2432535 2008-12-16 #MASTER# REMARKS: Support Requests item #2432535 2008-12-16
# URL = http://www.mta.info/bandt/traffic/advmain.htm # URL = http://www.mta.info/bandt/traffic/advmain.htm
.mta.info/.*advmain.htm$ .mta.info/.*advmain.htm$
@ -1620,6 +1751,65 @@ qa.debian.org/popcon\.php
# URL = http://graphics8.nytimes.com/css/0.1/screen/common/ads.css # URL = http://graphics8.nytimes.com/css/0.1/screen/common/ads.css
# URL = http://graphics8.nytimes.com/css/0.1/screen/homepage/ads.css # URL = http://graphics8.nytimes.com/css/0.1/screen/homepage/ads.css
.nytimes.com/.*/ads\.css$ .nytimes.com/.*/ads\.css$
#MASTER# REMARKS: All hosted videos seemingly require this file.
#MASTER# UNBLOCK-REFERRER: http://www.cnn.com/video/#/video/showbiz/2009/04/14/dcl.boyle.british.talent.show.cnn
# URL = http://i.cdn.turner.com/cnn/.element/js/2.0/video/xmp/AdServiceAdapter.swf
.turner.com/cnn/.*/AdServiceAdapter.swf
#MASTER# REMARKS: Tracker 2786745 : MySpace music player doesn't work
#MASTER# UNBLOCK-REFERRER: www.myspace.com/bandofskulls
# URL = http://lads.myspacecdn.com/videos/musicPlayerAssets.swf
lads.myspacecdn.com/
#MASTER# REMARKS: AF#2789653 iTunes download blocked
# URL = http://a957.phobos.apple.com/us/r1000/000/Music/ad/47/56/mzi.gnjsyarh.aac.a.m4p
.phobos.apple.com/
# URL = http://eas8.emediate.eu/eas?camp=114;ty=ct;EASLink=http://www.jp.dk
.emediate.eu/.*EASLink=
#MASTER# REMARKS: Actionfile tracker ID: 2838501: 2009-08-16
# URL = http://new.meteo.pl/advajax.js
.meteo.pl/advajax\.js
# URL = http://www.adressa.no/
# URL = http://adressa.no/
adressa.no/
# URL = http://www.adresseavisen.no/
# URL = http://adresseavisen.no/
adresseavisen.no/
# URL = http://apps.facebook.com/onthefarm/track.php?creative=&cat=friendvisit&subcat=weeds&key=a789a971dc687bee4c20c044834fabdd&next=index.php%3Fref%3Dnotif%26visitId%3D898835505
.facebook.com/.*/track.php
# URL = http://www.ifdb.tads.org/
# URL = http://www.tads.org/
.tads.org/
# URL = http://adtoma.com/
adtoma.com/
#MASTER# REMARKS: Actionsfile feedback 2859872 2009-09-16 09:58
# URL = http://adactio.com/
adactio.com/
# URL = http://www.peereboom.us/adsuck/
www.peereboom.us/adsuck/
# URL = http://www.svd.se/template/ver1-0/css/ads.css?v=194
.svd.se/.*\.css($|\?)
#MASTER# REMARKS: [privoxy-users] Privoxy blocking Ebay item pictures Jan 31, 2010
#MASTER# REMARKS: Ebay enlarge picture function doesn't work.
# URL = http://include.ebaystatic.com/v4js/en_GB/e637i/SYS-LIGER_Omniture_e637i10177164_5_en_GB.js
include.ebaystatic.com/.*omniture.*\.js
#MASTER# REMARKS: Allow Yahoo news and mail javascipt pages
# URL = http://l.yimg.com/d/combo?news/p/common/generic/news/p/common/generic/popular-searches-min-12622.js&news/p/common/generic/ads-min-11050.js&news/p/common/generic/foundation/popup-min-12622.js
.yimg.com/d/combo\?
#MASTER# REMARKS: Page formatting problems when .css files are blocked
# URL = http://www.networkworld.com/includes/styles/adstyles.css
# URL = http://www.sj.se/common/css/pop.css
# URL = http://l.yimg.com/d/combo?news/p/common/generic/ads-min-24248.css&news/p/common/generic/widgets-min-10270.css
# URL = http://news.zdnet.com/css/z/ads/hs.css
/.*\.css$
#MASTER# REMARKS:Actionsfile feedback item #2974204 2010-03-21
# URL = http://adesklets.sourceforge.net/
adesklets.sourceforge.net/
#MASTER# REMARKS: Mostly-french political blog
# URL = http://adassier.wordpress.com/
adassier.wordpress.com/
# URL = http://adassier.files.wordpress.com/2010/05/road-to-economic-recovery2.jpg?w=630&h=451
adassier.files.wordpress.com
# URL = http://adainitiative.org/about-us/
adainitiative.org/
############################################################################# #############################################################################
@ -1641,17 +1831,7 @@ images.apple.com
#MASTER# REMARKS: Actions Tracker 1293057 09/02/06 #MASTER# REMARKS: Actions Tracker 1293057 09/02/06
.update.microsoft.com .update.microsoft.com
#MASTER# REMARKS: Various reports 09/16/06. This site also requires pop-ups. #MASTER# REMARKS: Various reports 09/16/06. This site also requires pop-ups.
mail.google. mail.google.*
#----------------------------------------------------------------------------
# Semi-fragile, allow for blocks.
#----------------------------------------------------------------------------
{ -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression }
#MASTER# REMARKS: Problem URL: adserver.yahoo.com 10/01/06
#MASTER# REMARKS: This is much too broad for my taste. It forces me to add
#MASTER# REMARKS: a special yahoo section in my user.action file, just to
#MASTER# REMARKS: confirm my defaults in default.action. fk 2007-01-19
.yahoo.com
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Shopping and banking sites - allow cookies and pop-ups # Shopping and banking sites - allow cookies and pop-ups
@ -1664,7 +1844,7 @@ mail.google.
.dabs.com .dabs.com
.overclockers.co.uk .overclockers.co.uk
.db24.de .db24.de
.ebay. .ebay.*
.mobile.de .mobile.de
www.fondationlejeu.com www.fondationlejeu.com
www.techtv.com www.techtv.com
@ -1713,21 +1893,21 @@ i.cnn.net/cnn/.*/clickability/button
# Sticky Actions = -fast-redirects # Sticky Actions = -fast-redirects
www.ukc.ac.uk/cgi-bin/wac\.cgi\? www.ukc.ac.uk/cgi-bin/wac\.cgi\?
#MASTER# PROBLEM-URL: http://www.google.com/search?q=foo #MASTER# PROBLEM-URL: http://www.google.com/search?q=foo
.google. # URL = http://www.google.com/search?q=foo
.google.*
#MASTER# PROBLEM-URL: http://de.altavista.com/q?pg=q&q=foo&kl=XX&search.x=28&search.y=8&what=web #MASTER# PROBLEM-URL: http://de.altavista.com/q?pg=q&q=foo&kl=XX&search.x=28&search.y=8&what=web
.altavista.com/(.*(like|url|link):|trans.*urltext=)http .altavista.com/(.*(like|url|link):|trans.*urltext=)http
#MASTER# PROBLEM-URL: http://www.speedfind.de/cgi-bin/search?q=foo&t=STANDARD #MASTER# PROBLEM-URL: http://www.speedfind.de/cgi-bin/search?q=foo&t=STANDARD
.speedfind.de .speedfind.de
#MASTER# PROBLEM-URL: http://www.nytimes.com/ #MASTER# PROBLEM-URL: http://www.nytimes.com/
.nytimes.com .nytimes.com
#MASTER# REMARKS: Yahoo logout URL after first redirect. fk 2007-01-19 #MASTER# REMARKS: Disable fast-redirects for all of yahoo.com/.
#MASTER# REMARKS: Logout fails if we fast-redirect to the URL after "done=". #MASTER# REMARKS: Apparently we can't keep up with maintaining more precise exceptions.
#MASTER# REMARKS: Reported in support request #1635354.
# URL = http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us # URL = http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
.yahoo.com/.*done=http #MASTER# REMARKS: Reported in support request #1635354.
# URL = http://us.rd.yahoo.com/reg/login1/lisu/login/uk/ym/*http://edit.europe.yahoo.com/c onfig/login?.tries=1&.src=ym&.md5=&.hash=&.js=1&.last=&...kP=Y&.done=http://mail .yahoo.com&.pd=ym_ver=0&c=&login=XXX&passwd=XXX&.persistent =&.hash=1&.md5=1.yahoo.com/
#MASTER# REMARKS: Reported in support request #1802365. #MASTER# REMARKS: Reported in support request #1802365.
# URL = http://us.rd.yahoo.com/reg/login1/lisu/login/uk/ym/*http://edit.europe.yahoo.com/c onfig/login?.tries=1&.src=ym&.md5=&.hash=&.js=1&.last=&...kP=Y&.done=http://mail .yahoo.com&.pd=ym_ver=0&c=&login=XXX&passwd=XXX&.persistent =&.hash=1&.md5=1 .yahoo.com/
.rd.yahoo.com/reg/login1/
# URL = http://validator.w3.org/check # URL = http://validator.w3.org/check
.w3.org .w3.org
#MASTER# PROBLEM-URL: http://www.ask.com/ #MASTER# PROBLEM-URL: http://www.ask.com/
@ -1794,6 +1974,23 @@ view.samurajdata.se/ps\.php\?url=
.landsend.de/ .landsend.de/
# URL = http://www.youtube.com/swf/l.swf?swf=http%3A//s.ytimg.com/yt/swf/cps-vfl68942.swf&video_id=2cpd6rHIfyA&rel=1&showsearch=1&eurl=&iurl=http%3A//i3.ytimg.com/vi/2cpd6rHIfyA/hqdefault.jpg&sk=5E3I2RCcOLknk1qyI_JgVVnb8FKwgpHzC&use_get_video_info=1&load_modules=1&fs=1&hl=en # URL = http://www.youtube.com/swf/l.swf?swf=http%3A//s.ytimg.com/yt/swf/cps-vfl68942.swf&video_id=2cpd6rHIfyA&rel=1&showsearch=1&eurl=&iurl=http%3A//i3.ytimg.com/vi/2cpd6rHIfyA/hqdefault.jpg&sk=5E3I2RCcOLknk1qyI_JgVVnb8FKwgpHzC&use_get_video_info=1&load_modules=1&fs=1&hl=en
.youtube.com/swf/.*swf= .youtube.com/swf/.*swf=
# URL = http://redbot.org/?uri=http%3A//apache.org/
.redbot.org/
# URL = http://webcache.googleusercontent.com/custom?hl=en&domains=library.gnome.org&sitesearch=library.gnome.org&q=cache:8yGDJ1YpefcJ:http://library.gnome.org/devel//gtk/2.20/GtkLabel.html+gtk_label_set_text+escape&ct=clnk
webcache.googleusercontent.com/
# URL = http://webcache.googleusercontent.com/search?q=cache:kZYcDFibjHcJ:https://grepular.com/Abusing_HTTP_Status_Codes_to_Expose_Private_Information+inurl:https://grepular.com/Abusing_HTTP_Status_Codes_to_Expose_Private_Information&hl=en&strip=1
.googleusercontent.com/.*=cache:
{+redirect{s@.*url=@http://@} -block}
# Sticky Actions = +redirect -block
# URL = http://go.eniro.dk/lg/ni/http:/eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
# URL = http://eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
# Redirected URL = http://go.eniro.dk/lg/ni/http:/eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
# Redirect Destination = http://www.bt.dk
# Redirected URL = http://eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
# Redirect Destination = http://www.bt.dk
go.eniro.dk/.*EASLink=http://.*url=(?!<=http:)
.emediate.eu/.*EASLink=http://.*url=(?!<=http:)
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# No filtering for sourcecode or other automatically parsed content # No filtering for sourcecode or other automatically parsed content
@ -1938,6 +2135,10 @@ javabog.dk/ijk/
.fsfe.org/ .fsfe.org/
# URL = http://www.couchsurfing.com/mapsurf.html # URL = http://www.couchsurfing.com/mapsurf.html
.couchsurfing.com/ .couchsurfing.com/
# URL = http://www.couchsurfing.org/mapsurf.html
.couchsurfing.org/
# URL = http://www.thinkgeek.com/tshirts-apparel/unisex/generic/
.thinkgeek.com/
{-filter{banners-by-link}} {-filter{banners-by-link}}
# Sticky Actions = -filter{banners-by-link} # Sticky Actions = -filter{banners-by-link}
@ -1952,9 +2153,6 @@ javabog.dk/ijk/
#MASTER# REMARKS: This section NOT checked 10/18/06 HB #MASTER# REMARKS: This section NOT checked 10/18/06 HB
#MASTER# REMARKS: These are movie clips, linked from http://us.imdb.com #MASTER# REMARKS: These are movie clips, linked from http://us.imdb.com
.totaleclips.com .totaleclips.com
#MASTER# REMARKS: Link to download page breaks
# URL = http://www.mandrakelinux.com/en/ftp.php3
.mandrakelinux.com/en/ftp.php3
#MASTER# REMARKS: Actions Tracker 1313157 #MASTER# REMARKS: Actions Tracker 1313157
# URL = http://validator.w3.org/check?uri=referer # URL = http://validator.w3.org/check?uri=referer
validator.w3.org/check\?uri=referer validator.w3.org/check\?uri=referer
@ -2073,22 +2271,37 @@ blogs.msdn.com
# URL = http://blogs.msdn.com/wga/archive/2006/07/16/667063.aspx # URL = http://blogs.msdn.com/wga/archive/2006/07/16/667063.aspx
blogs.msdn.com blogs.msdn.com
{-filter{jumping-windows}}
# Sticky Actions = -filter{jumping-windows}
# URL = http://www.openstreetmap.org
.openstreetmap.org
{+fast-redirects{check-decoded-url} -block} {+fast-redirects{check-decoded-url} -block}
# Sticky Actions = +fast-redirects{check-decoded-url} -block # Sticky Actions = +fast-redirects{check-decoded-url} -block
#MASTER# REMARKS: Yahoo search results. Added 2007-01-19 fk #MASTER# REMARKS: Yahoo search results. Added 2007-01-19 fk
#MASTER# REDIRECT-REFERRER: http://search.yahoo.com/search?p=privoxy #MASTER# REDIRECT-REFERRER: http://search.yahoo.com/search?p=privoxy
# URL = http://rds.yahoo.com/_ylt=A0geuryczbBF._YAEmxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvbG8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11b3qg40n/EXP=1169301276/**http%3a//www.privoxy.org/ # URL = http://rds.yahoo.com/_ylt=A0geuryczbBF._YAEmxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvbG8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11b3qg40n/EXP=1169301276/**http%3a//www.privoxy.org/
rds.yahoo.com/ rds.yahoo.com/
#MASTER# COMMENTS: Verified 2007-01-19 fk # Redirected URL = http://rds.yahoo.com/_ylt=A0geuryczbBF._YAEmxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvbG8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11b3qg40n/EXP=1169301276/**http%3a//www.privoxy.org/
# Redirect Destination = http://www.privoxy.org/
#MASTER# REDIRECT-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html #MASTER# REDIRECT-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html
# URL = http://dw.com.com/redir?asid=0&astid=8&siteid=19&edid=107&destCat=33862&destURL=http%3A%2F%2Fdb.gamefaqs.com%2Fcomputer%2Fdoswin%2Ffile%2Fvampire_tmb_b.txt # URL = http://dw.com.com/redir?asid=0&astid=8&siteid=19&edid=107&destCat=33862&destURL=http%3A%2F%2Fdb.gamefaqs.com%2Fcomputer%2Fdoswin%2Ffile%2Fvampire_tmb_b.txt
dw.com.com/ dw.com.com/redir\?
# Redirected URL = http://dw.com.com/redir?asid=0&astid=8&siteid=19&edid=107&destCat=33862&destURL=http%3A%2F%2Fdb.gamefaqs.com%2Fcomputer%2Fdoswin%2Ffile%2Fvampire_tmb_b.txt
# Redirect Destination = http://db.gamefaqs.com/computer/doswin/file/vampire_tmb_b.txt
#MASTER# REMARKS: Action tracker 1593393. Added 2007-01-20. #MASTER# REMARKS: Action tracker 1593393. Added 2007-01-20.
# URL = http://wzus.bloglines.com/r?t=a&d=us&s=bl&c=blen&ti=1&ai=51060&l=dir&o=0&sv=z6f537f5b&ip=971AC44B&u=http%3A%2F%2Fwww.skweezer.net%2Fbloglines%2Fskweeze.aspx%3F%26i%3Dd%26l%3Den%26r%3Dhttp%253A%252F%252Fwww.bloglines.com%252Fmyblogs_display%253Fsub%253D29302699%2526site%253D5382440%26url%3Dhttp%253A%252F%252Fpermalink.gmane.org%252Fgmane.linux.debian.devel.changes.unstable%252F97340 # URL = http://wzus.bloglines.com/r?t=a&d=us&s=bl&c=blen&ti=1&ai=51060&l=dir&o=0&sv=z6f537f5b&ip=971AC44B&u=http%3A%2F%2Fwww.skweezer.net%2Fbloglines%2Fskweeze.aspx%3F%26i%3Dd%26l%3Den%26r%3Dhttp%253A%252F%252Fwww.bloglines.com%252Fmyblogs_display%253Fsub%253D29302699%2526site%253D5382440%26url%3Dhttp%253A%252F%252Fpermalink.gmane.org%252Fgmane.linux.debian.devel.changes.unstable%252F97340
# Redirected URL = http://wzus.bloglines.com/r?t=a&d=us&s=bl&c=blen&ti=1&ai=51060&l=dir&o=0&sv=z6f537f5b&ip=971AC44B&u=http%3A%2F%2Fwww.skweezer.net%2Fbloglines%2Fskweeze.aspx%3F%26i%3Dd%26l%3Den%26r%3Dhttp%253A%252F%252Fwww.bloglines.com%252Fmyblogs_display%253Fsub%253D29302699%2526site%253D5382440%26url%3Dhttp%253A%252F%252Fpermalink.gmane.org%252Fgmane.linux.debian.devel.changes.unstable%252F97340
# Redirect Destination = http://www.skweezer.net/bloglines/skweeze.aspx?&i=d&l=en&r=http%3A%2F%2Fwww.bloglines.com%2Fmyblogs_display%3Fsub%3D29302699%26site%3D5382440&url=http%3A%2F%2Fpermalink.gmane.org%2Fgmane.linux.debian.devel.changes.unstable%2F97340
.bloglines.com/r\? .bloglines.com/r\?
www.skweezer.net/bloglines www.skweezer.net/bloglines
# URL = http://media.fastclick.net/w/get.media?sid=4681&m=5&tp=6&url=http%3A//www.sciam.com/article.cfm%3FchanID%3Dsa003%26articleID%3DC7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB%26ref%3Drss # URL = http://media.fastclick.net/w/get.media?sid=4681&m=5&tp=6&url=http%3A//www.sciam.com/article.cfm%3FchanID%3Dsa003%26articleID%3DC7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB%26ref%3Drss
# Redirected URL = http://media.fastclick.net/w/get.media?sid=4681&m=5&tp=6&url=http%3A//www.sciam.com/article.cfm%3FchanID%3Dsa003%26articleID%3DC7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB%26ref%3Drss
# Redirect Destination = http://www.sciam.com/article.cfm?chanID=sa003&articleID=C7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB&ref=rss
.fastclick.net/w/get\.media\? .fastclick.net/w/get\.media\?
# Redirected URL = http://www.awin1.com/cread.php?awinmid=2891&awinaffid=43305&clickref=&p=http://www.groupon.co.uk/
# Redirect Destination = http://www.groupon.co.uk/
.awin1.com/.*=http://
{+block{Looks like an anti-leech trigger URL.}} {+block{Looks like an anti-leech trigger URL.}}
#MASTER# COMMENTS: This section not checked 10/17/06 HB. Still out there? #MASTER# COMMENTS: This section not checked 10/17/06 HB. Still out there?
@ -2096,9 +2309,6 @@ www.skweezer.net/bloglines
#MASTER# REMARKS: Lame attempt at banning ad-blockers. Used by other websites as well. #MASTER# REMARKS: Lame attempt at banning ad-blockers. Used by other websites as well.
/antitheft\.php /antitheft\.php
{ +prevent-compression }
.compusa.com/
{+filter{tiny-textforms}} {+filter{tiny-textforms}}
.sourceforge.net/tracker .sourceforge.net/tracker
@ -2116,6 +2326,8 @@ www.skweezer.net/bloglines
{+redirect{http://config.privoxy.org/}} {+redirect{http://config.privoxy.org/}}
# Sticky Actions = +redirect{http://config.privoxy.org/} # Sticky Actions = +redirect{http://config.privoxy.org/}
# URL = http://www.privoxy.org/config # URL = http://www.privoxy.org/config
# Redirected URL = http://www.privoxy.org/config
# Redirect Destination = http://config.privoxy.org/
.privoxy.org/config .privoxy.org/config
#MASTER# REMARKS: Privoxy's "unsafe" CGI pages check the referrer #MASTER# REMARKS: Privoxy's "unsafe" CGI pages check the referrer
@ -2137,8 +2349,28 @@ config.privoxy.org/
# XXX: Privoxy-Regression-Test currently doesn't allow backslashes. # XXX: Privoxy-Regression-Test currently doesn't allow backslashes.
# Sticky Actions = -fast-redirects +redirect # Sticky Actions = -fast-redirects +redirect
# URL = http://us.ard.yahoo.com/SIG=AAAAAAAAA/M=NNNNNN.NNNNNNN.NNNNNNN.NNNNNNN/D=mail/S=NNNNNNNNN:HEADR/Y=YAHOO/EXP=NNNNNNNNNN/A=NNNNNNN/R=N/SIG=AAAAAAAAA/*http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us # URL = http://us.ard.yahoo.com/SIG=AAAAAAAAA/M=NNNNNN.NNNNNNN.NNNNNNN.NNNNNNN/D=mail/S=NNNNNNNNN:HEADR/Y=YAHOO/EXP=NNNNNNNNNN/A=NNNNNNN/R=N/SIG=AAAAAAAAA/*http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
# Redirected URL = http://us.ard.yahoo.com/SIG=AAAAAAAAA/M=NNNNNN.NNNNNNN.NNNNNNN.NNNNNNN/D=mail/S=NNNNNNNNN:HEADR/Y=YAHOO/EXP=NNNNNNNNNN/A=NNNNNNN/R=N/SIG=AAAAAAAAA/*http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
# Redirect Destination = http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
.yahoo./.*http://login.yahoo.com/config/login.*http:// .yahoo./.*http://login.yahoo.com/config/login.*http://
#MASTER# REMARKS: The next two sections are to get flickr's Ajax interface working
#MASTER# REMARKS: with default pre-settings. For more aggressive defaults they additionally
#MASTER# REMARKS: need -crunch-incoming-cookies and -crunch-outgoing-cookies.
#MASTER# REMARKS: They work with +session-cookies-only, though.
{-block -filter}
#MASTER# PROBLEM-URL: http://www.flickr.com/
# Sticky Actions = -block -filter
# URL = http://l.yimg.com/g/combo/1?event-custom/event-custom-min.js&event/event-min.js&j/.H-.K.A.vNKEa&j/.CP-.U-.DE.A.vKEJz&j/.J_.BR_.CA.A.vKYkg&j/.J_.DB.A.vPpBT&j/popup-login.A.vR53Z&dump/dump-min.js&datatype/datatype-xml-min.js&substitute/substitute-min.js&json/json-min.js&queue-promote/queue-promote-min.js&io/io-min.js&j/.J_.DS.A.vQa28&j/.FW-.FX-.GH.A.vP3XB&j/grease.A.vRktP&j/.CC.A.vNiA6&j/.C-.BL.A.vPPj2&j/.CE-.K.A.vNy32&attribute/attribute-base-min.js&base/base-min.js&anim/anim-min.js&cookie/cookie-min.js&j/.B-.C-.F.A.vQ7SZ&j/urls.A.vQtXp&j/.B-.BY.A.vQCXP&j/.H-.BY.A.vQXXx&j/.DS-value-conversions.A.vQpRt&j/.G-.BD.A.vNHSH&event/event-synthetic-min.js&j/.G-.BO.A.vNwR4&j/.CV-.CH.A.vPFSZ&j/.X-.W-.C-.F.A.vKPQa&j/.X-.W-.D.A.vQXXx&j/.Q-.BX-.K.A.vR1kt&j/.DL.A.vLPjD&j/.CF.A.vNC24&j/.CX-.CY.A.vP8ND&event-simulate/event-simulate-min.js&node/node-event-simulate-min.js&j/.B-.T-.CI-.C-.F.A.vPJPF&j/.CM/.BA_2.5.1-.D.A.vPzui&j/bo-.S-.C-.F.A.vNwWe&j/bo-.S-.D.A.vR6Hx&j/.BZ-.D.A.vNstB&j/.B-.L-.C-.F.A.vNxPX&j/.B-.L-.BH.A.vMdVB&j/.CN-.DD.A.vLjJ2&j/.B-.O-.C-.F.A.vPpcK&j/.BM.A.vKPmz&j/.B-.O.A.vQyHg&j/.B-.H-.BB-.C-.F.A.vQvrB&j/.CW-.CU.A.vQ7Rg&j/.Y-.C-.F.A.vNqGa&j/.Y.A.vLKiT&j/.B-.M-.C-.F.A.vQxDc&j/.U-.CG.A.vQ5Tt&j/.B-.M.A.vQXXx&j/.B-.Q-.BQ.A.vQvTt&j/.B-.N-.C-.F.A.vQaRp&j/.CL.A.vN4N6&j/.B-.CL-.BW.A.vPwkx&j/.DR-.DG.A.vMLJr&j/.B-.BE-.C-.F.A.vPHP4&j/.B-.BE-.D.A.vQLQH&j/.BV.A.vm3Uz&j/.Z-.DK-.D.A.vLQEe&j/.Z-.DJ-.BJ.A.vLQEe&j/.B-.I-.C-.F.A.vPKTK&stylesheet/stylesheet-min.js&j/.B-.I.A.vQvDF&j/.CM-.DO.A.vPboD&j/.B-.D.A.vRbv8&j/.B-.H-.BB.A.vQuhn&j/.B-.N.A.vR6Cn&j/.B-.L-.CZ.A.vQmzP&j/.B-.T-.CI.A.vQXXx&j/.B-.I-.CQ-.BK-.C-.F.A.vNwZF&j/.B-.I-.CQ-.BK.A.vLWQR&j/.B-.R-.C-.F.A.vPfwi&j/.B-.R.A.vRhND&j/.DN-.BB-.D-.C-.F.A.vQXZg&j/.DN-.BB-.D.A.vRcXB&j/.BF_.D-.C-.F.A.vPGYM&j/.BF_.D.A.vQxJn&plugin/plugin-min.js&cache/cache-min.js&j/.CB-.C-.F.A.vNwWe&j/.CB-.D.A.vQS6T
.yimg.com/g/combo/1\?event-custom/
{-block -filter{content-cookies}}
#MASTER# PROBLEM-URL: http://www.flickr.com/
{-filter{content-cookies}}
# Sticky Actions = -block
# URL = http://www.flickr.com/
.flickr.com/
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Sections that modify the action settings based on tags. # Sections that modify the action settings based on tags.
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------

View File

@ -2,11 +2,11 @@
# #
# File : $Source: /cvsroot/ijbswa/current/default.filter,v $ # File : $Source: /cvsroot/ijbswa/current/default.filter,v $
# #
# $Id: default.filter,v 1.71 2009/03/01 18:33:17 ler762 Exp $ # $Id: default.filter,v 1.83 2011/10/16 14:01:05 fabiankeil Exp $
# #
# Purpose : Rules to process the content of web pages # Purpose : Rules to process the content of web pages
# #
# Copyright : Written by and Copyright (C) 2001-2009 the # Copyright : Written by and Copyright (C) 2001-2010 the
# Privoxy team. http://www.privoxy.org/ # Privoxy team. http://www.privoxy.org/
# #
# We value your feedback. However, to provide you with the best support, # We value your feedback. However, to provide you with the best support,
@ -128,15 +128,15 @@ s/(open\s*\([^\)]+always(?:raised|lowered)=)(["']?)(?:yes|1)\2/$1$2no$2/sigU
################################################################################# #################################################################################
# #
# js-events: Kill all JS event bindings and timers (Radically destructive! Only for extra nasty sites). # js-events: Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).
# #
################################################################################# #################################################################################
FILTER: js-events Kill all JS event bindings and timers (Radically destructive! Only for extra nasty sites). FILTER: js-events Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).
s/(on|event\.)((mouse(over|out|down|up|move))|(un)?load|contextmenu|selectstart)/never/ig s/(on|event\.)((mouse(over|out|down|up|move))|(un)?load|contextmenu|selectstart)/never/ig
# Not events, but abused on the same type of sites: # Not events, but abused on the same type of sites:
s/(alert|confirm)\s*\(/concat(/ig s/(alert|confirm)\s*\(/concat(/ig
s/settimeout\(/concat(/ig s/set(timeout|interval)\(/concat(/ig
################################################################################# #################################################################################
# #
@ -177,15 +177,15 @@ s|<meta\s+http-equiv=['"]?set-cookie.*>|<!-- ZappedCookie -->|igU
################################################################################# #################################################################################
# #
# refresh-tags: Kill automatic refresh tags (for dial-on-demand setups). # refresh-tags: Kill automatic refresh tags if refresh time is larger than 9 seconds.
# #
################################################################################# #################################################################################
FILTER: refresh-tags Kill automatic refresh tags (for dial-on-demand setups). FILTER: refresh-tags Kill automatic refresh tags if refresh time is larger than 9 seconds.
# Note: Only deactivates refreshes with more than 9 seconds delay to # Note: Only deactivates refreshes with more than 9 seconds delay to
# preserve monster-stupid but common redirections via meta tags. # preserve monster-stupid but common redirections via meta tags.
# #
s/<meta\s+http-equiv\s*=\s*(['"]?)refresh\1\s+content\s*=\s*(['"]?)\d{2,}\s*(;\s*url\s*=\s*([^>\2]*))?\2/<link rev="x-refresh" href="$4"/iU s@<meta\s+http-equiv\s*=\s*(['"]?)refresh\1\s+content\s*=\s*(['"]?)\d{2,}\s*(;(?:\s*url\s*=\s*)?([^>\2]*))?\2@<link rev="x-refresh" href="$4"@ig
################################################################################# #################################################################################
@ -422,7 +422,7 @@ FILTER: fun Text replacements for subversive browsing fun!
# SCNR # SCNR
# #
s/microsoft(?!.[^\s])/MicroSuck/ig s/microsoft(?!\.[^\s])/MicroSuck/ig
# Buzzword Bingo (example for extended regex syntax) # Buzzword Bingo (example for extended regex syntax)
# #
@ -580,7 +580,9 @@ s@</head>@<style type="text/css">\n\
\#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\ \#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\
\#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\ \#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\
\#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\ \#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\
.main_body, .j {width: 100%}\n</style>\n$0@ .main_body, .j, \#res, .med, .hd, .g, .s\n\
{width: 99%; max-width: 100%; margin-left: 0; margin-right: 0;}\n\
</style>\n$0@
s@<div style=\"padding-top:11px;min-width:500px\">@<div id="main_body">@ s@<div style=\"padding-top:11px;min-width:500px\">@<div id="main_body">@
s@(<table cellspacing=0 cellpadding=0 width=25% align=right bgcolor=\#ffffff border=0\ s@(<table cellspacing=0 cellpadding=0 width=25% align=right bgcolor=\#ffffff border=0\
|</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\ |</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\
@ -600,9 +602,12 @@ s@</head>@\n<style type="text/css">\n\
/* Style sheet inserted by Privoxy's yahoo filter. */\n\ /* Style sheet inserted by Privoxy's yahoo filter. */\n\
\#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\ \#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
\#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\ \#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
\#nwad, \#MWA2, \#MSCM, \#yregad, \ \#nwad, \#MWA2, \#MSCM, \#yregad, \#sponsored-links,\
\#ks-ypn-ads, .ad, \#east, \#ygrp-vital {display: none !important;}\n\ \#ks-ypn-ads, .ad, \#east, \#ygrp-vital, .ads {display: none !important;}\n\
\#yschpri, \#yschweb, \#pri, \#web, \#main {width: 100% !important; max-width: 100% !important;}\n\ \#yschpri, \#yschweb, \#pri, \#web, \#main, .yschttl, .abstr, .res \n\
{width: 99% !important; max-width: 100% !important;}\n\
.yschttl, .res, .res.indent, \#web {padding: 0px; margin: 0px !important;}\n\
\#web {padding-left: 0.5em}\n\
\#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\ \#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\
\#composebox \#compose_editorArea {width: 70% !important; /* reasonably sized reply textarea please */\n\ \#composebox \#compose_editorArea {width: 70% !important; /* reasonably sized reply textarea please */\n\
</style>\n$0\n@ </style>\n$0\n@
@ -621,12 +626,15 @@ s@</head>@<style type="text/css">\n\
/* Style sheet inserted by Privoxy's msn filter. */\n\ /* Style sheet inserted by Privoxy's msn filter. */\n\
.msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\ .msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\
\#results, .flank, .results_area_flank, .results_area_stroke,\n\ \#results, .flank, .results_area_flank, .results_area_stroke,\n\
\#results_area, .SearchSection, .not, .sc_rslth1\n\ \#results_area, \#content, .sb_tlst, .sa_cc, .sb_ph, \#sw_main,\n\
.content, \#sw_foot, \#bf, \#sw_content, \#sidebar, \#pag\n\ .content, \#sw_foot, \#bf, \#sw_content, \#sidebar, \#pag\n\
{width: 99% !important; min-width: 99% !important;\n\ {width: 99% !important; min-width: 99% !important;\n\
max-width: 100% !important; /* width:100% sometimes causes horizontal scrollbars */}\n\ max-width: 100% !important; /* width:100% sometimes causes horizontal scrollbars */}\n\
/* Remove "suggestions". They are next to worthless but partly overlap with the search results */\n\ /* Remove "suggestions". They are next to worthless but partly overlap with the search results */\n\
.suggestion, \#nys_right, \#nys {clear: both; display:none;}\n\ .suggestion, \#nys_right, \#nys {clear: both; display:none;}\n\
\#s_notf_div,\n \
/* Overlay ads to enable Facebook 'likes' in search results. */\n\
.sn_container {display:none !important;}\n\
\#content {padding-right: 0;}\n\ \#content {padding-right: 0;}\n\
</style>\n$0@ </style>\n$0@
# Are these ids still in use? # Are these ids still in use?
@ -759,6 +767,34 @@ CLIENT-HEADER-TAGGER: css-requests Tags detected CSS requests as "CSS-REQUEST".
s@^Accept:\s*text/css.*@CSS-REQUEST@i s@^Accept:\s*text/css.*@CSS-REQUEST@i
#################################################################################
#
# range-requests: Tags range requests as "RANGE-REQUEST".
#
# By default Privoxy removes Range headers for requests to
# ressources that will be filtered to make sure the filters
# get the whole picture. Otherwise Range requests could be
# intentionally used to circumvent filters or, less likely,
# filtering a partial response may damage it because it matched
# a pattern that the ressource as a whole wouldn't.
#
# Range requests can be useful and save bandwidth so instead
# of removing Range headers for requests to ressources that
# will be filtered, you may prefer to simply disable filtering
# for those requests.
#
# That's what this tagger is all about. After enabling it,
# you can disable filtering for range requests using the following
# action section:
#
# {-filter -deanimate-gifs}
# TAG:^RANGE-REQUEST
#
#################################################################################
CLIENT-HEADER-TAGGER: range-requests Tags range requests as "RANGE-REQUEST".
s@^Range:.*@RANGE-REQUEST@i
################################################################################# #################################################################################
# #
# client-ip-address: Tags the request with the client's IP address. # client-ip-address: Tags the request with the client's IP address.
@ -834,456 +870,3 @@ s@^X-Privoxy-Control:\s*@@i
SERVER-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers. SERVER-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers.
s@^X-Privoxy-Control:.*@@i s@^X-Privoxy-Control:.*@@i
##############################################################################
#
# Revisions :
# $Log: default.filter,v $
# Revision 1.71 2009/03/01 18:33:17 ler762
# couple of changes to the yahoo filter
# -get a bigger email message reply textarea
# -block a few more ads
# -remove the now useless northbanner css change
#
# Revision 1.70 2009/02/21 13:01:51 fabiankeil
# Make blogspot's feed magic slightly more reliable.
#
# Revision 1.69 2009/02/12 15:40:11 ler762
# more yahoo email ad blocking
#
# Revision 1.68 2008/09/19 13:26:04 fabiankeil
# s@tounge@tongue@. Anonymously reported in #1648657.
#
# Revision 1.67 2008/08/06 17:38:06 fabiankeil
# In banners-by-size, make sure white-space around the height
# attribute is removed as well and replace two spaces with
# "\s" so we don't get fooled by tabs. Fixes #2036125.
#
# Revision 1.66 2008/08/03 17:27:47 fabiankeil
# Teach msn filter to catch a few new ad classes.
#
# Revision 1.65 2008/07/21 13:43:44 fabiankeil
# Fix img-reorder regression introduced with my last commit.
# Some tags were terminated too soon, letting the browser render
# some of their arguments as text. Oops.
#
# Revision 1.64 2008/07/12 15:49:09 fabiankeil
# - Don't let img-reorder touch width attributes
# that aren't followed by either whitespace or '>',
# as those usually indicate onclick nonsense.
# Problem and solution reported by Glenn Washburn in #2014552.
# - While at it, don't use more groups than necessary.
#
# Revision 1.63 2008/06/27 12:53:41 fabiankeil
# Make sure the taggers css-requests and image-requests
# only match at the beginning of the header.
#
# Revision 1.62 2008/06/21 17:02:03 fabiankeil
# Fix typo.
#
# Revision 1.61 2008/05/21 18:44:43 fabiankeil
# - Let the content-type tagger ignore headers without value.
# - Remove a few unused lines at the end of the file.
#
# Revision 1.60 2008/04/26 10:36:41 fabiankeil
# Let the msn filter hide another class.
#
# Revision 1.59 2008/04/23 16:18:18 fabiankeil
# s@declarded@declared@
#
# Revision 1.58 2008/02/02 15:27:19 fabiankeil
# Yet another yahoo update to get the width limitation removal working again.
#
# Revision 1.57 2008/01/26 15:45:39 fabiankeil
# Don't let the less-download-windows filter mess up
# "Content-Type: application/x-shockwave-flash" headers.
#
# Revision 1.56 2008/01/25 19:12:40 fabiankeil
# - Add yet another new yahoo ad id.
# - Don't let the first banners-by-link job punish URLs for merely
# containing the pattern "/jump/" when it should really look for
# "doubleclick\.net/jump/".
#
# Revision 1.55 2007/12/31 19:53:59 fabiankeil
# Let the msn filter remove the width limitation again.
#
# Revision 1.54 2007/12/31 19:11:31 fabiankeil
# - Let the yahoo filter remove the width limitation again.
# - Teach the blogspot filter to remove useless feed comment
# titles that only contain the beginning of the actual comment.
#
# Revision 1.53 2007/12/23 15:48:12 fabiankeil
# - Lo and behold, the CSS fix for the MSN buttons is no longer necessary.
# - Add some new selectors the msn filter should hide.
# - Add the two yahoo selectors Lee reported in #1856574.
# - Add comments that the width limitation fixes stopped
# working for the msn and yahoo filter.
#
# Revision 1.52 2007/11/27 18:35:48 fabiankeil
# Update CSS for the yahoo filter.
#
# Revision 1.51 2007/11/04 16:15:11 fabiankeil
# - Add client-header taggers: client-ip-address,
# http-method, allow-post, complete-url and user-agent.
# - Add server-header tagger: content-type.
#
# Revision 1.50 2007/11/03 15:05:30 fabiankeil
# Consistently use an empty line between the description and the PCRS code
# and end descriptions with dots. Patch submitted by Simon Ruderich.
#
# Revision 1.49 2007/11/03 14:29:41 fabiankeil
# Spelling fixes mostly submitted by Simon Ruderich.
#
# Revision 1.48 2007/10/17 18:11:32 fabiankeil
# Add privoxy-control header filters and taggers.
#
# Revision 1.47 2007/10/06 15:45:25 fabiankeil
# Let msn hide sponsored links in #at divs.
#
# Revision 1.46 2007/10/06 09:54:13 fabiankeil
# - Let msn hide sponsored links in #ar divs.
# - Teach banners-by-link not to block the graphs for sf's tracker statistics.
#
# Revision 1.45 2007/08/11 16:54:12 fabiankeil
# - Complete the changes from r1.42.
# - Make crude-parental less sensitive to the amount of white-space,
# add the note that it doesn't work too well again and replace the
# DMOZ link with a less confusing explanation.
#
# Revision 1.44 2007/07/18 11:06:56 hal9
# Replace notarget with '' in all popups filter to keep from breaking xhmtl per
# report from Siegfried Gipp.
#
# Revision 1.43 2007/06/01 14:17:04 fabiankeil
# Mention possible delimiter conflicts with variables in dynamic pcrs commands.
#
# Revision 1.42 2007/05/17 15:55:36 fabiankeil
# Undo an improperly tested last-minute change
# and turn "text-requests" back into "css-requests".
#
# Revision 1.41 2007/05/17 15:45:41 fabiankeil
# - Mention new filter types and the 'D' option.
# - Header filters are now case-insensitive and accept a
# varying amount of whitespace after the colon.
# - Add another selector for yahoo ads.
# - New server-header filter: less-download-windows
# - New client-header taggers: text-requests and image-requests.
#
# Revision 1.40 2007/03/20 15:40:00 fabiankeil
# Adjust to new world order with dedicated header-filter actions.
#
# Revision 1.39 2007/02/21 14:10:23 fabiankeil
# - Fix a js-annoyances pcrs command that broke
# evaluated code. (BR #1124071, thanks to Bor Gergely)
# - Have unsolicited-popups and all-popups catch the
# wheather.com popup reported in in AF #1640173.
#
# Revision 1.38 2007/02/19 11:22:48 hal9
# Adding back the orginal filter content to offset problems found by Fabian.
#
# Revision 1.37 2007/02/17 13:29:44 hal9
# Updates to the crude parental filter per Feature Requests item #1648657.
#
# Revision 1.36 2007/02/05 16:47:31 fabiankeil
# - Let banners-by-link look for "advert".
# - Fix XML systax problems with banners-by-link
# and banners-by-size (AF#1651570).
#
# Revision 1.35 2006/12/21 12:28:12 fabiankeil
# Escaping special characters in filter descriptions is no
# longer necessary, it's done by Privoxy now.
#
# Revision 1.34 2006/12/12 17:32:23 fabiankeil
# Added id mbEnd to google filter, it's now and then
# used for the sponsored links.
#
# Have js-annoyances try to prevent status bar
# modifications where the status bar text is
# inside another variable. Fixes 1605710.
#
# Revision 1.33 2006/11/16 17:10:43 fabiankeil
# Removed webbugs debugging comment again.
# The apostrophe could break JavaScript and
# the comment itself could mess up existing
# comments.
#
# Revision 1.32 2006/11/10 18:04:04 fabiankeil
# Have no-ping print the ping warning in red.
#
# Modified yahoo to keep in sync with recent
# CSS changes and to suppress a useless horizontal
# scrollbar.
#
# msn now makes sure that the continue-link boxes
# act as links (the original CSS just changes the cursor).
#
# Changed fun filter regex to leave microsoft links alone.
# Fixes BR 1019996.
#
# Revision 1.31 2006/10/21 13:12:28 fabiankeil
# Added no-ping and hide-tor-exit-notation.
#
# Adjusted jumping-windows to break less.
# Fixes BR 1146134.
#
# Revision 1.30 2006/10/18 12:36:50 fabiankeil
# google filter now cleans Google groups as well.
#
# Revision 1.29 2006/10/11 14:03:17 fabiankeil
# Changed img-reorder regex to only move width
# attributes if they are following at least one
# whitespace. Fixes BR 1328455.
#
# Revision 1.28 2006/10/11 13:31:13 fabiankeil
# Added Anduin Withers' js-annoyances fix
# for not messing up escaped quotes. Fixes BR 999765.
#
# Improved blogspot filter to make it less likely that
# the blogspot banner at the top of the page is missed.
#
# Revision 1.27 2006/10/08 17:00:51 fabiankeil
# Modified webbugs filter to create a comment around the offending
# image instead of removing it entirely.
#
# Adjusted regex to only match if there's at least one whitespace
# before the width and height attributes. Makes it more likely that
# they are indeed attributes, and not part of the value of another attribute.
# Solves BR 1035587.
#
# Thanks to Martin Thomas for diagnosing the cause of the problem.
#
# Revision 1.26 2006/10/06 18:06:16 fabiankeil
# Added header filter x-httpd-php-to-html
# and reverted another img-reorder whitespace
# problem.
#
# Revision 1.25 2006/10/06 15:26:09 fabiankeil
# Bumped copyright year.
#
# Reverted parts of the last img-reorder change
# which were intended to remove superfluous whitespace
# but had the side effect to mess up some tags.
#
# Modified banners-by-size and banners-by-link to
# use border value "0" instead of "\0". Fixes BR 1100065.
#
# Revision 1.24 2006/10/06 11:25:31 fabiankeil
# Taught img-reorder not to break img tags
# with empty src attributes. Fixes BR 1089474.
# Thanks to Raphael Moll for reporting.
#
# Revision 1.23 2006/10/05 14:46:28 fabiankeil
# Replaced "<" in img-reorder's description with "&lt;".
#
# Modified msn filter to tag ads with classes instead
# of ids. There may be more than one ad per page,
# but ids are required to be unique.
#
# Revision 1.22 2006/10/04 19:17:14 fabiankeil
# Incorportated Frédéric Crozat's ie-exploits
# modification to make it less trigger-happy.
#
# Modified blogspot filter to make .post-body
# scrollable if necessary.
#
# Revision 1.21 2006/10/02 16:21:14 fabiankeil
# Adjusted yahoo filter to hide .yschspns as well.
# Added header filters: html-to-xml and xml-to-html.
#
# Revision 1.20 2006/10/01 21:00:22 fabiankeil
# New site-specific filters: google, yahoo, msn and blogspot.
#
# Revision 1.19 2006/07/18 14:48:45 david__schmidt
# Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
# with what was really the latest development (the v_3_0_branch branch)
#
# Revision 1.11.2.23 2004/02/17 13:34:01 oes
# - Beefed up the protection of the unsolicited-popups
# filter against matching in JavaScript string constants.
# - Extended the fun filter with a German joke
# - Extended the site-specifics filter with a convenience
# reeplacement for managing mailing lists at SourceForge
#
# Revision 1.11.2.22 2004/01/30 15:29:29 oes
# Updated the copyright note
#
# Revision 1.11.2.21 2004/01/20 15:15:01 oes
# Detail enhancement in all-popups
#
# Revision 1.11.2.20 2004/01/06 16:46:14 oes
# Fixed a JS syntax problem in jumping-windows
#
# Revision 1.11.2.19 2003/12/17 17:09:25 oes
# Added remedy against IE address bar spoofing
#
# Revision 1.11.2.18 2003/12/02 11:25:27 oes
# Fixed a line trashed in previous commit
#
# Revision 1.11.2.17 2003/12/01 21:58:46 oes
# Assorted tuning:
#
# - unsolicited-popups no longer matches at start or end of quoted
# strings, and is now activated earlier and deactivated later in
# the page.
# - replacement images in banners-by-* now without border
# - more effective shockwave flash flattening
# - Custom annoyance filtering for Yahoo Groups, Monster.com, NY Times.
#
# Revision 1.11.2.16 2003/05/08 09:44:56 oes
# Allow extra parameters in blink,marquee tags. Fixes bug #734012
#
# Revision 1.11.2.15 2003/03/30 13:57:08 oes
# Making unsolicited-popups safe for use on <html> tags enclosed in JS strings
#
# Revision 1.11.2.14 2003/03/19 13:17:50 oes
# - Added filter "site-specifics" to address site specific problems
# - Fixed a small problem in the img-reorder filter
#
# Revision 1.11.2.13 2003/03/18 19:28:59 oes
# Fixed a minor problem in the img-reorder filter
#
# Revision 1.11.2.12 2003/03/15 14:06:58 oes
# - Assorted refinements, optimizations and fixes in the js-annoyances,
# img-reorder, banners-by-size, banners-by-link, webbugs, refresh-tags,
# html-annoyances, content-cookies and fun filters
# - Replaced filter "popups" by choice between two modes:
# - "unsolicited-popups" tries to catch only the unsolicited ones
# - "all-popups" tries to kill them all (as before)
# - New filter "tiny-textforms" Help those tiny or hard-wrap textareas.
# - New filter "jumping-windows" that prevents windows from resizing
# and moving themselves
# - Replaced "nimda" with more general "ie-exploits" filter in which
# all filters for exploits shall be collected
#
# Revision 1.11.2.11 2002/11/12 16:14:43 oes
# Exchanged js-annoyance filter against status bar rewrites with improved version by Don Libes
#
# Revision 1.11.2.10 2002/11/11 13:39:47 oes
# Make refresh-tags filter work even on incorrect refresh tags like found on usatoday.com
#
# Revision 1.11.2.9 2002/11/08 16:39:17 oes
# Made img-reorder more cautious. Fixes bug #632715
#
# Revision 1.11.2.8 2002/10/13 21:56:52 hal9
# Adding demoronizer filter. This should include all the common abuses. I have
# left a few of the rare cases commented out (never found these in the wild).
#
# Revision 1.11.2.7 2002/09/25 15:09:39 oes
# Preserve original quoting style in <img> tags wherever possible. Fixes Bug #605956
#
# Revision 1.11.2.6 2002/08/23 14:12:26 oes
# Proofed frameset-borders against "fremaborder=0 border=0"
#
# Revision 1.11.2.5 2002/08/22 15:05:20 oes
# Added Filter to make Quicktime movies saveable (thanks to aaron@linville.org for the idea)
#
# Revision 1.11.2.4 2002/08/10 11:32:29 oes
# Attribute values in replacement tags of banners-by-size filter now undelimited. (Fixes bug #592493)
#
# Revision 1.11.2.3 2002/08/05 11:43:56 oes
# Fixed a bug in the popups filter that was introduced with the last fix :-(
#
# Revision 1.11.2.2 2002/08/01 11:20:13 oes
# Fixed bugs 587802, 577802 and an unreported one
#
# Revision 1.11.2.1 2002/07/26 15:18:26 oes
# - All filters reviewed and many shorcomings fixed
# - New filters: img-reorder, banners-by-link and js-events
# - Jobs reorderd because they are now executed in order of
# appearance
#
# Revision 1.11 2002/05/24 00:57:18 oes
# Made WeBugs job ungreedy; Fixes bug 559190
#
# Revision 1.10 2002/04/18 10:14:19 oes
# renamed some filters
#
# Revision 1.9 2002/04/11 07:36:35 oes
# Generalized js-popup filter
#
# Revision 1.8 2002/04/10 17:07:21 oes
# Fixed potentially desctructive jobs, added noflash filter
#
# Revision 1.7 2002/04/09 18:34:51 oes
# Fixed HTML syntax in replacements
#
# Revision 1.6 2002/04/03 19:49:52 swa
# name change
#
# Revision 1.5 2002/03/27 15:30:26 swa
# have a consistent appearance
#
# Revision 1.4 2002/03/26 22:29:54 swa
# we have a new homepage!
#
# Revision 1.3 2002/03/24 16:08:03 jongfoster
# Fixing banners-by-size for new config URLs
#
# Revision 1.2 2002/03/24 13:02:18 swa
# name change related issues.
#
# Revision 1.1 2002/03/24 11:37:39 jongfoster
# Name change
#
# Revision 1.24 2002/03/16 20:39:54 oes
# - Added descriptions to the filters so users will know what they select in the cgi editor
# - Added content-cookies filter
# - Bugfixed many jobs (Thanks to Al for some hints)
#
# Revision 1.22 2002/03/12 13:42:50 oes
# Fixing & Optimizing REs
#
# Revision 1.21 2002/03/12 11:59:20 oes
# Beefed up Buzzword Bingo
#
# Revision 1.20 2002/03/12 01:42:50 oes
# Introduced modular filters
#
# Revision 1.19 2002/03/10 19:49:24 oes
# Added expression to kill referer tracking in JavaScripts
#
# Revision 1.18 2002/03/08 17:14:12 oes
# PNG -> image in comments
#
# Revision 1.17 2002/03/07 03:50:54 oes
# Adapted comments to new built-in images
#
# Revision 1.16 2002/02/21 00:12:19 jongfoster
# Modifying the banner regexps to use long URLS and to autodetect
# whether to show a logo or a transparent GIF, based on actionsfile
# setting.
#
# Revision 1.15 2001/12/28 23:54:20 steudten
# Fix for feature Req #495374: http-equiv problem
#
# Revision 1.14 2001/12/09 18:55:11 david__schmidt
# Updated CODE_STATUS to beta, commented out microsuck line in re_filterfile
# for 2.9.10 beta
#
# Revision 1.13 2001/10/13 13:11:20 joergs
# Fixed WebBug filter.
#
# Revision 1.12 2001/10/07 15:46:42 oes
# Followed Guy's proposal to change the document.cookie job
#
# Revision 1.11 2001/09/21 12:34:00 joergs
# Added filter to replace "Nimda" code by a warning.
#
# Revision 1.10 2001/07/20 11:04:26 oes
# Added Rodneys javascript cookie filter
#
# Revision 1.9 2001/07/13 14:03:48 oes
# Elimiated yet another bug in the banner-by-size jobs. Shame on me!
#
# Revision 1.8 2001/06/29 13:34:00 oes
# - Added explanation for U and T options
# - Added hint on image replacement by CGI call
# - Fixed bug in banner-by-size jobs
#
# Revision 1.7 2001/06/19 14:21:56 oes
# Fixed microsuck line
#
# Revision 1.6 2001/06/09 14:01:57 swa
# header. cosmetics. default: no messing ala microsuck.
#

View File

@ -28,7 +28,7 @@ pcrs - Perl-compatible regular substitution.
.B "#include <pcrs.h>" .B "#include <pcrs.h>"
.PP .PP
.br .br
.BI "pcrs_job *pcrs_compile(const char *" pattern "," .BI "pcrs_job *pcrs_compile(const char *" pattern ","
.ti +5n .ti +5n
.BI "const char *" substitute ", const char *" options , .BI "const char *" substitute ", const char *" options ,
.ti +5n .ti +5n
@ -68,7 +68,7 @@ pcrs - Perl-compatible regular substitution.
The The
.SM PCRS .SM PCRS
library is a supplement to the library is a supplement to the
.SB PCRE(3) .SB PCRE(3)
library that implements library that implements
.RB "regular expression based substitution, like provided by " Perl(1) "'s 's'" .RB "regular expression based substitution, like provided by " Perl(1) "'s 's'"
@ -77,10 +77,10 @@ differences (see below).
In a first step, the information on a substitution, i.e. the pattern, the In a first step, the information on a substitution, i.e. the pattern, the
substitute and the options are compiled from Perl syntax to an internal form substitute and the options are compiled from Perl syntax to an internal form
.RB "called " pcrs_job " by using either the " pcrs_compile() " or " .RB "called " pcrs_job " by using either the " pcrs_compile() " or "
.BR pcrs_compile_command() " functions." .BR pcrs_compile_command() " functions."
Once the job is compiled, it can be used on subjects, which are arbitrary Once the job is compiled, it can be used on subjects, which are arbitrary
memory areas containing string or binary data, by calling memory areas containing string or binary data, by calling
.BR pcrs_execute() ". Jobs can be chained to joblists and whole" .BR pcrs_execute() ". Jobs can be chained to joblists and whole"
.RB "joblists can be applied to a subject using " pcrs_execute_list() . .RB "joblists can be applied to a subject using " pcrs_execute_list() .
@ -104,7 +104,7 @@ There are also convenience functions for freeing the jobs and for errno-to-strin
.RB "follows the '" "s" "' will be used as the delimiter. Patterns or substitutes" .RB "follows the '" "s" "' will be used as the delimiter. Patterns or substitutes"
that contain the delimiter need to quote it: that contain the delimiter need to quote it:
\fBs/th\\/is/th\\/at/\fR \fBs/th\\/is/th\\/at/\fR
.RB "will replace " "th/is" " by " "th/at" " and can be written more simply as" .RB "will replace " "th/is" " by " "th/at" " and can be written more simply as"
.BR "s|th/is|th/at|" "." .BR "s|th/is|th/at|" "."
.IR "pattern" ", " "substitute" ", " "options" " and " "command" " must be" .IR "pattern" ", " "substitute" ", " "options" " and " "command" " must be"
@ -123,7 +123,7 @@ On success, both functions return a pointer to the compiled job.
.SS Substitutes .SS Substitutes
.RI "The " "substitute" " uses" .RI "The " "substitute" " uses"
.RB "Perl syntax as documented in the " "perlre(1)" " manual page, with" .RB "Perl syntax as documented in the " "perlre(1)" " manual page, with"
some exceptions: some exceptions:
Most notably and evidently, since Most notably and evidently, since
.SM PCRS .SM PCRS
@ -147,9 +147,9 @@ refers to what the last capturing subpattern matched.
if a global substitution previously matched. if a global substitution previously matched.
.PP .PP
Perl4-style references to subpattern matches of the form Perl4-style references to subpattern matches of the form
\fB\\1, \\2, ...\fR \fB\\1, \\2, ...\fR
.RB "which only exist in Perl5 for backwards compatibility, are " "not" .RB "which only exist in Perl5 for backwards compatibility, are " "not"
supported. supported.
Also, since the substitute is a double-quoted string in Perl, you Also, since the substitute is a double-quoted string in Perl, you
@ -269,7 +269,7 @@ is set.
.SS String subjects .SS String subjects
If your If your
.SS Return value and diagnostics .SS Return value and diagnostics
@ -298,7 +298,7 @@ contains pointers to other dynamically allocated structures.
Chaining the jobs is up to you, but once you have built a linked list of jobs, Chaining the jobs is up to you, but once you have built a linked list of jobs,
.RI "you can execute a whole " joblist " on a given subject by" .RI "you can execute a whole " joblist " on a given subject by"
.RB "a single call to " pcrs_execute_list() ", which will sequentially traverse" .RB "a single call to " pcrs_execute_list() ", which will sequentially traverse"
.RB "the linked list until it reaches a " NULL " pointer, and call " pcrs_execute() .RB "the linked list until it reaches a " NULL " pointer, and call " pcrs_execute()
.RI "for each job it encounters, feeding the " result " and " result_length " of each" .RI "for each job it encounters, feeding the " result " and " result_length " of each"
.RI "call into the next as the " subject " and " subject_length ". As in the single" .RI "call into the next as the " subject " and " subject_length ". As in the single"
.RI "job case, the original " subject " remains untouched, but all interim " result "s" .RI "job case, the original " subject " remains untouched, but all interim " result "s"
@ -335,22 +335,22 @@ Under normal circumstances, it can take the following values:
While compiling the pattern, While compiling the pattern,
.SM PCRE .SM PCRE
ran out of memory. ran out of memory.
.TP .TP
.B PCRS_ERR_NOMEM .B PCRS_ERR_NOMEM
While compiling the job, While compiling the job,
.SM PCRS .SM PCRS
ran out of memory. ran out of memory.
.TP .TP
.B PCRS_ERR_CMDSYNTAX .B PCRS_ERR_CMDSYNTAX
.BR pcrs_compile_command() " didn't find four tokens while parsing the" .BR pcrs_compile_command() " didn't find four tokens while parsing the"
.IR command . .IR command .
.TP .TP
.B PCRS_ERR_STUDY .B PCRS_ERR_STUDY
A A
.SM PCRE .SM PCRE
.RB "error occured while studying the compiled pattern. Since " pcre_study() .RB "error occured while studying the compiled pattern. Since " pcre_study()
only provides textual diagnostic information, the details are lost. only provides textual diagnostic information, the details are lost.
.TP .TP
.B PCRS_WARN_BADREF .B PCRS_WARN_BADREF
.RI "The " substitute " contains a reference to a capturing subpattern that" .RI "The " substitute " contains a reference to a capturing subpattern that"
.RI "has a higher index than the number of capturing subpatterns in the " pattern .RI "has a higher index than the number of capturing subpatterns in the " pattern
@ -368,12 +368,12 @@ While matching the pattern,
ran out of memory. This can only happen if there are more than 33 backrefrences ran out of memory. This can only happen if there are more than 33 backrefrences
.RI "in the " pattern "(!)" .RI "in the " pattern "(!)"
.BR and " memory is too tight to extend storage for more." .BR and " memory is too tight to extend storage for more."
.TP .TP
.B PCRS_ERR_NOMEM .B PCRS_ERR_NOMEM
While executing the job, While executing the job,
.SM PCRS .SM PCRS
ran out of memory. ran out of memory.
.TP .TP
.B PCRS_ERR_BADJOB .B PCRS_ERR_BADJOB
.RB "The " pcrs_job "* passed to " pcrs_execute " was NULL, or the" .RB "The " pcrs_job "* passed to " pcrs_execute " was NULL, or the"
.RB "job is bogus (it contains " NULL " pointers to the compiled .RB "job is bogus (it contains " NULL " pointers to the compiled

View File

@ -2,31 +2,31 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/authors.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/authors.sgml,v $
Purpose : AUTHORS file for Privoxy Purpose : AUTHORS file for Privoxy
$Id: authors.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
$Id: authors.sgml,v 2.21 2011/12/26 17:05:40 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
======================================================================== ========================================================================
NOTE: Please read developer-manual/documentation.html before touching NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. You have been warned! anything in this, or other Privoxy documentation. You have been warned!
Failure to abide by this rule will result in the revocation of your license Failure to abide by this rule will result in the revocation of your license
to live a peaceful existence! to live a peaceful existence!
======================================================================== ========================================================================
=================================================================== ===================================================================
READ: Document Note: This file generates the AUTHORS file in the READ: Document Note: This file generates the AUTHORS file in the
top level source directory. See p-authors.sgml for list of developers top level source directory. See p-authors.sgml for list of developers
and contributors, etc. They were split from here for use in man page. and contributors, etc. They were split from here for use in man page.
=================================================================== ===================================================================
--> -->
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE"> <!entity % dummy "IGNORE">
<!entity authors SYSTEM "p-authors.sgml"> <!entity authors SYSTEM "p-authors.sgml">
<!entity p-version "3.0.11"> <!entity p-version "3.0.19">
<!entity p-status "stable"> <!entity p-status "stable">
<!entity % p-not-stable "IGNORE"> <!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE"> <!entity % p-stable "INCLUDE">

View File

@ -2,8 +2,8 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: buildsource.sgml,v 2.18 2009/02/23 09:03:12 fabiankeil Exp $ $Id: buildsource.sgml,v 2.19 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
@ -12,7 +12,7 @@
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -22,7 +22,7 @@
--> -->
<para> <para>
To build <application>Privoxy</application> from source, To build <application>Privoxy</application> from source,
<ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>, <ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>,
<ulink <ulink
url="http://www.gnu.org/software/make/make.html">GNU make url="http://www.gnu.org/software/make/make.html">GNU make
@ -32,12 +32,12 @@
<para> <para>
When building from a source tarball, When building from a source tarball,
<!-- <!--
no longer available ... no longer available ...
<ulink <ulink
url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS
tarball</ulink>), tarball</ulink>),
--> first unpack the source: --> first unpack the source:
</para> </para>
<para> <para>
@ -63,7 +63,7 @@
</para> </para>
<para> <para>
This will create a directory named <filename>current/</filename>, which will This will create a directory named <filename>current/</filename>, which will
contain the source tree. contain the source tree.
</para> </para>
@ -81,7 +81,7 @@
and group just for this purpose. See your local documentation for the correct and group just for this purpose. See your local documentation for the correct
command line to do add new users and groups (something like command line to do add new users and groups (something like
<command>adduser</command>, but the command syntax may vary from platform <command>adduser</command>, but the command syntax may vary from platform
to platform). to platform).
</para> </para>
<para> <para>
@ -113,7 +113,7 @@
autoheader autoheader
autoconf autoconf
./configure # (--help to see options) ./configure # (--help to see options)
make # (the make from GNU, sometimes called gmake) make # (the make from GNU, sometimes called gmake)
su # Possibly required su # Possibly required
make -n install # (to see where all the files will go) make -n install # (to see where all the files will go)
make -s install # (to really install, -s to silence output)</screen> make -s install # (to really install, -s to silence output)</screen>
@ -135,14 +135,14 @@
</para> </para>
<para> <para>
To build an executable with security enhanced features so that To build an executable with security enhanced features so that
users cannot easily bypass the proxy (e.g. <quote>Go There Anyway</quote>), or users cannot easily bypass the proxy (e.g. <quote>Go There Anyway</quote>), or
alter their own configurations, <command>configure</command> like this: alter their own configurations, <command>configure</command> like this:
</para> </para>
<para> <para>
<screen> <screen>
./configure --disable-toggle --disable-editor --disable-force</screen> ./configure --disable-toggle --disable-editor --disable-force</screen>
</para> </para>
<para> <para>
Then build as above. In Privoxy 3.0.7 and later, all of these options Then build as above. In Privoxy 3.0.7 and later, all of these options
can also be disabled through the configuration file. can also be disabled through the configuration file.
@ -177,9 +177,9 @@ can also be disabled through the configuration file.
</para> </para>
<para> <para>
The default installation path for <command>make install</command> is The default installation path for <command>make install</command> is
<filename>/usr/local</filename>. This may of course be customized with <filename>/usr/local</filename>. This may of course be customized with
the various <command>./configure</command> path options. If you are doing the various <command>./configure</command> path options. If you are doing
an install to anywhere besides <filename>/usr/local</filename>, be an install to anywhere besides <filename>/usr/local</filename>, be
sure to set the appropriate paths with the correct configure options sure to set the appropriate paths with the correct configure options
(<command>./configure --help</command>). Non-privileged users must of course (<command>./configure --help</command>). Non-privileged users must of course
@ -209,15 +209,15 @@ can also be disabled through the configuration file.
<literal>localstatedir</literal> (ie: <filename>var/</filename>) will default <literal>localstatedir</literal> (ie: <filename>var/</filename>) will default
to <filename>/var</filename> instead of <literal>$prefix/var</literal> so to <filename>/var</filename> instead of <literal>$prefix/var</literal> so
the logs will go to <filename>/var/log/privoxy/</filename>, and the pid file the logs will go to <filename>/var/log/privoxy/</filename>, and the pid file
will be created in <filename>/var/run/privoxy.pid</filename>. will be created in <filename>/var/run/privoxy.pid</filename>.
</para> </para>
<para> <para>
<command>make install</command> will attempt to set the correct values <command>make install</command> will attempt to set the correct values
in <filename>config</filename> (main configuration file). You should in <filename>config</filename> (main configuration file). You should
check this to make sure all values are correct. If appropriate, check this to make sure all values are correct. If appropriate,
an init script will be installed, but it is up to the user to determine an init script will be installed, but it is up to the user to determine
how and where to start <application>Privoxy</application>. The init how and where to start <application>Privoxy</application>. The init
script should be checked for correct paths and values, if anything other than script should be checked for correct paths and values, if anything other than
a default install is done. a default install is done.
</para> </para>
@ -248,9 +248,9 @@ can also be disabled through the configuration file.
<!-- Actually this is now in INSTALL --> <!-- Actually this is now in INSTALL -->
<![%p-readme;[ <![%p-readme;[
<para> <para>
The simplest command line to start <application>Privoxy</application> is The simplest command line to start <application>Privoxy</application> is
<command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>. <command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>.
See <command>privoxy --usage</command>, or the man page, for other options, See <command>privoxy --usage</command>, or the man page, for other options,
and configuration. and configuration.
</para> </para>
]]> ]]>

View File

@ -1,7 +1,7 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
<!entity % dummy "IGNORE"> <!entity % dummy "IGNORE">
<!entity config SYSTEM "p-config.sgml"> <!entity config SYSTEM "p-config.sgml">
<!entity p-version "3.0.11"> <!entity p-version "3.0.19">
<!entity p-status "stable"> <!entity p-status "stable">
<!entity % p-not-stable "IGNORE"> <!entity % p-not-stable "IGNORE">
<!entity % user-man "IGNORE"> <!entity % user-man "IGNORE">
@ -12,19 +12,19 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/config.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/config.sgml,v $
Purpose : config file generation Purpose : config file generation
$Id: config.sgml,v 2.12 2009/02/12 16:08:26 fabiankeil Exp $ $Id: config.sgml,v 2.22 2011/12/26 17:05:40 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
======================================================================== ========================================================================
NOTE: Please read developer-manual/documentation.html before touching NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. anything in this, or other Privoxy documentation.
======================================================================== ========================================================================
This file is used to generate the main Privoxy config file. It is mostly This file is used to generate the main Privoxy config file. It is mostly
content included from p-config.sgml (where all the data is). See that content included from p-config.sgml (where all the data is). See that
file for more comments. file for more comments.
--> -->

View File

@ -2,10 +2,10 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/contacting.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/contacting.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: contacting.sgml,v 2.14 2008/04/26 11:38:51 fabiankeil Exp $
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/ $Id: contacting.sgml,v 2.30 2011/11/19 14:44:01 fabiankeil Exp $
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
====================================================================== ======================================================================
@ -29,13 +29,13 @@
<para> <para>
We value your feedback. In fact, we rely on it to improve We value your feedback. In fact, we rely on it to improve
<application>Privoxy</application> and its configuration. <application>Privoxy</application> and its configuration.
However, please note the following hints, so we can However, please note the following hints, so we can
provide you with the best support: provide you with the best support:
</para> </para>
<sect2 id="contact-support"><title>Get Support</title> <sect2 id="contact-support"><title>Get Support</title>
<para> <para>
For casual users, our For casual users, our
<ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">support forum at SourceForge</ulink> <ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">support forum at SourceForge</ulink>
is probably best suited: is probably best suited:
<ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</ulink> <ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</ulink>
@ -52,6 +52,15 @@
developers, either use the mailing lists or the support trackers. developers, either use the mailing lists or the support trackers.
</para> </para>
<para>
If you have to contact a Privoxy developer directly for other reasons,
please send a real mail and do not bother with SourceForge's messaging
system. Answers to SourceForge messages are usually bounced by SourceForge's
mail server in which case the developer wasted time writing a response you
don't get. From your point of view it will look like your message has
been completely ignored, so this is frustrating for all parties involved.
</para>
<para> <para>
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
addresses have to be accepted manually by a moderator. This may cause a addresses have to be accepted manually by a moderator. This may cause a
@ -77,30 +86,30 @@
<listitem> <listitem>
<para> <para>
Configuration issues, such as ads that slip through, or sites that Configuration issues, such as ads that slip through, or sites that
don't function properly due to one <application>Privoxy</application> don't function properly due to one <application>Privoxy</application>
<quote>action</quote> or another being turned <quote>on</quote>. <quote>action</quote> or another being turned <quote>on</quote>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<quote>Bugs</quote> in the programming code that makes up <quote>Bugs</quote> in the programming code that makes up
<application>Privoxy</application>, such as that might cause a crash. <application>Privoxy</application>, such as that might cause a crash.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<sect3 id="contact-ads"><title>Reporting Ads or Other Configuration Problems</title> <sect3 id="contact-ads"><title>Reporting Ads or Other Configuration Problems</title>
<para> <para>
Please send feedback on ads that slipped through, innocent images that were Please send feedback on ads that slipped through, innocent images that were
blocked, sites that don't work properly, and other configuration related problem of blocked, sites that don't work properly, and other configuration related problem of
<filename>default.action</filename> file, to <filename>default.action</filename> file, to
<ulink url="http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"> <ulink url="http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288">
http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>, http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>,
the Actions File Tracker. the Actions File Tracker.
</para> </para>
<para> <para>
New, improved <filename>default.action</filename> files may occasionally be made New, improved <filename>default.action</filename> files may occasionally be made
@ -115,15 +124,15 @@
<sect3 id="contact-bugs"><title>Reporting Bugs</title> <sect3 id="contact-bugs"><title>Reporting Bugs</title>
<para> <para>
Please report all bugs through our bug tracker: Please report all bugs through our bug tracker:
<ulink url="http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</ulink>. <ulink url="http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</ulink>.
</para> </para>
<para> <para>
Before doing so, please make sure that the bug has <emphasis>not already been submitted</emphasis> Before doing so, please make sure that the bug has <emphasis>not already been submitted</emphasis>
and observe the additional hints at the top of the <ulink and observe the additional hints at the top of the <ulink
url="http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118">submit url="http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118">submit
form</ulink>. If already submitted, please feel free to add any info to the form</ulink>. If already submitted, please feel free to add any info to the
original report that might help to solve the issue. original report that might help to solve the issue.
</para> </para>
@ -150,7 +159,7 @@
that your bug still exists. that your bug still exists.
</para> </para>
<para> <para>
Please be sure to provide the following information: Please be sure to provide the following information:
</para> </para>
<para> <para>
<itemizedlist> <itemizedlist>
@ -161,7 +170,7 @@ Please be sure to provide the following information:
(if you got the source from CVS, please also provide the source code revisions (if you got the source from CVS, please also provide the source code revisions
as shown in <ulink url="http://config.privoxy.org/show-version">http://config.privoxy.org/show-version</ulink>). as shown in <ulink url="http://config.privoxy.org/show-version">http://config.privoxy.org/show-version</ulink>).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
@ -171,11 +180,11 @@ Please be sure to provide the following information:
sending the output of <quote>uname -a</quote> should do, sending the output of <quote>uname -a</quote> should do,
in case of GNU/Linux, please also name the distribution. in case of GNU/Linux, please also name the distribution.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The name, platform, and version of the <application>browser</application> The name, platform, and version of the <application>browser</application>
you were using (e.g. <application>Internet Explorer v5.5</application> for Mac). you were using (e.g. <application>Internet Explorer v5.5</application> for Mac).
</para> </para>
</listitem> </listitem>
@ -183,9 +192,9 @@ Please be sure to provide the following information:
<listitem> <listitem>
<para> <para>
The URL where the problem occurred, or some way for us to duplicate the The URL where the problem occurred, or some way for us to duplicate the
problem (e.g. <literal>http://somesite.example.com/?somethingelse=123</literal>). problem (e.g. <literal>http://somesite.example.com/?somethingelse=123</literal>).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
@ -193,52 +202,85 @@ Please be sure to provide the following information:
by the <application>Privoxy</application> developers via SourceForge, by the <application>Privoxy</application> developers via SourceForge,
or if you got your copy somewhere else. or if you got your copy somewhere else.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Whether you are using <application>Privoxy</application> in tandem with Whether you are using <application>Privoxy</application> in tandem with
another proxy such as <application>Tor</application>. If so, please another proxy such as <application>Tor</application>. If so, please
temporary disable the other proxy to see if the symptoms change. temporary disable the other proxy to see if the symptoms change.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Whether you are using a personal firewall product. If so, does Whether you are using a personal firewall product. If so, does
<application>Privoxy</application> work without it? <application>Privoxy</application> work without it?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Any other pertinent information to help identify the problem such as config Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each or log file excerpts (yes, you should have log file entries for each
action taken). action taken). To get a meaningful logfile, please make sure that the
<ulink url="../user-manual/config.html#LOGFILE">logfile directive</ulink>
is being used and the following <ulink
url="../user-manual/config.html#DEBUG">debug options</ulink> are enabled:
<literallayout>debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.
debug 2 # show each connection status
debug 4 # show I/O status
debug 8 # show header parsing
debug 128 # debug redirects
debug 256 # debug GIF de-animation
debug 512 # Common Log Format
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
debug 4096 # Startup banner and warnings.
debug 8192 # Non-fatal errors</literallayout>
If you are having trouble with a filter, please additionally enable
<literallayout>debug 64 # debug regular expression filters</literallayout>
If you are using Privoxy 3.0.17 or later and suspect that it interprets the
request or the response incorrectly, please enable
<literallayout>debug 32768 # log all data read from the network</literallayout>
Note that Privoxy log files may contain sensitive information so please don't
submit any logfiles you didn't read first. You can mask sensitive information
as long as it's clear that you removed something.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
<para> <para>
You don't have to tell us your actual name when filing a problem You don't have to tell us your actual name when filing a problem
report, but please use a nickname so we can differentiate between report, but if you don't, please use a nickname so we can differentiate
your messages and the ones entered by other "anonymous" users that between your messages and the ones entered by other "anonymous" users that
may respond to your request if they have the same problem or already may respond to your request if they have the same problem or already
found a solution. found a solution. Note that due to spam the trackers may not always
allow to post without being logged into SourceForge. If that's the
case, you are still free to create a login that isn't directly linked
to your name, though.
</para> </para>
<para> <para>
Please also check the status of your request a few days after submitting Please also check the status of your request a few days after submitting
it, as we may request additional information. If you use a SF id, it, as we may request additional information. If you use a SF id,
you should automatically get a mail when someone responds to your request. you should automatically get a mail when someone responds to your request.
Please don't bother to add an email address when using the tracker.
If you prefer to communicate through email, just use one of the mailing
lists directly.
</para>
<para>
If you are new to reporting problems, you might be interested in
<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
>How to Report Bugs Effectively</ulink>.
</para> </para>
<para> <para>
The <ulink url="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT">appendix The <ulink url="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT">appendix
of the Privoxy User Manual</ulink> also has helpful information of the Privoxy User Manual</ulink> also has helpful information
on understanding <literal>actions</literal>, and <literal>action</literal> debugging. on understanding <literal>actions</literal>, and <literal>action</literal> debugging.
</para> </para>
</sect3> </sect3>
</sect2> </sect2>
@ -251,10 +293,13 @@ Please be sure to provide the following information:
</para> </para>
</sect2> </sect2>
<sect2 id="contact-other"><title>Other</title> <sect2 id="mailing-lists"><title>Mailing Lists</title>
<para> <para>
For any other issues, feel free to use the mailing lists. Technically interested users If you prefer to communicate through email, instead of using a web interface,
and people who wish to contribute to the project are also welcome on the developers list! feel free to use one of the mailing lists.
To discuss issues that haven't been completely diagnosed yet, please use the Privoxy
users list. Technically interested users and people who wish to contribute to
the project are always welcome on the developers list.
You can find an overview of all <application>Privoxy</application>-related mailing lists, You can find an overview of all <application>Privoxy</application>-related mailing lists,
including list archives, at: including list archives, at:
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>. <ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.

View File

@ -2,17 +2,17 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/copyright.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/copyright.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: copyright.sgml,v 2.10 2009/02/10 16:13:30 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ $Id: copyright.sgml,v 2.14 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
====================================================================== ======================================================================
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -23,8 +23,8 @@
faq faq
************************************************************** **************************************************************
NOTE: the &my-copy entity must be defined in any file that will NOTE: the &my-copy entity must be defined in any file that will
include this file. (This is a workaround for docbook2man not include this file. (This is a workaround for docbook2man not
handling the standard &copy entity in the man page processing.) handling the standard &copy entity in the man page processing.)
************************************************************** **************************************************************
@ -36,7 +36,7 @@
--> -->
<para> <para>
Copyright &my-copy; 2001-2009 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email> Copyright &my-copy; 2001-2011 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email>
</para> </para>
<para> <para>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,8 +2,8 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/history.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/history.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: history.sgml,v 2.7 2009/02/22 11:05:21 fabiankeil Exp $ $Id: history.sgml,v 2.8 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
@ -12,7 +12,7 @@
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -26,7 +26,7 @@
<para> <para>
A long time ago, there was the A long time ago, there was the
<ulink url="http://www.junkbusters.com/ijb.html"><application>Internet Junkbuster</application></ulink>, <ulink url="http://www.junkbusters.com/ijb.html"><application>Internet Junkbuster</application></ulink>,
by Anonymous Coders and <ulink url="http://www.junkbusters.com/">Junkbusters by Anonymous Coders and <ulink url="http://www.junkbusters.com/">Junkbusters
Corporation</ulink>. This saved many users a lot of pain in the early days of Corporation</ulink>. This saved many users a lot of pain in the early days of
web advertising and user tracking. web advertising and user tracking.
@ -36,7 +36,7 @@
But the web, its protocols and standards, and with it, the techniques for But the web, its protocols and standards, and with it, the techniques for
forcing ads on users, give up autonomy over their browsing, and forcing ads on users, give up autonomy over their browsing, and
for tracking them, keeps evolving. Unfortunately, the <application>Internet for tracking them, keeps evolving. Unfortunately, the <application>Internet
Junkbuster</application> did not. Version 2.0.2, published in 1998, was Junkbuster</application> did not. Version 2.0.2, published in 1998, was
(and is) the last official (and is) the last official
<ulink url="http://www.junkbusters.com/ijbdist.html#release">release</ulink> <ulink url="http://www.junkbusters.com/ijbdist.html#release">release</ulink>
available from <ulink url="http://www.junkbusters.com">Junkbusters Corporation</ulink>. available from <ulink url="http://www.junkbusters.com">Junkbusters Corporation</ulink>.
@ -66,6 +66,6 @@
<para> <para>
The result of this is <application>Privoxy</application>, whose first The result of this is <application>Privoxy</application>, whose first
stable version, 3.0, was released August, 2002. stable version, 3.0, was released August, 2002.
<!-- Cautious!!!!!!!!! ;) --> <!-- Cautious!!!!!!!!! ;) -->
</para> </para>

View File

@ -1,7 +1,7 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE"> <!entity % dummy "IGNORE">
<!entity buildsource SYSTEM "buildsource.sgml"> <!entity buildsource SYSTEM "buildsource.sgml">
<!entity p-version "3.0.11"> <!entity p-version "3.0.19">
<!entity p-status "stable"> <!entity p-status "stable">
<!entity % p-stable "INCLUDE"> <!entity % p-stable "INCLUDE">
<!entity % p-not-stable "IGNORE"> <!entity % p-not-stable "IGNORE">
@ -15,16 +15,16 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
Purpose : INSTALL file for Privoxy Purpose : INSTALL file for Privoxy
$Id: install.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $ $Id: install.sgml,v 2.21 2011/12/26 17:05:40 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
======================================================================== ========================================================================
NOTE: Please read developer-manual/documentation.html before touching NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. You have been warned! anything in this, or other Privoxy documentation. You have been warned!
Failure to abide by this rule will result in the revocation of your license Failure to abide by this rule will result in the revocation of your license
to live a peaceful existence! to live a peaceful existence!
======================================================================== ========================================================================
@ -62,10 +62,10 @@
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -80,8 +80,8 @@
* The GNU General Public License should be included with * The GNU General Public License should be included with
* this file. If not, you can view it at * this file. If not, you can view it at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or write to the Free Software Foundation, Inc., * or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA * USA
* *
*********************************************************************/ *********************************************************************/

View File

@ -1,420 +0,0 @@
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY % html "IGNORE">
<![%html;[
<!ENTITY % print "IGNORE">
<!ENTITY docbook.dsl SYSTEM "none/html/docbook.dsl" CDATA dsssl>
]]>
<!ENTITY % print "INCLUDE">
<![%print;[
<!ENTITY docbook.dsl SYSTEM "none/print/docbook.dsl" CDATA dsssl>
]]>
]>
<!--
;; borrowed from the LDP stylesheet, with modifications, HB.
;; Added support for css 03/20/02, and other mods.
-->
<style-sheet>
<style-specification id="print" use="docbook">
<style-specification-body>
;; ==============================
;; customize the print stylesheet
;; ==============================
;;
;; see http://docbook.sourceforge.net/projects/dsssl/doc/print.html
;;
(define %indent-screen-lines%
;; Indent lines in a 'Screen'?
#t)
(define %callout-fancy-bug%
;; Use fancy callout bugs?
#t)
(define %chap-app-running-heads%
;; Generate running headers and footers on chapter-level elements?
#t)
(define %chap-app-running-head-autolabel%
;; Put chapter labels in running heads?
#t)
;; this is necessary because right now jadetex does not understand
;; symbolic entities, whereas things work well with numeric entities.
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;; put the legal notice in a separate file
(define %generate-legalnotice-link%
#t)
;; use graphics in admonitions, and have their path be "stylesheet-images"
;; NO: they do not yet look very good
(define %admon-graphics-path%
"./stylesheet-images/")
(define %admon-graphics%
#f)
(define %funcsynopsis-decoration%
;; make funcsynopsis look pretty
#t)
;;(define %shade-verbatim%
;; #t)
(define %section-autolabel% #t)
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
;; HB changed TOC depth to 3 levels.
(define (toc-depth nd)
3)
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define %body-attr%
;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY?
;; DESC
;; A list of the the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
(list
(list "BGCOLOR" "#EEEEEE")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
(define %stylesheet%
;; REFENTRY stylesheet
;; PURP Name of the stylesheet to use
;; DESC
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
;; suppress the stylesheet LINK.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"../p_doc.css")
(define %stylesheet-type%
;; REFENTRY stylesheet-type
;; PURP The type of the stylesheet to use
;; DESC
;; The type of the stylesheet to place in the HTML LINK TAG.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"text/css")
(define %css-liststyle-alist%
;; REFENTRY css-liststyle-alist
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
;; DESC
;; If '%css-decoration%' is turned on then the list-style-type property of
;; list items will be set to reflect the list item style selected in the
;; DocBook instance. This associative list maps the style type names used
;; in your instance to the appropriate CSS names. If no mapping exists,
;; the name from the instance will be used.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
'(("bullet" "disc")
("box" "square")))
(define %css-decoration%
;; REFENTRY css-decoration
;; PURP Enable CSS decoration of elements
;; DESC
;; If '%css-decoration%' is turned on then HTML elements produced by the
;; stylesheet may be decorated with STYLE attributes. For example, the
;; LI tags produced for list items may include a fragment of CSS in the
;; STYLE attribute which sets the CSS property "list-style-type".
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
#t)
;; swa1
(define %generate-part-toc%
#f)
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#t)
(define %generate-part-toc-on-titlepage%
;; Should the Part TOC appear on the Part title page?
#f)
;;Do you want a separate page for the title?
(define %generate-article-titlepage-on-separate-page%
#t)
;;Do you want the article toc on the titlepage or separate?
(define %generate-article-toc-on-titlepage%
#f)
;;Titlepage Separate?
;; This is the one that makes TOC only on first page!! hal.
(define (chunk-skip-first-element-list)
'())
(define %body-start-indent%
;; Default indent of body text
2pi)
(define %para-indent-firstpara%
;; First line start-indent for the first paragraph
0pt)
;; swa2
(define %para-indent%
;; First line start-indent for paragraphs (other than the first)
0pt)
(define %block-start-indent%
;; Extra start-indent for block-elements
2pt)
;;Define distance between paragraphs
(define %para-sep%
(/ %bf-size% 2.0))
;; with swa2 no effects
;; swa3
;;Define distance between block elements (figures, tables, etc.).
(define %block-sep%
(* %para-sep% 1.0))
;; (* %para-sep% 2.0))
(define %hyphenation%
;; Allow automatic hyphenation?
#t)
(define %left-margin% 5pi)
(define %right-margin% 5pi)
(define %top-margin% 5pi)
(define %bottom-margin% 5pi)
(define %footer-margin% 2pi)
(define %header-margin% 2pi)
(define %line-spacing-factor% 1.3)
;; Factor used to calculate leading
;; The leading is calculated by multiplying the current font size by the
;; '%line-spacing-factor%'. For example, if the font size is 10pt and
;; the '%line-spacing-factor%' is 1.1, then the text will be
;; printed "10-on-11".
(define %head-before-factor%
;; Factor used to calculate space above a title
;; The space before a title is calculated by multiplying the font size
;; used in the title by the '%head-before-factor%'.
;; 0.75)
0.5)
(define %head-after-factor%
;; Factor used to calculate space below a title
;; The space after a title is calculated by multiplying the font size used
;; in the title by the '%head-after-factor%'.
0.5)
(define %input-whitespace-treatment% 'collapse)
(define ($generate-article-lot-list$)
;; Which Lists of Titles should be produced for Articles?
(list ))
</style-specification-body>
</style-specification>
<!--
;; ===================================================
;; customize the html stylesheet; borrowed from Cygnus
;; at http://sourceware.cygnus.com/ (cygnus-both.dsl)
;; ===================================================
-->
<style-specification id="html" use="docbook">
<style-specification-body>
;; this is necessary because right now jadetex does not understand
;; symbolic entities, whereas things work well with numeric entities.
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;; put the legal notice in a separate file
(define %generate-legalnotice-link%
#t)
;; use graphics in admonitions, and have their path be "stylesheet-images"
;; NO: they do not yet look very good
(define %admon-graphics-path%
"./stylesheet-images/")
(define %admon-graphics%
#f)
(define %funcsynopsis-decoration%
;; make funcsynopsis look pretty
#t)
(define %html-ext%
".html")
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#t)
;; HB added next three statements 05/03/02.
;;Do you want a separate page for the title?
(define %generate-article-titlepage-on-separate-page%
#t)
;;Do you want the article toc on the titlepage or separate?
(define %generate-article-toc-on-titlepage%
#t)
;;Titlepage Separate?
;; This is the one that makes TOC only on first page!! hal.
(define (chunk-skip-first-element-list)
'())
(define %root-filename%
;; The filename of the root HTML document (e.g, "index").
"index")
(define %generate-part-toc%
#t)
(define %shade-verbatim%
#t)
(define %use-id-as-filename%
;; Use ID attributes as name for component HTML files?
#t)
(define %graphic-default-extension%
"gif")
(define %section-autolabel% #t)
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
;; HB changed TOC depth to 3 levels.
(define (toc-depth nd)
3)
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define %body-attr%
;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY?
;; DESC
;; A list of the the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
(list
(list "BGCOLOR" "#EEEEEE")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
(define %stylesheet%
;; REFENTRY stylesheet
;; PURP Name of the stylesheet to use
;; DESC
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
;; suppress the stylesheet LINK.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"../p_doc.css")
(define %stylesheet-type%
;; REFENTRY stylesheet-type
;; PURP The type of the stylesheet to use
;; DESC
;; The type of the stylesheet to place in the HTML LINK TAG.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"text/css")
(define %css-liststyle-alist%
;; REFENTRY css-liststyle-alist
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
;; DESC
;; If '%css-decoration%' is turned on then the list-style-type property of
;; list items will be set to reflect the list item style selected in the
;; DocBook instance. This associative list maps the style type names used
;; in your instance to the appropriate CSS names. If no mapping exists,
;; the name from the instance will be used.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
'(("bullet" "disc")
("box" "square")))
(define %css-decoration%
;; REFENTRY css-decoration
;; PURP Enable CSS decoration of elements
;; DESC
;; If '%css-decoration%' is turned on then HTML elements produced by the
;; stylesheet may be decorated with STYLE attributes. For example, the
;; LI tags produced for list items may include a fragment of CSS in the
;; STYLE attribute which sets the CSS property "list-style-type".
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
#t)
;; HB added 2008-01-19
(define %html-header-tags%
'(("META" ("HTTP-EQUIV" "Content-Type") ("CONTENT" "text/html;
charset=ISO-8859-1"))))
</style-specification-body>
</style-specification>
<style-specification id="html-notoc" use="html">
<style-specification-body>
;; ===================================================
;; Vairant without TOC for the Homepage --oes 24/05/02
;; ===================================================
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#f)
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="docbook.dsl">
</style-sheet>

View File

@ -83,7 +83,7 @@
;; REFENTRY body-attr ;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY? ;; PURP What attributes should be hung off of BODY?
;; DESC ;; DESC
;; A list of the the BODY attributes that should be generated. ;; A list of the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the ;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute. ;; name and value of a BODY attribute.
;; /DESC ;; /DESC

View File

@ -2,17 +2,17 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/license.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/license.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: license.sgml,v 2.6 2008/05/23 15:09:48 fabiankeil Exp $ $Id: license.sgml,v 2.7 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
====================================================================== ======================================================================
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -27,7 +27,7 @@
<para> <para>
<application>Privoxy</application> is free software; you can <application>Privoxy</application> is free software; you can
redistribute it and/or modify it under the terms of the redistribute it and/or modify it under the terms of the
<citetitle>GNU General Public License</citetitle>, version 2, <citetitle>GNU General Public License</citetitle>, version 2,
as published by the Free Software Foundation. as published by the Free Software Foundation.
</para> </para>

View File

@ -2,8 +2,8 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/newfeatures.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/newfeatures.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: newfeatures.sgml,v 2.10 2009/02/14 17:37:13 fabiankeil Exp $ $Id: newfeatures.sgml,v 2.14 2009/10/10 05:51:13 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
@ -12,7 +12,7 @@
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -30,57 +30,64 @@
FIXME: complete the list of features. change the order: most important FIXME: complete the list of features. change the order: most important
features to the top of the list. prefix new features with "NEW". features to the top of the list. prefix new features with "NEW".
</para> </para>
</listitem> </listitem>
--> -->
<listitem> <listitem>
<para> <para>
Can keep outgoing connections alive and reuse them later on. Supports "Connection: keep-alive". Outgoing connections can
be kept alive independently from the client.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Supports IPv6, provided the operating system does so too,
and the configure script detects it.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Supports tagging which allows to change the behaviour Supports tagging which allows to change the behaviour
based on client and server headers. based on client and server headers.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Can be run as an "intercepting" proxy, which obviates the need to Can be run as an "intercepting" proxy, which obviates the need to
configure browsers individually. configure browsers individually.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Sophisticated actions and filters for manipulating both server and client Sophisticated actions and filters for manipulating both server and client
headers. headers.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Can be chained with other proxies. Can be chained with other proxies.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Integrated browser based configuration and control utility at <ulink Integrated browser-based configuration and control utility at <ulink
url="http://config.privoxy.org/">http://config.privoxy.org/</ulink> url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based (shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
tracing of rule and filter effects. Remote toggling. tracing of rule and filter effects. Remote toggling.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Web page filtering (text replacements, removes banners based on size, Web page filtering (text replacements, removes banners based on size,
invisible <quote>web-bugs</quote>, JavaScript and HTML annoyances, invisible <quote>web-bugs</quote> and HTML annoyances, etc.)
pop-up windows, etc.)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
@ -88,69 +95,50 @@
user settings to reside in separate files, so that installing updated user settings to reside in separate files, so that installing updated
actions files won't overwrite individual user settings. actions files won't overwrite individual user settings.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support for Perl Compatible Regular Expressions in the configuration files, and Support for Perl Compatible Regular Expressions in the configuration files, and
a more sophisticated and flexible configuration syntax. a more sophisticated and flexible configuration syntax.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improved cookie management features (e.g. session based cookies). GIF de-animation.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
GIF de-animation.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Bypass many click-tracking scripts (avoids script redirection). Bypass many click-tracking scripts (avoids script redirection).
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Multi-threaded (POSIX and native threads).
</para>
</listitem>
<listitem> <listitem>
<para> <para>
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page). User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Auto-detection and re-reading of config file changes. Auto-detection and re-reading of config file changes.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improved signal handling, and a true daemon mode (Unix). Most features are controllable on a per-site or per-location basis.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Every feature now controllable on a per-site or per-location basis, configuration
more powerful and versatile over-all.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Many smaller new features added, limitations and bugs removed. Many smaller new features added, limitations and bugs removed.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>

View File

@ -2,8 +2,8 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/p-authors.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/p-authors.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: p-authors.sgml,v 2.34 2009/02/08 18:13:26 fabiankeil Exp $ $Id: p-authors.sgml,v 2.44 2011/12/26 18:41:54 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
@ -12,7 +12,7 @@
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -35,11 +35,8 @@ Current Privoxy Team:
]]> ]]>
Hal Burgiss Hal Burgiss
Mark Miller
Gerry Murphy
Lee Rian Lee Rian
Roland Rosenfeld Roland Rosenfeld
Jörg Strohmayer
<![%p-authors-formal;[ <![%p-authors-formal;[
</literallayout> </literallayout>
@ -61,10 +58,13 @@ Current Privoxy Team:
Adam Lock Adam Lock
Guy Laroche Guy Laroche
Justin McMurtry Justin McMurtry
Mark Miller
Gerry Murphy
Andreas Oesterhelt Andreas Oesterhelt
Haroon Rafique Haroon Rafique
Georg Sauthoff Georg Sauthoff
Thomas Steudten Thomas Steudten
Jörg Strohmayer
Rodney Stromlund Rodney Stromlund
Sviatoslav Sviridov Sviatoslav Sviridov
Sarantis Paskalis Sarantis Paskalis
@ -80,10 +80,14 @@ Current Privoxy Team:
<literallayout> <literallayout>
Ken Arromdee Ken Arromdee
Devin Bayer Devin Bayer
Havard Berland
Gergely Bor Gergely Bor
Francois Botha
Reiner Buehl Reiner Buehl
Andrew J. Caines Andrew J. Caines
Clifford Caoile Clifford Caoile
Wan-Teh Chang
Billy Crook
Frédéric Crozat Frédéric Crozat
Michael T. Davis Michael T. Davis
Mattes Dolak Mattes Dolak
@ -95,6 +99,7 @@ Current Privoxy Team:
Stephen Gildea Stephen Gildea
Daniel Griscom Daniel Griscom
Felix Gröbert Felix Gröbert
Jeff H.
Aaron Hamid Aaron Hamid
Darel Henman Darel Henman
Magnus Holmgren Magnus Holmgren
@ -108,13 +113,17 @@ Current Privoxy Team:
Bert van Leeuwen Bert van Leeuwen
Don Libes Don Libes
Paul Lieverse Paul Lieverse
Han Liu
Toby Lyward Toby Lyward
Wil Mahan Wil Mahan
Jindrich Makovicka Jindrich Makovicka
Raphael Marichez
Francois Marier
David Mediavilla David Mediavilla
Raphael Moll Raphael Moll
Amuro Namie Amuro Namie
Adam Piggott Adam Piggott
Petr Písar
Dan Price Dan Price
Roberto Ragusa Roberto Ragusa
Félix Rauch Félix Rauch
@ -122,6 +131,7 @@ Current Privoxy Team:
Chung-chieh Shan Chung-chieh Shan
Spinor S. Spinor S.
Bart Schelstraete Bart Schelstraete
Dan Stahlke
Oliver Stoeneberg Oliver Stoeneberg
Peter Thoenen Peter Thoenen
Martin Thomas Martin Thomas

File diff suppressed because it is too large Load Diff

View File

@ -4,22 +4,22 @@
Purpose : Manual Page Purpose : Manual Page
This file belongs into This file belongs into
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/ ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
$Id: privoxy-man-page.sgml,v 2.29 2009/02/19 02:20:22 hal9 Exp $ $Id: privoxy-man-page.sgml,v 2.40 2011/12/26 17:05:40 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
======================================================================== ========================================================================
NOTE: Please read developer-manual/documentation.html before touching NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. anything in this, or other Privoxy documentation.
======================================================================== ========================================================================
Doc NOTES: This is some tricky markup! There are some quirks Doc NOTES: This is some tricky markup! There are some quirks
to how this markup is handled. It is not always so co-operative. to how this markup is handled. It is not always so co-operative.
Please don't change the markup unless you can verify the changes Please don't change the markup unless you can verify the changes
will improve finished output! will improve finished output!
literallayout tags are particularly sensitive to where they are placed. literallayout tags are particularly sensitive to where they are placed.
The 'replaceable' and 'command' tags are used here somewhat unconventionally, The 'replaceable' and 'command' tags are used here somewhat unconventionally,
since it seems to generate the proper formatting (at least for me :). since it seems to generate the proper formatting (at least for me :).
@ -28,21 +28,21 @@
Requires docbook2man (short perl script), see CVS Requires docbook2man (short perl script), see CVS
http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
perl module. perl module.
For man page references, see: For man page references, see:
http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/using.html http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/using.html
http://docbook.org/tdg/en/html/ch02.html#making-refentry http://docbook.org/tdg/en/html/ch02.html#making-refentry
--> -->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[ <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[
<!entity % dummy "IGNORE"> <!entity % dummy "IGNORE">
<!entity p-intro SYSTEM "privoxy.sgml"> <!entity p-intro SYSTEM "privoxy.sgml">
<!entity seealso SYSTEM "seealso.sgml"> <!entity seealso SYSTEM "seealso.sgml">
<!entity copyright SYSTEM "copyright.sgml"> <!entity copyright SYSTEM "copyright.sgml">
<!entity license SYSTEM "license.sgml"> <!entity license SYSTEM "license.sgml">
<!entity authors SYSTEM "p-authors.sgml"> <!entity authors SYSTEM "p-authors.sgml">
<!entity p-version "3.0.11"> <!entity p-version "3.0.19">
<!entity p-status "stable"> <!entity p-status "stable">
<!entity % p-not-stable "IGNORE"> <!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE"> <!entity % p-stable "INCLUDE">
@ -57,7 +57,7 @@
<date>2009-02-15</date> <date>2009-02-15</date>
</refentryinfo> </refentryinfo>
<refmeta> <refmeta>
<refentrytitle>privoxy</refentrytitle> <refentrytitle>privoxy</refentrytitle>
<manvolnum>1</manvolnum> <manvolnum>1</manvolnum>
<refmiscinfo> <refmiscinfo>
Privoxy &p-version;<![%p-not-stable;[ &p-status;]]> Privoxy &p-version;<![%p-not-stable;[ &p-status;]]>
@ -70,16 +70,16 @@
</refnamediv> </refnamediv>
<refsynopsisdiv> <refsynopsisdiv>
<cmdsynopsis> <cmdsynopsis>
<command>privoxy</command> <command>privoxy</command>
<arg><option>--help</option></arg> <arg><option>--help</option></arg>
<arg><option>--version</option></arg> <arg><option>--version</option></arg>
<arg><option>--no-daemon</option></arg> <arg><option>--no-daemon</option></arg>
<arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg> <arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg>
<arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg> <arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg>
<arg><option>--chroot</option></arg> <arg><option>--chroot</option></arg>
<arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg> <arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg>
<arg><replaceable class="parameter">configfile</replaceable></arg> <arg><replaceable class="parameter">configfile</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
@ -92,7 +92,7 @@
options: options:
</para> </para>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>--help</term> <term>--help</term>
<listitem> <listitem>
@ -157,7 +157,7 @@
<command>Privoxy</command> process that the directory tree starts <command>Privoxy</command> process that the directory tree starts
there. If set up carefully, this can limit the impact of possible there. If set up carefully, this can limit the impact of possible
vulnerabilities in <command>Privoxy</command> to the files contained in vulnerabilities in <command>Privoxy</command> to the files contained in
that hierarchy. that hierarchy.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -177,7 +177,7 @@
If the <filename>configfile</filename> is not specified on the command line, If the <filename>configfile</filename> is not specified on the command line,
<command>Privoxy</command> will look for a file named <command>Privoxy</command> will look for a file named
<filename>config</filename> in the current directory. If no <filename>config</filename> in the current directory. If no
<filename>configfile</filename> is found, <command>Privoxy</command> will <filename>configfile</filename> is found, <command>Privoxy</command> will
fail to start. fail to start.
</para> </para>
@ -201,21 +201,21 @@
filter to build an intercepting proxy filter to build an intercepting proxy
(see <filename>config</filename>). The default setting is for (see <filename>config</filename>). The default setting is for
localhost, on port 8118 (configurable in the main config file). To set the localhost, on port 8118 (configurable in the main config file). To set the
HTTP proxy in Firefox, go through: <command>Tools</command>; HTTP proxy in Firefox, go through: <command>Tools</command>;
<command>Options</command>; <command>General</command>; <command>Options</command>; <command>General</command>;
<command>Connection Settings</command>; <command>Connection Settings</command>;
<command>Manual Proxy Configuration</command>. <command>Manual Proxy Configuration</command>.
</para> </para>
<para> <para>
For Internet Explorer, go through: <command>Tools</command>; For Internet Explorer, go through: <command>Tools</command>;
<command>Internet Properties</command>; <command>Connections</command>; <command>Internet Properties</command>; <command>Connections</command>;
<command>LAN Settings</command>. <command>LAN Settings</command>.
</para> </para>
<para> <para>
The Secure (SSL) Proxy should also be set to the same values, otherwise The Secure (SSL) Proxy should also be set to the same values, otherwise
https: URLs will not be proxied. Note: <command>Privoxy</command> can only https: URLs will not be proxied. Note: <command>Privoxy</command> can only
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols. proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
HTTPS presents some limitations, and not all features will work with HTTPS HTTPS presents some limitations, and not all features will work with HTTPS
connections. connections.
</para> </para>
@ -231,25 +231,25 @@
<command>Privoxy</command> can be configured with the various configuration <command>Privoxy</command> can be configured with the various configuration
files. The default configuration files are: <filename>config</filename>, files. The default configuration files are: <filename>config</filename>,
<filename>default.filter</filename>, <filename>default.action</filename> and <filename>default.filter</filename>, <filename>default.action</filename> and
<filename>default.action</filename>. <filename>user.action</filename> should <filename>default.action</filename>. <filename>user.action</filename> should
be used for locally defined exceptions to the default rules in be used for locally defined exceptions to the default rules in
<filename>match-all.action</filename> and <filename>default.action</filename>, <filename>match-all.action</filename> and <filename>default.action</filename>,
and <filename>user.filter</filename> for locally defined filters. These are and <filename>user.filter</filename> for locally defined filters. These are
well commented. On Unix and Unix-like systems, these are located in well commented. On Unix and Unix-like systems, these are located in
<filename>/etc/privoxy/</filename> by default. <filename>/etc/privoxy/</filename> by default.
</para> </para>
<para> <para>
<command>Privoxy</command> uses the concept of <command>actions</command> <command>Privoxy</command> uses the concept of <command>actions</command>
in order to manipulate the data stream between the browser and remote sites. in order to manipulate the data stream between the browser and remote sites.
There are various actions available with specific functions for such things There are various actions available with specific functions for such things
as blocking web sites, managing cookies, etc. These actions can be invoked as blocking web sites, managing cookies, etc. These actions can be invoked
individually or combined, and used against individual URLs, or groups of URLs individually or combined, and used against individual URLs, or groups of URLs
that can be defined using wildcards and regular expressions. The result is that can be defined using wildcards and regular expressions. The result is
that the user has greatly enhanced control and freedom. that the user has greatly enhanced control and freedom.
</para> </para>
<para> <para>
The actions list (ad blocks, etc) can also be configured with your The actions list (ad blocks, etc) can also be configured with your
web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink> web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
(assuming the configuration allows it). (assuming the configuration allows it).
<command>Privoxy's</command> configuration parameters can also be viewed at <command>Privoxy's</command> configuration parameters can also be viewed at
the same page. In addition, <command>Privoxy</command> can be toggled on/off. the same page. In addition, <command>Privoxy</command> can be toggled on/off.
@ -268,7 +268,7 @@
<!-- ~~~~~ New section ~~~~~ --> <!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Files</title> <refsect1><title>Files</title>
<!-- this is a cheesy way to do this, but WTF. --> <!-- this is a cheesy way to do this, but WTF. -->
<literallayout> <literallayout>
<filename>/usr/sbin/privoxy</filename> <filename>/usr/sbin/privoxy</filename>
<filename>/etc/privoxy/config</filename> <filename>/etc/privoxy/config</filename>
<filename>/etc/privoxy/match-all.action</filename> <filename>/etc/privoxy/match-all.action</filename>
@ -296,11 +296,11 @@
<!-- command tag is used here to get proper looking format --> <!-- command tag is used here to get proper looking format -->
<command>Privoxy</command> terminates on the <command>SIGINT</command>, <command>Privoxy</command> terminates on the <command>SIGINT</command>,
<command>SIGTERM</command> and <command>SIGABRT</command> signals. Log <command>SIGTERM</command> and <command>SIGABRT</command> signals. Log
rotation scripts may cause a re-opening of the logfile by sending a rotation scripts may cause a re-opening of the logfile by sending a
<command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike <command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike
other daemons, <command>Privoxy</command> does not need to be made aware of other daemons, <command>Privoxy</command> does not need to be made aware of
config file changes by <command>SIGHUP</command> -- it will detect them config file changes by <command>SIGHUP</command> -- it will detect them
automatically. automatically.
</para> </para>
</refsect1> </refsect1>
@ -309,7 +309,7 @@
<refsect1><title>Notes</title> <refsect1><title>Notes</title>
<![%p-not-stable;[ <![%p-not-stable;[
<para> <para>
This is a &p-status; version of <command>Privoxy</command>. Not This is a &p-status; version of <command>Privoxy</command>. Not
all features are well tested. all features are well tested.
</para>]]> </para>]]>
<para> <para>

View File

@ -2,17 +2,17 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: privoxy.sgml,v 2.9 2009/03/21 12:42:49 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ $Id: privoxy.sgml,v 2.12 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
====================================================================== ======================================================================
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -35,10 +35,27 @@
</para> </para>
<para> <para>
Privoxy is Free Software and licensed under the GPL2. Privoxy is Free Software and licensed under the GNU GPLv2.
</para> </para>
<para> <para>
Privoxy is an associated project of Software in the Public Interest (SPI). Privoxy is an associated project of Software in the Public Interest (SPI).
<ulink url="http://www.privoxy.org/faq/general.html#DONATE">Donations are welcome</ulink>. </para>
<para>
Helping hands and donations are welcome:
<itemizedlist>
<listitem>
<para>
<ulink url="http://www.privoxy.org/faq/general.html#PARTICIPATE"
>http://www.privoxy.org/faq/general.html#PARTICIPATE</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.privoxy.org/faq/general.html#DONATE"
>http://www.privoxy.org/faq/general.html#DONATE</ulink>
</para>
</listitem>
</itemizedlist>
</para> </para>

View File

@ -1,10 +1,10 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE"> <!entity % dummy "IGNORE">
<!entity supported SYSTEM "supported.sgml"> <!entity supported SYSTEM "supported.sgml">
<!entity p-intro SYSTEM "privoxy.sgml"> <!entity p-intro SYSTEM "privoxy.sgml">
<!entity contacting SYSTEM "contacting.sgml"> <!entity contacting SYSTEM "contacting.sgml">
<!entity buildsource SYSTEM "buildsource.sgml"> <!entity buildsource SYSTEM "buildsource.sgml">
<!entity p-version "3.0.12"> <!entity p-version "3.0.19">
<!entity p-status "stable"> <!entity p-status "stable">
<!entity % p-not-stable "IGNORE"> <!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE"> <!entity % p-stable "INCLUDE">
@ -16,23 +16,23 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
Purpose : README for Privoxy Purpose : README for Privoxy
$Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ $Id: readme.sgml,v 2.49 2011/12/26 17:05:40 fabiankeil Exp $
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
======================================================================== ========================================================================
NOTE: Please read developer-manual/documentation.html before touching NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. You have been warned! anything in this, or other Privoxy documentation. You have been warned!
Failure to abide by this rule will result in the revocation of your license Failure to abide by this rule will result in the revocation of your license
to live a peaceful existence! to live a peaceful existence!
======================================================================== ========================================================================
=================================================================== ===================================================================
READ: Document Note: This file generates the README in the top level READ: Document Note: This file generates the README in the top level
source directory. It is generated as only a plain text file. The source directory. It is generated as only a plain text file. The
current markup is not suitable for other formats. Build from current markup is not suitable for other formats. Build from
Makefile with 'make dok-readme'. Makefile with 'make dok-readme'.
=================================================================== ===================================================================
@ -40,21 +40,21 @@
====================================================================== ======================================================================
NOTE: The left margin spacing is *important* when using 'literallayout' NOTE: The left margin spacing is *important* when using 'literallayout'
WYSISWYG!!! Don't mess this up!!! Careful with linebreaks too, ie WYSISWYG!!! Don't mess this up!!! Careful with linebreaks too, ie
the para tag forces a linebreak. Tags need to be carefully placed as a result the para tag forces a linebreak. Tags need to be carefully placed as a result
to avoid extra blank lines, etc. to avoid extra blank lines, etc.
====================================================================== ======================================================================
For stable releases, change For stable releases, change
entity % p-not-stable "INCLUDE" entity % p-not-stable "INCLUDE"
to to
entity % p-not-stable "IGNORE" entity % p-not-stable "IGNORE"
in the DTD at the top. This will toggle various text 'off'. BOTH in the DTD at the top. This will toggle various text 'off'. BOTH
MUST be toggled in this case or you will get both text referencing MUST be toggled in this case or you will get both text referencing
stable and unstable versions. You only want one or the other! stable and unstable versions. You only want one or the other!
--> -->
@ -80,14 +80,14 @@
* *
* Purpose : README file to give a short intro. * Purpose : README file to give a short intro.
* *
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge * Copyright : Written by and Copyright (C) 2001-2011 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -102,8 +102,8 @@
* The GNU General Public License should be included with * The GNU General Public License should be included with
* this file. If not, you can view it at * this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html * http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., * or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA * USA
* *
*********************************************************************/ *********************************************************************/
@ -126,45 +126,21 @@
<!-- end boilerplate --> <!-- end boilerplate -->
<!-- ~~~~~ New section ~~~~~ --> <!-- ~~~~~ New section ~~~~~ -->
<sect1 id="importantchanges" ><title>IMPORTANT CHANGES</title> <sect1 id="changes" ><title>CHANGES</title>
<para> <para>
March 2009, Privoxy 3.0.12 is released. For a list of changes in this release, please have a
</para> look at the "ChangeLog", the "What's New" section or
<para> the "Upgrader's Notes" in <citetitle>the User Manual</citetitle>.
This is primarily a bug fix release. See the "ChangeLog", and the "What's
New" section and the "Upgrader's Notes" in <citetitle>the User
Manual</citetitle> for details.
</para> </para>
<para>
February 2009, Privoxy 3.0.11 is released.
</para>
<para>
As usual there are changes that effect the configuration. See the "ChangeLog",
and the "What's New" section and the "Upgrader's Notes" in
<citetitle>the User Manual</citetitle> for details and specifics.
</para>
<para>
This is a stable release, and marks a departure for Privoxy development.
</para>
<para>
Previously, odd numbered releases were considered beta versions and
were only released at the end of the development cycle when the code
was already believed to be stable. Usually it was, so the stable release
contained pretty much the same code, but got a higher version number.
In the future we intend to release several snapshots between stable releases.
There will probably still be about two stable releases per year,
but hopefully about six snapshots instead of the two betas we have now.
The intentions is to make testing without CVS access easier.
</para>
</sect1> </sect1>
<!-- ~~~~~ New section ~~~~~ --> <!-- ~~~~~ New section ~~~~~ -->
<sect1 id="install" ><title>INSTALL</title> <sect1 id="install" ><title>INSTALL</title>
<para> <para>
See the <filename>INSTALL</filename> file in this directory, for installing See the <filename>INSTALL</filename> file in this directory, for installing
from raw source, and the <citetitle>User Manual</citetitle>, for all other from raw source, and the <citetitle>User Manual</citetitle>, for all other
installation types. installation types.
</para> </para>
</sect1> </sect1>
@ -176,7 +152,7 @@
HOSTNAME ][config_file] HOSTNAME ][config_file]
</para> </para>
<para> <para>
See the man page or <citetitle>User Manual</citetitle> for an explanation of each option, and See the man page or <citetitle>User Manual</citetitle> for an explanation of each option, and
other configuration and usage issues. other configuration and usage issues.
</para> </para>
<para> <para>
@ -184,12 +160,6 @@
file named 'config' in the current directory (except Win32 which will look file named 'config' in the current directory (except Win32 which will look
for 'config.txt'). If no config_file is found, Privoxy will fail to start. for 'config.txt'). If no config_file is found, Privoxy will fail to start.
</para> </para>
<para>
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
</para>
<para>
Or Debian and Ubuntu: /etc/init.d/privoxy start
</para>
</sect1> </sect1>
<!-- ~~~~~ New section ~~~~~ --> <!-- ~~~~~ New section ~~~~~ -->
@ -208,7 +178,7 @@
<para> <para>
Be sure to set your browser(s) for HTTP/HTTPS Proxy at &lt;IP&gt;:&lt;Port&gt;, or Be sure to set your browser(s) for HTTP/HTTPS Proxy at &lt;IP&gt;:&lt;Port&gt;, or
whatever you specify in the config file under 'listen-address'. DEFAULT is whatever you specify in the config file under 'listen-address'. DEFAULT is
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not try it 127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not try it
with FTP or other protocols for the simple reason it does not work. with FTP or other protocols for the simple reason it does not work.
</para> </para>
<para> <para>
@ -227,10 +197,10 @@
<sect1 id="documentation"><title>DOCUMENTATION</title> <sect1 id="documentation"><title>DOCUMENTATION</title>
<para> <para>
There should be documentation in the 'doc' subdirectory<![%p-not-stable;[, but it There should be documentation in the 'doc' subdirectory<![%p-not-stable;[, but it
may not be completed at this point]]>. In particular, see the may not be completed at this point]]>. In particular, see the
<citetitle>User Manual</citetitle> there, <citetitle>User Manual</citetitle> there,
the <citetitle>FAQ</citetitle>, and those interested in Privoxy development, should look at the <citetitle>FAQ</citetitle>, and those interested in Privoxy development, should look at
<citetitle>developer-manual</citetitle>. <citetitle>developer-manual</citetitle>.
</para> </para>
<para> <para>
<![%p-not-stable;[ <![%p-not-stable;[
@ -238,12 +208,12 @@
may still be either comments in the source code, or the included may still be either comments in the source code, or the included
configuration files. ]]>The source and configuration files are all well configuration files. ]]>The source and configuration files are all well
commented. The main configuration files are: 'config', 'default.action', and commented. The main configuration files are: 'config', 'default.action', and
'default.filter'<![%p-not-stable;[ in the top-level source directory]]>. 'default.filter'<![%p-not-stable;[ in the top-level source directory]]>.
</para> </para>
<para> <para>
Included documentation may vary according to platform and packager. All Included documentation may vary according to platform and packager. All
documentation is posted on http://www.privoxy.org, in case you don't have it, documentation is posted on http://www.privoxy.org, in case you don't have it,
or can't find it. or can't find it.
</para> </para>
</sect1> </sect1>
@ -262,7 +232,7 @@
<!-- </LiteralLayout> --> <!-- </LiteralLayout> -->
<!-- </para> --> <!-- </para> -->
<!-- <para> --> <!-- <para> -->
<!-- $Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $ --> <!-- $Id: readme.sgml,v 2.49 2011/12/26 17:05:40 fabiankeil Exp $ -->
<!-- </para> --> <!-- </para> -->
</article> </article>

View File

@ -2,8 +2,8 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/seealso.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/seealso.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: seealso.sgml,v 2.12 2009/02/23 10:42:58 fabiankeil Exp $ $Id: seealso.sgml,v 2.13 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
@ -12,7 +12,7 @@
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -22,7 +22,7 @@
faq faq
developer-manual developer-manual
NOTE: 04/05/02, HB Removed &nbsp; tags. They were causing docbook2man NOTE: 04/05/02, HB Removed &nbsp; tags. They were causing docbook2man
to barf. to barf.
--> -->
@ -36,28 +36,28 @@
<simplelist> <simplelist>
<member> <member>
<ulink <ulink
url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>, url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>,
the <application>Privoxy</application> Home page. the <application>Privoxy</application> Home page.
</member> </member>
</simplelist> </simplelist>
<simplelist> <simplelist>
<member> <member>
<ulink <ulink
url="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/</ulink>, url="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/</ulink>,
the <application>Privoxy</application> FAQ. the <application>Privoxy</application> FAQ.
</member> </member>
</simplelist> </simplelist>
<simplelist> <simplelist>
<member> <member>
<ulink <ulink
url="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/</ulink>, url="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/</ulink>,
the <application>Privoxy</application> developer manual. the <application>Privoxy</application> developer manual.
</member> </member>
</simplelist> </simplelist>
<simplelist> <simplelist>
<member> <member>
<ulink url="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/</ulink>, <ulink url="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/</ulink>,
the Project Page for <application>Privoxy</application> on the Project Page for <application>Privoxy</application> on
<ulink url="http://sourceforge.net">SourceForge</ulink>. <ulink url="http://sourceforge.net">SourceForge</ulink>.
</member> </member>
</simplelist> </simplelist>
@ -71,7 +71,7 @@
<simplelist> <simplelist>
<member> <member>
<ulink url="https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>, to submit <quote>misses</quote> and other <ulink url="https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>, to submit <quote>misses</quote> and other
configuration related suggestions to the developers. configuration related suggestions to the developers.
</member> </member>
</simplelist> </simplelist>
<![%seealso-extra;[ <![%seealso-extra;[
@ -104,8 +104,8 @@
</simplelist> </simplelist>
<simplelist> <simplelist>
<member> <member>
<ulink url="https://www.torproject.org/">https://www.torproject.org/</ulink>, <ulink url="https://www.torproject.org/">https://www.torproject.org/</ulink>,
<application>Tor</application> can help anonymize web browsing, <application>Tor</application> can help anonymize web browsing,
web publishing, instant messaging, IRC, SSH, and other applications. web publishing, instant messaging, IRC, SSH, and other applications.
</member> </member>
</simplelist> </simplelist>

View File

@ -2,8 +2,8 @@
File : $Source: /cvsroot/ijbswa/current/doc/source/supported.sgml,v $ File : $Source: /cvsroot/ijbswa/current/doc/source/supported.sgml,v $
Purpose : Entity included in other project documents. Purpose : Entity included in other project documents.
$Id: supported.sgml,v 2.9 2008/01/17 01:49:51 hal9 Exp $ $Id: supported.sgml,v 2.10 2011/09/04 11:10:12 fabiankeil Exp $
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/ Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
See LICENSE. See LICENSE.
@ -12,7 +12,7 @@
This file used for inclusion with other documents only. This file used for inclusion with other documents only.
====================================================================== ======================================================================
If you make changes to this file, please verify the finished If you make changes to this file, please verify the finished
docs all display as intended. docs all display as intended.
This file is included into: This file is included into:
@ -34,13 +34,13 @@
<para> <para>
But any operating system that runs TCP/IP, can conceivably take advantage of But any operating system that runs TCP/IP, can conceivably take advantage of
<application>Privoxy</application> in a networked situation where <application>Privoxy</application> in a networked situation where
<application>Privoxy</application> would run as a server on a LAN gateway. <application>Privoxy</application> would run as a server on a LAN gateway.
Then only the <quote>gateway</quote> needs to be running one of the above Then only the <quote>gateway</quote> needs to be running one of the above
operating systems. operating systems.
</para> </para>
<para> <para>
Source code is freely available, so porting to other operating systems Source code is freely available, so porting to other operating systems
is always a possibility. is always a possibility.
</para> </para>
]]> ]]>

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
<!entity history SYSTEM "history.sgml"> <!entity history SYSTEM "history.sgml">
<!entity copyright SYSTEM "copyright.sgml"> <!entity copyright SYSTEM "copyright.sgml">
<!entity license SYSTEM "license.sgml"> <!entity license SYSTEM "license.sgml">
<!entity p-version "3.0.11"> <!entity p-version "3.0.19">
<!entity p-status "stable"> <!entity p-status "stable">
<!entity % p-not-stable "IGNORE"> <!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE"> <!entity % p-stable "INCLUDE">
@ -20,7 +20,7 @@
This file belongs into This file belongs into
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/ ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
$Id: index.sgml,v 2.9 2009/02/19 14:12:02 fabiankeil Exp $ $Id: index.sgml,v 2.20 2011/12/26 17:05:40 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net> Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
See LICENSE. See LICENSE.
@ -90,7 +90,7 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
<ulink url="https://sourceforge.net/project/showfiles.php?group_id=11118">Download recent releases</ulink> <ulink url="https://sourceforge.net/projects/ijbswa/files/">Download recent releases</ulink>
</para> </para>
</listitem> </listitem>
<!-- <!--
@ -169,7 +169,7 @@
<para> <para>
<!-- please leave this link absolute so this file can be bundled with --> <!-- please leave this link absolute so this file can be bundled with -->
<!-- documentation and still used locally --> <!-- documentation and still used locally -->
<ulink url="http://privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink> <ulink url="http://www.privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink>
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -222,7 +222,7 @@
<!-- GNUMakefile is inserting this now --> <!-- GNUMakefile is inserting this now -->
<para> <para>
<subscript> <subscript>
Copyright __copy 2001-2009 by Privoxy Developers Copyright __copy 2001-2010 by Privoxy Developers
</subscript> </subscript>
</para> </para>
@ -249,6 +249,42 @@
Temple Place - Suite 330, Boston, MA 02111-1307, USA. Temple Place - Suite 330, Boston, MA 02111-1307, USA.
$Log: index.sgml,v $ $Log: index.sgml,v $
Revision 2.20 2011/12/26 17:05:40 fabiankeil
Bump entities for 3.0.19
Revision 2.19 2011/11/13 17:03:54 fabiankeil
Bump entities for 3.0.18 stable
Revision 2.18 2011/08/17 10:40:07 fabiankeil
Update the entities.
This commit is chronological out of order.
Revision 2.17 2010/11/10 21:49:38 fabiankeil
Set p-version to 3.0.17
Revision 2.16 2010/02/13 17:38:39 fabiankeil
Update entities for 3.0.16 stable.
Revision 2.15 2010/02/13 16:38:18 fabiankeil
Update copyright.
Revision 2.14 2010/01/11 13:47:25 fabiankeil
Finally bump entities for 3.0.16 UNRELEASED here, too.
Revision 2.13 2009/10/10 06:07:40 fabiankeil
Prepare for 3.0.15 beta.
Revision 2.12 2009/08/01 11:48:22 fabiankeil
Update the "Download recent releases" URL and fix the "Pictures of the Privoxy Team" URL.
privoxy.org redirects to www.privoxy.org anyway.
Revision 2.11 2009/07/18 16:24:39 fabiankeil
Bump entities for 3.0.14 beta.
Revision 2.10 2009/06/12 14:30:59 fabiankeil
Update entities for 3.0.13 beta.
Revision 2.9 2009/02/19 14:12:02 fabiankeil Revision 2.9 2009/02/19 14:12:02 fabiankeil
Change link to the project page to https://. Change link to the project page to https://.

View File

@ -1,47 +1,376 @@
Announcing Privoxy v.3.0.12 Announcing Privoxy v.3.0.19 stable
----------------------------------------------------------------- --------------------------------------------------------------------
Privoxy 3.0.12-stable is primarily a bugfix release. This is a bug-fix release for the previously released
Privoxy 3.0.18. One of the fixes addresses a security issue.
See http://www.privoxy.org/3.0.12/user-manual/whatsnew.html for details.
-------------------------------------------------------------------- --------------------------------------------------------------------
ChangeLog for Privoxy ChangeLog for Privoxy
-------------------------------------------------------------------- --------------------------------------------------------------------
*** Version 3.0.12 *** *** Version 3.0.19 Stable ***
- The socket-timeout option now also works on platforms whose - Bug fixes:
select() implementation modifies the timeout structure. - Prevent a segmentation fault when de-chunking buffered content.
Previously the timeout was triggered even if the connection It could be triggered by malicious web servers if Privoxy was
didn't stall. Reported by cyberpatrol. configured to filter the content and running on a platform
- The Connection: keep-alive code properly deals with files where SIZE_T_MAX isn't larger than UINT_MAX, which probably
larger than 2GB. Previously the connection was closed too includes most 32-bit systems. On those platforms, all Privoxy
early. versions before 3.0.19 appear to be affected.
- The content length for files above 2GB is logged correctly. To be on the safe side, this bug should be presumed to allow
- The user-manual directive on the show-status page links to code execution as proving that it doesn't seems unrealistic.
the documentation location specified with the directive, - Do not expect a response from the SOCKS4/4A server until it
not to the Privoxy website. got something to respond to. This regression was introduced
- When running in daemon mode, Privoxy doesn't log anything in 3.0.18 and prevented the SOCKS4/4A negotiation from working.
to the console unless there are errors before the logfile Reported by qqqqqw in #3459781.
has been opened.
- The show-status page prints warnings about invalid directives
on the same line as the directives themselves.
- Fixed several justified (but harmless) compiler warnings,
mostly on 64 bit platforms.
- The mingw32 version explicitly requests the default charset
to prevent display problems with some fonts available on more
recent Windows versions. Patch by Burberry.
- The mingw32 version uses the Privoxy icon in the alt-tab
windows. Patch by Burberry.
- The timestamp and the thread id is omitted in the "Fatal error"
message box on mingw32.
- Fixed two related mingw32-only buffer overflows. Triggering
them required control over the configuration file, therefore
this isn't seen as a security issue.
- In verbose mode, or if the new option --show-skipped-tests
is used, Privoxy-Regression-Test logs skipped tests and the
skip reason.
- General improvements:
- Fix an off-by-one in an error message about connect failures.
- Use a GNUMakefile variable for the webserver root directory and
update the path. Sourceforge changed it which broke various
web-related targets.
- Update the CODE_STATUS description.
*** Version 3.0.18 stable ***
- Bug fixes:
- 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.
- Fix a logic bug that could cause Privoxy to reuse a server
socket after it got tainted by a server-header-tagger-induced
block that was triggered before the whole server response had
been read. If keep-alive was enabled and the request following
the blocked one was to the same host and using the same forwarding
settings, Privoxy would send it on the tainted server socket.
While the server would simply treat it as a pipelined request,
Privoxy would later on fail to properly parse the server's
response as it would try to parse the unread data from the
first response as server headers for the second one.
Regression introduced in 3.0.17.
- When implying keep-alive in client_connection(), remember that
the client didn't. Fixes a regression introduced in 3.0.13 that
would cause Privoxy to wait for additional client requests after
receiving a HTTP/1.1 request with "Connection: close" set
and connection sharing enabled.
With clients which terminates the client connection after detecting
that the whole body has been received it doesn't really matter,
but with clients that don't the connection would be kept open until
it timed out.
- Fix a subtle race condition between prepare_csp_for_next_request()
and sweep(). A thread preparing itself for the next client request
could briefly appear to be inactive.
If all other threads were already using more recent files,
the thread could get its files swept away under its feet.
So far this has only been reproduced while stress testing in
valgrind while touching action files in a loop. It's unlikely
to have caused any actual problems in the real world.
- Disable filters if SDCH compression is used unless filtering is forced.
If SDCH was combined with a supported compression algorithm, Privoxy
previously could try to decompress it and ditch the Content-Encoding
header even though the SDCH compression wasn't dealt with.
Reported by zebul666 in #3225863.
- Make a copy of the --user value and only mess with that when splitting
user and group. On some operating systems modifying the value directly
is reflected in the output of ps and friends and can be misleading.
Reported by zepard in #3292710.
- If forwarded-connect-retries is set, only retry if Privoxy is actually
forwarding the request. Previously direct connections would be retried
as well.
- Fixed a small memory leak when retrying connections with IPv6
support enabled.
- Remove an incorrect assertion in compile_dynamic_pcrs_job_list()
It could be triggered by a pcrs job with an invalid pcre
pattern (for example one that contains a lone quantifier).
- If the --user argument user[.group] contains a dot, always bail out
if no group has been specified. Previously the intended, but undocumented
(and apparently untested), behaviour was to try interpreting the whole
argument as user name, but the detection was flawed and checked for '0'
instead of '\0', thus merely preventing group names beginning with a zero.
- In html_code_map[], use a numeric character reference instead of &apos;
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.
- General improvements:
- Privoxy can (re)compress buffered content before delivering
it to the client. Disabled by default as most users wouldn't
benefit from it.
- The +fast-redirects{check-decoded-url} action checks URL
segments separately. If there are other parameters behind
the redirect URL, this makes it unnecessary to cut them off
by additionally using a +redirect{} pcrs command.
Initial patch submitted by Jamie Zawinski in #3429848.
- 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 known problems.
- When compiled without FEATURE_FAST_REDIRECTS, do not silently
ignore +fast-redirect{} directives
- 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
- 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.
- 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.
- 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.
- In case of SOCKS5 failures, dump the socks response in the log message.
- Simplify the signal setup in main().
- Streamline socks5_connect() slightly.
- 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.
- In chat(), do not bother to generate a client request in case of
direct CONNECT requests. It will not be used anyway.
- 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().
- 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 extensions 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.
- Action file improvements:
- Moved the site-specific block pattern section below the one for the
generic patterns so for requests that are matched in both, the block
reason for the domain is shown which is usually more useful than showing
the one for the generic pattern.
- Remove -prevent-compression from the fragile alias. It's no longer
used anywhere by default and isn't known to break stuff anyway.
- Add a (disabled) section to block various Facebook tracking URLs.
Reported by Dan Stahlke in #3421764.
- Add a (disabled) section to rewrite and redirect click-tracking
URLs used on news.google.com.
Reported by Dan Stahlke in #3421755.
- Unblock linuxcounter.net/.
Reported by Dan Stahlke in #3422612.
- Block 'www91.intel.com/' which is used by Omniture.
Reported by Adam Piggott in #3167370.
- Disable the handle-as-empty-doc-returns-ok option and mark it as deprecated.
Reminded by tceverling in #2790091.
- Add ".ivwbox.de/" to the "Cross-site user tracking" section.
Reported by Nettozahler in #3172525.
- Unblock and fast-redirect ".awin1.com/.*=http://".
Reported by Adam Piggott in #3170921.
- Block "b.collective-media.net/".
- Widen the Debian popcon exception to "qa.debian.org/popcon".
Seen in Debian's 05_default_action.dpatch by Roland Rosenfeld.
- Block ".gemius.pl/" which only seems to be used for user tracking.
Reported by johnd16 in #3002731. Additional input from Lee and movax.
- Disable banners-by-size filters for '.thinkgeek.com/'.
The filter only seems to catch pictures of the inventory.
- Block requests for 'go.idmnet.bbelements.com/please/showit/'.
Reported by kacperdominik in #3372959.
- Unblock adainitiative.org/.
- Add a fast-redirects exception for '.googleusercontent.com/.*=cache'.
- Add a fast-redirects exception for webcache.googleusercontent.com/.
- Unblock http://adassier.wordpress.com/ and http://adassier.files.wordpress.com/.
- Filter file improvements:
- Let the yahoo filter hide '.ads'.
- Let the msn filter hide overlay ads for Facebook 'likes' in search
results and elements with the id 's_notf_div'. They only seem to be
used to advertise site 'enhancements'.
- Let the js-events filter additionally disarm setInterval().
Suggested by dg1727 in #3423775.
- Documentation improvements:
- Clarify the effect of compiling Privoxy with zlib support.
Suggested by dg1727 in #3423782.
- Point out that the SourceForge messaging system works like a black
hole and should thus not be used to contact individual developers.
- Mention some of the problems one can experience when not explicitly
configuring an IP addresses as listen address.
- 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.
- Remove a superfluous log message in forget_connection().
- In chat(), properly report missing server responses as such
instead of calling them empty.
- In forwarded_connect(), fix a log message nobody should ever see.
- Fix a log message in socks5_connect(), a failed write operation
was logged as failed read operation.
- Let load_one_actions_file() properly complain about a missing
'{' at the beginning of the file.
Simply stating that a line is invalid isn't particularly helpful.
- Do not claim to listen on a socket until Privoxy actually does.
Patch submitted by Petr Pisar #3354485
- Prevent a duplicated LOG_LEVEL_CLF message when sending out
the "no-server-data" response.
- Also log the client socket when dropping a connection.
- Include the destination host in the 'Request ... marked for
blocking. limit-connect{...} doesn't allow CONNECT ...' message
Patch submitted by Saperski in #3296250.
- Prevent a duplicated log message if none of the resolved IP
addresses were reachable.
- In connect_to(), do not pretend to retry if forwarded-connect-retries
is zero or unset.
- When a specified user or group can't be found, put the name in
single-quotes when logging it.
- In rfc2553_connect_to(), explain getnameinfo() errors better.
- Remove a useless log message in chat().
- When retrying to connect, also log the maximum number of connection
attempts.
- 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 a fatal error message in load_one_actions_file(), cover both
URL and TAG patterns.
- In pcrs_strerror(), properly report unknown positive error code
values as such. Previously they were handled like 0 (no error).
- In compile_dynamic_pcrs_job_list(), also log the actual error code as
pcrs_strerror() doesn't handle all errors reported by pcre.
- Don't bother trying to continue chatting if the client didn't ask for it.
Reduces log noise a bit.
- Make two fatal error message in load_one_actions_file() more descriptive.
- In cgi_send_user_manual(), log when rejecting a file name due to '/' or '..'.
- In load_file(), log a message if opening a file failed.
The CGI error message alone isn't too helpful.
- In connection_destination_matches(), improve two log messages
to help understand why the destinations don't match.
- Rephrase a log message in serve(). Client request arrival
should be differentiated from closed client connections now.
- In serve(), log if a client connection isn't reused due to a
configuration file change.
- Let mark_server_socket_tainted() always mark the server socket tainted,
just don't talk about it in cases where it has no effect. It doesn't change
Privoxy's behaviour, but makes understanding the log file easier.
- configure:
- Added a --disable-ipv6-support switch for platforms where support
is detected but doesn't actually work.
- Do not check for the existence of strerror() and memmove() twice
- Remove a useless test for setpgrp(2). Privoxy doesn't need it and
it can cause problems when cross-compiling.
- Rename the --disable-acl-files switch to --disable-acl-support.
Since about 2001, ACL directives are specified in the standard
config file.
- Update the URL of the 'Removing outdated PCRE version after the
next stable release' posting. The old URL stopped working after
one of SF's recent site "optimizations". Reported by Han Liu.
- Privoxy-Regression-Test:
- 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 tests for missing socks4 and socks4a forwarders.
- The --privoxy-address option now works with IPv6 addresses containing brackets, too.
- Perform limited sanity checks for parameters that are supposed to have numerical values.
- Added a --sleep-time option to specify a number of seconds to
sleep between tests, defaults to 0.
- Disable the range-requests tagger for tests that break if it's enabled.
- Log messages use the ISO 8601 date format %Y-%m-%d.
- Fix spelling in two error messages.
- In the --help output, include a list of supported tests and their default levels.
- Adjust the tests to properly deal with FEATURE_TOGGLE being disabled.
- Privoxy-Log-Parser:
- Perform limited sanity checks for command line parameters that
are supposed to have numerical values.
- Implement a --unbreak-lines-only option to try to revert MUA breakage.
- Accept and highlight: Added header: Content-Encoding: deflate
- Accept and highlight: Compressed content from 29258 to 8630 bytes.
- Accept and highlight: Client request arrived in time on socket 21.
- Highlight: Didn't receive data in time: a.fsdn.com:443
- Accept log messages with ISO 8601 time stamps, too.
- uagen:
- 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.
----------------------------------------------------------------- -----------------------------------------------------------------
About Privoxy: About Privoxy:
@ -54,13 +383,18 @@ flexible configuration and can be customized to suit individual needs and
tastes. It has application for both stand-alone systems and multi-user tastes. It has application for both stand-alone systems and multi-user
networks. networks.
Privoxy is Free Software and licensed under the GPL2. Privoxy is Free Software and licensed under the GNU GPLv2.
Privoxy is an associated project of Software in the Public Interest (SPI). Privoxy is an associated project of Software in the Public Interest (SPI).
Donations are welcome: http://www.privoxy.org/faq/general.html#DONATE
Helping hands and donations are welcome:
* http://www.privoxy.org/faq/general.html#PARTICIPATE
* http://www.privoxy.org/faq/general.html#DONATE
At present, Privoxy is known to run on Windows(95, 98, ME, 2000, At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
XP, Vista), Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and XP, Vista), GNU/Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and
others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and
various other flavors of Unix. various other flavors of Unix.
@ -69,7 +403,12 @@ Privoxy provides many supplemental features, that give the end-user
more control, more privacy and more freedom: more control, more privacy and more freedom:
* Can keep outgoing connections alive and reuse them later on. * Supports "Connection: keep-alive". Outgoing connections can be kept
alive independently from the client. Currently not available on all
platforms.
* Supports IPv6, provided the operating system does so too,
and the configure script detects it.
* Supports tagging which allows to change the behaviour based on client * Supports tagging which allows to change the behaviour based on client
and server headers. and server headers.
@ -87,8 +426,7 @@ more control, more privacy and more freedom:
tracing of rule and filter effects. Remote toggling. tracing of rule and filter effects. Remote toggling.
* Web page filtering (text replacements, removes banners based on size, * Web page filtering (text replacements, removes banners based on size,
invisible "web-bugs", JavaScript and HTML annoyances, pop-up windows, invisible <quote>web-bugs</quote> and HTML annoyances, etc.)
etc.)
* Modularized configuration that allows for standard settings and user * Modularized configuration that allows for standard settings and user
settings to reside in separate files, so that installing updated actions settings to reside in separate files, so that installing updated actions
@ -97,23 +435,16 @@ more control, more privacy and more freedom:
* Support for Perl Compatible Regular Expressions in the configuration * Support for Perl Compatible Regular Expressions in the configuration
files, and a more sophisticated and flexible configuration syntax. files, and a more sophisticated and flexible configuration syntax.
* Improved cookie management features (e.g. session based cookies).
* GIF de-animation. * GIF de-animation.
* Bypass many click-tracking scripts (avoids script redirection). * Bypass many click-tracking scripts (avoids script redirection).
* Multi-threaded (POSIX and native threads).
* User-customizable HTML templates for most proxy-generated pages (e.g. * User-customizable HTML templates for most proxy-generated pages (e.g.
"blocked" page). "blocked" page).
* Auto-detection and re-reading of config file changes. * Auto-detection and re-reading of config file changes.
* Improved signal handling, and a true daemon mode (Unix).
* Every feature now controllable on a per-site or per-location basis, * Most features are controllable on a per-site or per-location basis.
configuration more powerful and versatile over-all.
Download location: Download location:

File diff suppressed because it is too large Load Diff

View File

@ -1,510 +1,362 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Contacting the developers, Bug Reporting and Feature Requests</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Contacting the developers, Bug Reporting and Feature
TITLE="Privoxy Developer Manual" Requests</title>
HREF="index.html"><LINK <meta name="GENERATOR" content=
REL="PREVIOUS" "Modular DocBook HTML Stylesheet Version 1.79">
TITLE="Update the Webserver" <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
HREF="webserver-update.html"><LINK <link rel="PREVIOUS" title="Update the Webserver" href=
REL="NEXT" "webserver-update.html">
TITLE="Privoxy Copyright, License and History" <link rel="NEXT" title="Privoxy Copyright, License and History" href=
HREF="copyright.html"><LINK "copyright.html">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TYPE="text/css" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="../p_doc.css"><META <style type="text/css">
HTTP-EQUIV="Content-Type" body {
CONTENT="text/html; background-color: #EEEEEE;
charset=ISO-8859-1"></HEAD color: #000000;
><BODY }
CLASS="SECT1" :link { color: #0000FF }
BGCOLOR="#EEEEEE" :visited { color: #840084 }
TEXT="#000000" :active { color: #0000FF }
LINK="#0000FF" span.c2 {font-style: italic}
VLINK="#840084" hr.c1 {text-align: left}
ALINK="#0000FF" </style>
><DIV </head>
CLASS="NAVHEADER"
><TABLE <body class="SECT1">
SUMMARY="Header navigation table" <div class="NAVHEADER">
WIDTH="100%" <table summary="Header navigation table" width="100%" border="0"
BORDER="0" cellpadding="0" cellspacing="0">
CELLPADDING="0" <tr>
CELLSPACING="0" <th colspan="3" align="center">Privoxy Developer Manual</th>
><TR </tr>
><TH
COLSPAN="3" <tr>
ALIGN="center" <td width="10%" align="left" valign="bottom"><a href=
>Privoxy Developer Manual</TH "webserver-update.html" accesskey="P">Prev</a></td>
></TR
><TR <td width="80%" align="center" valign="bottom"></td>
><TD
WIDTH="10%" <td width="10%" align="right" valign="bottom"><a href=
ALIGN="left" "copyright.html" accesskey="N">Next</a></td>
VALIGN="bottom" </tr>
><A </table>
HREF="webserver-update.html" <hr class="c1" width="100%">
ACCESSKEY="P" </div>
>Prev</A
></TD <div class="SECT1">
><TD <h1 class="SECT1"><a name="CONTACT" id="CONTACT">8. Contacting the
WIDTH="80%" developers, Bug Reporting and Feature Requests</a></h1>
ALIGN="center"
VALIGN="bottom" <p>We value your feedback. In fact, we rely on it to improve <span class=
></TD "APPLICATION">Privoxy</span> and its configuration. However, please note
><TD the following hints, so we can provide you with the best support:</p>
WIDTH="10%"
ALIGN="right" <div class="SECT2">
VALIGN="bottom" <h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">8.1.
><A Get Support</a></h2>
HREF="copyright.html"
ACCESSKEY="N" <p>For casual users, our <a href=
>Next</A "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
></TD target="_top">support forum at SourceForge</a> is probably best suited:
></TR <a href=
></TABLE "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
><HR target="_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a></p>
ALIGN="LEFT"
WIDTH="100%"></DIV <p>All users are of course welcome to discuss their issues on the
><DIV <a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
CLASS="SECT1" target="_top">users mailing list</a>, where the developers also hang
><H1 around.</p>
CLASS="SECT1"
><A <p>Please don't sent private support requests to individual Privoxy
NAME="CONTACT" developers, either use the mailing lists or the support trackers.</p>
>8. Contacting the developers, Bug Reporting and Feature Requests</A
></H1 <p>If you have to contact a Privoxy developer directly for other
><P reasons, please send a real mail and do not bother with SourceForge's
> We value your feedback. In fact, we rely on it to improve messaging system. Answers to SourceForge messages are usually bounced
<SPAN by SourceForge's mail server in which case the developer wasted time
CLASS="APPLICATION" writing a response you don't get. From your point of view it will look
>Privoxy</SPAN like your message has been completely ignored, so this is frustrating
> and its configuration. for all parties involved.</p>
However, please note the following hints, so we can
provide you with the best support:</P <p>Note that the Privoxy mailing lists are moderated. Posts from
><DIV unsubscribed addresses have to be accepted manually by a moderator.
CLASS="SECT2" This may cause a delay of several days and if you use a subject that
><H2 doesn't clearly mention Privoxy or one of its features, your message
CLASS="SECT2" may be accidentally discarded as spam.</p>
><A
NAME="CONTACT-SUPPORT" <p>If you aren't subscribed, you should therefore spend a few seconds
>8.1. Get Support</A to come up with a proper subject. Additionally you should make it clear
></H2 that you want to get CC'd. Otherwise some responses will be directed to
><P the mailing list only, and you won't see them.</p>
> For casual users, our </div>
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118" <div class="SECT2">
TARGET="_top" <h2 class="SECT2"><a name="REPORTING" id="REPORTING">8.2. Reporting
>support forum at SourceForge</A Problems</a></h2>
>
is probably best suited: <p><span class="QUOTE">"Problems"</span> for our purposes, come in two
<A forms:</p>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top" <ul>
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</A <li>
></P <p>Configuration issues, such as ads that slip through, or sites
><P that don't function properly due to one <span class=
> All users are of course welcome to discuss their issues on the <A "APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users" another being turned <span class="QUOTE">"on"</span>.</p>
TARGET="_top" </li>
>users
mailing list</A <li>
>, where the developers also hang around.</P <p><span class="QUOTE">"Bugs"</span> in the programming code that
><P makes up <span class="APPLICATION">Privoxy</span>, such as that
> Please don't sent private support requests to individual Privoxy might cause a crash.</p>
developers, either use the mailing lists or the support trackers.</P </li>
><P </ul>
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
addresses have to be accepted manually by a moderator. This may cause a <div class="SECT3">
delay of several days and if you use a subject that doesn't clearly <h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">8.2.1.
mention Privoxy or one of its features, your message may be accidentally Reporting Ads or Other Configuration Problems</a></h3>
discarded as spam.</P
><P <p>Please send feedback on ads that slipped through, innocent images
> If you aren't subscribed, you should therefore spend a few seconds that were blocked, sites that don't work properly, and other
to come up with a proper subject. Additionally you should make it clear configuration related problem of <tt class=
that you want to get CC'd. Otherwise some responses will be directed to "FILENAME">default.action</tt> file, to <a href=
the mailing list only, and you won't see them.</P "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
></DIV target=
><DIV "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
CLASS="SECT2" the Actions File Tracker.</p>
><H2
CLASS="SECT2" <p>New, improved <tt class="FILENAME">default.action</tt> files may
><A occasionally be made available based on your feedback. These will be
NAME="REPORTING" announced on the <a href=
>8.2. Reporting Problems</A "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
></H2 "_top">ijbswa-announce</a> list and available from our the <a href=
><P "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
><SPAN "_top">files section</a> of our <a href=
CLASS="QUOTE" "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
>"Problems"</SPAN </div>
> for our purposes, come in two forms:</P
><P <div class="SECT3">
></P <h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">8.2.2.
><UL Reporting Bugs</a></h3>
><LI
><P <p>Please report all bugs through our bug tracker: <a href=
> Configuration issues, such as ads that slip through, or sites that "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
don't function properly due to one <SPAN target=
CLASS="APPLICATION" "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.</p>
>Privoxy</SPAN
> <p>Before doing so, please make sure that the bug has <span class=
<SPAN "emphasis EMPHASIS c2">not already been submitted</span> and observe
CLASS="QUOTE" the additional hints at the top of the <a href=
>"action"</SPAN "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
> or another being turned <SPAN target="_top">submit form</a>. If already submitted, please feel free
CLASS="QUOTE" to add any info to the original report that might help to solve the
>"on"</SPAN issue.</p>
>.
</P <p>Please try to verify that it is a <span class=
></LI "APPLICATION">Privoxy</span> bug, and not a browser or site bug or
><LI documented behaviour that just happens to be different than what you
><P expected. If unsure, try <a href=
> <SPAN "http://config.privoxy.org/toggle?set=disable" target="_top">toggling
CLASS="QUOTE" off</a> <span class="APPLICATION">Privoxy</span>, and see if the
>"Bugs"</SPAN problem persists.</p>
> in the programming code that makes up
<SPAN <p>If you are using your own custom configuration, please try the
CLASS="APPLICATION" stock configs to see if the problem is configuration related. If
>Privoxy</SPAN you're having problems with a feature that is disabled by default,
>, such as that might cause a crash. please ask around on the mailing list if others can reproduce the
</P problem.</p>
></LI
></UL <p>If you aren't using the latest Privoxy version, the bug may have
><DIV been found and fixed in the meantime. We would appreciate if you
CLASS="SECT3" could take the time to <a href=
><H3 "http://www.privoxy.org/user-manual/installation.html" target=
CLASS="SECT3" "_top">upgrade to the latest version</a> (or even the latest CVS
><A snapshot) and verify that your bug still exists.</p>
NAME="CONTACT-ADS"
>8.2.1. Reporting Ads or Other Configuration Problems</A <p>Please be sure to provide the following information:</p>
></H3
><P <ul>
> Please send feedback on ads that slipped through, innocent images that were <li>
blocked, sites that don't work properly, and other configuration related problem of <p>The exact <span class="APPLICATION">Privoxy</span> version you
<TT are using (if you got the source from CVS, please also provide
CLASS="FILENAME" the source code revisions as shown in <a href=
>default.action</TT "http://config.privoxy.org/show-version" target=
> file, to "_top">http://config.privoxy.org/show-version</a>).</p>
<A </li>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
TARGET="_top" <li>
> http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A <p>The operating system and versions you run <span class=
>, "APPLICATION">Privoxy</span> on, (e.g. <span class=
the Actions File Tracker.</P "APPLICATION">Windows XP SP2</span>), if you are using a Unix
><P flavor, sending the output of <span class="QUOTE">"uname
> New, improved <TT -a"</span> should do, in case of GNU/Linux, please also name the
CLASS="FILENAME" distribution.</p>
>default.action</TT </li>
> files may occasionally be made
available based on your feedback. These will be announced on the <A <li>
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" <p>The name, platform, and version of the <span class=
TARGET="_top" "APPLICATION">browser</span> you were using (e.g. <span class=
>ijbswa-announce</A "APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
> </li>
list and available from our the <A
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118" <li>
TARGET="_top" <p>The URL where the problem occurred, or some way for us to
>files section</A duplicate the problem (e.g. <tt class=
> of "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
our <A </li>
HREF="http://sf.net/projects/ijbswa/"
TARGET="_top" <li>
>project page</A <p>Whether your version of <span class=
>.</P "APPLICATION">Privoxy</span> is one supplied by the <span class=
></DIV "APPLICATION">Privoxy</span> developers via SourceForge, or if
><DIV you got your copy somewhere else.</p>
CLASS="SECT3" </li>
><H3
CLASS="SECT3" <li>
><A <p>Whether you are using <span class="APPLICATION">Privoxy</span>
NAME="CONTACT-BUGS" in tandem with another proxy such as <span class=
>8.2.2. Reporting Bugs</A "APPLICATION">Tor</span>. If so, please temporary disable the
></H3 other proxy to see if the symptoms change.</p>
><P </li>
> Please report all bugs through our bug tracker:
<A <li>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118" <p>Whether you are using a personal firewall product. If so, does
TARGET="_top" <span class="APPLICATION">Privoxy</span> work without it?</p>
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118</A </li>
>. </P
><P <li>
> Before doing so, please make sure that the bug has <SPAN <p>Any other pertinent information to help identify the problem
CLASS="emphasis" such as config or log file excerpts (yes, you should have log
><I file entries for each action taken). To get a meaningful logfile,
CLASS="EMPHASIS" please make sure that the <a href=
>not already been submitted</I "../user-manual/config.html#LOGFILE" target="_top">logfile
></SPAN directive</a> is being used and the following <a href=
> "../user-manual/config.html#DEBUG" target="_top">debug
and observe the additional hints at the top of the <A options</a> are enabled:</p>
HREF="http://sourceforge.net/tracker/?func=add&#38;group_id=11118&#38;atid=111118"
TARGET="_top" <p class="LITERALLAYOUT">
>submit debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
form</A
>. If already submitted, please feel free to add any info to the debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
original report that might help to solve the issue.</P
><P debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
> Please try to verify that it is a <SPAN
CLASS="APPLICATION" debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
>Privoxy</SPAN
> bug, debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
and not a browser or site bug or documented behaviour that just happens debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
to be different than what you expected. If unsure,
try <A debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
HREF="http://config.privoxy.org/toggle?set=disable"
TARGET="_top" debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
>toggling
off</A debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
> <SPAN
CLASS="APPLICATION" debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors</p>If you
>Privoxy</SPAN are having trouble with a filter, please additionally enable
>, and see if the problem persists.</P
><P <p class="LITERALLAYOUT">
> If you are using your own custom configuration, please try debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters</p>If
the stock configs to see if the problem is configuration related. you are using Privoxy 3.0.17 or later and suspect that it
If you're having problems with a feature that is disabled by default, interprets the request or the response incorrectly, please enable
please ask around on the mailing list if others can reproduce the problem.</P
><P <p class="LITERALLAYOUT">
> If you aren't using the latest Privoxy version, the bug may have been found debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network</p>Note
and fixed in the meantime. We would appreciate if you could take the time that Privoxy log files may contain sensitive information so
to <A please don't submit any logfiles you didn't read first. You can
HREF="http://www.privoxy.org/user-manual/installation.html" mask sensitive information as long as it's clear that you removed
TARGET="_top" something.
>upgrade </li>
to the latest version</A </ul>
> (or even the latest CVS snapshot) and verify
that your bug still exists.</P <p>You don't have to tell us your actual name when filing a problem
><P report, but if you don't, please use a nickname so we can
>Please be sure to provide the following information:</P differentiate between your messages and the ones entered by other
><P "anonymous" users that may respond to your request if they have the
> <P same problem or already found a solution. Note that due to spam the
></P trackers may not always allow to post without being logged into
><UL SourceForge. If that's the case, you are still free to create a login
><LI that isn't directly linked to your name, though.</p>
><P
> The exact <SPAN <p>Please also check the status of your request a few days after
CLASS="APPLICATION" submitting it, as we may request additional information. If you use a
>Privoxy</SPAN SF id, you should automatically get a mail when someone responds to
> version you are using your request. Please don't bother to add an email address when using
(if you got the source from CVS, please also provide the source code revisions the tracker. If you prefer to communicate through email, just use one
as shown in <A of the mailing lists directly.</p>
HREF="http://config.privoxy.org/show-version"
TARGET="_top" <p>If you are new to reporting problems, you might be interested in
>http://config.privoxy.org/show-version</A <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
>). target="_top">How to Report Bugs Effectively</a>.</p>
</P
></LI <p>The <a href=
><LI "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
><P target="_top">appendix of the Privoxy User Manual</a> also has
> The operating system and versions you run helpful information on understanding <tt class=
<SPAN "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
CLASS="APPLICATION" debugging.</p>
>Privoxy</SPAN </div>
> on, (e.g. <SPAN </div>
CLASS="APPLICATION"
>Windows <div class="SECT2">
XP SP2</SPAN <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">8.3.
>), if you are using a Unix flavor, Request New Features</a></h2>
sending the output of <SPAN
CLASS="QUOTE" <p>You are welcome to submit ideas on new features or other proposals
>"uname -a"</SPAN for improvement through our feature request tracker at <a href=
> should do, "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
in case of GNU/Linux, please also name the distribution. target="_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.</p>
</P </div>
></LI
><LI <div class="SECT2">
><P <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">8.4.
> The name, platform, and version of the <SPAN Mailing Lists</a></h2>
CLASS="APPLICATION"
>browser</SPAN <p>If you prefer to communicate through email, instead of using a web
> interface, feel free to use one of the mailing lists. To discuss issues
you were using (e.g. <SPAN that haven't been completely diagnosed yet, please use the Privoxy
CLASS="APPLICATION" users list. Technically interested users and people who wish to
>Internet Explorer v5.5</SPAN contribute to the project are always welcome on the developers list.
> for Mac). You can find an overview of all <span class=
</P "APPLICATION">Privoxy</span>-related mailing lists, including list
></LI archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
><LI target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
><P </div>
> The URL where the problem occurred, or some way for us to duplicate the </div>
problem (e.g. <TT
CLASS="LITERAL" <div class="NAVFOOTER">
>http://somesite.example.com/?somethingelse=123</TT <hr class="c1" width="100%">
>).
</P <table summary="Footer navigation table" width="100%" border="0"
></LI cellpadding="0" cellspacing="0">
><LI <tr>
><P <td width="33%" align="left" valign="top"><a href=
> Whether your version of <SPAN "webserver-update.html" accesskey="P">Prev</a></td>
CLASS="APPLICATION"
>Privoxy</SPAN <td width="34%" align="center" valign="top"><a href="index.html"
> is one supplied accesskey="H">Home</a></td>
by the <SPAN
CLASS="APPLICATION" <td width="33%" align="right" valign="top"><a href="copyright.html"
>Privoxy</SPAN accesskey="N">Next</a></td>
> developers via SourceForge, </tr>
or if you got your copy somewhere else.
</P <tr>
></LI <td width="33%" align="left" valign="top">Update the Webserver</td>
><LI
><P <td width="34%" align="center" valign="top">&nbsp;</td>
> Whether you are using <SPAN
CLASS="APPLICATION" <td width="33%" align="right" valign="top">Privoxy Copyright, License
>Privoxy</SPAN and History</td>
> in tandem with </tr>
another proxy such as <SPAN </table>
CLASS="APPLICATION" </div>
>Tor</SPAN </body>
>. If so, please </html>
temporary disable the other proxy to see if the symptoms change.
</P
></LI
><LI
><P
> Whether you are using a personal firewall product. If so, does
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> work without it?
</P
></LI
><LI
><P
> Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each
action taken).
</P
></LI
></UL
></P
><P
> You don't have to tell us your actual name when filing a problem
report, but please use a nickname so we can differentiate between
your messages and the ones entered by other "anonymous" users that
may respond to your request if they have the same problem or already
found a solution.</P
><P
> Please also check the status of your request a few days after submitting
it, as we may request additional information. If you use a SF id,
you should automatically get a mail when someone responds to your request.</P
><P
> The <A
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
TARGET="_top"
>appendix
of the Privoxy User Manual</A
> also has helpful information
on understanding <TT
CLASS="LITERAL"
>actions</TT
>, and <TT
CLASS="LITERAL"
>action</TT
> debugging. </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-FEATURE"
>8.3. Request New Features</A
></H2
><P
> You are welcome to submit ideas on new features or other proposals
for improvement through our feature request tracker at
<A
HREF="http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118"
TARGET="_top"
>http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-OTHER"
>8.4. Other</A
></H2
><P
>For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>-related mailing lists,
including list archives, at:
<A
HREF="http://sourceforge.net/mail/?group_id=11118"
TARGET="_top"
>http://sourceforge.net/mail/?group_id=11118</A
>.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="webserver-update.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Update the Webserver</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Privoxy Copyright, License and History</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,298 +1,161 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy Copyright, License and History</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Privoxy Copyright, License and History</title>
TITLE="Privoxy Developer Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
TITLE="Contacting the developers, Bug Reporting and Feature Requests" <link rel="PREVIOUS" title=
HREF="contact.html"><LINK "Contacting the developers, Bug Reporting and Feature Requests" href=
REL="NEXT" "contact.html">
TITLE="See also" <link rel="NEXT" title="See also" href="seealso.html">
HREF="seealso.html"><LINK <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
REL="STYLESHEET" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
TYPE="text/css" <style type="text/css">
HREF="../p_doc.css"><META body {
HTTP-EQUIV="Content-Type" background-color: #EEEEEE;
CONTENT="text/html; color: #000000;
charset=ISO-8859-1"></HEAD }
><BODY :link { color: #0000FF }
CLASS="SECT1" :visited { color: #840084 }
BGCOLOR="#EEEEEE" :active { color: #0000FF }
TEXT="#000000" a.c2 {font-style: italic}
LINK="#0000FF" hr.c1 {text-align: left}
VLINK="#840084" </style>
ALINK="#0000FF" </head>
><DIV
CLASS="NAVHEADER" <body class="SECT1">
><TABLE <div class="NAVHEADER">
SUMMARY="Header navigation table" <table summary="Header navigation table" width="100%" border="0"
WIDTH="100%" cellpadding="0" cellspacing="0">
BORDER="0" <tr>
CELLPADDING="0" <th colspan="3" align="center">Privoxy Developer Manual</th>
CELLSPACING="0" </tr>
><TR
><TH <tr>
COLSPAN="3" <td width="10%" align="left" valign="bottom"><a href="contact.html"
ALIGN="center" accesskey="P">Prev</a></td>
>Privoxy Developer Manual</TH
></TR <td width="80%" align="center" valign="bottom"></td>
><TR
><TD <td width="10%" align="right" valign="bottom"><a href="seealso.html"
WIDTH="10%" accesskey="N">Next</a></td>
ALIGN="left" </tr>
VALIGN="bottom" </table>
><A <hr class="c1" width="100%">
HREF="contact.html" </div>
ACCESSKEY="P"
>Prev</A <div class="SECT1">
></TD <h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">9. Privoxy
><TD Copyright, License and History</a></h1>
WIDTH="80%"
ALIGN="center" <p>Copyright &copy; 2001-2011 by Privoxy Developers <code class=
VALIGN="bottom" "EMAIL">&lt;<a href=
></TD "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code></p>
><TD
WIDTH="10%" <p>Some source code is based on code Copyright &copy; 1997 by Anonymous
ALIGN="right" Coders and Junkbusters, Inc. and licensed under the <i class=
VALIGN="bottom" "CITETITLE">GNU General Public License</i>.</p>
><A
HREF="seealso.html" <div class="SECT2">
ACCESSKEY="N" <h2 class="SECT2"><a name="AEN1231" id="AEN1231">9.1. License</a></h2>
>Next</A
></TD <p><span class="APPLICATION">Privoxy</span> is free software; you can
></TR redistribute it and/or modify it under the terms of the <i class=
></TABLE "CITETITLE">GNU General Public License</i>, version 2, as published by
><HR the Free Software Foundation.</p>
ALIGN="LEFT"
WIDTH="100%"></DIV <p>This program is distributed in the hope that it will be useful, but
><DIV WITHOUT ANY WARRANTY; without even the implied warranty of
CLASS="SECT1" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a class=
><H1 "CITETITLE c2" href=
CLASS="SECT1" "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
><A "_top">GNU General Public License</a> for details.</p>
NAME="COPYRIGHT"
>9. Privoxy Copyright, License and History</A <p>You should have received a copy of the <i class="CITETITLE">GNU
></H1 GPL</i> along with this program; if not, write to the</p>
><P
> Copyright © 2001-2009 by Privoxy Developers <CODE <p class="ADDRESS">&nbsp;Free&nbsp;Software<br>
CLASS="EMAIL" &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
>&#60;<A Street, Fifth Floor</span><br>
HREF="mailto:ijbswa-developers@lists.sourceforge.net" &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
>ijbswa-developers@lists.sourceforge.net</A "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
>&#62;</CODE &nbsp;<span class="COUNTRY">USA</span>&nbsp;</p>
></P </div>
><P
> Some source code is based on code Copyright © 1997 by Anonymous Coders <div class="SECT2">
and Junkbusters, Inc. and licensed under the <I <h2 class="SECT2"><a name="AEN1247" id="AEN1247">9.2. History</a></h2>
CLASS="CITETITLE"
>GNU General Public <p>A long time ago, there was the <a href=
License</I "http://www.junkbusters.com/ijb.html" target="_top"><span class=
>.</P "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
><DIV <a href="http://www.junkbusters.com/" target="_top">Junkbusters
CLASS="SECT2" Corporation</a>. This saved many users a lot of pain in the early days
><H2 of web advertising and user tracking.</p>
CLASS="SECT2"
><A <p>But the web, its protocols and standards, and with it, the
NAME="AEN1223" techniques for forcing ads on users, give up autonomy over their
>9.1. License</A browsing, and for tracking them, keeps evolving. Unfortunately, the
></H2 <span class="APPLICATION">Internet Junkbuster</span> did not. Version
><P 2.0.2, published in 1998, was (and is) the last official <a href=
> <SPAN "http://www.junkbusters.com/ijbdist.html#release" target=
CLASS="APPLICATION" "_top">release</a> available from <a href="http://www.junkbusters.com"
>Privoxy</SPAN target="_top">Junkbusters Corporation</a>. Fortunately, it had been
> is free software; you can released under the GNU <a href=
redistribute it and/or modify it under the terms of the "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
<I "_top">GPL</a>, which allowed further development by others.</p>
CLASS="CITETITLE"
>GNU General Public License</I <p>So Stefan Waldherr started maintaining an improved version of the
>, version 2, software, to which eventually a number of people contributed patches.
as published by the Free Software Foundation.</P It could already replace banners with a transparent image, and had a
><P first version of pop-up killing, but it was still very closely based on
> This program is distributed in the hope that it will be useful, but WITHOUT the original, with all its limitations, such as the lack of HTTP/1.1
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or support, flexible per-site configuration, or content modification. The
FITNESS FOR A PARTICULAR PURPOSE. See the <A last release from this effort was version 2.0.2-10, published in
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" 2000.</p>
TARGET="_top"
> <I <p>Then, some <a href=
CLASS="CITETITLE" "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
>GNU General Public License</I "_top">developers</a> picked up the thread, and started turning the
></A software inside out, upside down, and then reassembled it, adding many
> for details.</P <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
><P target="_top">new features</a> along the way.</p>
> You should have received a copy of the <I
CLASS="CITETITLE" <p>The result of this is <span class="APPLICATION">Privoxy</span>,
>GNU GPL</I whose first stable version, 3.0, was released August, 2002.</p>
> </div>
along with this program; if not, write to the <P </div>
CLASS="ADDRESS"
>&nbsp;Free&nbsp;Software<br> <div class="NAVFOOTER">
&nbsp;Foundation,&nbsp;Inc.&nbsp;<SPAN <hr class="c1" width="100%">
CLASS="STREET"
>51 Franklin Street, Fifth Floor</SPAN <table summary="Footer navigation table" width="100%" border="0"
><br> cellpadding="0" cellspacing="0">
&nbsp;<SPAN <tr>
CLASS="CITY" <td width="33%" align="left" valign="top"><a href="contact.html"
>Boston</SPAN accesskey="P">Prev</a></td>
>,&nbsp;<SPAN
CLASS="STATE" <td width="34%" align="center" valign="top"><a href="index.html"
>MA</SPAN accesskey="H">Home</a></td>
>&nbsp;<SPAN
CLASS="POSTCODE" <td width="33%" align="right" valign="top"><a href="seealso.html"
>02110-1301</SPAN accesskey="N">Next</a></td>
><br> </tr>
&nbsp;<SPAN
CLASS="COUNTRY" <tr>
>USA</SPAN <td width="33%" align="left" valign="top">Contacting the developers,
>&nbsp;</P Bug Reporting and Feature Requests</td>
></P
></DIV <td width="34%" align="center" valign="top">&nbsp;</td>
><DIV
CLASS="SECT2" <td width="33%" align="right" valign="top">See also</td>
><H2 </tr>
CLASS="SECT2" </table>
><A </div>
NAME="AEN1239" </body>
>9.2. History</A </html>
></H2
><P
> A long time ago, there was the
<A
HREF="http://www.junkbusters.com/ijb.html"
TARGET="_top"
><SPAN
CLASS="APPLICATION"
>Internet Junkbuster</SPAN
></A
>,
by Anonymous Coders and <A
HREF="http://www.junkbusters.com/"
TARGET="_top"
>Junkbusters
Corporation</A
>. This saved many users a lot of pain in the early days of
web advertising and user tracking.</P
><P
> But the web, its protocols and standards, and with it, the techniques for
forcing ads on users, give up autonomy over their browsing, and
for tracking them, keeps evolving. Unfortunately, the <SPAN
CLASS="APPLICATION"
>Internet
Junkbuster</SPAN
> did not. Version 2.0.2, published in 1998, was
(and is) the last official
<A
HREF="http://www.junkbusters.com/ijbdist.html#release"
TARGET="_top"
>release</A
>
available from <A
HREF="http://www.junkbusters.com"
TARGET="_top"
>Junkbusters Corporation</A
>.
Fortunately, it had been released under the GNU
<A
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
TARGET="_top"
>GPL</A
>,
which allowed further development by others.</P
><P
> So Stefan Waldherr started maintaining an improved version of the
software, to which eventually a number of people contributed patches.
It could already replace banners with a transparent image, and had a first
version of pop-up killing, but it was still very closely based on the
original, with all its limitations, such as the lack of HTTP/1.1 support,
flexible per-site configuration, or content modification. The last release
from this effort was version 2.0.2-10, published in 2000.</P
><P
> Then, some
<A
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
TARGET="_top"
>developers</A
>
picked up the thread, and started turning the software inside out, upside down,
and then reassembled it, adding many
<A
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
TARGET="_top"
>new
features</A
> along the way.</P
><P
> The result of this is <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>, whose first
stable version, 3.0, was released August, 2002.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="contact.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="seealso.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Contacting the developers, Bug Reporting and Feature Requests</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>See also</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,330 +1,189 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>The CVS Repository</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>The CVS Repository</title>
TITLE="Privoxy Developer Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
TITLE="Introduction" <link rel="PREVIOUS" title="Introduction" href="introduction.html">
HREF="introduction.html"><LINK <link rel="NEXT" title="Documentation Guidelines" href=
REL="NEXT" "documentation.html">
TITLE="Documentation Guidelines" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
HREF="documentation.html"><LINK <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
REL="STYLESHEET" <style type="text/css">
TYPE="text/css" body {
HREF="../p_doc.css"><META background-color: #EEEEEE;
HTTP-EQUIV="Content-Type" color: #000000;
CONTENT="text/html; }
charset=ISO-8859-1"></HEAD :link { color: #0000FF }
><BODY :visited { color: #840084 }
CLASS="SECT1" :active { color: #0000FF }
BGCOLOR="#EEEEEE" span.c2 {font-style: italic}
TEXT="#000000" hr.c1 {text-align: left}
LINK="#0000FF" </style>
VLINK="#840084" </head>
ALINK="#0000FF"
><DIV <body class="SECT1">
CLASS="NAVHEADER" <div class="NAVHEADER">
><TABLE <table summary="Header navigation table" width="100%" border="0"
SUMMARY="Header navigation table" cellpadding="0" cellspacing="0">
WIDTH="100%" <tr>
BORDER="0" <th colspan="3" align="center">Privoxy Developer Manual</th>
CELLPADDING="0" </tr>
CELLSPACING="0"
><TR <tr>
><TH <td width="10%" align="left" valign="bottom"><a href=
COLSPAN="3" "introduction.html" accesskey="P">Prev</a></td>
ALIGN="center"
>Privoxy Developer Manual</TH <td width="80%" align="center" valign="bottom"></td>
></TR
><TR <td width="10%" align="right" valign="bottom"><a href=
><TD "documentation.html" accesskey="N">Next</a></td>
WIDTH="10%" </tr>
ALIGN="left" </table>
VALIGN="bottom" <hr class="c1" width="100%">
><A </div>
HREF="introduction.html"
ACCESSKEY="P" <div class="SECT1">
>Prev</A <h1 class="SECT1"><a name="CVS" id="CVS">2. The CVS Repository</a></h1>
></TD
><TD <p>If you become part of the active development team, you will eventually
WIDTH="80%" need write access to our holy grail, the CVS repository. One of the team
ALIGN="center" members will need to set this up for you. Please read this chapter
VALIGN="bottom" completely before accessing via CVS.</p>
></TD
><TD <div class="SECT2">
WIDTH="10%" <h2 class="SECT2"><a name="CVSACCESS" id="CVSACCESS">2.1. Access to
ALIGN="right" CVS</a></h2>
VALIGN="bottom"
><A <p>The project's CVS repository is hosted on <a href=
HREF="documentation.html" "http://sourceforge.net/" target="_top">SourceForge.</a> Please refer
ACCESSKEY="N" to the chapters 6 and 7 in <a href=
>Next</A "http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
></TD documentation</a> for the technical access details for your operating
></TR system. For historical reasons, the CVS server is called <tt class=
></TABLE "LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository is called
><HR <tt class="LITERAL">ijbswa</tt>, and the source tree module is called
ALIGN="LEFT" <tt class="LITERAL">current</tt>.</p>
WIDTH="100%"></DIV </div>
><DIV
CLASS="SECT1" <div class="SECT2">
><H1 <h2 class="SECT2"><a name="CVSBRANCHES" id="CVSBRANCHES">2.2.
CLASS="SECT1" Branches</a></h2>
><A
NAME="CVS" <p>Within the CVS repository, there are modules and branches. As
>2. The CVS Repository</A mentioned, the sources are in the <tt class="LITERAL">current</tt>
></H1 <span class="QUOTE">"module"</span>. Other modules are present for
><P platform specific issues. There is a webview of the CVS hierarchy at
> If you become part of the active development team, you will eventually <a href="http://ijbswa.cvs.sourceforge.net/ijbswa/" target=
need write access to our holy grail, the CVS repository. One of the "_top">http://ijbswa.cvs.sourceforge.net/ijbswa/</a>, which might help
team members will need to set this up for you. Please read with visualizing how these pieces fit together.</p>
this chapter completely before accessing via CVS.
</P <p>Branches are used to fork a sub-development path from the main
><DIV trunk. Within the <tt class="LITERAL">current</tt> module where the
CLASS="SECT2" sources are, there is always at least one <span class=
><H2 "QUOTE">"branch"</span> from the main trunk devoted to a stable release
CLASS="SECT2" series. The main trunk is where active development takes place for the
><A next stable series (e.g. 3.2.x). So just prior to each stable series
NAME="CVSACCESS" (e.g. 3.0.x), a branch is created just for stable series releases (e.g.
>2.1. Access to CVS</A 3.0.0 -&gt; 3.0.1 -&gt; 3.0.2, etc). Once the initial stable release of
></H2 any stable branch has taken place, this branch is <span class=
><P "emphasis EMPHASIS c2">only used for bugfixes</span>, which have had
> The project's CVS repository is hosted on prior testing before being committed to CVS. (See <a href=
<A "newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for details
HREF="http://sourceforge.net/" on versioning.)</p>
TARGET="_top"
>SourceForge.</A <p>At one time there were two distinct branches: stable and unstable.
> The more drastic changes were to be in the unstable branch. These
Please refer to the chapters 6 and 7 in branches have now been merged to minimize time and effort of
<A maintaining two branches.</p>
HREF="http://sourceforge.net/docman/?group_id=1" </div>
TARGET="_top"
>SF's site <div class="SECT2">
documentation</A <h2 class="SECT2"><a name="CVSCOMMIT" id="CVSCOMMIT">2.3. CVS Commit
> for the technical access details for your Guidelines</a></h2>
operating system. For historical reasons, the CVS server is
called <TT <p>The source tree is the heart of every software project. Every effort
CLASS="LITERAL" must be made to ensure that it is readable, compilable and consistent
>ijbswa.cvs.sourceforge.net</TT at all times. There are differing guidelines for the stable branch and
>, the repository is the main development trunk, and we ask anyone with CVS access to
called <TT strictly adhere to the following guidelines:</p>
CLASS="LITERAL"
>ijbswa</TT <p>Basic Guidelines, for all branches:</p>
>, and the source tree module is called
<TT <ul>
CLASS="LITERAL" <li>
>current</TT <p>Please don't commit even a small change without testing it
>. thoroughly first. When we're close to a public release, ask a
</P fellow developer to review your changes.</p>
></DIV </li>
><DIV
CLASS="SECT2" <li>
><H2 <p>Your commit message should give a concise overview of
CLASS="SECT2" <span class="emphasis EMPHASIS c2">what you changed</span> (no big
><A details) and <span class="emphasis EMPHASIS c2">why you changed
NAME="CVSBRANCHES" it</span> Just check previous messages for good examples.</p>
>2.2. Branches</A </li>
></H2
><P <li>
> Within the CVS repository, there are modules and branches. As <p>Don't use the same message on multiple files, unless it equally
mentioned, the sources are in the <TT applies to all those files.</p>
CLASS="LITERAL" </li>
>current</TT
> <li>
<SPAN <p>If your changes span multiple files, and the code won't
CLASS="QUOTE" recompile unless all changes are committed (e.g. when changing the
>"module"</SPAN signature of a function), then commit all files one after another,
>. Other modules are present for platform specific without long delays in between. If necessary, prepare the commit
issues. There is a webview of the CVS hierarchy at <A messages in advance.</p>
HREF="http://ijbswa.cvs.sourceforge.net/ijbswa/" </li>
TARGET="_top"
>http://ijbswa.cvs.sourceforge.net/ijbswa/</A <li>
>, <p>Before changing things on CVS, make sure that your changes are
which might help with visualizing how these pieces fit together. in line with the team's general consensus on what should be
</P done.</p>
><P </li>
> Branches are used to fork a sub-development path from the main trunk.
Within the <TT <li>
CLASS="LITERAL" <p>Note that near a major public release, we get more cautious.
>current</TT There is always the possibility to submit a patch to the <a href=
> module where the sources are, there "http://sourceforge.net/tracker/?atid=311118&amp;group_id=11118&amp;func=browse"
is always at least one <SPAN target="_top">patch tracker</a> instead.</p>
CLASS="QUOTE" </li>
>"branch"</SPAN </ul>
> from the main trunk </div>
devoted to a stable release series. The main trunk is where active </div>
development takes place for the next stable series (e.g. 3.2.x).
So just prior to each stable series (e.g. 3.0.x), a branch is created <div class="NAVFOOTER">
just for stable series releases (e.g. 3.0.0 -&#62; 3.0.1 -&#62; 3.0.2, etc). <hr class="c1" width="100%">
Once the initial stable release of any stable branch has taken place,
this branch is <SPAN <table summary="Footer navigation table" width="100%" border="0"
CLASS="emphasis" cellpadding="0" cellspacing="0">
><I <tr>
CLASS="EMPHASIS" <td width="33%" align="left" valign="top"><a href="introduction.html"
>only used for bugfixes</I accesskey="P">Prev</a></td>
></SPAN
>, which have <td width="34%" align="center" valign="top"><a href="index.html"
had prior testing before being committed to CVS. (See <A accesskey="H">Home</a></td>
HREF="newrelease.html#VERSIONNUMBERS"
>Version Numbers</A <td width="33%" align="right" valign="top"><a href=
> below for details on "documentation.html" accesskey="N">Next</a></td>
versioning.) </tr>
</P
><P <tr>
> At one time there were two distinct branches: stable and unstable. The <td width="33%" align="left" valign="top">Introduction</td>
more drastic changes were to be in the unstable branch. These branches
have now been merged to minimize time and effort of maintaining two <td width="34%" align="center" valign="top">&nbsp;</td>
branches.
</P <td width="33%" align="right" valign="top">Documentation
></DIV Guidelines</td>
><DIV </tr>
CLASS="SECT2" </table>
><H2 </div>
CLASS="SECT2" </body>
><A </html>
NAME="CVSCOMMIT"
>2.3. CVS Commit Guidelines</A
></H2
><P
> The source tree is the heart of every software project. Every effort must
be made to ensure that it is readable, compilable and consistent at all
times. There are differing guidelines for the stable branch and the
main development trunk, and we ask anyone with CVS access to strictly
adhere to the following guidelines:
</P
><P
> Basic Guidelines, for all branches:
</P
><P
> <P
></P
><UL
><LI
><P
> Please don't commit even
a small change without testing it thoroughly first. When we're
close to a public release, ask a fellow developer to review your
changes.
</P
></LI
><LI
><P
> Your commit message should give a concise overview of <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>what you
changed</I
></SPAN
> (no big details) and <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>why you changed it</I
></SPAN
>
Just check previous messages for good examples.
</P
></LI
><LI
><P
> Don't use the same message on multiple files, unless it equally applies to
all those files.
</P
></LI
><LI
><P
> If your changes span multiple files, and the code won't recompile unless
all changes are committed (e.g. when changing the signature of a function),
then commit all files one after another, without long delays in between.
If necessary, prepare the commit messages in advance.
</P
></LI
><LI
><P
> Before changing things on CVS, make sure that your changes are in line
with the team's general consensus on what should be done.
</P
></LI
><LI
><P
> Note that near a major public release, we get more cautious.
There is always the possibility to submit a patch to the <A
HREF="http://sourceforge.net/tracker/?atid=311118&#38;group_id=11118&#38;func=browse"
TARGET="_top"
>patch
tracker</A
> instead.
</P
></LI
></UL
>
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="introduction.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="documentation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Documentation Guidelines</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,199 +1,116 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Introduction</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Introduction</title>
TITLE="Privoxy Developer Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
TITLE="Privoxy Developer Manual" <link rel="PREVIOUS" title="Privoxy Developer Manual" href="index.html">
HREF="index.html"><LINK <link rel="NEXT" title="The CVS Repository" href="cvs.html">
REL="NEXT" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TITLE="The CVS Repository" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="cvs.html"><LINK <style type="text/css">
REL="STYLESHEET" body {
TYPE="text/css" background-color: #EEEEEE;
HREF="../p_doc.css"><META color: #000000;
HTTP-EQUIV="Content-Type" }
CONTENT="text/html; :link { color: #0000FF }
charset=ISO-8859-1"></HEAD :visited { color: #840084 }
><BODY :active { color: #0000FF }
CLASS="SECT1" hr.c1 {text-align: left}
BGCOLOR="#EEEEEE" </style>
TEXT="#000000" </head>
LINK="#0000FF"
VLINK="#840084" <body class="SECT1">
ALINK="#0000FF" <div class="NAVHEADER">
><DIV <table summary="Header navigation table" width="100%" border="0"
CLASS="NAVHEADER" cellpadding="0" cellspacing="0">
><TABLE <tr>
SUMMARY="Header navigation table" <th colspan="3" align="center">Privoxy Developer Manual</th>
WIDTH="100%" </tr>
BORDER="0"
CELLPADDING="0" <tr>
CELLSPACING="0" <td width="10%" align="left" valign="bottom"><a href="index.html"
><TR accesskey="P">Prev</a></td>
><TH
COLSPAN="3" <td width="80%" align="center" valign="bottom"></td>
ALIGN="center"
>Privoxy Developer Manual</TH <td width="10%" align="right" valign="bottom"><a href="cvs.html"
></TR accesskey="N">Next</a></td>
><TR </tr>
><TD </table>
WIDTH="10%" <hr class="c1" width="100%">
ALIGN="left" </div>
VALIGN="bottom"
><A <div class="SECT1">
HREF="index.html" <h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
ACCESSKEY="P" Introduction</a></h1>
>Prev</A
></TD <p><span class="APPLICATION">Privoxy</span>, as an heir to <span class=
><TD "APPLICATION">Junkbuster</span>, is a Free Software project and the code
WIDTH="80%" is licensed under the GNU General Public License version 2. As such,
ALIGN="center" <span class="APPLICATION">Privoxy</span> development is potentially open
VALIGN="bottom" to anyone who has the time, knowledge, and desire to contribute in any
></TD capacity. Our goals are simply to continue the mission, to improve
><TD <span class="APPLICATION">Privoxy</span>, and to make it available to as
WIDTH="10%" wide an audience as possible.</p>
ALIGN="right"
VALIGN="bottom" <p>One does not have to be a programmer to contribute. Packaging,
><A testing, documenting and porting, are all important jobs as well.</p>
HREF="cvs.html"
ACCESSKEY="N" <div class="SECT2">
>Next</A <h2 class="SECT2"><a name="QUICKSTART" id="QUICKSTART">1.1. Quickstart
></TD to Privoxy Development</a></h2>
></TR
></TABLE <p>The first step is to join the <a href=
><HR "mailto:ijbswa-developers@lists.sourceforge.net" target=
ALIGN="LEFT" "_top">developer's mailing list</a>. You can submit your ideas, or even
WIDTH="100%"></DIV better patches. Patches are best submitted to the Sourceforge tracker
><DIV set up for this purpose, but can be sent to the list for review
CLASS="SECT1" too.</p>
><H1
CLASS="SECT1" <p>You will also need to have a cvs package installed, which will
><A entail having ssh installed as well (which seems to be a requirement of
NAME="INTRODUCTION" SourceForge), in order to access the cvs repository. Having the GNU
>1. Introduction</A build tools is also going to be important (particularly, autoconf and
></H1 gmake).</p>
><P
> <SPAN <p>For the time being (read, this section is under construction), you
CLASS="APPLICATION" can also refer to the extensive comments in the source code. In fact,
>Privoxy</SPAN reading the code is recommended in any case.</p>
>, as an heir to </div>
<SPAN </div>
CLASS="APPLICATION"
>Junkbuster</SPAN <div class="NAVFOOTER">
>, is a Free Software project <hr class="c1" width="100%">
and the code is licensed under the GNU General Public License version 2.
As such, <SPAN <table summary="Footer navigation table" width="100%" border="0"
CLASS="APPLICATION" cellpadding="0" cellspacing="0">
>Privoxy</SPAN <tr>
> development is potentially open <td width="33%" align="left" valign="top"><a href="index.html"
to anyone who has the time, knowledge, and desire to contribute accesskey="P">Prev</a></td>
in any capacity. Our goals are simply to continue the mission,
to improve <SPAN <td width="34%" align="center" valign="top"><a href="index.html"
CLASS="APPLICATION" accesskey="H">Home</a></td>
>Privoxy</SPAN
>, and <td width="33%" align="right" valign="top"><a href="cvs.html"
to make it available to as wide an audience as possible. accesskey="N">Next</a></td>
</P </tr>
><P
> One does not have to be a programmer to contribute. Packaging, testing, <tr>
documenting and porting, are all important jobs as well. <td width="33%" align="left" valign="top">Privoxy Developer
</P Manual</td>
><DIV
CLASS="SECT2" <td width="34%" align="center" valign="top">&nbsp;</td>
><H2
CLASS="SECT2" <td width="33%" align="right" valign="top">The CVS Repository</td>
><A </tr>
NAME="QUICKSTART" </table>
>1.1. Quickstart to Privoxy Development</A </div>
></H2 </body>
><P </html>
> The first step is to join the <A
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
TARGET="_top"
>developer's mailing list</A
>.
You can submit your ideas, or even better patches. Patches are best
submitted to the Sourceforge tracker set up for this purpose, but
can be sent to the list for review too.
</P
><P
> You will also need to have a cvs package installed, which will
entail having ssh installed as well (which seems to be a requirement of
SourceForge), in order to access the cvs repository. Having the GNU build
tools is also going to be important (particularly, autoconf and gmake).
</P
><P
> For the time being (read, this section is under construction), you can
also refer to the extensive comments in the source code. In fact,
reading the code is recommended in any case.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="cvs.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Privoxy Developer Manual</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The CVS Repository</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -1,150 +0,0 @@
<HTML
><HEAD
><TITLE
>Quickstart to Privoxy Development</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="introduction.html"><LINK
REL="NEXT"
TITLE="The CVS Repository"
HREF="cvs.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy Developer Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="introduction.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="cvs.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="QUICKSTART"
>3. Quickstart to Privoxy Development</A
></H1
><P
> You'll need an account on <A
HREF="http://sourceforge.net/"
TARGET="_top"
>Sourceforge</A
> to support our
development. Mail your ID to <A
HREF="mailto:developers@privoxy.org"
TARGET="_top"
>the list</A
> and wait until a
project manager has added you.
</P
><P
> For the time being (read, this section is under construction), please
refer to the extensive comments in the source code.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="introduction.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="cvs.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The CVS Repository</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,405 +1,204 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>See also</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>See also</title>
TITLE="Privoxy Developer Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
TITLE="Privoxy Copyright, License and History" <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
HREF="copyright.html"><LINK "copyright.html">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TYPE="text/css" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="../p_doc.css"><META <style type="text/css">
HTTP-EQUIV="Content-Type" body {
CONTENT="text/html; background-color: #EEEEEE;
charset=ISO-8859-1"></HEAD color: #000000;
><BODY }
CLASS="SECT1" :link { color: #0000FF }
BGCOLOR="#EEEEEE" :visited { color: #840084 }
TEXT="#000000" :active { color: #0000FF }
LINK="#0000FF" hr.c1 {text-align: left}
VLINK="#840084" </style>
ALINK="#0000FF" </head>
><DIV
CLASS="NAVHEADER" <body class="SECT1">
><TABLE <div class="NAVHEADER">
SUMMARY="Header navigation table" <table summary="Header navigation table" width="100%" border="0"
WIDTH="100%" cellpadding="0" cellspacing="0">
BORDER="0" <tr>
CELLPADDING="0" <th colspan="3" align="center">Privoxy Developer Manual</th>
CELLSPACING="0" </tr>
><TR
><TH <tr>
COLSPAN="3" <td width="10%" align="left" valign="bottom"><a href="copyright.html"
ALIGN="center" accesskey="P">Prev</a></td>
>Privoxy Developer Manual</TH
></TR <td width="80%" align="center" valign="bottom"></td>
><TR
><TD <td width="10%" align="right" valign="bottom">&nbsp;</td>
WIDTH="10%" </tr>
ALIGN="left" </table>
VALIGN="bottom" <hr class="c1" width="100%">
><A </div>
HREF="copyright.html"
ACCESSKEY="P" <div class="SECT1">
>Prev</A <h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">10. See also</a></h1>
></TD
><TD <p>Other references and sites of interest to <span class=
WIDTH="80%" "APPLICATION">Privoxy</span> users:</p>
ALIGN="center"
VALIGN="bottom" <table border="0">
></TD <tbody>
><TD <tr>
WIDTH="10%" <td><a href="http://www.privoxy.org/" target=
ALIGN="right" "_top">http://www.privoxy.org/</a>, the <span class=
VALIGN="bottom" "APPLICATION">Privoxy</span> Home page.</td>
>&nbsp;</TD </tr>
></TR </tbody>
></TABLE </table>
><HR
ALIGN="LEFT" <table border="0">
WIDTH="100%"></DIV <tbody>
><DIV <tr>
CLASS="SECT1" <td><a href="http://www.privoxy.org/faq/" target=
><H1 "_top">http://www.privoxy.org/faq/</a>, the <span class=
CLASS="SECT1" "APPLICATION">Privoxy</span> FAQ.</td>
><A </tr>
NAME="SEEALSO" </tbody>
>10. See also</A </table>
></H1
><P <table border="0">
> Other references and sites of interest to <SPAN <tbody>
CLASS="APPLICATION" <tr>
>Privoxy</SPAN <td><a href="http://www.privoxy.org/developer-manual/" target=
> "_top">http://www.privoxy.org/developer-manual/</a>, the
users:</P <span class="APPLICATION">Privoxy</span> developer manual.</td>
><P </tr>
> <P </tbody>
></P </table>
><TABLE
BORDER="0" <table border="0">
><TBODY <tbody>
><TR <tr>
><TD <td><a href="https://sourceforge.net/projects/ijbswa/" target=
> <A "_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
HREF="http://www.privoxy.org/" Page for <span class="APPLICATION">Privoxy</span> on <a href=
TARGET="_top" "http://sourceforge.net" target="_top">SourceForge</a>.</td>
>http://www.privoxy.org/</A </tr>
>, </tbody>
the <SPAN </table>
CLASS="APPLICATION"
>Privoxy</SPAN <table border="0">
> Home page. <tbody>
</TD <tr>
></TR <td><a href="http://config.privoxy.org/" target=
></TBODY "_top">http://config.privoxy.org/</a>, the web-based user
></TABLE interface. <span class="APPLICATION">Privoxy</span> must be running
><P for this to work. Shortcut: <a href="http://p.p/" target=
></P "_top">http://p.p/</a></td>
> </tr>
<P </tbody>
></P </table>
><TABLE
BORDER="0" <table border="0">
><TBODY <tbody>
><TR <tr>
><TD <td><a href=
> <A "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
HREF="http://www.privoxy.org/faq/" target=
TARGET="_top" "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
>http://www.privoxy.org/faq/</A to submit <span class="QUOTE">"misses"</span> and other
>, configuration related suggestions to the developers.</td>
the <SPAN </tr>
CLASS="APPLICATION" </tbody>
>Privoxy</SPAN </table>
> FAQ.
</TD <table border="0">
></TR <tbody>
></TBODY <tr>
></TABLE <td><a href="http://www.junkbusters.com/ht/en/cookies.html" target=
><P "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
></P explanation how cookies are used to track web users.</td>
> </tr>
<P </tbody>
></P </table>
><TABLE
BORDER="0" <table border="0">
><TBODY <tbody>
><TR <tr>
><TD <td><a href="http://www.junkbusters.com/ijb.html" target=
> <A "_top">http://www.junkbusters.com/ijb.html</a>, the original
HREF="http://www.privoxy.org/developer-manual/" Internet Junkbuster.</td>
TARGET="_top" </tr>
>http://www.privoxy.org/developer-manual/</A </tbody>
>, </table>
the <SPAN
CLASS="APPLICATION" <table border="0">
>Privoxy</SPAN <tbody>
> developer manual. <tr>
</TD <td><a href="http://www.squid-cache.org/" target=
></TR "_top">http://www.squid-cache.org/</a>, a popular caching proxy,
></TBODY which is often used together with <span class=
></TABLE "APPLICATION">Privoxy</span>.</td>
><P </tr>
></P </tbody>
> </table>
<P
></P <table border="0">
><TABLE <tbody>
BORDER="0" <tr>
><TBODY <td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
><TR target="_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
><TD <span class="APPLICATION">Polipo</span> is a caching proxy with
> <A advanced features like pipelining, multiplexing and caching of
HREF="https://sourceforge.net/projects/ijbswa/" partial instances. In many setups it can be used as <span class=
TARGET="_top" "APPLICATION">Squid</span> replacement.</td>
>https://sourceforge.net/projects/ijbswa/</A </tr>
>, </tbody>
the Project Page for <SPAN </table>
CLASS="APPLICATION"
>Privoxy</SPAN <table border="0">
> on <tbody>
<A <tr>
HREF="http://sourceforge.net" <td><a href="https://www.torproject.org/" target=
TARGET="_top" "_top">https://www.torproject.org/</a>, <span class=
>SourceForge</A "APPLICATION">Tor</span> can help anonymize web browsing, web
>. publishing, instant messaging, IRC, SSH, and other
</TD applications.</td>
></TR </tr>
></TBODY </tbody>
></TABLE </table>
><P </div>
></P
> <div class="NAVFOOTER">
<P <hr class="c1" width="100%">
></P
><TABLE <table summary="Footer navigation table" width="100%" border="0"
BORDER="0" cellpadding="0" cellspacing="0">
><TBODY <tr>
><TR <td width="33%" align="left" valign="top"><a href="copyright.html"
><TD accesskey="P">Prev</a></td>
> <A
HREF="http://config.privoxy.org/" <td width="34%" align="center" valign="top"><a href="index.html"
TARGET="_top" accesskey="H">Home</a></td>
>http://config.privoxy.org/</A
>, <td width="33%" align="right" valign="top">&nbsp;</td>
the web-based user interface. <SPAN </tr>
CLASS="APPLICATION"
>Privoxy</SPAN <tr>
> must be <td width="33%" align="left" valign="top">Privoxy Copyright, License
running for this to work. Shortcut: <A and History</td>
HREF="http://p.p/"
TARGET="_top" <td width="34%" align="center" valign="top">&nbsp;</td>
>http://p.p/</A
> <td width="33%" align="right" valign="top">&nbsp;</td>
</TD </tr>
></TR </table>
></TBODY </div>
></TABLE </body>
><P </html>
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
TARGET="_top"
>https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
>, to submit <SPAN
CLASS="QUOTE"
>"misses"</SPAN
> and other
configuration related suggestions to the developers.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.junkbusters.com/ht/en/cookies.html"
TARGET="_top"
>http://www.junkbusters.com/ht/en/cookies.html</A
>,
an explanation how cookies are used to track web users.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.junkbusters.com/ijb.html"
TARGET="_top"
>http://www.junkbusters.com/ijb.html</A
>,
the original Internet Junkbuster.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.squid-cache.org/"
TARGET="_top"
>http://www.squid-cache.org/</A
>, a popular
caching proxy, which is often used together with <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
TARGET="_top"
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
>,
<SPAN
CLASS="APPLICATION"
>Polipo</SPAN
> is a caching proxy with advanced features
like pipelining, multiplexing and caching of partial instances. In many setups
it can be used as <SPAN
CLASS="APPLICATION"
>Squid</SPAN
> replacement.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="https://www.torproject.org/"
TARGET="_top"
>https://www.torproject.org/</A
>,
<SPAN
CLASS="APPLICATION"
>Tor</SPAN
> can help anonymize web browsing,
web publishing, instant messaging, IRC, SSH, and other applications.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Privoxy Copyright, License and History</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,259 +1,169 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE
>Testing Guidelines</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Coding Guidelines"
HREF="coding.html"><LINK
REL="NEXT"
TITLE="Releasing a New Version"
HREF="newrelease.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;
charset=ISO-8859-1"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy Developer Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="coding.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="newrelease.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="TESTING"
>5. Testing Guidelines</A
></H1
><P
>To be filled.</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="TESTING-PLAN"
>5.1. Testplan for releases</A
></H2
><P
> Explain release numbers. major, minor. developer releases. etc.
<P <html>
></P <head>
><OL <meta name="generator" content=
TYPE="1" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
><LI
><P <title>Testing Guidelines</title>
>Remove any existing rpm with rpm -e</P <meta name="GENERATOR" content=
></LI "Modular DocBook HTML Stylesheet Version 1.79">
><LI <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
><P <link rel="PREVIOUS" title="Coding Guidelines" href="coding.html">
>Remove any file that was left over. This includes (but is not limited to) <link rel="NEXT" title="Releasing a New Version" href="newrelease.html">
<P <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
></P <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
><UL <style type="text/css">
><LI body {
><P background-color: #EEEEEE;
>/var/log/privoxy</P color: #000000;
></LI }
><LI :link { color: #0000FF }
><P :visited { color: #840084 }
>/etc/privoxy</P :active { color: #0000FF }
></LI hr.c1 {text-align: left}
><LI </style>
><P </head>
>/usr/sbin/privoxy</P
></LI <body class="SECT1">
><LI <div class="NAVHEADER">
><P <table summary="Header navigation table" width="100%" border="0"
>/etc/init.d/privoxy</P cellpadding="0" cellspacing="0">
></LI <tr>
><LI <th colspan="3" align="center">Privoxy Developer Manual</th>
><P </tr>
>/usr/doc/privoxy*</P
></LI <tr>
></UL <td width="10%" align="left" valign="bottom"><a href="coding.html"
></P accesskey="P">Prev</a></td>
></LI
><LI <td width="80%" align="center" valign="bottom"></td>
><P
>Install the rpm. Any error messages?</P <td width="10%" align="right" valign="bottom"><a href=
></LI "newrelease.html" accesskey="N">Next</a></td>
><LI </tr>
><P </table>
>start,stop,status <SPAN <hr class="c1" width="100%">
CLASS="APPLICATION" </div>
>Privoxy</SPAN
> with the specific script <div class="SECT1">
(e.g. /etc/rc.d/init/privoxy stop). Reboot your machine. Does <h1 class="SECT1"><a name="TESTING" id="TESTING">5. Testing
autostart work?</P Guidelines</a></h1>
></LI
><LI <p>To be filled.</p>
><P
>Start browsing. Does <SPAN <div class="SECT2">
CLASS="APPLICATION" <h2 class="SECT2"><a name="TESTING-PLAN" id="TESTING-PLAN">5.1.
>Privoxy</SPAN Testplan for releases</a></h2>
> work? Logfile written?</P
></LI <p>Explain release numbers. major, minor. developer releases. etc.</p>
><LI
><P <ol type="1">
>Remove the rpm. Any error messages? All files removed?</P <li>
></LI <p>Remove any existing rpm with rpm -e</p>
></OL </li>
></P
></DIV <li>
><DIV <p>Remove any file that was left over. This includes (but is not
CLASS="SECT2" limited to)</p>
><H2
CLASS="SECT2" <ul>
><A <li>
NAME="TESTING-REPORT" <p>/var/log/privoxy</p>
>5.2. Test reports</A </li>
></H2
><P <li>
>Please submit test reports only with the <A <p>/etc/privoxy</p>
HREF="http://sourceforge.net/tracker/?func=add&#38;group_id=11118&#38;atid=395005" </li>
TARGET="_top"
>test form</A <li>
> <p>/usr/sbin/privoxy</p>
at sourceforge. Three simple steps: </li>
<P
></P <li>
><UL <p>/etc/init.d/privoxy</p>
><LI </li>
><P
>Select category: the distribution you test on.</P <li>
></LI <p>/usr/doc/privoxy*</p>
><LI </li>
><P </ul>
>Select group: the version of <SPAN </li>
CLASS="APPLICATION"
>Privoxy</SPAN <li>
> that we are about to release.</P <p>Install the rpm. Any error messages?</p>
></LI </li>
><LI
><P <li>
>Fill the Summary and Detailed Description with something <p>start,stop,status <span class="APPLICATION">Privoxy</span> with
intelligent (keep it short and precise).</P the specific script (e.g. /etc/rc.d/init/privoxy stop). Reboot your
></LI machine. Does autostart work?</p>
></UL </li>
>
Do not mail to the mailing list (we cannot keep track on issues there). <li>
</P <p>Start browsing. Does <span class="APPLICATION">Privoxy</span>
></DIV work? Logfile written?</p>
></DIV </li>
><DIV
CLASS="NAVFOOTER" <li>
><HR <p>Remove the rpm. Any error messages? All files removed?</p>
ALIGN="LEFT" </li>
WIDTH="100%"><TABLE </ol>
SUMMARY="Footer navigation table" </div>
WIDTH="100%"
BORDER="0" <div class="SECT2">
CELLPADDING="0" <h2 class="SECT2"><a name="TESTING-REPORT" id="TESTING-REPORT">5.2.
CELLSPACING="0" Test reports</a></h2>
><TR
><TD <p>Please submit test reports only with the <a href=
WIDTH="33%" "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=395005"
ALIGN="left" target="_top">test form</a> at sourceforge. Three simple steps:</p>
VALIGN="top"
><A <ul>
HREF="coding.html" <li>
ACCESSKEY="P" <p>Select category: the distribution you test on.</p>
>Prev</A </li>
></TD
><TD <li>
WIDTH="34%" <p>Select group: the version of <span class=
ALIGN="center" "APPLICATION">Privoxy</span> that we are about to release.</p>
VALIGN="top" </li>
><A
HREF="index.html" <li>
ACCESSKEY="H" <p>Fill the Summary and Detailed Description with something
>Home</A intelligent (keep it short and precise).</p>
></TD </li>
><TD </ul>Do not mail to the mailing list (we cannot keep track on issues
WIDTH="33%" there).
ALIGN="right" </div>
VALIGN="top" </div>
><A
HREF="newrelease.html" <div class="NAVFOOTER">
ACCESSKEY="N" <hr class="c1" width="100%">
>Next</A
></TD <table summary="Footer navigation table" width="100%" border="0"
></TR cellpadding="0" cellspacing="0">
><TR <tr>
><TD <td width="33%" align="left" valign="top"><a href="coding.html"
WIDTH="33%" accesskey="P">Prev</a></td>
ALIGN="left"
VALIGN="top" <td width="34%" align="center" valign="top"><a href="index.html"
>Coding Guidelines</TD accesskey="H">Home</a></td>
><TD
WIDTH="34%" <td width="33%" align="right" valign="top"><a href="newrelease.html"
ALIGN="center" accesskey="N">Next</a></td>
VALIGN="top" </tr>
>&nbsp;</TD
><TD <tr>
WIDTH="33%" <td width="33%" align="left" valign="top">Coding Guidelines</td>
ALIGN="right"
VALIGN="top" <td width="34%" align="center" valign="top">&nbsp;</td>
>Releasing a New Version</TD
></TR <td width="33%" align="right" valign="top">Releasing a New
></TABLE Version</td>
></DIV </tr>
></BODY </table>
></HTML </div>
> </body>
</html>

View File

@ -1,260 +1,147 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Update the Webserver</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Update the Webserver</title>
TITLE="Privoxy Developer Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Developer Manual" href="index.html">
TITLE="Releasing a New Version" <link rel="PREVIOUS" title="Releasing a New Version" href=
HREF="newrelease.html"><LINK "newrelease.html">
REL="NEXT" <link rel="NEXT" title=
TITLE="Contacting the developers, Bug Reporting and Feature Requests" "Contacting the developers, Bug Reporting and Feature Requests" href=
HREF="contact.html"><LINK "contact.html">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TYPE="text/css" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="../p_doc.css"><META <style type="text/css">
HTTP-EQUIV="Content-Type" body {
CONTENT="text/html; background-color: #EEEEEE;
charset=ISO-8859-1"></HEAD color: #000000;
><BODY }
CLASS="SECT1" :link { color: #0000FF }
BGCOLOR="#EEEEEE" :visited { color: #840084 }
TEXT="#000000" :active { color: #0000FF }
LINK="#0000FF" span.c3 {font-style: italic}
VLINK="#840084" table.c2 {background-color: #E0E0E0}
ALINK="#0000FF" hr.c1 {text-align: left}
><DIV </style>
CLASS="NAVHEADER" </head>
><TABLE
SUMMARY="Header navigation table" <body class="SECT1">
WIDTH="100%" <div class="NAVHEADER">
BORDER="0" <table summary="Header navigation table" width="100%" border="0"
CELLPADDING="0" cellpadding="0" cellspacing="0">
CELLSPACING="0" <tr>
><TR <th colspan="3" align="center">Privoxy Developer Manual</th>
><TH </tr>
COLSPAN="3"
ALIGN="center" <tr>
>Privoxy Developer Manual</TH <td width="10%" align="left" valign="bottom"><a href=
></TR "newrelease.html" accesskey="P">Prev</a></td>
><TR
><TD <td width="80%" align="center" valign="bottom"></td>
WIDTH="10%"
ALIGN="left" <td width="10%" align="right" valign="bottom"><a href="contact.html"
VALIGN="bottom" accesskey="N">Next</a></td>
><A </tr>
HREF="newrelease.html" </table>
ACCESSKEY="P" <hr class="c1" width="100%">
>Prev</A </div>
></TD
><TD <div class="SECT1">
WIDTH="80%" <h1 class="SECT1"><a name="WEBSERVER-UPDATE" id="WEBSERVER-UPDATE">7.
ALIGN="center" Update the Webserver</a></h1>
VALIGN="bottom"
></TD <p>The webserver should be updated at least with each stable release.
><TD When updating, please follow these steps to make sure that no broken
WIDTH="10%" links, inconsistent contents or permission problems will occur (as it has
ALIGN="right" many times in the past!):</p>
VALIGN="bottom"
><A <p>If you have changed anything in the stable-branch documentation source
HREF="contact.html" SGML files, do:</p>
ACCESSKEY="N"
>Next</A <table class="c2" border="0" width="100%">
></TD <tr>
></TR <td>
></TABLE <pre class="PROGRAMLISTING">
><HR make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)
ALIGN="LEFT" </pre>
WIDTH="100%"></DIV </td>
><DIV </tr>
CLASS="SECT1" </table>
><H1
CLASS="SECT1" <p>That will generate <tt class=
><A "FILENAME">doc/webserver/user-manual</tt>, <tt class=
NAME="WEBSERVER-UPDATE" "FILENAME">doc/webserver/developer-manual</tt>, <tt class=
>7. Update the Webserver</A "FILENAME">doc/webserver/faq</tt>, <tt class=
></H1 "FILENAME">doc/pdf/*.pdf</tt> and <tt class=
><P "FILENAME">doc/webserver/index.html</tt> automatically.</p>
> The webserver should be updated at least with each stable release. When
updating, please follow these steps to make sure that no broken links, <p>If you changed the manual page sources, generate <tt class=
inconsistent contents or permission problems will occur (as it has many "FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt> by running
times in the past!): <span class="QUOTE">"<b class="COMMAND">make man</b>"</span>. (This is a
</P separate target due to dependencies on some obscure perl scripts [now in
><P CVS, but not well tested]. See comments in <tt class=
> If you have changed anything in the stable-branch documentation source "FILENAME">GNUmakefile</tt>.)</p>
SGML files, do:
</P <p>If you want to add new files to the webserver, create them locally in
><P the <tt class="FILENAME">doc/webserver/*</tt> directory (or create new
> <TABLE directories under <tt class="FILENAME">doc/webserver</tt>).</p>
BORDER="0"
BGCOLOR="#E0E0E0" <p>Next, commit any changes from the above steps to CVS. All set? If
WIDTH="100%" these are docs in the stable branch, then do:</p>
><TR
><TD <table class="c2" border="0" width="100%">
><PRE <tr>
CLASS="PROGRAMLISTING" <td>
> make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)</PRE <pre class="PROGRAMLISTING">
></TD make webserver
></TR </pre>
></TABLE </td>
> </tr>
</P </table>
><P
> That will generate <TT <p>This will do the upload to <a href="http://www.privoxy.org/" target=
CLASS="FILENAME" "_top">the webserver</a> (www.privoxy.org) and ensure all files and
>doc/webserver/user-manual</TT directories there are group writable.</p>
>,
<TT <p>Please do <span class="emphasis EMPHASIS c3">NOT</span> use any other
CLASS="FILENAME" means of transferring files to the webserver to avoid permission
>doc/webserver/developer-manual</TT problems. Also, please do not upload docs from development branches or
>, versions. The publicly posted docs should be in sync with the last
<TT official release.</p>
CLASS="FILENAME" </div>
>doc/webserver/faq</TT
>, <div class="NAVFOOTER">
<TT <hr class="c1" width="100%">
CLASS="FILENAME"
>doc/pdf/*.pdf</TT <table summary="Footer navigation table" width="100%" border="0"
> and cellpadding="0" cellspacing="0">
<TT <tr>
CLASS="FILENAME" <td width="33%" align="left" valign="top"><a href="newrelease.html"
>doc/webserver/index.html</TT accesskey="P">Prev</a></td>
> automatically.
</P <td width="34%" align="center" valign="top"><a href="index.html"
><P accesskey="H">Home</a></td>
> If you changed the manual page sources, generate
<TT <td width="33%" align="right" valign="top"><a href="contact.html"
CLASS="FILENAME" accesskey="N">Next</a></td>
>doc/webserver/man-page/privoxy-man-page.html</TT </tr>
>
by running <SPAN <tr>
CLASS="QUOTE" <td width="33%" align="left" valign="top">Releasing a New
>"<B Version</td>
CLASS="COMMAND"
>make man</B <td width="34%" align="center" valign="top">&nbsp;</td>
>"</SPAN
>. (This is <td width="33%" align="right" valign="top">Contacting the developers,
a separate target due to dependencies on some obscure perl scripts Bug Reporting and Feature Requests</td>
[now in CVS, but not well tested]. See comments in <TT </tr>
CLASS="FILENAME" </table>
>GNUmakefile</TT </div>
>.) </body>
</P </html>
><P
> If you want to add new files to the webserver, create them locally in
the <TT
CLASS="FILENAME"
>doc/webserver/*</TT
> directory (or
create new directories under <TT
CLASS="FILENAME"
>doc/webserver</TT
>).
</P
><P
> Next, commit any changes from the above steps to CVS. All set?
If these are docs in the stable branch, then do:
</P
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
> make webserver</PRE
></TD
></TR
></TABLE
>
</P
><P
> This will do the upload to <A
HREF="http://www.privoxy.org/"
TARGET="_top"
>the
webserver</A
> (www.privoxy.org) and ensure all files and directories
there are group writable.
</P
><P
> Please do <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>NOT</I
></SPAN
> use any other means of transferring
files to the webserver to avoid permission problems. Also, please do not
upload docs from development branches or versions. The publicly posted
docs should be in sync with the last official release.
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="newrelease.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="contact.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Releasing a New Version</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Contacting the developers, Bug Reporting and Feature Requests</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -1,510 +1,363 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Contacting the developers, Bug Reporting and Feature Requests</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Contacting the developers, Bug Reporting and Feature
TITLE="Privoxy Frequently Asked Questions" Requests</title>
HREF="index.html"><LINK <meta name="GENERATOR" content=
REL="PREVIOUS" "Modular DocBook HTML Stylesheet Version 1.79">
TITLE="Troubleshooting" <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
HREF="trouble.html"><LINK "index.html">
REL="NEXT" <link rel="PREVIOUS" title="Troubleshooting" href="trouble.html">
TITLE="Privoxy Copyright, License and History" <link rel="NEXT" title="Privoxy Copyright, License and History" href=
HREF="copyright.html"><LINK "copyright.html">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TYPE="text/css" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="../p_doc.css"><META <style type="text/css">
HTTP-EQUIV="Content-Type" body {
CONTENT="text/html; background-color: #EEEEEE;
charset=ISO-8859-1"></HEAD color: #000000;
><BODY }
CLASS="SECT1" :link { color: #0000FF }
BGCOLOR="#EEEEEE" :visited { color: #840084 }
TEXT="#000000" :active { color: #0000FF }
LINK="#0000FF" span.c2 {font-style: italic}
VLINK="#840084" hr.c1 {text-align: left}
ALINK="#0000FF" </style>
><DIV </head>
CLASS="NAVHEADER"
><TABLE <body class="SECT1">
SUMMARY="Header navigation table" <div class="NAVHEADER">
WIDTH="100%" <table summary="Header navigation table" width="100%" border="0"
BORDER="0" cellpadding="0" cellspacing="0">
CELLPADDING="0" <tr>
CELLSPACING="0" <th colspan="3" align="center">Privoxy Frequently Asked
><TR Questions</th>
><TH </tr>
COLSPAN="3"
ALIGN="center" <tr>
>Privoxy Frequently Asked Questions</TH <td width="10%" align="left" valign="bottom"><a href="trouble.html"
></TR accesskey="P">Prev</a></td>
><TR
><TD <td width="80%" align="center" valign="bottom"></td>
WIDTH="10%"
ALIGN="left" <td width="10%" align="right" valign="bottom"><a href=
VALIGN="bottom" "copyright.html" accesskey="N">Next</a></td>
><A </tr>
HREF="trouble.html" </table>
ACCESSKEY="P" <hr class="c1" width="100%">
>Prev</A </div>
></TD
><TD <div class="SECT1">
WIDTH="80%" <h1 class="SECT1"><a name="CONTACT" id="CONTACT">6. Contacting the
ALIGN="center" developers, Bug Reporting and Feature Requests</a></h1>
VALIGN="bottom"
></TD <p>We value your feedback. In fact, we rely on it to improve <span class=
><TD "APPLICATION">Privoxy</span> and its configuration. However, please note
WIDTH="10%" the following hints, so we can provide you with the best support:</p>
ALIGN="right"
VALIGN="bottom" <div class="SECT2">
><A <h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">6.1.
HREF="copyright.html" Get Support</a></h2>
ACCESSKEY="N"
>Next</A <p>For casual users, our <a href=
></TD "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
></TR target="_top">support forum at SourceForge</a> is probably best suited:
></TABLE <a href=
><HR "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
ALIGN="LEFT" target="_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a></p>
WIDTH="100%"></DIV
><DIV <p>All users are of course welcome to discuss their issues on the
CLASS="SECT1" <a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
><H1 target="_top">users mailing list</a>, where the developers also hang
CLASS="SECT1" around.</p>
><A
NAME="CONTACT" <p>Please don't sent private support requests to individual Privoxy
>6. Contacting the developers, Bug Reporting and Feature Requests</A developers, either use the mailing lists or the support trackers.</p>
></H1
><P <p>If you have to contact a Privoxy developer directly for other
> We value your feedback. In fact, we rely on it to improve reasons, please send a real mail and do not bother with SourceForge's
<SPAN messaging system. Answers to SourceForge messages are usually bounced
CLASS="APPLICATION" by SourceForge's mail server in which case the developer wasted time
>Privoxy</SPAN writing a response you don't get. From your point of view it will look
> and its configuration. like your message has been completely ignored, so this is frustrating
However, please note the following hints, so we can for all parties involved.</p>
provide you with the best support:</P
><DIV <p>Note that the Privoxy mailing lists are moderated. Posts from
CLASS="SECT2" unsubscribed addresses have to be accepted manually by a moderator.
><H2 This may cause a delay of several days and if you use a subject that
CLASS="SECT2" doesn't clearly mention Privoxy or one of its features, your message
><A may be accidentally discarded as spam.</p>
NAME="CONTACT-SUPPORT"
>6.1. Get Support</A <p>If you aren't subscribed, you should therefore spend a few seconds
></H2 to come up with a proper subject. Additionally you should make it clear
><P that you want to get CC'd. Otherwise some responses will be directed to
> For casual users, our the mailing list only, and you won't see them.</p>
<A </div>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top" <div class="SECT2">
>support forum at SourceForge</A <h2 class="SECT2"><a name="REPORTING" id="REPORTING">6.2. Reporting
> Problems</a></h2>
is probably best suited:
<A <p><span class="QUOTE">"Problems"</span> for our purposes, come in two
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118" forms:</p>
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</A <ul>
></P <li>
><P <p>Configuration issues, such as ads that slip through, or sites
> All users are of course welcome to discuss their issues on the <A that don't function properly due to one <span class=
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users" "APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
TARGET="_top" another being turned <span class="QUOTE">"on"</span>.</p>
>users </li>
mailing list</A
>, where the developers also hang around.</P <li>
><P <p><span class="QUOTE">"Bugs"</span> in the programming code that
> Please don't sent private support requests to individual Privoxy makes up <span class="APPLICATION">Privoxy</span>, such as that
developers, either use the mailing lists or the support trackers.</P might cause a crash.</p>
><P </li>
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed </ul>
addresses have to be accepted manually by a moderator. This may cause a
delay of several days and if you use a subject that doesn't clearly <div class="SECT3">
mention Privoxy or one of its features, your message may be accidentally <h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">6.2.1.
discarded as spam.</P Reporting Ads or Other Configuration Problems</a></h3>
><P
> If you aren't subscribed, you should therefore spend a few seconds <p>Please send feedback on ads that slipped through, innocent images
to come up with a proper subject. Additionally you should make it clear that were blocked, sites that don't work properly, and other
that you want to get CC'd. Otherwise some responses will be directed to configuration related problem of <tt class=
the mailing list only, and you won't see them.</P "FILENAME">default.action</tt> file, to <a href=
></DIV "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
><DIV target=
CLASS="SECT2" "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
><H2 the Actions File Tracker.</p>
CLASS="SECT2"
><A <p>New, improved <tt class="FILENAME">default.action</tt> files may
NAME="REPORTING" occasionally be made available based on your feedback. These will be
>6.2. Reporting Problems</A announced on the <a href=
></H2 "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
><P "_top">ijbswa-announce</a> list and available from our the <a href=
><SPAN "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
CLASS="QUOTE" "_top">files section</a> of our <a href=
>"Problems"</SPAN "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
> for our purposes, come in two forms:</P </div>
><P
></P <div class="SECT3">
><UL <h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">6.2.2.
><LI Reporting Bugs</a></h3>
><P
> Configuration issues, such as ads that slip through, or sites that <p>Please report all bugs through our bug tracker: <a href=
don't function properly due to one <SPAN "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
CLASS="APPLICATION" target=
>Privoxy</SPAN "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.</p>
>
<SPAN <p>Before doing so, please make sure that the bug has <span class=
CLASS="QUOTE" "emphasis EMPHASIS c2">not already been submitted</span> and observe
>"action"</SPAN the additional hints at the top of the <a href=
> or another being turned <SPAN "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
CLASS="QUOTE" target="_top">submit form</a>. If already submitted, please feel free
>"on"</SPAN to add any info to the original report that might help to solve the
>. issue.</p>
</P
></LI <p>Please try to verify that it is a <span class=
><LI "APPLICATION">Privoxy</span> bug, and not a browser or site bug or
><P documented behaviour that just happens to be different than what you
> <SPAN expected. If unsure, try <a href=
CLASS="QUOTE" "http://config.privoxy.org/toggle?set=disable" target="_top">toggling
>"Bugs"</SPAN off</a> <span class="APPLICATION">Privoxy</span>, and see if the
> in the programming code that makes up problem persists.</p>
<SPAN
CLASS="APPLICATION" <p>If you are using your own custom configuration, please try the
>Privoxy</SPAN stock configs to see if the problem is configuration related. If
>, such as that might cause a crash. you're having problems with a feature that is disabled by default,
</P please ask around on the mailing list if others can reproduce the
></LI problem.</p>
></UL
><DIV <p>If you aren't using the latest Privoxy version, the bug may have
CLASS="SECT3" been found and fixed in the meantime. We would appreciate if you
><H3 could take the time to <a href=
CLASS="SECT3" "http://www.privoxy.org/user-manual/installation.html" target=
><A "_top">upgrade to the latest version</a> (or even the latest CVS
NAME="CONTACT-ADS" snapshot) and verify that your bug still exists.</p>
>6.2.1. Reporting Ads or Other Configuration Problems</A
></H3 <p>Please be sure to provide the following information:</p>
><P
> Please send feedback on ads that slipped through, innocent images that were <ul>
blocked, sites that don't work properly, and other configuration related problem of <li>
<TT <p>The exact <span class="APPLICATION">Privoxy</span> version you
CLASS="FILENAME" are using (if you got the source from CVS, please also provide
>default.action</TT the source code revisions as shown in <a href=
> file, to "http://config.privoxy.org/show-version" target=
<A "_top">http://config.privoxy.org/show-version</a>).</p>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288" </li>
TARGET="_top"
> http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A <li>
>, <p>The operating system and versions you run <span class=
the Actions File Tracker.</P "APPLICATION">Privoxy</span> on, (e.g. <span class=
><P "APPLICATION">Windows XP SP2</span>), if you are using a Unix
> New, improved <TT flavor, sending the output of <span class="QUOTE">"uname
CLASS="FILENAME" -a"</span> should do, in case of GNU/Linux, please also name the
>default.action</TT distribution.</p>
> files may occasionally be made </li>
available based on your feedback. These will be announced on the <A
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" <li>
TARGET="_top" <p>The name, platform, and version of the <span class=
>ijbswa-announce</A "APPLICATION">browser</span> you were using (e.g. <span class=
> "APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
list and available from our the <A </li>
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
TARGET="_top" <li>
>files section</A <p>The URL where the problem occurred, or some way for us to
> of duplicate the problem (e.g. <tt class=
our <A "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
HREF="http://sf.net/projects/ijbswa/" </li>
TARGET="_top"
>project page</A <li>
>.</P <p>Whether your version of <span class=
></DIV "APPLICATION">Privoxy</span> is one supplied by the <span class=
><DIV "APPLICATION">Privoxy</span> developers via SourceForge, or if
CLASS="SECT3" you got your copy somewhere else.</p>
><H3 </li>
CLASS="SECT3"
><A <li>
NAME="CONTACT-BUGS" <p>Whether you are using <span class="APPLICATION">Privoxy</span>
>6.2.2. Reporting Bugs</A in tandem with another proxy such as <span class=
></H3 "APPLICATION">Tor</span>. If so, please temporary disable the
><P other proxy to see if the symptoms change.</p>
> Please report all bugs through our bug tracker: </li>
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118" <li>
TARGET="_top" <p>Whether you are using a personal firewall product. If so, does
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118</A <span class="APPLICATION">Privoxy</span> work without it?</p>
>. </P </li>
><P
> Before doing so, please make sure that the bug has <SPAN <li>
CLASS="emphasis" <p>Any other pertinent information to help identify the problem
><I such as config or log file excerpts (yes, you should have log
CLASS="EMPHASIS" file entries for each action taken). To get a meaningful logfile,
>not already been submitted</I please make sure that the <a href=
></SPAN "../user-manual/config.html#LOGFILE" target="_top">logfile
> directive</a> is being used and the following <a href=
and observe the additional hints at the top of the <A "../user-manual/config.html#DEBUG" target="_top">debug
HREF="http://sourceforge.net/tracker/?func=add&#38;group_id=11118&#38;atid=111118" options</a> are enabled:</p>
TARGET="_top"
>submit <p class="LITERALLAYOUT">
form</A debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
>. If already submitted, please feel free to add any info to the
original report that might help to solve the issue.</P debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
><P
> Please try to verify that it is a <SPAN debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
CLASS="APPLICATION"
>Privoxy</SPAN debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
> bug,
and not a browser or site bug or documented behaviour that just happens debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
to be different than what you expected. If unsure, debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
try <A
HREF="http://config.privoxy.org/toggle?set=disable" debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
TARGET="_top"
>toggling debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
off</A
> <SPAN debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
CLASS="APPLICATION"
>Privoxy</SPAN debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors</p>If you
>, and see if the problem persists.</P are having trouble with a filter, please additionally enable
><P
> If you are using your own custom configuration, please try <p class="LITERALLAYOUT">
the stock configs to see if the problem is configuration related. debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters</p>If
If you're having problems with a feature that is disabled by default, you are using Privoxy 3.0.17 or later and suspect that it
please ask around on the mailing list if others can reproduce the problem.</P interprets the request or the response incorrectly, please enable
><P
> If you aren't using the latest Privoxy version, the bug may have been found <p class="LITERALLAYOUT">
and fixed in the meantime. We would appreciate if you could take the time debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network</p>Note
to <A that Privoxy log files may contain sensitive information so
HREF="http://www.privoxy.org/user-manual/installation.html" please don't submit any logfiles you didn't read first. You can
TARGET="_top" mask sensitive information as long as it's clear that you removed
>upgrade something.
to the latest version</A </li>
> (or even the latest CVS snapshot) and verify </ul>
that your bug still exists.</P
><P <p>You don't have to tell us your actual name when filing a problem
>Please be sure to provide the following information:</P report, but if you don't, please use a nickname so we can
><P differentiate between your messages and the ones entered by other
> <P "anonymous" users that may respond to your request if they have the
></P same problem or already found a solution. Note that due to spam the
><UL trackers may not always allow to post without being logged into
><LI SourceForge. If that's the case, you are still free to create a login
><P that isn't directly linked to your name, though.</p>
> The exact <SPAN
CLASS="APPLICATION" <p>Please also check the status of your request a few days after
>Privoxy</SPAN submitting it, as we may request additional information. If you use a
> version you are using SF id, you should automatically get a mail when someone responds to
(if you got the source from CVS, please also provide the source code revisions your request. Please don't bother to add an email address when using
as shown in <A the tracker. If you prefer to communicate through email, just use one
HREF="http://config.privoxy.org/show-version" of the mailing lists directly.</p>
TARGET="_top"
>http://config.privoxy.org/show-version</A <p>If you are new to reporting problems, you might be interested in
>). <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
</P target="_top">How to Report Bugs Effectively</a>.</p>
></LI
><LI <p>The <a href=
><P "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
> The operating system and versions you run target="_top">appendix of the Privoxy User Manual</a> also has
<SPAN helpful information on understanding <tt class=
CLASS="APPLICATION" "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
>Privoxy</SPAN debugging.</p>
> on, (e.g. <SPAN </div>
CLASS="APPLICATION" </div>
>Windows
XP SP2</SPAN <div class="SECT2">
>), if you are using a Unix flavor, <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">6.3.
sending the output of <SPAN Request New Features</a></h2>
CLASS="QUOTE"
>"uname -a"</SPAN <p>You are welcome to submit ideas on new features or other proposals
> should do, for improvement through our feature request tracker at <a href=
in case of GNU/Linux, please also name the distribution. "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
</P target="_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.</p>
></LI </div>
><LI
><P <div class="SECT2">
> The name, platform, and version of the <SPAN <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">6.4.
CLASS="APPLICATION" Mailing Lists</a></h2>
>browser</SPAN
> <p>If you prefer to communicate through email, instead of using a web
you were using (e.g. <SPAN interface, feel free to use one of the mailing lists. To discuss issues
CLASS="APPLICATION" that haven't been completely diagnosed yet, please use the Privoxy
>Internet Explorer v5.5</SPAN users list. Technically interested users and people who wish to
> for Mac). contribute to the project are always welcome on the developers list.
</P You can find an overview of all <span class=
></LI "APPLICATION">Privoxy</span>-related mailing lists, including list
><LI archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
><P target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
> The URL where the problem occurred, or some way for us to duplicate the </div>
problem (e.g. <TT </div>
CLASS="LITERAL"
>http://somesite.example.com/?somethingelse=123</TT <div class="NAVFOOTER">
>). <hr class="c1" width="100%">
</P
></LI <table summary="Footer navigation table" width="100%" border="0"
><LI cellpadding="0" cellspacing="0">
><P <tr>
> Whether your version of <SPAN <td width="33%" align="left" valign="top"><a href="trouble.html"
CLASS="APPLICATION" accesskey="P">Prev</a></td>
>Privoxy</SPAN
> is one supplied <td width="34%" align="center" valign="top"><a href="index.html"
by the <SPAN accesskey="H">Home</a></td>
CLASS="APPLICATION"
>Privoxy</SPAN <td width="33%" align="right" valign="top"><a href="copyright.html"
> developers via SourceForge, accesskey="N">Next</a></td>
or if you got your copy somewhere else. </tr>
</P
></LI <tr>
><LI <td width="33%" align="left" valign="top">Troubleshooting</td>
><P
> Whether you are using <SPAN <td width="34%" align="center" valign="top">&nbsp;</td>
CLASS="APPLICATION"
>Privoxy</SPAN <td width="33%" align="right" valign="top">Privoxy Copyright, License
> in tandem with and History</td>
another proxy such as <SPAN </tr>
CLASS="APPLICATION" </table>
>Tor</SPAN </div>
>. If so, please </body>
temporary disable the other proxy to see if the symptoms change. </html>
</P
></LI
><LI
><P
> Whether you are using a personal firewall product. If so, does
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> work without it?
</P
></LI
><LI
><P
> Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each
action taken).
</P
></LI
></UL
></P
><P
> You don't have to tell us your actual name when filing a problem
report, but please use a nickname so we can differentiate between
your messages and the ones entered by other "anonymous" users that
may respond to your request if they have the same problem or already
found a solution.</P
><P
> Please also check the status of your request a few days after submitting
it, as we may request additional information. If you use a SF id,
you should automatically get a mail when someone responds to your request.</P
><P
> The <A
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
TARGET="_top"
>appendix
of the Privoxy User Manual</A
> also has helpful information
on understanding <TT
CLASS="LITERAL"
>actions</TT
>, and <TT
CLASS="LITERAL"
>action</TT
> debugging. </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-FEATURE"
>6.3. Request New Features</A
></H2
><P
> You are welcome to submit ideas on new features or other proposals
for improvement through our feature request tracker at
<A
HREF="http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118"
TARGET="_top"
>http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-OTHER"
>6.4. Other</A
></H2
><P
>For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>-related mailing lists,
including list archives, at:
<A
HREF="http://sourceforge.net/mail/?group_id=11118"
TARGET="_top"
>http://sourceforge.net/mail/?group_id=11118</A
>.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="trouble.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Troubleshooting</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Privoxy Copyright, License and History</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,301 +1,165 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy Copyright, License and History</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Privoxy Copyright, License and History</title>
TITLE="Privoxy Frequently Asked Questions" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
TITLE="Contacting the developers, Bug Reporting and Feature Requests" "index.html">
HREF="contact.html"><LINK <link rel="PREVIOUS" title=
REL="STYLESHEET" "Contacting the developers, Bug Reporting and Feature Requests" href=
TYPE="text/css" "contact.html">
HREF="../p_doc.css"><META <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
HTTP-EQUIV="Content-Type" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
CONTENT="text/html; <style type="text/css">
charset=ISO-8859-1"></HEAD body {
><BODY background-color: #EEEEEE;
CLASS="SECT1" color: #000000;
BGCOLOR="#EEEEEE" }
TEXT="#000000" :link { color: #0000FF }
LINK="#0000FF" :visited { color: #840084 }
VLINK="#840084" :active { color: #0000FF }
ALINK="#0000FF" a.c2 {font-style: italic}
><DIV hr.c1 {text-align: left}
CLASS="NAVHEADER" </style>
><TABLE </head>
SUMMARY="Header navigation table"
WIDTH="100%" <body class="SECT1">
BORDER="0" <div class="NAVHEADER">
CELLPADDING="0" <table summary="Header navigation table" width="100%" border="0"
CELLSPACING="0" cellpadding="0" cellspacing="0">
><TR <tr>
><TH <th colspan="3" align="center">Privoxy Frequently Asked
COLSPAN="3" Questions</th>
ALIGN="center" </tr>
>Privoxy Frequently Asked Questions</TH
></TR <tr>
><TR <td width="10%" align="left" valign="bottom"><a href="contact.html"
><TD accesskey="P">Prev</a></td>
WIDTH="10%"
ALIGN="left" <td width="80%" align="center" valign="bottom"></td>
VALIGN="bottom"
><A <td width="10%" align="right" valign="bottom">&nbsp;</td>
HREF="contact.html" </tr>
ACCESSKEY="P" </table>
>Prev</A <hr class="c1" width="100%">
></TD </div>
><TD
WIDTH="80%" <div class="SECT1">
ALIGN="center" <h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">7. Privoxy
VALIGN="bottom" Copyright, License and History</a></h1>
></TD
><TD <p>Copyright &copy; 2001-2011 by Privoxy Developers <code class=
WIDTH="10%" "EMAIL">&lt;<a href=
ALIGN="right" "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code></p>
VALIGN="bottom"
>&nbsp;</TD <p>Some source code is based on code Copyright &copy; 1997 by Anonymous
></TR Coders and Junkbusters, Inc. and licensed under the <i class=
></TABLE "CITETITLE">GNU General Public License</i>.</p>
><HR
ALIGN="LEFT" <p>Portions of this document are <span class="QUOTE">"borrowed"</span>
WIDTH="100%"></DIV from the original <span class="APPLICATION">Junkbuster</span> (tm) FAQ,
><DIV and modified as appropriate for <span class=
CLASS="SECT1" "APPLICATION">Privoxy</span>.</p>
><H1
CLASS="SECT1" <div class="SECT2">
><A <h2 class="SECT2"><a name="AEN1475" id="AEN1475">7.1. License</a></h2>
NAME="COPYRIGHT"
>7. Privoxy Copyright, License and History</A <p><span class="APPLICATION">Privoxy</span> is free software; you can
></H1 redistribute it and/or modify it under the terms of the <i class=
><P "CITETITLE">GNU General Public License</i>, version 2, as published by
> Copyright © 2001-2009 by Privoxy Developers <CODE the Free Software Foundation.</p>
CLASS="EMAIL"
>&#60;<A <p>This program is distributed in the hope that it will be useful, but
HREF="mailto:ijbswa-developers@lists.sourceforge.net" WITHOUT ANY WARRANTY; without even the implied warranty of
>ijbswa-developers@lists.sourceforge.net</A MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a class=
>&#62;</CODE "CITETITLE c2" href=
></P "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
><P "_top">GNU General Public License</a> for details.</p>
> Some source code is based on code Copyright © 1997 by Anonymous Coders
and Junkbusters, Inc. and licensed under the <I <p>You should have received a copy of the <i class="CITETITLE">GNU
CLASS="CITETITLE" GPL</i> along with this program; if not, write to the</p>
>GNU General Public
License</I <p class="ADDRESS">&nbsp;Free&nbsp;Software<br>
>.</P &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
><P Street, Fifth Floor</span><br>
> Portions of this document are <SPAN &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
CLASS="QUOTE" "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
>"borrowed"</SPAN &nbsp;<span class="COUNTRY">USA</span>&nbsp;</p>
> from the original </div>
<SPAN
CLASS="APPLICATION" <div class="SECT2">
>Junkbuster</SPAN <h2 class="SECT2"><a name="AEN1491" id="AEN1491">7.2. History</a></h2>
> (tm) FAQ, and modified as
appropriate for <SPAN <p>A long time ago, there was the <a href=
CLASS="APPLICATION" "http://www.junkbusters.com/ijb.html" target="_top"><span class=
>Privoxy</SPAN "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
>. <a href="http://www.junkbusters.com/" target="_top">Junkbusters
</P Corporation</a>. This saved many users a lot of pain in the early days
><DIV of web advertising and user tracking.</p>
CLASS="SECT2"
><H2 <p>But the web, its protocols and standards, and with it, the
CLASS="SECT2" techniques for forcing ads on users, give up autonomy over their
><A browsing, and for tracking them, keeps evolving. Unfortunately, the
NAME="AEN1451" <span class="APPLICATION">Internet Junkbuster</span> did not. Version
>7.1. License</A 2.0.2, published in 1998, was (and is) the last official <a href=
></H2 "http://www.junkbusters.com/ijbdist.html#release" target=
><P "_top">release</a> available from <a href="http://www.junkbusters.com"
> <SPAN target="_top">Junkbusters Corporation</a>. Fortunately, it had been
CLASS="APPLICATION" released under the GNU <a href=
>Privoxy</SPAN "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
> is free software; you can "_top">GPL</a>, which allowed further development by others.</p>
redistribute it and/or modify it under the terms of the
<I <p>So Stefan Waldherr started maintaining an improved version of the
CLASS="CITETITLE" software, to which eventually a number of people contributed patches.
>GNU General Public License</I It could already replace banners with a transparent image, and had a
>, version 2, first version of pop-up killing, but it was still very closely based on
as published by the Free Software Foundation.</P the original, with all its limitations, such as the lack of HTTP/1.1
><P support, flexible per-site configuration, or content modification. The
> This program is distributed in the hope that it will be useful, but WITHOUT last release from this effort was version 2.0.2-10, published in
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2000.</p>
FITNESS FOR A PARTICULAR PURPOSE. See the <A
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" <p>Then, some <a href=
TARGET="_top" "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
> <I "_top">developers</a> picked up the thread, and started turning the
CLASS="CITETITLE" software inside out, upside down, and then reassembled it, adding many
>GNU General Public License</I <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
></A target="_top">new features</a> along the way.</p>
> for details.</P
><P <p>The result of this is <span class="APPLICATION">Privoxy</span>,
> You should have received a copy of the <I whose first stable version, 3.0, was released August, 2002.</p>
CLASS="CITETITLE" </div>
>GNU GPL</I </div>
>
along with this program; if not, write to the <P <div class="NAVFOOTER">
CLASS="ADDRESS" <hr class="c1" width="100%">
>&nbsp;Free&nbsp;Software<br>
&nbsp;Foundation,&nbsp;Inc.&nbsp;<SPAN <table summary="Footer navigation table" width="100%" border="0"
CLASS="STREET" cellpadding="0" cellspacing="0">
>51 Franklin Street, Fifth Floor</SPAN <tr>
><br> <td width="33%" align="left" valign="top"><a href="contact.html"
&nbsp;<SPAN accesskey="P">Prev</a></td>
CLASS="CITY"
>Boston</SPAN <td width="34%" align="center" valign="top"><a href="index.html"
>,&nbsp;<SPAN accesskey="H">Home</a></td>
CLASS="STATE"
>MA</SPAN <td width="33%" align="right" valign="top">&nbsp;</td>
>&nbsp;<SPAN </tr>
CLASS="POSTCODE"
>02110-1301</SPAN <tr>
><br> <td width="33%" align="left" valign="top">Contacting the developers,
&nbsp;<SPAN Bug Reporting and Feature Requests</td>
CLASS="COUNTRY"
>USA</SPAN <td width="34%" align="center" valign="top">&nbsp;</td>
>&nbsp;</P
></P <td width="33%" align="right" valign="top">&nbsp;</td>
></DIV </tr>
><DIV </table>
CLASS="SECT2" </div>
><H2 </body>
CLASS="SECT2" </html>
><A
NAME="AEN1467"
>7.2. History</A
></H2
><P
> A long time ago, there was the
<A
HREF="http://www.junkbusters.com/ijb.html"
TARGET="_top"
><SPAN
CLASS="APPLICATION"
>Internet Junkbuster</SPAN
></A
>,
by Anonymous Coders and <A
HREF="http://www.junkbusters.com/"
TARGET="_top"
>Junkbusters
Corporation</A
>. This saved many users a lot of pain in the early days of
web advertising and user tracking.</P
><P
> But the web, its protocols and standards, and with it, the techniques for
forcing ads on users, give up autonomy over their browsing, and
for tracking them, keeps evolving. Unfortunately, the <SPAN
CLASS="APPLICATION"
>Internet
Junkbuster</SPAN
> did not. Version 2.0.2, published in 1998, was
(and is) the last official
<A
HREF="http://www.junkbusters.com/ijbdist.html#release"
TARGET="_top"
>release</A
>
available from <A
HREF="http://www.junkbusters.com"
TARGET="_top"
>Junkbusters Corporation</A
>.
Fortunately, it had been released under the GNU
<A
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
TARGET="_top"
>GPL</A
>,
which allowed further development by others.</P
><P
> So Stefan Waldherr started maintaining an improved version of the
software, to which eventually a number of people contributed patches.
It could already replace banners with a transparent image, and had a first
version of pop-up killing, but it was still very closely based on the
original, with all its limitations, such as the lack of HTTP/1.1 support,
flexible per-site configuration, or content modification. The last release
from this effort was version 2.0.2-10, published in 2000.</P
><P
> Then, some
<A
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
TARGET="_top"
>developers</A
>
picked up the thread, and started turning the software inside out, upside down,
and then reassembled it, adding many
<A
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
TARGET="_top"
>new
features</A
> along the way.</P
><P
> The result of this is <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>, whose first
stable version, 3.0, was released August, 2002.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="contact.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Contacting the developers, Bug Reporting and Feature Requests</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,569 +1,259 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Installation</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Installation</title>
TITLE="Privoxy Frequently Asked Questions" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
TITLE="General Information" "index.html">
HREF="general.html"><LINK <link rel="PREVIOUS" title="General Information" href="general.html">
REL="NEXT" <link rel="NEXT" title="Configuration" href="configuration.html">
TITLE="Configuration" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
HREF="configuration.html"><LINK <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
REL="STYLESHEET" <style type="text/css">
TYPE="text/css" body {
HREF="../p_doc.css"><META background-color: #EEEEEE;
HTTP-EQUIV="Content-Type" color: #000000;
CONTENT="text/html; }
charset=ISO-8859-1"></HEAD :link { color: #0000FF }
><BODY :visited { color: #840084 }
CLASS="SECT1" :active { color: #0000FF }
BGCOLOR="#EEEEEE" span.c2 {font-style: italic}
TEXT="#000000" hr.c1 {text-align: left}
LINK="#0000FF" </style>
VLINK="#840084" </head>
ALINK="#0000FF"
><DIV <body class="SECT1">
CLASS="NAVHEADER" <div class="NAVHEADER">
><TABLE <table summary="Header navigation table" width="100%" border="0"
SUMMARY="Header navigation table" cellpadding="0" cellspacing="0">
WIDTH="100%" <tr>
BORDER="0" <th colspan="3" align="center">Privoxy Frequently Asked
CELLPADDING="0" Questions</th>
CELLSPACING="0" </tr>
><TR
><TH <tr>
COLSPAN="3" <td width="10%" align="left" valign="bottom"><a href="general.html"
ALIGN="center" accesskey="P">Prev</a></td>
>Privoxy Frequently Asked Questions</TH
></TR <td width="80%" align="center" valign="bottom"></td>
><TR
><TD <td width="10%" align="right" valign="bottom"><a href=
WIDTH="10%" "configuration.html" accesskey="N">Next</a></td>
ALIGN="left" </tr>
VALIGN="bottom" </table>
><A <hr class="c1" width="100%">
HREF="general.html" </div>
ACCESSKEY="P"
>Prev</A <div class="SECT1">
></TD <h1 class="SECT1"><a name="INSTALLATION" id="INSTALLATION">2.
><TD Installation</a></h1>
WIDTH="80%"
ALIGN="center" <div class="SECT2">
VALIGN="bottom" <h3 class="SECT2"><a name="WHICHBROWSERS" id="WHICHBROWSERS">2.1. Which
></TD browsers are supported by Privoxy?</a></h3>
><TD
WIDTH="10%" <p>Any browser that can be configured to use a proxy, which should be
ALIGN="right" virtually all browsers, including <span class=
VALIGN="bottom" "APPLICATION">Firefox</span>, <span class="APPLICATION">Internet
><A Explorer</span>, <span class="APPLICATION">Opera</span>, and
HREF="configuration.html" <span class="APPLICATION">Safari</span> among others. Direct browser
ACCESSKEY="N" support is not an absolute requirement since <span class=
>Next</A "APPLICATION">Privoxy</span> runs as a separate application and talks
></TD to the browser in the standardized HTTP protocol, just like a web
></TR server does.</p>
></TABLE </div>
><HR
ALIGN="LEFT" <div class="SECT2">
WIDTH="100%"></DIV <h3 class="SECT2"><a name="WHICHOS" id="WHICHOS">2.2. Which operating
><DIV systems are supported?</a></h3>
CLASS="SECT1"
><H1 <p>At present, <span class="APPLICATION">Privoxy</span> is known to run
CLASS="SECT1" on Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE,
><A Debian, Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS,
NAME="INSTALLATION" FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of
>2. Installation</A Unix.</p>
></H1
><DIV <p>But any operating system that runs TCP/IP, can conceivably take
CLASS="SECT2" advantage of <span class="APPLICATION">Privoxy</span> in a networked
><H3 situation where <span class="APPLICATION">Privoxy</span> would run as a
CLASS="SECT2" server on a LAN gateway. Then only the <span class=
><A "QUOTE">"gateway"</span> needs to be running one of the above operating
NAME="WHICHBROWSERS" systems.</p>
>2.1. Which browsers are supported by Privoxy?</A
></H3 <p>Source code is freely available, so porting to other operating
><P systems is always a possibility.</p>
> Any browser that can be configured to use a proxy, which </div>
should be virtually all browsers, including
<SPAN <div class="SECT2">
CLASS="APPLICATION" <h3 class="SECT2"><a name="EMAIL-CLIENT" id="EMAIL-CLIENT">2.3. Can I
>Firefox</SPAN use Privoxy with my email client?</a></h3>
>, <SPAN
CLASS="APPLICATION" <p>As long as there is some way to set a HTTP proxy for the client,
>Internet then yes, any application can be used, whether it is strictly speaking
Explorer</SPAN a <span class="QUOTE">"browser"</span> or not. Though this may not be
>, <SPAN the best approach for dealing with some of the common abuses of HTML in
CLASS="APPLICATION" email. See <a href="configuration.html#OUTLOOK">How can I configure
>Opera</SPAN <span class="APPLICATION">Privoxy</span> with <span class=
>, and "APPLICATION">Outlook</span>?</a> below for more on this.</p>
<SPAN
CLASS="APPLICATION" <p>Be aware that HTML email presents a number of unique security and
>Safari</SPAN privacy related issues, that can require advanced skills to overcome.
> among others. The developers recommend using email clients that can be configured to
Direct browser support is not an absolute requirement since convert HTML to plain text for these reasons.</p>
<SPAN </div>
CLASS="APPLICATION"
>Privoxy</SPAN <div class="SECT2">
> runs as a separate application and talks <h3 class="SECT2"><a name="FIRSTSTEP" id="FIRSTSTEP">2.4. I just
to the browser in the standardized HTTP protocol, just like a web server installed Privoxy. Is there anything special I have to do now?</a></h3>
does.</P
></DIV <p>All browsers should be told to use <span class=
><DIV "APPLICATION">Privoxy</span> as a proxy by specifying the correct proxy
CLASS="SECT2" address and port number in the appropriate configuration area for the
><H3 browser. It's possible to combine <span class=
CLASS="SECT2" "APPLICATION">Privoxy</span> with a packet filter to intercept HTTP
><A requests even if the client isn't explicitly configured to use
NAME="WHICHOS" <span class="APPLICATION">Privoxy</span>, but where possible,
>2.2. Which operating systems are supported?</A configuring the client is recommended. See <a href=
></H3 "../user-manual/startup.html" target="_top">the User Manual for more
><P details</a>. You should also flush your browser's memory and disk cache
> At present, <SPAN to get rid of any cached junk items, and remove any stored <a href=
CLASS="APPLICATION" "http://en.wikipedia.org/wiki/Browser_cookie" target=
>Privoxy</SPAN "_top">cookies</a>.</p>
> is known to run on </div>
Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE, Debian,
Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS, FreeBSD, <div class="SECT2">
NetBSD, OpenBSD, Solaris, and various other flavors of Unix.</P <h3 class="SECT2"><a name="LOCALHOST" id="LOCALHOST">2.5. What is the
><P proxy address of Privoxy?</a></h3>
> But any operating system that runs TCP/IP, can conceivably take advantage of
<SPAN <p>If you set up the <span class="APPLICATION">Privoxy</span> to run on
CLASS="APPLICATION" the computer you browse from (rather than your ISP's server or some
>Privoxy</SPAN networked computer on a LAN), the proxy will be on <tt class=
> in a networked situation where "LITERAL">127.0.0.1</tt> (sometimes referred to as <span class=
<SPAN "QUOTE">"localhost"</span>, which is the special name used by every
CLASS="APPLICATION" computer on the Internet to refer to itself) and the port will be 8118
>Privoxy</SPAN (unless you used the <a href=
> would run as a server on a LAN gateway. "../user-manual/config.html#LISTEN-ADDRESS" target=
Then only the <SPAN "_top">listen-address</a> config option to tell <span class=
CLASS="QUOTE" "APPLICATION">Privoxy</span> to run on a different port).</p>
>"gateway"</SPAN
> needs to be running one of the above <p>When configuring your browser's proxy settings you typically enter
operating systems.</P the word <span class="QUOTE">"localhost"</span> or the IP address
><P <span class="QUOTE">"127.0.0.1"</span> in the boxes next to
> Source code is freely available, so porting to other operating systems <span class="QUOTE">"HTTP"</span> and <span class=
is always a possibility.</P "QUOTE">"Secure"</span> (HTTPS) and then the number <span class=
></DIV "QUOTE">"8118"</span> for <span class="QUOTE">"port"</span>. This tells
><DIV your browser to send all web requests to <span class=
CLASS="SECT2" "APPLICATION">Privoxy</span> instead of directly to the Internet.</p>
><H3
CLASS="SECT2" <p><span class="APPLICATION">Privoxy</span> can also be used to proxy
><A for a Local Area Network. In this case, your would enter either the IP
NAME="EMAIL-CLIENT" address of the LAN host where <span class="APPLICATION">Privoxy</span>
>2.3. Can I use Privoxy with my email client?</A is running, or the equivalent hostname, e.g. <tt class=
></H3 "LITERAL">192.168.1.1</tt>. Port assignment would be same as above.
><P Note that <span class="APPLICATION">Privoxy</span> doesn't listen on
> As long as there is some way to set a HTTP proxy for the client, then yes, any LAN interfaces by default.</p>
any application can be used, whether it is strictly speaking a
<SPAN <p><span class="APPLICATION">Privoxy</span> does not currently handle
CLASS="QUOTE" any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.</p>
>"browser"</SPAN </div>
> or not. Though this may not be the best approach for
dealing with some of the common abuses of HTML in email. See <A <div class="SECT2">
HREF="configuration.html#OUTLOOK" <h3 class="SECT2"><a name="NOTHING" id="NOTHING">2.6. I just installed
>How can I configure <SPAN Privoxy, and nothing is happening. All the ads are there. What's
CLASS="APPLICATION" wrong?</a></h3>
>Privoxy</SPAN
> <p>Did you configure your browser to use <span class=
with <SPAN "APPLICATION">Privoxy</span> as a proxy? It does not sound like it. See
CLASS="APPLICATION" above. You might also try flushing the browser's caches to force a full
>Outlook</SPAN re-reading of pages. You can verify that <span class=
>?</A "APPLICATION">Privoxy</span> is running, and your browser is correctly
> below for more on configured by entering the special URL: <a href="http://p.p/" target=
this. </P "_top">http://p.p/</a>. This should take you to a page titled
><P <span class="QUOTE">"This is Privoxy.."</span> with access to
> Be aware that HTML email presents a number of unique security and privacy <span class="APPLICATION">Privoxy's</span> internal configuration. If
related issues, that can require advanced skills to overcome. The developers you see this, then you are good to go. If you receive a page saying
recommend using email clients that can be configured to convert HTML to plain <span class="QUOTE">"Privoxy is not running"</span>, then the browser
text for these reasons.</P is not set up to use your <span class="APPLICATION">Privoxy</span>
></DIV installation. If you receive anything else (probably nothing at all),
><DIV it could either be that the browser is not set up correctly, or that
CLASS="SECT2" <span class="APPLICATION">Privoxy</span> is not running at all. Check
><H3 the <a href="../user-manual/config.html#LOGFILE" target="_top">log
CLASS="SECT2" file</a>. For instructions on starting <span class=
><A "APPLICATION">Privoxy</span> and browser configuration, see the
NAME="FIRSTSTEP" <a href="http://www.privoxy.org/user-manual/startup.html" target=
>2.4. I just installed Privoxy. Is there anything "_top">chapter on starting <span class="APPLICATION">Privoxy</span></a>
special I have to do now?</A in the <a href="http://www.privoxy.org/user-manual/" target="_top">User
></H3 Manual</a>.</p>
><P </div>
> All browsers should be told to use <SPAN
CLASS="APPLICATION" <div class="SECT2">
>Privoxy</SPAN <h3 class="SECT2"><a name="NOTUSED" id="NOTUSED">2.7. I get a
> <span class="QUOTE">"Privoxy is not being used"</span> dummy page
as a proxy by specifying the correct proxy address and port number although Privoxy is running and being used.</a></h3>
in the appropriate configuration area for the browser. It's possible
to combine <SPAN <p>First, make sure that Privoxy is <span class=
CLASS="APPLICATION" "emphasis EMPHASIS c2">really</span> running and being used by visiting
>Privoxy</SPAN <a href="http://p.p/" target="_top">http://p.p/</a>. You should see the
> with a packet filter to intercept HTTP requests <span class="APPLICATION">Privoxy</span> main page. If not, see the
even if the client isn't explicitly configured to use <SPAN <a href="http://www.privoxy.org/user-manual/startup.html" target=
CLASS="APPLICATION" "_top">chapter on starting <span class="APPLICATION">Privoxy</span></a>
>Privoxy</SPAN in the <a href="http://www.privoxy.org/user-manual/" target="_top">User
>, Manual</a>.</p>
but where possible, configuring the client is recommended. See
<A <p>Now if <a href="http://p.p/" target="_top">http://p.p/</a> works for
HREF="../user-manual/startup.html" you, but other parts of <span class="APPLICATION">Privoxy</span>'s web
TARGET="_top" interface show the dummy page, your browser has cached a redirection it
>the User Manual for more encountered before <span class="APPLICATION">Privoxy</span> was being
details</A used. You need to clear your browser's cache. Note that shift-reloading
>. You should also flush your browser's memory and disk the dummy page won't help, since that'll only refresh the dummy page,
cache to get rid of any cached junk items, and remove any stored not the redirection that lead you there.</p>
<A
HREF="http://en.wikipedia.org/wiki/Browser_cookie" <p>The procedure for clearing the cache varies from browser to browser.
TARGET="_top" For example, <span class="APPLICATION">Mozilla/Netscape</span> users
>cookies</A would click <span class="GUIBUTTON">Edit</span> --&gt; <span class=
>.&#13;</P "GUIBUTTON">Preferences</span> --&gt; <span class=
></DIV "GUIBUTTON">Advanced</span> --&gt; <span class="GUIBUTTON">Cache</span>
><DIV and then click both <span class="QUOTE">"<span class="GUIBUTTON">Clear
CLASS="SECT2" Memory Cache</span>"</span> and <span class="QUOTE">"<span class=
><H3 "GUIBUTTON">Clear Disk Cache</span>"</span>. In some <span class=
CLASS="SECT2" "APPLICATION">Firefox</span> versions it's <span class=
><A "GUIBUTTON">Tools</span> --&gt; <span class="GUIBUTTON">Options</span>
NAME="LOCALHOST" --&gt; <span class="GUIBUTTON">Privacy</span> --&gt; <span class=
>2.5. What is the proxy address of Privoxy?</A "GUIBUTTON">Cache</span> and then click <span class=
></H3 "QUOTE">"<span class="GUIBUTTON">Clear Cache Now</span>"</span>.</p>
><P </div>
> If you set up the <SPAN </div>
CLASS="APPLICATION"
>Privoxy</SPAN <div class="NAVFOOTER">
> to run on <hr class="c1" width="100%">
the computer you browse from (rather than your ISP's server or some
networked computer on a LAN), the proxy will be on <TT <table summary="Footer navigation table" width="100%" border="0"
CLASS="LITERAL" cellpadding="0" cellspacing="0">
>127.0.0.1</TT <tr>
> <td width="33%" align="left" valign="top"><a href="general.html"
(sometimes referred to as <SPAN accesskey="P">Prev</a></td>
CLASS="QUOTE"
>"localhost"</SPAN <td width="34%" align="center" valign="top"><a href="index.html"
>, accesskey="H">Home</a></td>
which is the special name used by every computer on the Internet to refer
to itself) and the port will be 8118 (unless you used the <A <td width="33%" align="right" valign="top"><a href=
HREF="../user-manual/config.html#LISTEN-ADDRESS" "configuration.html" accesskey="N">Next</a></td>
TARGET="_top" </tr>
>listen-address</A
> <tr>
config option to tell <SPAN <td width="33%" align="left" valign="top">General Information</td>
CLASS="APPLICATION"
>Privoxy</SPAN <td width="34%" align="center" valign="top">&nbsp;</td>
> to run on
a different port). <td width="33%" align="right" valign="top">Configuration</td>
</P </tr>
><P </table>
> When configuring your browser's proxy settings you typically enter </div>
the word <SPAN </body>
CLASS="QUOTE" </html>
>"localhost"</SPAN
> or the IP address <SPAN
CLASS="QUOTE"
>"127.0.0.1"</SPAN
>
in the boxes next to <SPAN
CLASS="QUOTE"
>"HTTP"</SPAN
> and <SPAN
CLASS="QUOTE"
>"Secure"</SPAN
> (HTTPS) and
then the number <SPAN
CLASS="QUOTE"
>"8118"</SPAN
> for <SPAN
CLASS="QUOTE"
>"port"</SPAN
>.
This tells your browser to send all web requests to <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
instead of directly to the Internet.
</P
><P
> <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> can also be used to proxy for
a Local Area Network. In this case, your would enter either the IP
address of the LAN host where <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
is running, or the equivalent hostname, e.g. <TT
CLASS="LITERAL"
>192.168.1.1</TT
>.
Port assignment would be same as above. Note that
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> doesn't listen on any LAN interfaces by
default.
</P
><P
> <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> does not currently handle
any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.
</P
></DIV
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="NOTHING"
>2.6. I just installed Privoxy, and nothing is happening.
All the ads are there. What's wrong?</A
></H3
><P
> Did you configure your browser to use <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
as a proxy? It does not sound like it. See above. You might also try flushing
the browser's caches to force a full re-reading of pages. You can verify
that <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> is running, and your browser
is correctly configured by entering the special URL:
<A
HREF="http://p.p/"
TARGET="_top"
>http://p.p/</A
>.
This should take you to a page titled <SPAN
CLASS="QUOTE"
>"This is Privoxy.."</SPAN
> with
access to <SPAN
CLASS="APPLICATION"
>Privoxy's</SPAN
> internal configuration.
If you see this, then you are good to go. If you receive a page saying
<SPAN
CLASS="QUOTE"
>"Privoxy is not running"</SPAN
>, then the browser is not set up to use
your <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> installation.
If you receive anything else (probably nothing at all), it could either
be that the browser is not set up correctly, or that
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> is not running at all. Check the <A
HREF="../user-manual/config.html#LOGFILE"
TARGET="_top"
>log file</A
>. For instructions
on starting <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> and browser configuration,
see the <A
HREF="http://www.privoxy.org/user-manual/startup.html"
TARGET="_top"
>chapter
on starting <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
></A
> in the
<A
HREF="http://www.privoxy.org/user-manual/"
TARGET="_top"
>User Manual</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H3
CLASS="SECT2"
><A
NAME="NOTUSED"
>2.7. I get a <SPAN
CLASS="QUOTE"
>"Privoxy is not being used"</SPAN
> dummy page although
Privoxy is running and being used.</A
></H3
><P
> First, make sure that Privoxy is <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>really</I
></SPAN
> running and
being used by visiting <A
HREF="http://p.p/"
TARGET="_top"
>http://p.p/</A
>. You
should see the <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> main page. If not, see
the <A
HREF="http://www.privoxy.org/user-manual/startup.html"
TARGET="_top"
>chapter
on starting <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
></A
> in the
<A
HREF="http://www.privoxy.org/user-manual/"
TARGET="_top"
>User Manual</A
>.</P
><P
> Now if <A
HREF="http://p.p/"
TARGET="_top"
>http://p.p/</A
> works for you, but
other parts of <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>'s web interface show
the dummy page, your browser has cached a redirection it encountered before
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> was being used. You need to clear your
browser's cache. Note that shift-reloading the dummy page won't help, since
that'll only refresh the dummy page, not the redirection that lead you there.</P
><P
> The procedure for clearing the cache varies from browser to browser. For
example, <SPAN
CLASS="APPLICATION"
>Mozilla/Netscape</SPAN
> users would click
<SPAN
CLASS="GUIBUTTON"
>Edit</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Preferences</SPAN
> --&#62;
<SPAN
CLASS="GUIBUTTON"
>Advanced</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Cache</SPAN
> and
then click both <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="GUIBUTTON"
>Clear Memory Cache</SPAN
>"</SPAN
>
and <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="GUIBUTTON"
>Clear Disk Cache</SPAN
>"</SPAN
>.
In some <SPAN
CLASS="APPLICATION"
>Firefox</SPAN
> versions it's
<SPAN
CLASS="GUIBUTTON"
>Tools</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Options</SPAN
> --&#62;
<SPAN
CLASS="GUIBUTTON"
>Privacy</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Cache</SPAN
> and
then click <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="GUIBUTTON"
>Clear Cache Now</SPAN
>"</SPAN
>.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="general.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="configuration.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>General Information</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Configuration</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,328 +1,207 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy - Home Page</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
NAME="KEYWORD" <title>Privoxy - Home Page</title>
CONTENT="privoxy"><META <meta name="GENERATOR" content=
NAME="KEYWORD" "Modular DocBook HTML Stylesheet Version 1.79">
CONTENT="HTTP"><META <meta name="KEYWORD" content="privoxy">
NAME="KEYWORD" <meta name="KEYWORD" content="HTTP">
CONTENT="proxy"><META <meta name="KEYWORD" content="proxy">
NAME="KEYWORD" <meta name="KEYWORD" content="privacy">
CONTENT="privacy"><META <meta name="KEYWORD" content="popups">
NAME="KEYWORD" <meta name="KEYWORD" content="po-ups">
CONTENT="popups"><META <meta name="KEYWORD" content="HTML">
NAME="KEYWORD" <meta name="KEYWORD" content="JavaScript">
CONTENT="po-ups"><META <meta name="KEYWORD" content="cleaning">
NAME="KEYWORD" <meta name="KEYWORD" content="blocking">
CONTENT="HTML"><META <meta name="KEYWORD" content="cleaner">
NAME="KEYWORD" <meta name="KEYWORD" content="blocker">
CONTENT="JavaScript"><META <meta name="KEYWORD" content="filter">
NAME="KEYWORD" <meta name="KEYWORD" content="proxy">
CONTENT="cleaning"><META <meta name="KEYWORD" content="junk">
NAME="KEYWORD" <meta name="KEYWORD" content="ad">
CONTENT="blocking"><META <meta name="KEYWORD" content="advertisement">
NAME="KEYWORD" <meta name="KEYWORD" content="banner">
CONTENT="cleaner"><META <meta name="KEYWORD" content="webbugs">
NAME="KEYWORD" <meta name="KEYWORD" content="web-bugs">
CONTENT="blocker"><META <meta name="KEYWORD" content="werbung">
NAME="KEYWORD" <meta name="KEYWORD" content="junkbusters">
CONTENT="filter"><META <meta name="KEYWORD" content="junkbuster">
NAME="KEYWORD" <link rel="STYLESHEET" type="text/css" href="p_doc.css">
CONTENT="proxy"><META <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
NAME="KEYWORD" <meta name="description" content=
CONTENT="junk"><META "Privoxy helps users to protect their privacy.">
NAME="KEYWORD" <meta name="MSSmartTagsPreventParsing" content="TRUE">
CONTENT="ad"><META <style type="text/css">
NAME="KEYWORD" body {
CONTENT="advertisement"><META background-color: #EEEEEE;
NAME="KEYWORD" color: #000000;
CONTENT="banner"><META }
NAME="KEYWORD" :link { color: #0000FF }
CONTENT="webbugs"><META :visited { color: #840084 }
NAME="KEYWORD" :active { color: #0000FF }
CONTENT="web-bugs"><META col.c1 {text-align: center}
NAME="KEYWORD" </style>
CONTENT="werbung"><META </head>
NAME="KEYWORD"
CONTENT="junkbusters"><META <body class="ARTICLE">
NAME="KEYWORD" <div class="ARTICLE">
CONTENT="junkbuster"><LINK <div class="TITLEPAGE">
REL="STYLESHEET" <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - Home Page</a></h1>
TYPE="text/css"
HREF="p_doc.css"><META <div class="ABSTRACT">
HTTP-EQUIV="Content-Type" <a name="AEN28" id="AEN28"></a>
CONTENT="text/html;
charset=ISO-8859-1"> <p>Privoxy is a non-caching web proxy with advanced filtering
<meta name="description" content="Privoxy helps users to protect their privacy."> capabilities for enhancing privacy, modifying web page data and HTTP
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD headers, controlling access, and removing ads and other obnoxious
><BODY Internet junk. Privoxy has a flexible configuration and can be
CLASS="ARTICLE" customized to suit individual needs and tastes. It has application
BGCOLOR="#EEEEEE" for both stand-alone systems and multi-user networks.</p>
TEXT="#000000"
LINK="#0000FF" <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
VLINK="#840084"
ALINK="#0000FF" <p>Privoxy is an associated project of Software in the Public
><DIV Interest (SPI).</p>
CLASS="ARTICLE"
><DIV <p>Helping hands and donations are welcome:</p>
CLASS="TITLEPAGE"
><H1 <ul>
CLASS="TITLE" <li>
><A <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
NAME="AEN2" target=
>Privoxy - Home Page</A "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
></H1 </li>
><DIV
><DIV <li>
CLASS="ABSTRACT" <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
><P target=
></P "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
><A </li>
NAME="AEN28" </ul>
></A
><P <p>The most recent release is <a href="announce.txt" target=
> Privoxy is a non-caching web proxy with advanced filtering capabilities "_top">3.0.19 (stable)</a>.</p>
for enhancing privacy, modifying web page data and HTTP headers, controlling </div>
access, and removing ads and other obnoxious Internet junk. Privoxy has a <hr>
flexible configuration and can be customized to suit individual needs and tastes. </div>
It has application for both stand-alone systems and multi-user networks.</P
><P <div class="SECT1">
> Privoxy is Free Software and licensed under the GPL2.</P <h3 class="SECT1"><a name="DOWNLOAD" id="DOWNLOAD">Download</a></h3>
><P
> Privoxy is an associated project of Software in the Public Interest (SPI). <ul>
<A <li>
HREF="http://www.privoxy.org/faq/general.html#DONATE" <p><a href="https://sourceforge.net/projects/ijbswa/files/" target=
TARGET="_top" "_top">Download recent releases</a></p>
>Donations are welcome</A </li>
>.</P
><P <li>
> The most recent release is <A <p><a href="user-manual/quickstart.html" target="_top">Quickstart
HREF="announce.txt" after installation</a></p>
TARGET="_top" </li>
>3.0.12 (stable)</A </ul>
>. </div>
</P
><P <div class="SECT1">
></P <hr>
></DIV
></DIV <h3 class="SECT1"><a name="DOCS" id="DOCS">Documentation</a></h3>
><HR></DIV
><DIV <ul>
CLASS="SECT1" <li>
><H3 <p><a href="user-manual/index.html" target="_top">User
CLASS="SECT1" manual</a></p>
><A </li>
NAME="DOWNLOAD"
>Download</A <li>
></H3 <p><a href="faq/index.html" target="_top">Frequently Asked
><P Questions</a></p>
> <P </li>
></P
><UL <li>
><LI <p><a href="developer-manual/index.html" target="_top">Developer
><P Manual</a></p>
> <A </li>
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
TARGET="_top" <li>
>Download recent releases</A <p><a href="man-page/privoxy-man-page.html" target="_top">Classic
> Man Page</a></p>
</P </li>
></LI </ul>
><LI </div>
><P
> <A <div class="SECT1">
HREF="user-manual/quickstart.html" <hr>
TARGET="_top"
>Quickstart after installation</A <h3 class="SECT1"><a name="MOREINFO" id="MOREINFO">More
> information</a></h3>
</P
></LI <ul>
></UL <li>
></P <p><a href="user-manual/contact.html" target="_top">Support &amp;
></DIV Service</a></p>
><DIV </li>
CLASS="SECT1"
><HR><H3 <li>
CLASS="SECT1" <p><a href="user-manual/copyright.html" target="_top">Copyright,
><A License, History &amp; Authors</a></p>
NAME="DOCS" </li>
>Documentation</A
></H3 <li>
><P <p><a href="user-manual/introduction.html#FEATURES" target=
> <P "_top">List of (new) Features</a></p>
></P </li>
><UL
><LI <li>
><P <p><a href="https://sourceforge.net/projects/ijbswa/" target=
> <A "_top">The project page</a></p>
HREF="user-manual/index.html" </li>
TARGET="_top"
>User manual</A <li>
> <p><a href="user-manual/seealso.html" target="_top">Related
</P links</a></p>
></LI </li>
><LI
><P <li>
> <A <p><a href="http://www.privoxy.org/team/index.html" target=
HREF="faq/index.html" "_top">Pictures of the Privoxy Team</a></p>
TARGET="_top" </li>
>Frequently Asked Questions</A </ul>
> </div>
</P
></LI <div class="SECT1">
><LI <hr>
><P
> <A <h2 class="SECT1"><a name="AEN90" id="AEN90"></a></h2>
HREF="developer-manual/index.html"
TARGET="_top" <div class="INFORMALTABLE">
>Developer Manual</A <a name="AEN93" id="AEN93"></a>
>
</P <table border="0" frame="void" rules="all" width="100%" class=
></LI "CALSTABLE">
><LI <col class="c1" width="100%" title="C1">
><P
> <A <tbody>
HREF="man-page/privoxy-man-page.html" <tr>
TARGET="_top" <td align="center">Privoxy is developed on:</td>
>Classic Man Page</A </tr>
>
</P <tr>
></LI <td align="center"><a href="http://sourceforge.net/" target=
></UL "_top"><img src=
></P "http://sourceforge.net/sflogo.php?group_id=11118&amp;type=1&amp;dummy=.gif"></a></td>
></DIV </tr>
><DIV </tbody>
CLASS="SECT1" </table>
><HR><H3 </div>
CLASS="SECT1"
><A <p><sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub></p>
NAME="MOREINFO" </div>
>More information</A </div>
></H3 </body>
><P </html>
> <P
></P
><UL
><LI
><P
> <A
HREF="user-manual/contact.html"
TARGET="_top"
>Support &#38; Service</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/copyright.html"
TARGET="_top"
>Copyright, License, History &#38; Authors</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/introduction.html#FEATURES"
TARGET="_top"
>List of (new) Features</A
>
</P
></LI
><LI
><P
> <A
HREF="https://sourceforge.net/projects/ijbswa/"
TARGET="_top"
>The project page</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/seealso.html"
TARGET="_top"
>Related links</A
>
</P
></LI
><LI
><P
>
<A
HREF="http://privoxy.org/team/index.html"
TARGET="_top"
>Pictures of the Privoxy Team</A
>
</P
></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN83"
></A
></H2
><P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><A
NAME="AEN86"
></A
><TABLE
BORDER="0"
FRAME="void"
RULES="all"
WIDTH="100%"
CLASS="CALSTABLE"
><COL
WIDTH="100%"
ALIGN="CENTER"
TITLE="C1"><TBODY
><TR
><TD
ALIGN="CENTER"
>Privoxy is developed on:</TD
></TR
><TR
><TD
ALIGN="CENTER"
> <A
HREF="http://sourceforge.net/"
TARGET="_top"
> <IMG
SRC="http://sourceforge.net/sflogo.php?group_id=11118&#38;type=1&#38;dummy=.gif">
</A
>
</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></P
><P
> <SUB
> Copyright &copy; 2001-2009 by Privoxy Developers
</SUB
></P
></DIV
></DIV
></BODY
></HTML
>

View File

@ -1,294 +1,213 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
<HTML><HEAD><TITLE>Man page of PRIVOXY</TITLE> <head>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></HEAD><BODY> <meta name="generator" content=
<H1>PRIVOXY</H1> "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
Section: (1)<BR>Updated: 21 March 2009<BR><A HREF="#index">Index</A>
<HR>
<A NAME="lbAB">&nbsp;</A> <title>Privoxy Man page</title>
<H2>NAME</H2> <link rel="stylesheet" type="text/css" href="../p_web.css">
</head>
privoxy - Privacy Enhancing Proxy <body>
<A NAME="lbAC">&nbsp;</A> <h2>NAME</h2>
<H2>SYNOPSIS</H2> <pre>
<!-- Manpage converted by man2html 3.0.1 -->
<P> </pre>
<B>privoxy</B> [<B>--help</B> ] [<B>--version</B> ] [<B>--no-daemon</B> ] [<B>--pidfile </B><I>pidfile</I><B></B> ] [<B>--user </B><I>user[.group]</I><B></B> ] [<B>--chroot</B> ] [<B>--pre-chroot-nslookup </B><I>hostname</I><B></B> ] [<B></B><I>configfile</I><B></B> ]
<P>
<A NAME="lbAD">&nbsp;</A>
<H2>OPTIONS</H2>
<P> <h2>SYNOPSIS</h2>
<pre>
<b>privoxy</b> [<b>--help</b> ] [<b>--version</b> ] [<b>--no-daemon</b> ] [<b>--pidfile</b> <i>pidfile</i> ]
[<b>--user</b> <i>user[.group]</i> ] [<b>--chroot</b> ] [<b>--pre-chroot-nslookup</b> <i>hostname</i> ]
[<i>configfile</i> ]
<B>Privoxy</B> may be invoked with the following command line
options:
<DL COMPACT>
<DT><B>--help</B><DD>
Print brief usage info and exit.
<DT><B>--version</B><DD>
Print version info and exit.
<DT><B>--no-daemon</B><DD>
Don't become a daemon, i.e. don't fork and become process group
leader, don't detach from controlling tty, and do all logging there.
<DT><B>--pidfile </B><I>pidfile</I><B></B><DD>
On startup, write the process ID to <I>pidfile</I>.
Delete the <I>pidfile</I> on exit.
Failure to create or delete the <I>pidfile</I>
is non-fatal. If no <B>--pidfile</B> option is given, no PID file will be used.
<DT><B>--user </B><I>user[.group]</I><B></B><DD>
After (optionally) writing the PID file, assume the user ID of
<I>user</I> and the GID of
<I>group</I>, or, if the optional
<I>group</I> was not given, the default group of
<I>user</I>. Exit if the privileges are not
sufficient to do so.
<DT><B>--chroot</B><DD>
Before changing to the user ID given in the --user option, chroot to
that user's home directory, i.e. make the kernel pretend to the
<B>Privoxy</B> process that the directory tree starts
there. If set up carefully, this can limit the impact of possible
vulnerabilities in <B>Privoxy</B> to the files contained in
that hierarchy.
<DT><B>--pre-chroot-nslookup </B><I>hostname</I><B></B><DD>
Initialize the resolver library using <I>hostname</I>
before chroot'ing. On some systems this reduces the number of files
that must be copied into the chroot tree.
</DL>
<P>
If the <I>configfile</I> is not specified on the command line,
<B>Privoxy</B> will look for a file named
<I>config</I> in the current directory. If no
<I>configfile</I> is found, <B>Privoxy</B> will
fail to start.
<A NAME="lbAE">&nbsp;</A>
<H2>DESCRIPTION</H2>
<P> </pre>
Privoxy is a non-caching web proxy with advanced filtering capabilities <h2>OPTIONS</h2>
for enhancing privacy, modifying web page data and HTTP headers, controlling <pre>
access, and removing ads and other obnoxious Internet junk. Privoxy has a <b>Privoxy</b> may be invoked with the following command line options:
flexible configuration and can be customized to suit individual needs and tastes.
It has application for both stand-alone systems and multi-user networks.
<P>
Privoxy is Free Software and licensed under the GPL2. <b>--help</b> Print brief usage info and exit.
<A NAME="lbAF">&nbsp;</A>
<H2>INSTALLATION AND USAGE</H2>
<P> <b>--version</b>
Print version info and exit.
Browsers can either be individually configured to use <b>--no-daemon</b>
<B>Privoxy</B> as a HTTP proxy (recommended), Don't become a daemon, i.e. don't fork and become process
or <B>Privoxy</B> can be combined with a packet group leader, don't detach from controlling tty, and do all log-
filter to build an intercepting proxy ging there.
(see <I>config</I>). The default setting is for
localhost, on port 8118 (configurable in the main config file). To set the
HTTP proxy in Firefox, go through: <B>Tools</B>;
<B>Options</B>; <B>General</B>;
<B>Connection Settings</B>;
<B>Manual Proxy Configuration</B>.
<P>
For Internet Explorer, go through: <B>Tools</B>; <b>--pidfile</b> <i>pidfile</i>
<B>Internet Properties</B>; <B>Connections</B>; On startup, write the process ID to <i>pidfile</i>. Delete the <i>pidfile</i>
<B>LAN Settings</B>. on exit. Failure to create or delete the <i>pidfile</i> is non-fatal.
<P> If no <b>--pidfile</b> option is given, no PID file will be used.
The Secure (SSL) Proxy should also be set to the same values, otherwise <b>--user</b> <i>user[.group]</i>
https: URLs will not be proxied. Note: <B>Privoxy</B> can only After (optionally) writing the PID file, assume the user ID of
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols. <i>user</i> and the GID of <i>group</i>, or, if the optional <i>group</i> was not
HTTPS presents some limitations, and not all features will work with HTTPS given, the default group of <i>user</i>. Exit if the privileges are not
connections. sufficient to do so.
<P>
For other browsers, check the documentation. <b>--chroot</b>
<A NAME="lbAG">&nbsp;</A> Before changing to the user ID given in the --user option,
<H2>CONFIGURATION</H2> chroot to that user's home directory, i.e. make the kernel pre-
tend to the <b>Privoxy</b> process that the directory tree starts
there. If set up carefully, this can limit the impact of possi-
ble vulnerabilities in <b>Privoxy</b> to the files contained in that
hierarchy.
<P> <b>--pre-chroot-nslookup</b> <i>hostname</i>
Initialize the resolver library using <i>hostname</i> before
chroot'ing. On some systems this reduces the number of files
that must be copied into the chroot tree.
<B>Privoxy</B> can be configured with the various configuration If the <i>configfile</i> is not specified on the command line, <b>Privoxy</b>
files. The default configuration files are: <I>config</I>, will look for a file named <i>config</i> in the current directory. If no <i>con-</i>
<I>default.filter</I>, <I>default.action</I> and <i>figfile</i> is found, <b>Privoxy</b> will fail to start.
<I>default.action</I>. <I>user.action</I> should
be used for locally defined exceptions to the default rules in
<I>match-all.action</I> and <I>default.action</I>,
and <I>user.filter</I> for locally defined filters. These are
well commented. On Unix and Unix-like systems, these are located in
<I>/etc/privoxy/</I> by default.
<P>
<B>Privoxy</B> uses the concept of <B>actions</B>
in order to manipulate the data stream between the browser and remote sites.
There are various actions available with specific functions for such things
as blocking web sites, managing cookies, etc. These actions can be invoked
individually or combined, and used against individual URLs, or groups of URLs
that can be defined using wildcards and regular expressions. The result is
that the user has greatly enhanced control and freedom.
<P>
The actions list (ad blocks, etc) can also be configured with your </pre>
web browser at <A HREF="http://config.privoxy.org/">http://config.privoxy.org/</A>
(assuming the configuration allows it).
<B>Privoxy's</B> configuration parameters can also be viewed at
the same page. In addition, <B>Privoxy</B> can be toggled on/off.
This is an internal page, and does not require Internet access.
<P>
See the <I>User Manual</I> for a detailed <h2>DESCRIPTION</h2>
explanation of installation, general usage, all configuration options, new <pre>
features and notes on upgrading. Privoxy is a non-caching web proxy with advanced filtering capabilities
<A NAME="lbAH">&nbsp;</A> for enhancing privacy, modifying web page data and HTTP headers, con-
<H2>FILES</H2> trolling access, and removing ads and other obnoxious Internet junk.
Privoxy has a flexible configuration and can be customized to suit
<P>
<PRE>
<I>/usr/sbin/privoxy</I>
<I>/etc/privoxy/config</I>
<I>/etc/privoxy/match-all.action</I>
<I>/etc/privoxy/default.action</I>
<I>/etc/privoxy/user.action</I>
<I>/etc/privoxy/default.filter</I>
<I>/etc/privoxy/user.filter</I>
<I>/etc/privoxy/trust</I>
<I>/etc/privoxy/templates/*</I>
<I>/var/log/privoxy/logfile</I>
</PRE>
<P> </pre>
Various other files should be included, but may vary depending on platform <h2>INSTALLATION AND USAGE</h2>
and build configuration. Additional documentation should be included in the local <pre>
documentation directory. Browsers can either be individually configured to use <b>Privoxy</b> as a HTTP
<A NAME="lbAI">&nbsp;</A> proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to
<H2>SIGNALS</H2> build an intercepting proxy (see <i>config</i>). The default setting is for
localhost, on port 8118 (configurable in the main config file). To
set the HTTP proxy in Firefox, go through: <b>Tools</b>; <b>Options</b>; <b>General</b>;
<b>Connection</b> <b>Settings</b>; <b>Manual</b> <b>Proxy</b> <b>Configuration</b>.
<P> For Internet Explorer, go through: <b>Tools</b>; <b>Internet</b> <b>Properties</b>; <b>Connec-</b>
<b>tions</b>; <b>LAN</b> <b>Settings</b>.
<B>Privoxy</B> terminates on the <B>SIGINT</B>, The Secure (SSL) Proxy should also be set to the same values, otherwise
<B>SIGTERM</B> and <B>SIGABRT</B> signals. Log https: URLs will not be proxied. Note: <b>Privoxy</b> can only proxy HTTP and
rotation scripts may cause a re-opening of the logfile by sending a HTTPS traffic. Do not try it with FTP or other protocols. HTTPS
<B>SIGHUP</B> to <B>Privoxy</B>. Note that unlike presents some limitations, and not all features will work with HTTPS
other daemons, <B>Privoxy</B> does not need to be made aware of connections.
config file changes by <B>SIGHUP</B> -- it will detect them
automatically.
<A NAME="lbAJ">&nbsp;</A>
<H2>NOTES</H2>
<P> For other browsers, check the documentation.
Please see the <I>User Manual</I> on how to contact the
developers, for feature requests, reporting problems, and other questions.
<A NAME="lbAK">&nbsp;</A>
<H2>SEE ALSO</H2>
<P> </pre>
Other references and sites of interest to <B>Privoxy</B> <h2>CONFIGURATION</h2>
users: <pre>
<P> <b>Privoxy</b> can be configured with the various configuration files. The
default configuration files are: <i>config</i>, <i>default.filter</i>, <i>default.action</i>
and <i>default.action</i>. <i>user.action</i> should be used for locally defined
exceptions to the default rules in <i>match-all.action</i> and <i>default.action</i>,
and <i>user.filter</i> for locally defined filters. These are well commented.
On Unix and Unix-like systems, these are located in <i>/etc/privoxy/</i> by
default.
<P> <b>Privoxy</b> uses the concept of <b>actions</b> in order to manipulate the data
<A HREF="http://www.privoxy.org/">http://www.privoxy.org/,</A> stream between the browser and remote sites. There are various actions
the <B>Privoxy</B> Home page. available with specific functions for such things as blocking web
<P> sites, managing cookies, etc. These actions can be invoked individually
<A HREF="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/,</A> or combined, and used against individual URLs, or groups of URLs that
the <B>Privoxy</B> FAQ. can be defined using wildcards and regular expressions. The result is
<P> that the user has greatly enhanced control and freedom.
<A HREF="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/,</A>
the <B>Privoxy</B> developer manual.
<P>
<A HREF="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/,</A>
the Project Page for <B>Privoxy</B> on
SourceForge.
<P>
<A HREF="http://config.privoxy.org/">http://config.privoxy.org/,</A>
the web-based user interface. <B>Privoxy</B> must be
running for this to work. Shortcut: <A HREF="http://p.p/">http://p.p/</A>
<P>
<A HREF="https://sourceforge.net/tracker/?group_id=11118">https://sourceforge.net/tracker/?group_id=11118</A>&amp;atid=460288, to submit ``misses'' and other
configuration related suggestions to the developers.
<A NAME="lbAL">&nbsp;</A>
<H2>DEVELOPMENT TEAM</H2>
<P> The actions list (ad blocks, etc) can also be configured with your web
<PRE> browser at http://config.privoxy.org/ (assuming the configuration
Fabian Keil, lead developer allows it). <b>Privoxy's</b> configuration parameters can also be viewed at
David Schmidt, developer the same page. In addition, <b>Privoxy</b> can be toggled on/off. This is an
internal page, and does not require Internet access.
Hal Burgiss See the <i>User</i> <i>Manual</i> for a detailed explanation of installation, general
Mark Miller usage, all configuration options, new features and notes on upgrading.
Gerry Murphy
Lee Rian
Roland Rosenfeld
J&ouml;rg Strohmayer
</PRE>
<A NAME="lbAM">&nbsp;</A>
<H2>COPYRIGHT AND LICENSE</H2>
<A NAME="lbAN">&nbsp;</A> </pre>
<H3>COPYRIGHT</H3>
<P> <h2>FILES</h2>
<pre>
<i>/usr/sbin/privoxy</i>
<i>/etc/privoxy/config</i>
<i>/etc/privoxy/match-all.action</i>
<i>/etc/privoxy/default.action</i>
<i>/etc/privoxy/user.action</i>
<i>/etc/privoxy/default.filter</i>
detect them automatically.
Copyright (C) 2001-2009 by Privoxy Developers &lt;<A HREF="mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</A>&gt;
<P>
Some source code is based on code Copyright (C) 1997 by Anonymous Coders </pre>
and Junkbusters, Inc. and licensed under the <I>GNU General Public
License</I>.
<A NAME="lbAO">&nbsp;</A>
<H3>LICENSE</H3>
<P> <h2>NOTES</h2>
<pre>
This is a UNRELEASED version of <b>Privoxy</b>. Not all features are well
tested.
<B>Privoxy</B> is free software; you can Please see the <i>User</i> <i>Manual</i> on how to contact the developers, for fea-
redistribute it and/or modify it under the terms of the ture requests, reporting problems, and other questions.
<I>GNU General Public License</I>, version 2,
as published by the Free Software Foundation.
<P>
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the <I>GNU General Public License</I> for details.
<P>
You should have received a copy of the <I>GNU GPL</I> </pre>
along with this program; if not, write to the Free Software
Foundation, Inc. 51 Franklin Street, Fifth Floor
Boston, MA 02110-1301
USA
<P>
<HR> <h2>SEE ALSO</h2>
<A NAME="index">&nbsp;</A><H2>Index</H2> <pre>
<DL> Other references and sites of interest to <b>Privoxy</b> users:
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">OPTIONS</A><DD> http://www.privoxy.org/, the <b>Privoxy</b> Home page.
<DT><A HREF="#lbAE">DESCRIPTION</A><DD>
<DT><A HREF="#lbAF">INSTALLATION AND USAGE</A><DD> http://www.privoxy.org/faq/, the <b>Privoxy</b> FAQ.
<DT><A HREF="#lbAG">CONFIGURATION</A><DD>
<DT><A HREF="#lbAH">FILES</A><DD> http://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer manual.
<DT><A HREF="#lbAI">SIGNALS</A><DD>
<DT><A HREF="#lbAJ">NOTES</A><DD> https://sourceforge.net/projects/ijbswa/, the Project Page for <b>Privoxy</b>
<DT><A HREF="#lbAK">SEE ALSO</A><DD> on SourceForge.
<DT><A HREF="#lbAL">DEVELOPMENT TEAM</A><DD>
<DT><A HREF="#lbAM">COPYRIGHT AND LICENSE</A><DD> http://config.privoxy.org/, the web-based user interface. <b>Privoxy</b> must
<DL> be running for this to work. Shortcut: http://p.p/
<DT><A HREF="#lbAN">COPYRIGHT</A><DD>
<DT><A HREF="#lbAO">LICENSE</A><DD> https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288, to submit
</DL> ``misses'' and other configuration related suggestions to the develop-
</DL> ers.
<HR>
This document was created by
man2html, </pre>
using the manual pages.<BR>
Time: 11:32:52 GMT, March 21, 2009 <h2>DEVELOPMENT TEAM</h2>
</BODY> <pre>
</HTML> Fabian Keil, lead developer
David Schmidt, developer
Hal Burgiss
Lee Rian
Roland Rosenfeld
</pre>
<h2>COPYRIGHT AND LICENSE</h2>
<pre>
<b>COPYRIGHT</b>
Copyright (C) 2001-2011 by Privoxy Developers &lt;ijbswa-develop-
ers@lists.sourceforge.net&gt;
Some source code is based on code Copyright (C) 1997 by Anonymous
Coders and Junkbusters, Inc. and licensed under the <i>GNU</i> <i>General</i> <i>Public</i>
<i>License</i>.
<b>LICENSE</b>
<b>Privoxy</b> is free software; you can redistribute it and/or modify it
under the terms of the <i>GNU</i> <i>General</i> <i>Public</i> <i>License</i>, version 2, as pub-
lished by the Free Software Foundation.
</pre>
</body>
</html>

View File

@ -1,283 +1,185 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy - The Privacy Enhancing Proxy</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
NAME="KEYWORD" <title>Privoxy - The Privacy Enhancing Proxy</title>
CONTENT="privoxy"><META <meta name="GENERATOR" content=
NAME="KEYWORD" "Modular DocBook HTML Stylesheet Version 1.79">
CONTENT="HTTP"><META <meta name="KEYWORD" content="privoxy">
NAME="KEYWORD" <meta name="KEYWORD" content="HTTP">
CONTENT="proxy"><META <meta name="KEYWORD" content="proxy">
NAME="KEYWORD" <meta name="KEYWORD" content="privacy">
CONTENT="privacy"><META <meta name="KEYWORD" content="popups">
NAME="KEYWORD" <meta name="KEYWORD" content="po-ups">
CONTENT="popups"><META <meta name="KEYWORD" content="HTML">
NAME="KEYWORD" <meta name="KEYWORD" content="JavaScript">
CONTENT="po-ups"><META <meta name="KEYWORD" content="cleaning">
NAME="KEYWORD" <meta name="KEYWORD" content="blocking">
CONTENT="HTML"><META <meta name="KEYWORD" content="cleaner">
NAME="KEYWORD" <meta name="KEYWORD" content="blocker">
CONTENT="JavaScript"><META <meta name="KEYWORD" content="filter">
NAME="KEYWORD" <meta name="KEYWORD" content="proxy">
CONTENT="cleaning"><META <meta name="KEYWORD" content="junk">
NAME="KEYWORD" <meta name="KEYWORD" content="ad">
CONTENT="blocking"><META <meta name="KEYWORD" content="advertisement">
NAME="KEYWORD" <meta name="KEYWORD" content="banner">
CONTENT="cleaner"><META <meta name="KEYWORD" content="webbugs">
NAME="KEYWORD" <meta name="KEYWORD" content="web-bugs">
CONTENT="blocker"><META <meta name="KEYWORD" content="werbung">
NAME="KEYWORD" <meta name="KEYWORD" content="junkbusters">
CONTENT="filter"><META <meta name="KEYWORD" content="junkbuster">
NAME="KEYWORD" <link rel="STYLESHEET" type="text/css" href="p_doc.css">
CONTENT="proxy"><META <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
NAME="KEYWORD" <meta name="description" content=
CONTENT="junk"><META "Privoxy helps users to protect their privacy.">
NAME="KEYWORD" <meta name="MSSmartTagsPreventParsing" content="TRUE">
CONTENT="ad"><META <style type="text/css">
NAME="KEYWORD" body {
CONTENT="advertisement"><META background-color: #EEEEEE;
NAME="KEYWORD" color: #000000;
CONTENT="banner"><META }
NAME="KEYWORD" :link { color: #0000FF }
CONTENT="webbugs"><META :visited { color: #840084 }
NAME="KEYWORD" :active { color: #0000FF }
CONTENT="web-bugs"><META </style>
NAME="KEYWORD" </head>
CONTENT="werbung"><META
NAME="KEYWORD" <body class="ARTICLE">
CONTENT="junkbusters"><META <div class="ARTICLE">
NAME="KEYWORD" <div class="TITLEPAGE">
CONTENT="junkbuster"><LINK <h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - The Privacy
REL="STYLESHEET" Enhancing Proxy</a></h1>
TYPE="text/css"
HREF="p_doc.css"><META <h2 class="SUBTITLE">Project Index Page v3.0.19</h2>
HTTP-EQUIV="Content-Type"
CONTENT="text/html; <div class="ABSTRACT">
charset=ISO-8859-1"> <a name="AEN29" id="AEN29"></a>
<meta name="description" content="Privoxy helps users to protect their privacy.">
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD <p>Privoxy is a non-caching web proxy with advanced filtering
><BODY capabilities for enhancing privacy, modifying web page data and HTTP
CLASS="ARTICLE" headers, controlling access, and removing ads and other obnoxious
BGCOLOR="#EEEEEE" Internet junk. Privoxy has a flexible configuration and can be
TEXT="#000000" customized to suit individual needs and tastes. It has application
LINK="#0000FF" for both stand-alone systems and multi-user networks.</p>
VLINK="#840084"
ALINK="#0000FF" <p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
><DIV
CLASS="ARTICLE" <p>Privoxy is an associated project of Software in the Public
><DIV Interest (SPI).</p>
CLASS="TITLEPAGE"
><H1 <p>Helping hands and donations are welcome:</p>
CLASS="TITLE"
><A <ul>
NAME="AEN2" <li>
>Privoxy - The Privacy Enhancing Proxy</A <p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
></H1 target=
><H2 "_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
CLASS="SUBTITLE" </li>
>Project Index Page v3.0.12</H2
><DIV <li>
><DIV <p><a href="http://www.privoxy.org/faq/general.html#DONATE"
CLASS="ABSTRACT" target=
><P "_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
></P </li>
><A </ul>
NAME="AEN29" </div>
></A <hr>
><P </div>
> Privoxy is a non-caching web proxy with advanced filtering capabilities
for enhancing privacy, modifying web page data and HTTP headers, controlling <div class="SECT1">
access, and removing ads and other obnoxious Internet junk. Privoxy has a <h3 class="SECT1"><a name="DOWNLOAD" id="DOWNLOAD">Download</a></h3>
flexible configuration and can be customized to suit individual needs and tastes.
It has application for both stand-alone systems and multi-user networks.</P <ul>
><P <li>
> Privoxy is Free Software and licensed under the GPL2.</P <p><a href="https://sourceforge.net/projects/ijbswa/files/" target=
><P "_top">Download recent releases</a></p>
> Privoxy is an associated project of Software in the Public Interest (SPI). </li>
<A
HREF="http://www.privoxy.org/faq/general.html#DONATE" <li>
TARGET="_top" <p><a href="user-manual/quickstart.html" target="_top">Quickstart
>Donations are welcome</A after installation</a></p>
>.</P </li>
><P </ul>
></P </div>
></DIV
></DIV <div class="SECT1">
><HR></DIV <hr>
><DIV
CLASS="SECT1" <h3 class="SECT1"><a name="DOCS" id="DOCS">Documentation</a></h3>
><H3
CLASS="SECT1" <ul>
><A <li>
NAME="DOWNLOAD" <p><a href="user-manual/index.html" target="_top">User
>Download</A manual</a></p>
></H3 </li>
><P
> <P <li>
></P <p><a href="faq/index.html" target="_top">Frequently Asked
><UL Questions</a></p>
><LI </li>
><P
> <A <li>
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118" <p><a href="developer-manual/index.html" target="_top">Developer
TARGET="_top" Manual</a></p>
>Download recent releases</A </li>
>
</P <li>
></LI <p><a href="man-page/privoxy-man-page.html" target="_top">Classic
><LI Man Page</a></p>
><P </li>
> <A </ul>
HREF="user-manual/quickstart.html" </div>
TARGET="_top"
>Quickstart after installation</A <div class="SECT1">
> <hr>
</P
></LI <h3 class="SECT1"><a name="MOREINFO" id="MOREINFO">More
></UL information</a></h3>
></P
></DIV <ul>
><DIV <li>
CLASS="SECT1" <p><a href="user-manual/contact.html" target="_top">Support &amp;
><HR><H3 Service</a></p>
CLASS="SECT1" </li>
><A
NAME="DOCS" <li>
>Documentation</A <p><a href="user-manual/copyright.html" target="_top">Copyright,
></H3 License, History &amp; Authors</a></p>
><P </li>
> <P
></P <li>
><UL <p><a href="user-manual/introduction.html#FEATURES" target=
><LI "_top">List of (new) Features</a></p>
><P </li>
> <A
HREF="user-manual/index.html" <li>
TARGET="_top" <p><a href="https://sourceforge.net/projects/ijbswa/" target=
>User manual</A "_top">The project page</a></p>
> </li>
</P
></LI <li>
><LI <p><a href="user-manual/seealso.html" target="_top">Related
><P links</a></p>
> <A </li>
HREF="faq/index.html"
TARGET="_top" <li>
>Frequently Asked Questions</A <p><a href="http://www.privoxy.org/team/index.html" target=
> "_top">Pictures of the Privoxy Team</a></p>
</P </li>
></LI </ul>
><LI </div>
><P
> <A <div class="SECT1">
HREF="developer-manual/index.html" <hr>
TARGET="_top"
>Developer Manual</A <h2 class="SECT1"><a name="AEN89" id="AEN89"></a></h2>
>
</P <p><sub>Copyright &copy; 2001-2010 by Privoxy Developers</sub></p>
></LI </div>
><LI </div>
><P </body>
> <A </html>
HREF="man-page/privoxy-man-page.html"
TARGET="_top"
>Classic Man Page</A
>
</P
></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H3
CLASS="SECT1"
><A
NAME="MOREINFO"
>More information</A
></H3
><P
> <P
></P
><UL
><LI
><P
> <A
HREF="user-manual/contact.html"
TARGET="_top"
>Support &#38; Service</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/copyright.html"
TARGET="_top"
>Copyright, License, History &#38; Authors</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/introduction.html#FEATURES"
TARGET="_top"
>List of (new) Features</A
>
</P
></LI
><LI
><P
> <A
HREF="https://sourceforge.net/projects/ijbswa/"
TARGET="_top"
>The project page</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/seealso.html"
TARGET="_top"
>Related links</A
>
</P
></LI
><LI
><P
>
<A
HREF="http://privoxy.org/team/index.html"
TARGET="_top"
>Pictures of the Privoxy Team</A
>
</P
></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN82"
></A
></H2
><P
> <SUB
> Copyright &copy; 2001-2009 by Privoxy Developers
</SUB
></P
></DIV
></DIV
></BODY
></HTML
>

View File

@ -1,26 +1,52 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1"> <meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<title>Privoxy - Team Photos</title> <title>Privoxy - Team Photos</title>
<link rel="stylesheet" type="text/css" href="../p_doc.css"> <link rel="stylesheet" type="text/css" href="../p_doc.css">
</head> <style type="text/css">
<body> h1.c1 {margin-left: 0%}
<h1 style="margin-left: 0%">Privoxy - Team Photos</h1> </style>
</head>
<body>
<h1 class="c1">Privoxy - Team Photos</h1>
<hr> <hr>
<p>In our day jobs, we're all models ;-)</p> <p>In our day jobs, we're all models ;-)</p>
<table align="center"> <table align="center">
<tr> <tr>
<td><a href="01stefanw.jpg"><img src="01stefanw_t.jpg" width="80" height="80" border="0" title="Stefan Waldherr"></a></td> <td><a href="01stefanw.jpg"><img src="01stefanw_t.jpg" width="80"
<td><a href="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80" border="0" title="Jon Foster"></a></td> height="80" border="0" title="Stefan Waldherr"></a></td>
<td><a href="03andreas.jpg"><img src="03andreas_t.jpg" width="80" height="80" border="0" title="Andreas Oesterhelt"></a></td>
<td><a href="04rodney.jpg"><img src="04rodney_t.jpg" width="80" height="80" border="0" title="Rodney Stromlund"></a></td> <td><a href="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80"
</tr> border="0" title="Jon Foster"></a></td>
<tr>
<td><a href="05david.jpg"><img src="05david_t.jpg" width="80" height="80" border="0" title="David Schmidt"></a></td> <td><a href="03andreas.jpg"><img src="03andreas_t.jpg" width="80"
<td><a href="06member.jpg"><img src="06member_t.jpg" width="80" height="80" border="0" title="N/A"></a></td> height="80" border="0" title="Andreas Oesterhelt"></a></td>
<td><a href="07member.jpg"><img src="07member_t.jpg" width="80" height="80" border="0" title="N/A"></a></td>
<td><a href="08member.jpg"><img src="08member_t.jpg" width="80" height="80" border="0" title="N/A"></a></td> <td><a href="04rodney.jpg"><img src="04rodney_t.jpg" width="80" height=
</tr> "80" border="0" title="Rodney Stromlund"></a></td>
</tr>
<tr>
<td><a href="05david.jpg"><img src="05david_t.jpg" width="80" height=
"80" border="0" title="David Schmidt"></a></td>
<td><a href="06member.jpg"><img src="06member_t.jpg" width="80" height=
"80" border="0" title="N/A"></a></td>
<td><a href="07member.jpg"><img src="07member_t.jpg" width="80" height=
"80" border="0" title="N/A"></a></td>
<td><a href="08member.jpg"><img src="08member_t.jpg" width="80" height=
"80" border="0" title="N/A"></a></td>
</tr>
</table> </table>
</body> </body>
</html> </html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,514 +1,282 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy Configuration</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Privoxy Configuration</title>
TITLE="Privoxy 3.0.12 User Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
TITLE="Starting Privoxy" <link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
HREF="startup.html"><LINK <link rel="NEXT" title="The Main Configuration File" href="config.html">
REL="NEXT" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TITLE="The Main Configuration File" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="config.html"><LINK <link rel="STYLESHEET" type="text/css" href="p_doc.css">
REL="STYLESHEET" <style type="text/css">
TYPE="text/css" body {
HREF="../p_doc.css"><META background-color: #EEEEEE;
HTTP-EQUIV="Content-Type" color: #000000;
CONTENT="text/html; }
charset=ISO-8859-1"> :link { color: #0000FF }
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css"> :visited { color: #840084 }
</head :active { color: #0000FF }
><BODY span.c3 {font-style: italic}
CLASS="SECT1" table.c2 {background-color: #E0E0E0}
BGCOLOR="#EEEEEE" hr.c1 {text-align: left}
TEXT="#000000" </style>
LINK="#0000FF" </head>
VLINK="#840084"
ALINK="#0000FF" <body class="SECT1">
><DIV <div class="NAVHEADER">
CLASS="NAVHEADER" <table summary="Header navigation table" width="100%" border="0"
><TABLE cellpadding="0" cellspacing="0">
SUMMARY="Header navigation table" <tr>
WIDTH="100%" <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
BORDER="0" </tr>
CELLPADDING="0"
CELLSPACING="0" <tr>
><TR <td width="10%" align="left" valign="bottom"><a href="startup.html"
><TH accesskey="P">Prev</a></td>
COLSPAN="3"
ALIGN="center" <td width="80%" align="center" valign="bottom"></td>
>Privoxy 3.0.12 User Manual</TH
></TR <td width="10%" align="right" valign="bottom"><a href="config.html"
><TR accesskey="N">Next</a></td>
><TD </tr>
WIDTH="10%" </table>
ALIGN="left" <hr class="c1" width="100%">
VALIGN="bottom" </div>
><A
HREF="startup.html" <div class="SECT1">
ACCESSKEY="P" <h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">6. Privoxy
>Prev</A Configuration</a></h1>
></TD
><TD <p>All <span class="APPLICATION">Privoxy</span> configuration is stored
WIDTH="80%" in text files. These files can be edited with a text editor. Many
ALIGN="center" important aspects of <span class="APPLICATION">Privoxy</span> can also be
VALIGN="bottom" controlled easily with a web browser.</p>
></TD
><TD <div class="SECT2">
WIDTH="10%" <h2 class="SECT2"><a name="AEN1090" id="AEN1090">6.1. Controlling
ALIGN="right" Privoxy with Your Web Browser</a></h2>
VALIGN="bottom"
><A <p><span class="APPLICATION">Privoxy</span>'s user interface can be
HREF="config.html" reached through the special URL <a href="http://config.privoxy.org/"
ACCESSKEY="N" target="_top">http://config.privoxy.org/</a> (shortcut: <a href=
>Next</A "http://p.p/" target="_top">http://p.p/</a>), which is a built-in page
></TD and works without Internet access. You will see the following
></TR section:</p>
></TABLE
><HR <table class="c2" border="0" width="100%">
ALIGN="LEFT" <tr>
WIDTH="100%"></DIV <td>
><DIV <pre class="SCREEN">
CLASS="SECT1"
><H1 </pre>
CLASS="SECT1"
><A <h2 class="BRIDGEHEAD"><a name="AEN1098" id=
NAME="CONFIGURATION" "AEN1098"></a>&nbsp;&nbsp;&nbsp;&nbsp;Privoxy Menu</h2>
>6. Privoxy Configuration</A <pre>
></H1 </pre>
><P
> All <SPAN <table border="0">
CLASS="APPLICATION" <tbody>
>Privoxy</SPAN <tr>
> configuration is stored <td>
in text files. These files can be edited with a text editor. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-status"
Many important aspects of <SPAN target="_top">View &amp; change the current
CLASS="APPLICATION" configuration</a></td>
>Privoxy</SPAN </tr>
> can
also be controlled easily with a web browser. <tr>
</P <td>
><DIV &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-version"
CLASS="SECT2" target="_top">View the source code version numbers</a></td>
><H2 </tr>
CLASS="SECT2"
><A <tr>
NAME="AEN776" <td>
>6.1. Controlling Privoxy with Your Web Browser</A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-request"
></H2 target="_top">View the request headers.</a></td>
><P </tr>
> <SPAN
CLASS="APPLICATION" <tr>
>Privoxy</SPAN <td>
>'s user interface can be reached through the special &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/show-url-info"
URL <A target="_top">Look up which actions apply to a URL and
HREF="http://config.privoxy.org/" why</a></td>
TARGET="_top" </tr>
>http://config.privoxy.org/</A
> <tr>
(shortcut: <A <td>
HREF="http://p.p/" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://config.privoxy.org/toggle"
TARGET="_top" target="_top">Toggle Privoxy on or off</a></td>
>http://p.p/</A </tr>
>),
which is a built-in page and works without Internet access. <tr>
You will see the following section:&#13;</P <td>
><TABLE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9642;&nbsp;&nbsp;<a href="http://www.privoxy.org/3.0.19/user-manual/"
BORDER="0" target="_top">Documentation</a></td>
BGCOLOR="#E0E0E0" </tr>
WIDTH="100%" </tbody>
><TR </table>
><TD </td>
><PRE </tr>
CLASS="SCREEN" </table>
> <H2
CLASS="BRIDGEHEAD" <p>This should be self-explanatory. Note the first item leads to an
><A editor for the <a href="actions-file.html">actions files</a>, which is
NAME="AEN784" where the ad, banner, cookie, and URL blocking magic is configured as
></A well as other advanced features of <span class=
>    Privoxy Menu</H2 "APPLICATION">Privoxy</span>. This is an easy way to adjust various
><P aspects of <span class="APPLICATION">Privoxy</span> configuration. The
></P actions file, and other configuration files, are explained in detail
><TABLE below.</p>
BORDER="0"
><TBODY <p><span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for
><TR sites that might have problems with your current actions and filters.
><TD You can in fact use it as a test to see whether it is <span class=
>         &#9642;  <A "APPLICATION">Privoxy</span> causing the problem or not. <span class=
HREF="http://config.privoxy.org/show-status" "APPLICATION">Privoxy</span> continues to run as a proxy in this case,
TARGET="_top" but all manipulation is disabled, i.e. <span class=
>View &#38; change the current configuration</A "APPLICATION">Privoxy</span> acts like a normal forwarding proxy. There
> is even a toggle <a href="appendix.html#BOOKMARKLETS">Bookmarklet</a>
</TD offered, so that you can toggle <span class=
></TR "APPLICATION">Privoxy</span> with one click from your browser.</p>
><TR
><TD <p>Note that several of the features described above are disabled by
>         &#9642;  <A default in <span class="APPLICATION">Privoxy</span> 3.0.7 beta and
HREF="http://config.privoxy.org/show-version" later. Check the <a href="config.html" target="_top">configuration
TARGET="_top" file</a> to learn why and in which cases it's safe to enable them
>View the source code version numbers</A again.</p>
> </div>
</TD
></TR <div class="SECT2">
><TR <h2 class="SECT2"><a name="CONFOVERVIEW" id="CONFOVERVIEW">6.2.
><TD Configuration Files Overview</a></h2>
>         &#9642;  <A
HREF="http://config.privoxy.org/show-request" <p>For Unix, *BSD and Linux, all configuration files are located in
TARGET="_top" <tt class="FILENAME">/etc/privoxy/</tt> by default. For MS Windows,
>View the request headers.</A OS/2, and AmigaOS these are all in the same directory as the
> <span class="APPLICATION">Privoxy</span> executable.</p>
</TD
></TR <p>The installed defaults provide a reasonable starting point, though
><TR some settings may be aggressive by some standards. For the time being,
><TD the principle configuration files are:</p>
>         &#9642;  <A
HREF="http://config.privoxy.org/show-url-info" <ul>
TARGET="_top" <li>
>Look up which actions apply to a URL and why</A <p>The <a href="config.html">main configuration file</a> is named
> <tt class="FILENAME">config</tt> on Linux, Unix, BSD, OS/2, and
</TD AmigaOS and <tt class="FILENAME">config.txt</tt> on Windows. This
></TR is a required file.</p>
><TR </li>
><TD
>         &#9642;  <A <li>
HREF="http://config.privoxy.org/toggle" <p><tt class="FILENAME">match-all.action</tt> is used to define
TARGET="_top" which <span class="QUOTE">"actions"</span> relating to
>Toggle Privoxy on or off</A banner-blocking, images, pop-ups, content modification, cookie
> handling etc should be applied by default. It should be the first
</TD actions file loaded.</p>
></TR
><TR <p><tt class="FILENAME">default.action</tt> defines many exceptions
><TD (both positive and negative) from the default set of actions that's
>         &#9642;  <A configured in <tt class="FILENAME">match-all.action</tt>. It should
HREF="http://www.privoxy.org/3.0.12/user-manual/" be the second actions file loaded and shouldn't be edited by the
TARGET="_top" user.</p>
>Documentation</A
> <p>Multiple actions files may be defined in <tt class=
</TD "FILENAME">config</tt>. These are processed in the order they are
></TR defined. Local customizations and locally preferred exceptions to
></TBODY the default policies as defined in <tt class=
></TABLE "FILENAME">match-all.action</tt> (which you will most probably want
><P to define sooner or later) are best applied in <tt class=
></P "FILENAME">user.action</tt>, where you can preserve them across
></PRE upgrades. The file isn't installed by all installers, but you can
></TD easily create it yourself with a text editor.</p>
></TR
></TABLE <p>There is also a web based editor that can be accessed from
><P <a href="http://config.privoxy.org/show-status" target=
> This should be self-explanatory. Note the first item leads to an editor for the "_top">http://config.privoxy.org/show-status</a> (Shortcut:
<A <a href="http://p.p/show-status" target=
HREF="actions-file.html" "_top">http://p.p/show-status</a>) for the various actions
>actions files</A files.</p>
>, which is where the ad, banner, </li>
cookie, and URL blocking magic is configured as well as other advanced features of
<SPAN <li>
CLASS="APPLICATION" <p><span class="QUOTE">"Filter files"</span> (the <a href=
>Privoxy</SPAN "filter-file.html">filter file</a>) can be used to re-write the raw
>. This is an easy way to adjust various page content, including viewable text as well as embedded HTML and
aspects of <SPAN JavaScript, and whatever else lurks on any given web page. The
CLASS="APPLICATION" filtering jobs are only pre-defined here; whether to apply them or
>Privoxy</SPAN not is up to the actions files. <tt class=
> configuration. The actions "FILENAME">default.filter</tt> includes various filters made
file, and other configuration files, are explained in detail below. </P available for use by the developers. Some are much more intrusive
><P than others, and all should be used with caution. You may define
> <SPAN additional filter files in <tt class="FILENAME">config</tt> as you
CLASS="QUOTE" can with actions files. We suggest <tt class=
>"Toggle Privoxy On or Off"</SPAN "FILENAME">user.filter</tt> for any locally defined filters or
> is handy for sites that might customizations.</p>
have problems with your current actions and filters. You can in fact use </li>
it as a test to see whether it is <SPAN </ul>
CLASS="APPLICATION"
>Privoxy</SPAN <p>The syntax of the configuration and filter files may change between
> different Privoxy versions, unfortunately some enhancements cost
causing the problem or not. <SPAN backwards compatibility.</p>
CLASS="APPLICATION"
>Privoxy</SPAN <p>All files use the <span class="QUOTE">"<tt class=
> continues "LITERAL">#</tt>"</span> character to denote a comment (the rest of the
to run as a proxy in this case, but all manipulation is disabled, i.e. line will be ignored) and understand line continuation through placing
<SPAN a backslash ("<tt class="LITERAL">\</tt>") as the very last character
CLASS="APPLICATION" in a line. If the <tt class="LITERAL">#</tt> is preceded by a
>Privoxy</SPAN backslash, it looses its special function. Placing a <tt class=
> acts like a normal forwarding proxy. There "LITERAL">#</tt> in front of an otherwise valid configuration line to
is even a toggle <A prevent it from being interpreted is called "commenting out" that line.
HREF="appendix.html#BOOKMARKLETS" Blank lines are ignored.</p>
>Bookmarklet</A
> offered, so <p>The actions files and filter files can use Perl style <a href=
that you can toggle <SPAN "appendix.html#REGEX">regular expressions</a> for maximum
CLASS="APPLICATION" flexibility.</p>
>Privoxy</SPAN
> with one click from <p>After making any changes, there is no need to restart <span class=
your browser.</P "APPLICATION">Privoxy</span> in order for the changes to take effect.
><P <span class="APPLICATION">Privoxy</span> detects such changes
> Note that several of the features described above are disabled by default automatically. Note, however, that it may take one or two additional
in <SPAN requests for the change to take effect. When changing the listening
CLASS="APPLICATION" address of <span class="APPLICATION">Privoxy</span>, these <span class=
>Privoxy</SPAN "QUOTE">"wake up"</span> requests must obviously be sent to the
> 3.0.7 beta and later. <span class="emphasis EMPHASIS c3">old</span> listening address.</p>
Check the </div>
<A </div>
HREF="config.html"
TARGET="_top" <div class="NAVFOOTER">
>configuration file</A <hr class="c1" width="100%">
> to learn why
and in which cases it's safe to enable them again.</P <table summary="Footer navigation table" width="100%" border="0"
></DIV cellpadding="0" cellspacing="0">
><DIV <tr>
CLASS="SECT2" <td width="33%" align="left" valign="top"><a href="startup.html"
><H2 accesskey="P">Prev</a></td>
CLASS="SECT2"
><A <td width="34%" align="center" valign="top"><a href="index.html"
NAME="CONFOVERVIEW" accesskey="H">Home</a></td>
>6.2. Configuration Files Overview</A
></H2 <td width="33%" align="right" valign="top"><a href="config.html"
><P accesskey="N">Next</a></td>
> For Unix, *BSD and Linux, all configuration files are located in </tr>
<TT
CLASS="FILENAME" <tr>
>/etc/privoxy/</TT <td width="33%" align="left" valign="top">Starting Privoxy</td>
> by default. For MS Windows, OS/2, and
AmigaOS these are all in the same directory as the <td width="34%" align="center" valign="top">&nbsp;</td>
<SPAN
CLASS="APPLICATION" <td width="33%" align="right" valign="top">The Main Configuration
>Privoxy</SPAN File</td>
> executable. </P </tr>
><P </table>
> The installed defaults provide a reasonable starting point, though </div>
some settings may be aggressive by some standards. For the time being, the </body>
principle configuration files are:</P </html>
><P
> <P
></P
><UL
><LI
><P
> The <A
HREF="config.html"
>main configuration file</A
> is named <TT
CLASS="FILENAME"
>config</TT
>
on Linux, Unix, BSD, OS/2, and AmigaOS and <TT
CLASS="FILENAME"
>config.txt</TT
>
on Windows. This is a required file.
</P
></LI
><LI
><P
> <TT
CLASS="FILENAME"
>match-all.action</TT
> is used to define which <SPAN
CLASS="QUOTE"
>"actions"</SPAN
>
relating to banner-blocking, images, pop-ups, content modification, cookie handling
etc should be applied by default. It should be the first actions file loaded.
</P
><P
> <TT
CLASS="FILENAME"
>default.action</TT
> defines many exceptions (both positive and negative)
from the default set of actions that's configured in <TT
CLASS="FILENAME"
>match-all.action</TT
>.
It should be the second actions file loaded and shouldn't be edited by the user.
</P
><P
> Multiple actions files may be defined in <TT
CLASS="FILENAME"
>config</TT
>. These
are processed in the order they are defined. Local customizations and locally
preferred exceptions to the default policies as defined in
<TT
CLASS="FILENAME"
>match-all.action</TT
> (which you will most probably want
to define sooner or later) are best applied in <TT
CLASS="FILENAME"
>user.action</TT
>,
where you can preserve them across upgrades. The file isn't installed by all
installers, but you can easily create it yourself with a text editor.
</P
><P
>
There is also a web based editor that can be accessed from
<A
HREF="http://config.privoxy.org/show-status"
TARGET="_top"
>http://config.privoxy.org/show-status</A
>
(Shortcut: <A
HREF="http://p.p/show-status"
TARGET="_top"
>http://p.p/show-status</A
>) for the
various actions files.
</P
></LI
><LI
><P
> <SPAN
CLASS="QUOTE"
>"Filter files"</SPAN
> (the <A
HREF="filter-file.html"
>filter
file</A
>) can be used to re-write the raw page content, including
viewable text as well as embedded HTML and JavaScript, and whatever else
lurks on any given web page. The filtering jobs are only pre-defined here;
whether to apply them or not is up to the actions files.
<TT
CLASS="FILENAME"
>default.filter</TT
> includes various filters made
available for use by the developers. Some are much more intrusive than
others, and all should be used with caution. You may define additional
filter files in <TT
CLASS="FILENAME"
>config</TT
> as you can with
actions files. We suggest <TT
CLASS="FILENAME"
>user.filter</TT
> for any
locally defined filters or customizations.
</P
></LI
></UL
></P
><P
> The syntax of the configuration and filter files may change between different
Privoxy versions, unfortunately some enhancements cost backwards compatibility.
</P
><P
> All files use the <SPAN
CLASS="QUOTE"
>"<TT
CLASS="LITERAL"
>#</TT
>"</SPAN
> character to denote a
comment (the rest of the line will be ignored) and understand line continuation
through placing a backslash ("<TT
CLASS="LITERAL"
>\</TT
>") as the very last character
in a line. If the <TT
CLASS="LITERAL"
>#</TT
> is preceded by a backslash, it looses
its special function. Placing a <TT
CLASS="LITERAL"
>#</TT
> in front of an otherwise
valid configuration line to prevent it from being interpreted is called "commenting
out" that line. Blank lines are ignored.</P
><P
> The actions files and filter files
can use Perl style <A
HREF="appendix.html#REGEX"
>regular expressions</A
> for
maximum flexibility. </P
><P
> After making any changes, there is no need to restart
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> in order for the changes to take
effect. <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> detects such changes
automatically. Note, however, that it may take one or two additional
requests for the change to take effect. When changing the listening address
of <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>, these <SPAN
CLASS="QUOTE"
>"wake up"</SPAN
> requests
must obviously be sent to the <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>old</I
></SPAN
> listening address.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="startup.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="config.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Starting Privoxy</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The Main Configuration File</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,514 +1,364 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Contacting the Developers, Bug Reporting and Feature <head>
Requests</TITLE <meta name="generator" content=
><META "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK <title>Contacting the Developers, Bug Reporting and Feature
REL="HOME" Requests</title>
TITLE="Privoxy 3.0.12 User Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
TITLE="Privoxy's Template Files" <link rel="PREVIOUS" title="Privoxy's Template Files" href=
HREF="templates.html"><LINK "templates.html">
REL="NEXT" <link rel="NEXT" title="Privoxy Copyright, License and History" href=
TITLE="Privoxy Copyright, License and History" "copyright.html">
HREF="copyright.html"><LINK <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
REL="STYLESHEET" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
TYPE="text/css" <link rel="STYLESHEET" type="text/css" href="p_doc.css">
HREF="../p_doc.css"><META <style type="text/css">
HTTP-EQUIV="Content-Type" body {
CONTENT="text/html; background-color: #EEEEEE;
charset=ISO-8859-1"> color: #000000;
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css"> }
</head :link { color: #0000FF }
><BODY :visited { color: #840084 }
CLASS="SECT1" :active { color: #0000FF }
BGCOLOR="#EEEEEE" span.c2 {font-style: italic}
TEXT="#000000" hr.c1 {text-align: left}
LINK="#0000FF" </style>
VLINK="#840084" </head>
ALINK="#0000FF"
><DIV <body class="SECT1">
CLASS="NAVHEADER" <div class="NAVHEADER">
><TABLE <table summary="Header navigation table" width="100%" border="0"
SUMMARY="Header navigation table" cellpadding="0" cellspacing="0">
WIDTH="100%" <tr>
BORDER="0" <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
CELLPADDING="0" </tr>
CELLSPACING="0"
><TR <tr>
><TH <td width="10%" align="left" valign="bottom"><a href="templates.html"
COLSPAN="3" accesskey="P">Prev</a></td>
ALIGN="center"
>Privoxy 3.0.12 User Manual</TH <td width="80%" align="center" valign="bottom"></td>
></TR
><TR <td width="10%" align="right" valign="bottom"><a href=
><TD "copyright.html" accesskey="N">Next</a></td>
WIDTH="10%" </tr>
ALIGN="left" </table>
VALIGN="bottom" <hr class="c1" width="100%">
><A </div>
HREF="templates.html"
ACCESSKEY="P" <div class="SECT1">
>Prev</A <h1 class="SECT1"><a name="CONTACT" id="CONTACT">11. Contacting the
></TD Developers, Bug Reporting and Feature Requests</a></h1>
><TD
WIDTH="80%" <p>We value your feedback. In fact, we rely on it to improve <span class=
ALIGN="center" "APPLICATION">Privoxy</span> and its configuration. However, please note
VALIGN="bottom" the following hints, so we can provide you with the best support:</p>
></TD
><TD <div class="SECT2">
WIDTH="10%" <h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">11.1.
ALIGN="right" Get Support</a></h2>
VALIGN="bottom"
><A <p>For casual users, our <a href=
HREF="copyright.html" "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
ACCESSKEY="N" target="_top">support forum at SourceForge</a> is probably best suited:
>Next</A <a href=
></TD "http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118"
></TR target="_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=211118</a></p>
></TABLE
><HR <p>All users are of course welcome to discuss their issues on the
ALIGN="LEFT" <a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
WIDTH="100%"></DIV target="_top">users mailing list</a>, where the developers also hang
><DIV around.</p>
CLASS="SECT1"
><H1 <p>Please don't sent private support requests to individual Privoxy
CLASS="SECT1" developers, either use the mailing lists or the support trackers.</p>
><A
NAME="CONTACT" <p>If you have to contact a Privoxy developer directly for other
>11. Contacting the Developers, Bug Reporting and Feature reasons, please send a real mail and do not bother with SourceForge's
Requests</A messaging system. Answers to SourceForge messages are usually bounced
></H1 by SourceForge's mail server in which case the developer wasted time
><P writing a response you don't get. From your point of view it will look
> We value your feedback. In fact, we rely on it to improve like your message has been completely ignored, so this is frustrating
<SPAN for all parties involved.</p>
CLASS="APPLICATION"
>Privoxy</SPAN <p>Note that the Privoxy mailing lists are moderated. Posts from
> and its configuration. unsubscribed addresses have to be accepted manually by a moderator.
However, please note the following hints, so we can This may cause a delay of several days and if you use a subject that
provide you with the best support:</P doesn't clearly mention Privoxy or one of its features, your message
><DIV may be accidentally discarded as spam.</p>
CLASS="SECT2"
><H2 <p>If you aren't subscribed, you should therefore spend a few seconds
CLASS="SECT2" to come up with a proper subject. Additionally you should make it clear
><A that you want to get CC'd. Otherwise some responses will be directed to
NAME="CONTACT-SUPPORT" the mailing list only, and you won't see them.</p>
>11.1. Get Support</A </div>
></H2
><P <div class="SECT2">
> For casual users, our <h2 class="SECT2"><a name="REPORTING" id="REPORTING">11.2. Reporting
<A Problems</a></h2>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top" <p><span class="QUOTE">"Problems"</span> for our purposes, come in two
>support forum at SourceForge</A forms:</p>
>
is probably best suited: <ul>
<A <li>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118" <p>Configuration issues, such as ads that slip through, or sites
TARGET="_top" that don't function properly due to one <span class=
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</A "APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
></P another being turned <span class="QUOTE">"on"</span>.</p>
><P </li>
> All users are of course welcome to discuss their issues on the <A
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users" <li>
TARGET="_top" <p><span class="QUOTE">"Bugs"</span> in the programming code that
>users makes up <span class="APPLICATION">Privoxy</span>, such as that
mailing list</A might cause a crash.</p>
>, where the developers also hang around.</P </li>
><P </ul>
> Please don't sent private support requests to individual Privoxy
developers, either use the mailing lists or the support trackers.</P <div class="SECT3">
><P <h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">11.2.1.
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed Reporting Ads or Other Configuration Problems</a></h3>
addresses have to be accepted manually by a moderator. This may cause a
delay of several days and if you use a subject that doesn't clearly <p>Please send feedback on ads that slipped through, innocent images
mention Privoxy or one of its features, your message may be accidentally that were blocked, sites that don't work properly, and other
discarded as spam.</P configuration related problem of <tt class=
><P "FILENAME">default.action</tt> file, to <a href=
> If you aren't subscribed, you should therefore spend a few seconds "http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
to come up with a proper subject. Additionally you should make it clear target=
that you want to get CC'd. Otherwise some responses will be directed to "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
the mailing list only, and you won't see them.</P the Actions File Tracker.</p>
></DIV
><DIV <p>New, improved <tt class="FILENAME">default.action</tt> files may
CLASS="SECT2" occasionally be made available based on your feedback. These will be
><H2 announced on the <a href=
CLASS="SECT2" "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
><A "_top">ijbswa-announce</a> list and available from our the <a href=
NAME="REPORTING" "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
>11.2. Reporting Problems</A "_top">files section</a> of our <a href=
></H2 "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
><P </div>
><SPAN
CLASS="QUOTE" <div class="SECT3">
>"Problems"</SPAN <h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">11.2.2.
> for our purposes, come in two forms:</P Reporting Bugs</a></h3>
><P
></P <p>Please report all bugs through our bug tracker: <a href=
><UL "http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118"
><LI target=
><P "_top">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</a>.</p>
> Configuration issues, such as ads that slip through, or sites that
don't function properly due to one <SPAN <p>Before doing so, please make sure that the bug has <span class=
CLASS="APPLICATION" "emphasis EMPHASIS c2">not already been submitted</span> and observe
>Privoxy</SPAN the additional hints at the top of the <a href=
> "http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118"
<SPAN target="_top">submit form</a>. If already submitted, please feel free
CLASS="QUOTE" to add any info to the original report that might help to solve the
>"action"</SPAN issue.</p>
> or another being turned <SPAN
CLASS="QUOTE" <p>Please try to verify that it is a <span class=
>"on"</SPAN "APPLICATION">Privoxy</span> bug, and not a browser or site bug or
>. documented behaviour that just happens to be different than what you
</P expected. If unsure, try <a href=
></LI "http://config.privoxy.org/toggle?set=disable" target="_top">toggling
><LI off</a> <span class="APPLICATION">Privoxy</span>, and see if the
><P problem persists.</p>
> <SPAN
CLASS="QUOTE" <p>If you are using your own custom configuration, please try the
>"Bugs"</SPAN stock configs to see if the problem is configuration related. If
> in the programming code that makes up you're having problems with a feature that is disabled by default,
<SPAN please ask around on the mailing list if others can reproduce the
CLASS="APPLICATION" problem.</p>
>Privoxy</SPAN
>, such as that might cause a crash. <p>If you aren't using the latest Privoxy version, the bug may have
</P been found and fixed in the meantime. We would appreciate if you
></LI could take the time to <a href=
></UL "http://www.privoxy.org/user-manual/installation.html" target=
><DIV "_top">upgrade to the latest version</a> (or even the latest CVS
CLASS="SECT3" snapshot) and verify that your bug still exists.</p>
><H3
CLASS="SECT3" <p>Please be sure to provide the following information:</p>
><A
NAME="CONTACT-ADS" <ul>
>11.2.1. Reporting Ads or Other Configuration Problems</A <li>
></H3 <p>The exact <span class="APPLICATION">Privoxy</span> version you
><P are using (if you got the source from CVS, please also provide
> Please send feedback on ads that slipped through, innocent images that were the source code revisions as shown in <a href=
blocked, sites that don't work properly, and other configuration related problem of "http://config.privoxy.org/show-version" target=
<TT "_top">http://config.privoxy.org/show-version</a>).</p>
CLASS="FILENAME" </li>
>default.action</TT
> file, to <li>
<A <p>The operating system and versions you run <span class=
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288" "APPLICATION">Privoxy</span> on, (e.g. <span class=
TARGET="_top" "APPLICATION">Windows XP SP2</span>), if you are using a Unix
> http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A flavor, sending the output of <span class="QUOTE">"uname
>, -a"</span> should do, in case of GNU/Linux, please also name the
the Actions File Tracker.</P distribution.</p>
><P </li>
> New, improved <TT
CLASS="FILENAME" <li>
>default.action</TT <p>The name, platform, and version of the <span class=
> files may occasionally be made "APPLICATION">browser</span> you were using (e.g. <span class=
available based on your feedback. These will be announced on the <A "APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" </li>
TARGET="_top"
>ijbswa-announce</A <li>
> <p>The URL where the problem occurred, or some way for us to
list and available from our the <A duplicate the problem (e.g. <tt class=
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118" "LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
TARGET="_top" </li>
>files section</A
> of <li>
our <A <p>Whether your version of <span class=
HREF="http://sf.net/projects/ijbswa/" "APPLICATION">Privoxy</span> is one supplied by the <span class=
TARGET="_top" "APPLICATION">Privoxy</span> developers via SourceForge, or if
>project page</A you got your copy somewhere else.</p>
>.</P </li>
></DIV
><DIV <li>
CLASS="SECT3" <p>Whether you are using <span class="APPLICATION">Privoxy</span>
><H3 in tandem with another proxy such as <span class=
CLASS="SECT3" "APPLICATION">Tor</span>. If so, please temporary disable the
><A other proxy to see if the symptoms change.</p>
NAME="CONTACT-BUGS" </li>
>11.2.2. Reporting Bugs</A
></H3 <li>
><P <p>Whether you are using a personal firewall product. If so, does
> Please report all bugs through our bug tracker: <span class="APPLICATION">Privoxy</span> work without it?</p>
<A </li>
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118"
TARGET="_top" <li>
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118</A <p>Any other pertinent information to help identify the problem
>. </P such as config or log file excerpts (yes, you should have log
><P file entries for each action taken). To get a meaningful logfile,
> Before doing so, please make sure that the bug has <SPAN please make sure that the <a href=
CLASS="emphasis" "../user-manual/config.html#LOGFILE" target="_top">logfile
><I directive</a> is being used and the following <a href=
CLASS="EMPHASIS" "../user-manual/config.html#DEBUG" target="_top">debug
>not already been submitted</I options</a> are enabled:</p>
></SPAN
> <p class="LITERALLAYOUT">
and observe the additional hints at the top of the <A debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;each&nbsp;request&nbsp;Privoxy&nbsp;let&nbsp;through.&nbsp;See&nbsp;also&nbsp;debug&nbsp;1024.<br>
HREF="http://sourceforge.net/tracker/?func=add&#38;group_id=11118&#38;atid=111118"
TARGET="_top" debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;#&nbsp;show&nbsp;each&nbsp;connection&nbsp;status<br>
>submit
form</A debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;#&nbsp;show&nbsp;I/O&nbsp;status<br>
>. If already submitted, please feel free to add any info to the
original report that might help to solve the issue.</P debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;#&nbsp;show&nbsp;header&nbsp;parsing<br>
><P
> Please try to verify that it is a <SPAN debug&nbsp;&nbsp;&nbsp;128&nbsp;#&nbsp;debug&nbsp;redirects<br>
CLASS="APPLICATION" debug&nbsp;&nbsp;&nbsp;256&nbsp;#&nbsp;debug&nbsp;GIF&nbsp;de-animation<br>
>Privoxy</SPAN
> bug, debug&nbsp;&nbsp;&nbsp;512&nbsp;#&nbsp;Common&nbsp;Log&nbsp;Format<br>
and not a browser or site bug or documented behaviour that just happens
to be different than what you expected. If unsure, debug&nbsp;&nbsp;1024&nbsp;#&nbsp;Log&nbsp;the&nbsp;destination&nbsp;for&nbsp;requests&nbsp;Privoxy&nbsp;didn't&nbsp;let&nbsp;through,&nbsp;and&nbsp;the&nbsp;reason&nbsp;why.<br>
try <A
HREF="http://config.privoxy.org/toggle?set=disable" debug&nbsp;&nbsp;4096&nbsp;#&nbsp;Startup&nbsp;banner&nbsp;and&nbsp;warnings.<br>
TARGET="_top"
>toggling debug&nbsp;&nbsp;8192&nbsp;#&nbsp;Non-fatal&nbsp;errors</p>If you
off</A are having trouble with a filter, please additionally enable
> <SPAN
CLASS="APPLICATION" <p class="LITERALLAYOUT">
>Privoxy</SPAN debug&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;#&nbsp;debug&nbsp;regular&nbsp;expression&nbsp;filters</p>If
>, and see if the problem persists.</P you are using Privoxy 3.0.17 or later and suspect that it
><P interprets the request or the response incorrectly, please enable
> If you are using your own custom configuration, please try
the stock configs to see if the problem is configuration related. <p class="LITERALLAYOUT">
If you're having problems with a feature that is disabled by default, debug&nbsp;32768&nbsp;#&nbsp;log&nbsp;all&nbsp;data&nbsp;read&nbsp;from&nbsp;the&nbsp;network</p>Note
please ask around on the mailing list if others can reproduce the problem.</P that Privoxy log files may contain sensitive information so
><P please don't submit any logfiles you didn't read first. You can
> If you aren't using the latest Privoxy version, the bug may have been found mask sensitive information as long as it's clear that you removed
and fixed in the meantime. We would appreciate if you could take the time something.
to <A </li>
HREF="http://www.privoxy.org/user-manual/installation.html" </ul>
TARGET="_top"
>upgrade <p>You don't have to tell us your actual name when filing a problem
to the latest version</A report, but if you don't, please use a nickname so we can
> (or even the latest CVS snapshot) and verify differentiate between your messages and the ones entered by other
that your bug still exists.</P "anonymous" users that may respond to your request if they have the
><P same problem or already found a solution. Note that due to spam the
>Please be sure to provide the following information:</P trackers may not always allow to post without being logged into
><P SourceForge. If that's the case, you are still free to create a login
> <P that isn't directly linked to your name, though.</p>
></P
><UL <p>Please also check the status of your request a few days after
><LI submitting it, as we may request additional information. If you use a
><P SF id, you should automatically get a mail when someone responds to
> The exact <SPAN your request. Please don't bother to add an email address when using
CLASS="APPLICATION" the tracker. If you prefer to communicate through email, just use one
>Privoxy</SPAN of the mailing lists directly.</p>
> version you are using
(if you got the source from CVS, please also provide the source code revisions <p>If you are new to reporting problems, you might be interested in
as shown in <A <a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
HREF="http://config.privoxy.org/show-version" target="_top">How to Report Bugs Effectively</a>.</p>
TARGET="_top"
>http://config.privoxy.org/show-version</A <p>The <a href=
>). "http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
</P target="_top">appendix of the Privoxy User Manual</a> also has
></LI helpful information on understanding <tt class=
><LI "LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
><P debugging.</p>
> The operating system and versions you run </div>
<SPAN </div>
CLASS="APPLICATION"
>Privoxy</SPAN <div class="SECT2">
> on, (e.g. <SPAN <h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">11.3.
CLASS="APPLICATION" Request New Features</a></h2>
>Windows
XP SP2</SPAN <p>You are welcome to submit ideas on new features or other proposals
>), if you are using a Unix flavor, for improvement through our feature request tracker at <a href=
sending the output of <SPAN "http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118"
CLASS="QUOTE" target="_top">http://sourceforge.net/tracker/?atid=361118&amp;group_id=11118</a>.</p>
>"uname -a"</SPAN </div>
> should do,
in case of GNU/Linux, please also name the distribution. <div class="SECT2">
</P <h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">11.4.
></LI Mailing Lists</a></h2>
><LI
><P <p>If you prefer to communicate through email, instead of using a web
> The name, platform, and version of the <SPAN interface, feel free to use one of the mailing lists. To discuss issues
CLASS="APPLICATION" that haven't been completely diagnosed yet, please use the Privoxy
>browser</SPAN users list. Technically interested users and people who wish to
> contribute to the project are always welcome on the developers list.
you were using (e.g. <SPAN You can find an overview of all <span class=
CLASS="APPLICATION" "APPLICATION">Privoxy</span>-related mailing lists, including list
>Internet Explorer v5.5</SPAN archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
> for Mac). target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
</P </div>
></LI </div>
><LI
><P <div class="NAVFOOTER">
> The URL where the problem occurred, or some way for us to duplicate the <hr class="c1" width="100%">
problem (e.g. <TT
CLASS="LITERAL" <table summary="Footer navigation table" width="100%" border="0"
>http://somesite.example.com/?somethingelse=123</TT cellpadding="0" cellspacing="0">
>). <tr>
</P <td width="33%" align="left" valign="top"><a href="templates.html"
></LI accesskey="P">Prev</a></td>
><LI
><P <td width="34%" align="center" valign="top"><a href="index.html"
> Whether your version of <SPAN accesskey="H">Home</a></td>
CLASS="APPLICATION"
>Privoxy</SPAN <td width="33%" align="right" valign="top"><a href="copyright.html"
> is one supplied accesskey="N">Next</a></td>
by the <SPAN </tr>
CLASS="APPLICATION"
>Privoxy</SPAN <tr>
> developers via SourceForge, <td width="33%" align="left" valign="top">Privoxy's Template
or if you got your copy somewhere else. Files</td>
</P
></LI <td width="34%" align="center" valign="top">&nbsp;</td>
><LI
><P <td width="33%" align="right" valign="top">Privoxy Copyright, License
> Whether you are using <SPAN and History</td>
CLASS="APPLICATION" </tr>
>Privoxy</SPAN </table>
> in tandem with </div>
another proxy such as <SPAN </body>
CLASS="APPLICATION" </html>
>Tor</SPAN
>. If so, please
temporary disable the other proxy to see if the symptoms change.
</P
></LI
><LI
><P
> Whether you are using a personal firewall product. If so, does
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> work without it?
</P
></LI
><LI
><P
> Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each
action taken).
</P
></LI
></UL
></P
><P
> You don't have to tell us your actual name when filing a problem
report, but please use a nickname so we can differentiate between
your messages and the ones entered by other "anonymous" users that
may respond to your request if they have the same problem or already
found a solution.</P
><P
> Please also check the status of your request a few days after submitting
it, as we may request additional information. If you use a SF id,
you should automatically get a mail when someone responds to your request.</P
><P
> The <A
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
TARGET="_top"
>appendix
of the Privoxy User Manual</A
> also has helpful information
on understanding <TT
CLASS="LITERAL"
>actions</TT
>, and <TT
CLASS="LITERAL"
>action</TT
> debugging. </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-FEATURE"
>11.3. Request New Features</A
></H2
><P
> You are welcome to submit ideas on new features or other proposals
for improvement through our feature request tracker at
<A
HREF="http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118"
TARGET="_top"
>http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-OTHER"
>11.4. Other</A
></H2
><P
>For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>-related mailing lists,
including list archives, at:
<A
HREF="http://sourceforge.net/mail/?group_id=11118"
TARGET="_top"
>http://sourceforge.net/mail/?group_id=11118</A
>.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="templates.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Privoxy's Template Files</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Privoxy Copyright, License and History</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,424 +1,285 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy Copyright, License and History</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Privoxy Copyright, License and History</title>
TITLE="Privoxy 3.0.12 User Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
TITLE="Contacting the Developers, Bug Reporting and Feature <link rel="PREVIOUS" title=
Requests" "Contacting the Developers, Bug Reporting and Feature Requests" href=
HREF="contact.html"><LINK "contact.html">
REL="NEXT" <link rel="NEXT" title="See Also" href="seealso.html">
TITLE="See Also" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
HREF="seealso.html"><LINK <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="p_doc.css">
TYPE="text/css" <style type="text/css">
HREF="../p_doc.css"><META body {
HTTP-EQUIV="Content-Type" background-color: #EEEEEE;
CONTENT="text/html; color: #000000;
charset=ISO-8859-1"> }
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css"> :link { color: #0000FF }
</head :visited { color: #840084 }
><BODY :active { color: #0000FF }
CLASS="SECT1" a.c2 {font-style: italic}
BGCOLOR="#EEEEEE" hr.c1 {text-align: left}
TEXT="#000000" </style>
LINK="#0000FF" </head>
VLINK="#840084"
ALINK="#0000FF" <body class="SECT1">
><DIV <div class="NAVHEADER">
CLASS="NAVHEADER" <table summary="Header navigation table" width="100%" border="0"
><TABLE cellpadding="0" cellspacing="0">
SUMMARY="Header navigation table" <tr>
WIDTH="100%" <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
BORDER="0" </tr>
CELLPADDING="0"
CELLSPACING="0" <tr>
><TR <td width="10%" align="left" valign="bottom"><a href="contact.html"
><TH accesskey="P">Prev</a></td>
COLSPAN="3"
ALIGN="center" <td width="80%" align="center" valign="bottom"></td>
>Privoxy 3.0.12 User Manual</TH
></TR <td width="10%" align="right" valign="bottom"><a href="seealso.html"
><TR accesskey="N">Next</a></td>
><TD </tr>
WIDTH="10%" </table>
ALIGN="left" <hr class="c1" width="100%">
VALIGN="bottom" </div>
><A
HREF="contact.html" <div class="SECT1">
ACCESSKEY="P" <h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">12. Privoxy
>Prev</A Copyright, License and History</a></h1>
></TD
><TD <p>Copyright &copy; 2001-2011 by Privoxy Developers <code class=
WIDTH="80%" "EMAIL">&lt;<a href=
ALIGN="center" "mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>&gt;</code></p>
VALIGN="bottom"
></TD <p>Some source code is based on code Copyright &copy; 1997 by Anonymous
><TD Coders and Junkbusters, Inc. and licensed under the <i class=
WIDTH="10%" "CITETITLE">GNU General Public License</i>.</p>
ALIGN="right"
VALIGN="bottom" <div class="SECT2">
><A <h2 class="SECT2"><a name="AEN5542" id="AEN5542">12.1. License</a></h2>
HREF="seealso.html"
ACCESSKEY="N" <p><span class="APPLICATION">Privoxy</span> is free software; you can
>Next</A redistribute it and/or modify it under the terms of the <i class=
></TD "CITETITLE">GNU General Public License</i>, version 2, as published by
></TR the Free Software Foundation.</p>
></TABLE
><HR <p>This program is distributed in the hope that it will be useful, but
ALIGN="LEFT" WITHOUT ANY WARRANTY; without even the implied warranty of
WIDTH="100%"></DIV MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a class=
><DIV "CITETITLE c2" href=
CLASS="SECT1" "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
><H1 "_top">GNU General Public License</a> for details.</p>
CLASS="SECT1"
><A <p>You should have received a copy of the <i class="CITETITLE">GNU
NAME="COPYRIGHT" GPL</i> along with this program; if not, write to the</p>
>12. Privoxy Copyright, License and History</A
></H1 <p class="ADDRESS">&nbsp;Free&nbsp;Software<br>
><P &nbsp;Foundation,&nbsp;Inc.&nbsp;<span class="STREET">51 Franklin
> Copyright © 2001-2009 by Privoxy Developers <CODE Street, Fifth Floor</span><br>
CLASS="EMAIL" &nbsp;<span class="CITY">Boston</span>,&nbsp;<span class=
>&#60;<A "STATE">MA</span>&nbsp;<span class="POSTCODE">02110-1301</span><br>
HREF="mailto:ijbswa-developers@lists.sourceforge.net" &nbsp;<span class="COUNTRY">USA</span>&nbsp;</p>
>ijbswa-developers@lists.sourceforge.net</A </div>
>&#62;</CODE
></P <div class="SECT2">
><P <h2 class="SECT2"><a name="HISTORY" id="HISTORY">12.2. History</a></h2>
> Some source code is based on code Copyright © 1997 by Anonymous Coders
and Junkbusters, Inc. and licensed under the <I <p>A long time ago, there was the <a href=
CLASS="CITETITLE" "http://www.junkbusters.com/ijb.html" target="_top"><span class=
>GNU General Public "APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
License</I <a href="http://www.junkbusters.com/" target="_top">Junkbusters
>.</P Corporation</a>. This saved many users a lot of pain in the early days
><DIV of web advertising and user tracking.</p>
CLASS="SECT2"
><H2 <p>But the web, its protocols and standards, and with it, the
CLASS="SECT2" techniques for forcing ads on users, give up autonomy over their
><A browsing, and for tracking them, keeps evolving. Unfortunately, the
NAME="AEN4921" <span class="APPLICATION">Internet Junkbuster</span> did not. Version
>12.1. License</A 2.0.2, published in 1998, was (and is) the last official <a href=
></H2 "http://www.junkbusters.com/ijbdist.html#release" target=
><P "_top">release</a> available from <a href="http://www.junkbusters.com"
> <SPAN target="_top">Junkbusters Corporation</a>. Fortunately, it had been
CLASS="APPLICATION" released under the GNU <a href=
>Privoxy</SPAN "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
> is free software; you can "_top">GPL</a>, which allowed further development by others.</p>
redistribute it and/or modify it under the terms of the
<I <p>So Stefan Waldherr started maintaining an improved version of the
CLASS="CITETITLE" software, to which eventually a number of people contributed patches.
>GNU General Public License</I It could already replace banners with a transparent image, and had a
>, version 2, first version of pop-up killing, but it was still very closely based on
as published by the Free Software Foundation.</P the original, with all its limitations, such as the lack of HTTP/1.1
><P support, flexible per-site configuration, or content modification. The
> This program is distributed in the hope that it will be useful, but WITHOUT last release from this effort was version 2.0.2-10, published in
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2000.</p>
FITNESS FOR A PARTICULAR PURPOSE. See the <A
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" <p>Then, some <a href=
TARGET="_top" "http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
> <I "_top">developers</a> picked up the thread, and started turning the
CLASS="CITETITLE" software inside out, upside down, and then reassembled it, adding many
>GNU General Public License</I <a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
></A target="_top">new features</a> along the way.</p>
> for details.</P
><P <p>The result of this is <span class="APPLICATION">Privoxy</span>,
> You should have received a copy of the <I whose first stable version, 3.0, was released August, 2002.</p>
CLASS="CITETITLE" </div>
>GNU GPL</I
> <div class="SECT2">
along with this program; if not, write to the <P <h2 class="SECT2"><a name="AUTHORS" id="AUTHORS">12.3. Authors</a></h2>
CLASS="ADDRESS"
>&nbsp;Free&nbsp;Software<br> <p>Current Privoxy Team:</p>
&nbsp;Foundation,&nbsp;Inc.&nbsp;<SPAN
CLASS="STREET" <p class="LITERALLAYOUT">
>51 Franklin Street, Fifth Floor</SPAN &nbsp;Fabian&nbsp;Keil,&nbsp;lead&nbsp;developer<br>
><br> &nbsp;David&nbsp;Schmidt,&nbsp;developer<br>
&nbsp;<SPAN &nbsp;Hal&nbsp;Burgiss<br>
CLASS="CITY" &nbsp;Lee&nbsp;Rian<br>
>Boston</SPAN &nbsp;Roland&nbsp;Rosenfeld</p>
>,&nbsp;<SPAN
CLASS="STATE" <p>Former Privoxy Team Members:</p>
>MA</SPAN
>&nbsp;<SPAN <p class="LITERALLAYOUT">&nbsp;Johny&nbsp;Agotnes<br>
CLASS="POSTCODE" &nbsp;Rodrigo&nbsp;Barbosa<br>
>02110-1301</SPAN &nbsp;Moritz&nbsp;Barsnick<br>
><br> &nbsp;Ian&nbsp;Cummings<br>
&nbsp;<SPAN &nbsp;Brian&nbsp;Dessent<br>
CLASS="COUNTRY" &nbsp;Jon&nbsp;Foster<br>
>USA</SPAN &nbsp;Karsten&nbsp;Hopp<br>
>&nbsp;</P &nbsp;Alexander&nbsp;Lazic<br>
></P &nbsp;Daniel&nbsp;Leite<br>
></DIV &nbsp;G&aacute;bor&nbsp;Lipt&aacute;k<br>
><DIV &nbsp;Adam&nbsp;Lock<br>
CLASS="SECT2" &nbsp;Guy&nbsp;Laroche<br>
><H2 &nbsp;Justin&nbsp;McMurtry<br>
CLASS="SECT2" &nbsp;Mark&nbsp;Miller<br>
><A &nbsp;Gerry&nbsp;Murphy<br>
NAME="HISTORY" &nbsp;Andreas&nbsp;Oesterhelt<br>
>12.2. History</A &nbsp;Haroon&nbsp;Rafique<br>
></H2 &nbsp;Georg&nbsp;Sauthoff<br>
><P &nbsp;Thomas&nbsp;Steudten<br>
> A long time ago, there was the &nbsp;J&ouml;rg&nbsp;Strohmayer<br>
<A &nbsp;Rodney&nbsp;Stromlund<br>
HREF="http://www.junkbusters.com/ijb.html" &nbsp;Sviatoslav&nbsp;Sviridov<br>
TARGET="_top" &nbsp;Sarantis&nbsp;Paskalis<br>
><SPAN &nbsp;Stefan&nbsp;Waldherr</p>
CLASS="APPLICATION"
>Internet Junkbuster</SPAN <p>Thanks to the many people who have tested Privoxy, reported bugs,
></A provided patches, made suggestions or contributed in some way. These
>, include (in alphabetical order):</p>
by Anonymous Coders and <A
HREF="http://www.junkbusters.com/" <p class="LITERALLAYOUT">&nbsp;Ken&nbsp;Arromdee<br>
TARGET="_top" &nbsp;Devin&nbsp;Bayer<br>
>Junkbusters &nbsp;Havard&nbsp;Berland<br>
Corporation</A &nbsp;Gergely&nbsp;Bor<br>
>. This saved many users a lot of pain in the early days of &nbsp;Francois&nbsp;Botha<br>
web advertising and user tracking.</P &nbsp;Reiner&nbsp;Buehl<br>
><P &nbsp;Andrew&nbsp;J.&nbsp;Caines<br>
> But the web, its protocols and standards, and with it, the techniques for &nbsp;Clifford&nbsp;Caoile<br>
forcing ads on users, give up autonomy over their browsing, and &nbsp;Wan-Teh&nbsp;Chang<br>
for tracking them, keeps evolving. Unfortunately, the <SPAN &nbsp;Billy&nbsp;Crook<br>
CLASS="APPLICATION" &nbsp;Fr&eacute;d&eacute;ric&nbsp;Crozat<br>
>Internet &nbsp;Michael&nbsp;T.&nbsp;Davis<br>
Junkbuster</SPAN &nbsp;Mattes&nbsp;Dolak<br>
> did not. Version 2.0.2, published in 1998, was &nbsp;Matthias&nbsp;Drochner<br>
(and is) the last official &nbsp;Peter&nbsp;E.<br>
<A &nbsp;Florian&nbsp;Effenberger<br>
HREF="http://www.junkbusters.com/ijbdist.html#release" &nbsp;Markus&nbsp;Elfring<br>
TARGET="_top" &nbsp;Dean&nbsp;Gaudet<br>
>release</A &nbsp;Stephen&nbsp;Gildea<br>
> &nbsp;Daniel&nbsp;Griscom<br>
available from <A &nbsp;Felix&nbsp;Gr&ouml;bert<br>
HREF="http://www.junkbusters.com" &nbsp;Jeff&nbsp;H.<br>
TARGET="_top" &nbsp;Aaron&nbsp;Hamid<br>
>Junkbusters Corporation</A &nbsp;Darel&nbsp;Henman<br>
>. &nbsp;Magnus&nbsp;Holmgren<br>
Fortunately, it had been released under the GNU &nbsp;Eric&nbsp;M.&nbsp;Hopper<br>
<A &nbsp;Ralf&nbsp;Horstmann<br>
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" &nbsp;Stefan&nbsp;Huehner<br>
TARGET="_top" &nbsp;Peter&nbsp;Hyman<br>
>GPL</A &nbsp;Derek&nbsp;Jennings<br>
>, &nbsp;Petr&nbsp;Kadlec<br>
which allowed further development by others.</P &nbsp;David&nbsp;Laight<br>
><P &nbsp;Bert&nbsp;van&nbsp;Leeuwen<br>
> So Stefan Waldherr started maintaining an improved version of the &nbsp;Don&nbsp;Libes<br>
software, to which eventually a number of people contributed patches. &nbsp;Paul&nbsp;Lieverse<br>
It could already replace banners with a transparent image, and had a first &nbsp;Han&nbsp;Liu<br>
version of pop-up killing, but it was still very closely based on the &nbsp;Toby&nbsp;Lyward<br>
original, with all its limitations, such as the lack of HTTP/1.1 support, &nbsp;Wil&nbsp;Mahan<br>
flexible per-site configuration, or content modification. The last release &nbsp;Jindrich&nbsp;Makovicka<br>
from this effort was version 2.0.2-10, published in 2000.</P &nbsp;Raphael&nbsp;Marichez<br>
><P &nbsp;Francois&nbsp;Marier<br>
> Then, some &nbsp;David&nbsp;Mediavilla<br>
<A &nbsp;Raphael&nbsp;Moll<br>
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS" &nbsp;Amuro&nbsp;Namie<br>
TARGET="_top" &nbsp;Adam&nbsp;Piggott<br>
>developers</A &nbsp;Petr&nbsp;P&iacute;sar<br>
> &nbsp;Dan&nbsp;Price<br>
picked up the thread, and started turning the software inside out, upside down, &nbsp;Roberto&nbsp;Ragusa<br>
and then reassembled it, adding many &nbsp;F&eacute;lix&nbsp;Rauch<br>
<A &nbsp;Maynard&nbsp;Riley<br>
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES" &nbsp;Chung-chieh&nbsp;Shan<br>
TARGET="_top" &nbsp;Spinor&nbsp;S.<br>
>new &nbsp;Bart&nbsp;Schelstraete<br>
features</A &nbsp;Dan&nbsp;Stahlke<br>
> along the way.</P &nbsp;Oliver&nbsp;Stoeneberg<br>
><P &nbsp;Peter&nbsp;Thoenen<br>
> The result of this is <SPAN &nbsp;Martin&nbsp;Thomas<br>
CLASS="APPLICATION" &nbsp;Bobby&nbsp;G.&nbsp;Vinyard<br>
>Privoxy</SPAN &nbsp;Jochen&nbsp;Voss<br>
>, whose first &nbsp;Glenn&nbsp;Washburn<br>
stable version, 3.0, was released August, 2002. &nbsp;Song&nbsp;Weijia<br>
</P &nbsp;J&ouml;rg&nbsp;Weinmann<br>
></DIV &nbsp;Darren&nbsp;Wiebe<br>
><DIV &nbsp;Anduin&nbsp;Withers<br>
CLASS="SECT2" &nbsp;Oliver&nbsp;Yeoh<br>
><H2 &nbsp;Jamie&nbsp;Zawinski</p>
CLASS="SECT2"
><A <p>Privoxy is based in part on code originally developed by Junkbusters
NAME="AUTHORS" Corp. and Anonymous Coders.</p>
>12.3. Authors</A
></H2 <p>Privoxy heavily relies on Philip Hazel's PCRE.</p>
><P
>Current Privoxy Team:</P <p>The code to filter compressed content makes use of zlib which is
><P written by Jean-loup Gailly and Mark Adler.</p>
CLASS="LITERALLAYOUT"
>&nbsp;Fabian&nbsp;Keil,&nbsp;lead&nbsp;developer<br> <p>On systems that lack snprintf(), Privoxy is using a version written
&nbsp;David&nbsp;Schmidt,&nbsp;developer<br> by Mark Martinec. On systems that lack strptime(), Privoxy is using the
<br> one from the GNU C Library written by Ulrich Drepper.</p>
&nbsp;Hal&nbsp;Burgiss<br> </div>
&nbsp;Mark&nbsp;Miller<br> </div>
&nbsp;Gerry&nbsp;Murphy<br>
&nbsp;Lee&nbsp;Rian<br> <div class="NAVFOOTER">
&nbsp;Roland&nbsp;Rosenfeld<br> <hr class="c1" width="100%">
&nbsp;Jörg&nbsp;Strohmayer</P
><P <table summary="Footer navigation table" width="100%" border="0"
> Former Privoxy Team Members:</P cellpadding="0" cellspacing="0">
><P <tr>
CLASS="LITERALLAYOUT" <td width="33%" align="left" valign="top"><a href="contact.html"
>&nbsp;Johny&nbsp;Agotnes<br> accesskey="P">Prev</a></td>
&nbsp;Rodrigo&nbsp;Barbosa<br>
&nbsp;Moritz&nbsp;Barsnick<br> <td width="34%" align="center" valign="top"><a href="index.html"
&nbsp;Ian&nbsp;Cummings<br> accesskey="H">Home</a></td>
&nbsp;Brian&nbsp;Dessent<br>
&nbsp;Jon&nbsp;Foster<br> <td width="33%" align="right" valign="top"><a href="seealso.html"
&nbsp;Karsten&nbsp;Hopp<br> accesskey="N">Next</a></td>
&nbsp;Alexander&nbsp;Lazic<br> </tr>
&nbsp;Daniel&nbsp;Leite<br>
&nbsp;Gábor&nbsp;Lipták<br> <tr>
&nbsp;Adam&nbsp;Lock<br> <td width="33%" align="left" valign="top">Contacting the Developers,
&nbsp;Guy&nbsp;Laroche<br> Bug Reporting and Feature Requests</td>
&nbsp;Justin&nbsp;McMurtry<br>
&nbsp;Andreas&nbsp;Oesterhelt<br> <td width="34%" align="center" valign="top">&nbsp;</td>
&nbsp;Haroon&nbsp;Rafique<br>
&nbsp;Georg&nbsp;Sauthoff<br> <td width="33%" align="right" valign="top">See Also</td>
&nbsp;Thomas&nbsp;Steudten<br> </tr>
&nbsp;Rodney&nbsp;Stromlund<br> </table>
&nbsp;Sviatoslav&nbsp;Sviridov<br> </div>
&nbsp;Sarantis&nbsp;Paskalis<br> </body>
&nbsp;Stefan&nbsp;Waldherr</P </html>
><P
> Thanks to the many people who have tested Privoxy, reported bugs, provided
patches, made suggestions or contributed in some way. These include (in
alphabetical order):</P
><P
CLASS="LITERALLAYOUT"
>&nbsp;Ken&nbsp;Arromdee<br>
&nbsp;Devin&nbsp;Bayer<br>
&nbsp;Gergely&nbsp;Bor<br>
&nbsp;Reiner&nbsp;Buehl<br>
&nbsp;Andrew&nbsp;J.&nbsp;Caines<br>
&nbsp;Clifford&nbsp;Caoile<br>
&nbsp;Frédéric&nbsp;Crozat<br>
&nbsp;Michael&nbsp;T.&nbsp;Davis<br>
&nbsp;Mattes&nbsp;Dolak<br>
&nbsp;Matthias&nbsp;Drochner<br>
&nbsp;Peter&nbsp;E.<br>
&nbsp;Florian&nbsp;Effenberger<br>
&nbsp;Markus&nbsp;Elfring<br>
&nbsp;Dean&nbsp;Gaudet<br>
&nbsp;Stephen&nbsp;Gildea<br>
&nbsp;Daniel&nbsp;Griscom<br>
&nbsp;Felix&nbsp;Gröbert<br>
&nbsp;Aaron&nbsp;Hamid<br>
&nbsp;Darel&nbsp;Henman<br>
&nbsp;Magnus&nbsp;Holmgren<br>
&nbsp;Eric&nbsp;M.&nbsp;Hopper<br>
&nbsp;Ralf&nbsp;Horstmann<br>
&nbsp;Stefan&nbsp;Huehner<br>
&nbsp;Peter&nbsp;Hyman<br>
&nbsp;Derek&nbsp;Jennings<br>
&nbsp;Petr&nbsp;Kadlec<br>
&nbsp;David&nbsp;Laight<br>
&nbsp;Bert&nbsp;van&nbsp;Leeuwen<br>
&nbsp;Don&nbsp;Libes<br>
&nbsp;Paul&nbsp;Lieverse<br>
&nbsp;Toby&nbsp;Lyward<br>
&nbsp;Wil&nbsp;Mahan<br>
&nbsp;Jindrich&nbsp;Makovicka<br>
&nbsp;David&nbsp;Mediavilla<br>
&nbsp;Raphael&nbsp;Moll<br>
&nbsp;Amuro&nbsp;Namie<br>
&nbsp;Adam&nbsp;Piggott<br>
&nbsp;Dan&nbsp;Price<br>
&nbsp;Roberto&nbsp;Ragusa<br>
&nbsp;Félix&nbsp;Rauch<br>
&nbsp;Maynard&nbsp;Riley<br>
&nbsp;Chung-chieh&nbsp;Shan<br>
&nbsp;Spinor&nbsp;S.<br>
&nbsp;Bart&nbsp;Schelstraete<br>
&nbsp;Oliver&nbsp;Stoeneberg<br>
&nbsp;Peter&nbsp;Thoenen<br>
&nbsp;Martin&nbsp;Thomas<br>
&nbsp;Bobby&nbsp;G.&nbsp;Vinyard<br>
&nbsp;Jochen&nbsp;Voss<br>
&nbsp;Glenn&nbsp;Washburn<br>
&nbsp;Song&nbsp;Weijia<br>
&nbsp;Jörg&nbsp;Weinmann<br>
&nbsp;Darren&nbsp;Wiebe<br>
&nbsp;Anduin&nbsp;Withers<br>
&nbsp;Oliver&nbsp;Yeoh<br>
&nbsp;Jamie&nbsp;Zawinski</P
><P
> Privoxy is based in part on code originally developed by
Junkbusters Corp. and Anonymous Coders.</P
><P
> Privoxy heavily relies on Philip Hazel's PCRE.</P
><P
> The code to filter compressed content makes use of zlib
which is written by Jean-loup Gailly and Mark Adler.</P
><P
> On systems that lack snprintf(), Privoxy is using a version
written by Mark Martinec. On systems that lack strptime(),
Privoxy is using the one from the GNU C Library written
by Ulrich Drepper.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="contact.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="seealso.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Contacting the Developers, Bug Reporting and Feature
Requests</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>See Also</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,292 +1,182 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Introduction</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Introduction</title>
TITLE="Privoxy 3.0.12 User Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
TITLE="Privoxy 3.0.12 User Manual" <link rel="PREVIOUS" title="Privoxy 3.0.19 User Manual" href="index.html">
HREF="index.html"><LINK <link rel="NEXT" title="Installation" href="installation.html">
REL="NEXT" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
TITLE="Installation" <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
HREF="installation.html"><LINK <link rel="STYLESHEET" type="text/css" href="p_doc.css">
REL="STYLESHEET" <style type="text/css">
TYPE="text/css" body {
HREF="../p_doc.css"><META background-color: #EEEEEE;
HTTP-EQUIV="Content-Type" color: #000000;
CONTENT="text/html; }
charset=ISO-8859-1"> :link { color: #0000FF }
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css"> :visited { color: #840084 }
</head :active { color: #0000FF }
><BODY hr.c1 {text-align: left}
CLASS="SECT1" </style>
BGCOLOR="#EEEEEE" </head>
TEXT="#000000"
LINK="#0000FF" <body class="SECT1">
VLINK="#840084" <div class="NAVHEADER">
ALINK="#0000FF" <table summary="Header navigation table" width="100%" border="0"
><DIV cellpadding="0" cellspacing="0">
CLASS="NAVHEADER" <tr>
><TABLE <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
SUMMARY="Header navigation table" </tr>
WIDTH="100%"
BORDER="0" <tr>
CELLPADDING="0" <td width="10%" align="left" valign="bottom"><a href="index.html"
CELLSPACING="0" accesskey="P">Prev</a></td>
><TR
><TH <td width="80%" align="center" valign="bottom"></td>
COLSPAN="3"
ALIGN="center" <td width="10%" align="right" valign="bottom"><a href=
>Privoxy 3.0.12 User Manual</TH "installation.html" accesskey="N">Next</a></td>
></TR </tr>
><TR </table>
><TD <hr class="c1" width="100%">
WIDTH="10%" </div>
ALIGN="left"
VALIGN="bottom" <div class="SECT1">
><A <h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
HREF="index.html" Introduction</a></h1>
ACCESSKEY="P"
>Prev</A <p>This documentation is included with the current stable version of
></TD <span class="APPLICATION">Privoxy</span>, v.3.0.19.</p>
><TD
WIDTH="80%" <div class="SECT2">
ALIGN="center" <h2 class="SECT2"><a name="FEATURES" id="FEATURES">1.1.
VALIGN="bottom" Features</a></h2>
></TD
><TD <p>In addition to the core features of ad blocking and <a href=
WIDTH="10%" "http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookie</a>
ALIGN="right" management, <span class="APPLICATION">Privoxy</span> provides many
VALIGN="bottom" supplemental features, that give the end-user more control, more
><A privacy and more freedom:</p>
HREF="installation.html"
ACCESSKEY="N" <ul>
>Next</A <li>
></TD <p>Supports "Connection: keep-alive". Outgoing connections can be
></TR kept alive independently from the client.</p>
></TABLE </li>
><HR
ALIGN="LEFT" <li>
WIDTH="100%"></DIV <p>Supports IPv6, provided the operating system does so too, and
><DIV the configure script detects it.</p>
CLASS="SECT1" </li>
><H1
CLASS="SECT1" <li>
><A <p>Supports tagging which allows to change the behaviour based on
NAME="INTRODUCTION" client and server headers.</p>
>1. Introduction</A </li>
></H1
><P <li>
> This documentation is included with the current stable version of <p>Can be run as an "intercepting" proxy, which obviates the need
<SPAN to configure browsers individually.</p>
CLASS="APPLICATION" </li>
>Privoxy</SPAN
>, v.3.0.12.</P <li>
><DIV <p>Sophisticated actions and filters for manipulating both server
CLASS="SECT2" and client headers.</p>
><H2 </li>
CLASS="SECT2"
><A <li>
NAME="FEATURES" <p>Can be chained with other proxies.</p>
>1.1. Features</A </li>
></H2
><P <li>
> In addition to the core <p>Integrated browser-based configuration and control utility at
features of ad blocking and <a href="http://config.privoxy.org/" target=
<A "_top">http://config.privoxy.org/</a> (shortcut: <a href=
HREF="http://en.wikipedia.org/wiki/Browser_cookie" "http://p.p/" target="_top">http://p.p/</a>). Browser-based tracing
TARGET="_top" of rule and filter effects. Remote toggling.</p>
>cookie</A </li>
> management,
<SPAN <li>
CLASS="APPLICATION" <p>Web page filtering (text replacements, removes banners based on
>Privoxy</SPAN size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
> provides many supplemental annoyances, etc.)</p>
features, </li>
that give the end-user more control, more privacy and more freedom:</P
><P <li>
> <P <p>Modularized configuration that allows for standard settings and
></P user settings to reside in separate files, so that installing
><UL updated actions files won't overwrite individual user settings.</p>
><LI </li>
><P
> Can keep outgoing connections alive and reuse them later on. <li>
</P <p>Support for Perl Compatible Regular Expressions in the
></LI configuration files, and a more sophisticated and flexible
><LI configuration syntax.</p>
><P </li>
> Supports tagging which allows to change the behaviour
based on client and server headers. <li>
</P <p>GIF de-animation.</p>
></LI </li>
><LI
><P <li>
> Can be run as an "intercepting" proxy, which obviates the need to <p>Bypass many click-tracking scripts (avoids script
configure browsers individually. redirection).</p>
</P </li>
></LI
><LI <li>
><P <p>User-customizable HTML templates for most proxy-generated pages
> Sophisticated actions and filters for manipulating both server and client (e.g. "blocked" page).</p>
headers. </li>
</P
></LI <li>
><LI <p>Auto-detection and re-reading of config file changes.</p>
><P </li>
> Can be chained with other proxies.
</P <li>
></LI <p>Most features are controllable on a per-site or per-location
><LI basis.</p>
><P </li>
> Integrated browser based configuration and control utility at <A
HREF="http://config.privoxy.org/" <li>
TARGET="_top" <p>Many smaller new features added, limitations and bugs
>http://config.privoxy.org/</A removed.</p>
> </li>
(shortcut: <A </ul>
HREF="http://p.p/" </div>
TARGET="_top" </div>
>http://p.p/</A
>). Browser-based <div class="NAVFOOTER">
tracing of rule and filter effects. Remote toggling. <hr class="c1" width="100%">
</P
></LI <table summary="Footer navigation table" width="100%" border="0"
><LI cellpadding="0" cellspacing="0">
><P <tr>
> Web page filtering (text replacements, removes banners based on size, <td width="33%" align="left" valign="top"><a href="index.html"
invisible <SPAN accesskey="P">Prev</a></td>
CLASS="QUOTE"
>"web-bugs"</SPAN <td width="34%" align="center" valign="top"><a href="index.html"
>, JavaScript and HTML annoyances, accesskey="H">Home</a></td>
pop-up windows, etc.)
</P <td width="33%" align="right" valign="top"><a href=
></LI "installation.html" accesskey="N">Next</a></td>
><LI </tr>
><P
> Modularized configuration that allows for standard settings and <tr>
user settings to reside in separate files, so that installing updated <td width="33%" align="left" valign="top">Privoxy 3.0.19 User
actions files won't overwrite individual user settings. Manual</td>
</P
></LI <td width="34%" align="center" valign="top">&nbsp;</td>
><LI
><P <td width="33%" align="right" valign="top">Installation</td>
> Support for Perl Compatible Regular Expressions in the configuration files, and </tr>
a more sophisticated and flexible configuration syntax. </table>
</P </div>
></LI </body>
><LI </html>
><P
> Improved cookie management features (e.g. session based cookies).
</P
></LI
><LI
><P
> GIF de-animation.
</P
></LI
><LI
><P
> Bypass many click-tracking scripts (avoids script redirection).
</P
></LI
><LI
><P
> Multi-threaded (POSIX and native threads).
</P
></LI
><LI
><P
> User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
</P
></LI
><LI
><P
> Auto-detection and re-reading of config file changes.
</P
></LI
><LI
><P
> Improved signal handling, and a true daemon mode (Unix).
</P
></LI
><LI
><P
> Every feature now controllable on a per-site or per-location basis, configuration
more powerful and versatile over-all.
</P
></LI
><LI
><P
> Many smaller new features added, limitations and bugs removed.
</P
></LI
></UL
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Privoxy 3.0.12 User Manual</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Installation</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -1,418 +1,208 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>See Also</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>See Also</title>
TITLE="Privoxy 3.0.12 User Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
TITLE="Privoxy Copyright, License and History" <link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
HREF="copyright.html"><LINK "copyright.html">
REL="NEXT" <link rel="NEXT" title="Appendix" href="appendix.html">
TITLE="Appendix" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
HREF="appendix.html"><LINK <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="p_doc.css">
TYPE="text/css" <style type="text/css">
HREF="../p_doc.css"><META body {
HTTP-EQUIV="Content-Type" background-color: #EEEEEE;
CONTENT="text/html; color: #000000;
charset=ISO-8859-1"> }
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css"> :link { color: #0000FF }
</head :visited { color: #840084 }
><BODY :active { color: #0000FF }
CLASS="SECT1" hr.c1 {text-align: left}
BGCOLOR="#EEEEEE" </style>
TEXT="#000000" </head>
LINK="#0000FF"
VLINK="#840084" <body class="SECT1">
ALINK="#0000FF" <div class="NAVHEADER">
><DIV <table summary="Header navigation table" width="100%" border="0"
CLASS="NAVHEADER" cellpadding="0" cellspacing="0">
><TABLE <tr>
SUMMARY="Header navigation table" <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
WIDTH="100%" </tr>
BORDER="0"
CELLPADDING="0" <tr>
CELLSPACING="0" <td width="10%" align="left" valign="bottom"><a href="copyright.html"
><TR accesskey="P">Prev</a></td>
><TH
COLSPAN="3" <td width="80%" align="center" valign="bottom"></td>
ALIGN="center"
>Privoxy 3.0.12 User Manual</TH <td width="10%" align="right" valign="bottom"><a href="appendix.html"
></TR accesskey="N">Next</a></td>
><TR </tr>
><TD </table>
WIDTH="10%" <hr class="c1" width="100%">
ALIGN="left" </div>
VALIGN="bottom"
><A <div class="SECT1">
HREF="copyright.html" <h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">13. See Also</a></h1>
ACCESSKEY="P"
>Prev</A <p>Other references and sites of interest to <span class=
></TD "APPLICATION">Privoxy</span> users:</p>
><TD
WIDTH="80%" <table border="0">
ALIGN="center" <tbody>
VALIGN="bottom" <tr>
></TD <td><a href="http://www.privoxy.org/" target=
><TD "_top">http://www.privoxy.org/</a>, the <span class=
WIDTH="10%" "APPLICATION">Privoxy</span> Home page.</td>
ALIGN="right" </tr>
VALIGN="bottom" </tbody>
><A </table>
HREF="appendix.html"
ACCESSKEY="N" <table border="0">
>Next</A <tbody>
></TD <tr>
></TR <td><a href="http://www.privoxy.org/faq/" target=
></TABLE "_top">http://www.privoxy.org/faq/</a>, the <span class=
><HR "APPLICATION">Privoxy</span> FAQ.</td>
ALIGN="LEFT" </tr>
WIDTH="100%"></DIV </tbody>
><DIV </table>
CLASS="SECT1"
><H1 <table border="0">
CLASS="SECT1" <tbody>
><A <tr>
NAME="SEEALSO" <td><a href="http://www.privoxy.org/developer-manual/" target=
>13. See Also</A "_top">http://www.privoxy.org/developer-manual/</a>, the
></H1 <span class="APPLICATION">Privoxy</span> developer manual.</td>
><P </tr>
> Other references and sites of interest to <SPAN </tbody>
CLASS="APPLICATION" </table>
>Privoxy</SPAN
> <table border="0">
users:</P <tbody>
><P <tr>
> <P <td><a href="https://sourceforge.net/projects/ijbswa/" target=
></P "_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
><TABLE Page for <span class="APPLICATION">Privoxy</span> on <a href=
BORDER="0" "http://sourceforge.net" target="_top">SourceForge</a>.</td>
><TBODY </tr>
><TR </tbody>
><TD </table>
> <A
HREF="http://www.privoxy.org/" <table border="0">
TARGET="_top" <tbody>
>http://www.privoxy.org/</A <tr>
>, <td><a href="http://config.privoxy.org/" target=
the <SPAN "_top">http://config.privoxy.org/</a>, the web-based user
CLASS="APPLICATION" interface. <span class="APPLICATION">Privoxy</span> must be running
>Privoxy</SPAN for this to work. Shortcut: <a href="http://p.p/" target=
> Home page. "_top">http://p.p/</a></td>
</TD </tr>
></TR </tbody>
></TBODY </table>
></TABLE
><P <table border="0">
></P <tbody>
> <tr>
<P <td><a href=
></P "https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288"
><TABLE target=
BORDER="0" "_top">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</a>,
><TBODY to submit <span class="QUOTE">"misses"</span> and other
><TR configuration related suggestions to the developers.</td>
><TD </tr>
> <A </tbody>
HREF="http://www.privoxy.org/faq/" </table>
TARGET="_top"
>http://www.privoxy.org/faq/</A <table border="0">
>, <tbody>
the <SPAN <tr>
CLASS="APPLICATION" <td><a href="http://www.junkbusters.com/ht/en/cookies.html" target=
>Privoxy</SPAN "_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
> FAQ. explanation how cookies are used to track web users.</td>
</TD </tr>
></TR </tbody>
></TBODY </table>
></TABLE
><P <table border="0">
></P <tbody>
> <tr>
<P <td><a href="http://www.junkbusters.com/ijb.html" target=
></P "_top">http://www.junkbusters.com/ijb.html</a>, the original
><TABLE Internet Junkbuster.</td>
BORDER="0" </tr>
><TBODY </tbody>
><TR </table>
><TD
> <A <table border="0">
HREF="http://www.privoxy.org/developer-manual/" <tbody>
TARGET="_top" <tr>
>http://www.privoxy.org/developer-manual/</A <td><a href="http://www.squid-cache.org/" target=
>, "_top">http://www.squid-cache.org/</a>, a popular caching proxy,
the <SPAN which is often used together with <span class=
CLASS="APPLICATION" "APPLICATION">Privoxy</span>.</td>
>Privoxy</SPAN </tr>
> developer manual. </tbody>
</TD </table>
></TR
></TBODY <table border="0">
></TABLE <tbody>
><P <tr>
></P <td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
> target="_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
<P <span class="APPLICATION">Polipo</span> is a caching proxy with
></P advanced features like pipelining, multiplexing and caching of
><TABLE partial instances. In many setups it can be used as <span class=
BORDER="0" "APPLICATION">Squid</span> replacement.</td>
><TBODY </tr>
><TR </tbody>
><TD </table>
> <A
HREF="https://sourceforge.net/projects/ijbswa/" <table border="0">
TARGET="_top" <tbody>
>https://sourceforge.net/projects/ijbswa/</A <tr>
>, <td><a href="https://www.torproject.org/" target=
the Project Page for <SPAN "_top">https://www.torproject.org/</a>, <span class=
CLASS="APPLICATION" "APPLICATION">Tor</span> can help anonymize web browsing, web
>Privoxy</SPAN publishing, instant messaging, IRC, SSH, and other
> on applications.</td>
<A </tr>
HREF="http://sourceforge.net" </tbody>
TARGET="_top" </table>
>SourceForge</A </div>
>.
</TD <div class="NAVFOOTER">
></TR <hr class="c1" width="100%">
></TBODY
></TABLE <table summary="Footer navigation table" width="100%" border="0"
><P cellpadding="0" cellspacing="0">
></P <tr>
> <td width="33%" align="left" valign="top"><a href="copyright.html"
<P accesskey="P">Prev</a></td>
></P
><TABLE <td width="34%" align="center" valign="top"><a href="index.html"
BORDER="0" accesskey="H">Home</a></td>
><TBODY
><TR <td width="33%" align="right" valign="top"><a href="appendix.html"
><TD accesskey="N">Next</a></td>
> <A </tr>
HREF="http://config.privoxy.org/"
TARGET="_top" <tr>
>http://config.privoxy.org/</A <td width="33%" align="left" valign="top">Privoxy Copyright, License
>, and History</td>
the web-based user interface. <SPAN
CLASS="APPLICATION" <td width="34%" align="center" valign="top">&nbsp;</td>
>Privoxy</SPAN
> must be <td width="33%" align="right" valign="top">Appendix</td>
running for this to work. Shortcut: <A </tr>
HREF="http://p.p/" </table>
TARGET="_top" </div>
>http://p.p/</A </body>
> </html>
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
TARGET="_top"
>https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
>, to submit <SPAN
CLASS="QUOTE"
>"misses"</SPAN
> and other
configuration related suggestions to the developers.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.junkbusters.com/ht/en/cookies.html"
TARGET="_top"
>http://www.junkbusters.com/ht/en/cookies.html</A
>,
an explanation how cookies are used to track web users.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.junkbusters.com/ijb.html"
TARGET="_top"
>http://www.junkbusters.com/ijb.html</A
>,
the original Internet Junkbuster.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.squid-cache.org/"
TARGET="_top"
>http://www.squid-cache.org/</A
>, a popular
caching proxy, which is often used together with <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
TARGET="_top"
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
>,
<SPAN
CLASS="APPLICATION"
>Polipo</SPAN
> is a caching proxy with advanced features
like pipelining, multiplexing and caching of partial instances. In many setups
it can be used as <SPAN
CLASS="APPLICATION"
>Squid</SPAN
> replacement.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="https://www.torproject.org/"
TARGET="_top"
>https://www.torproject.org/</A
>,
<SPAN
CLASS="APPLICATION"
>Tor</SPAN
> can help anonymize web browsing,
web publishing, instant messaging, IRC, SSH, and other applications.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="appendix.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Privoxy Copyright, License and History</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Appendix</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -1,321 +1,172 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<HTML "http://www.w3.org/TR/html4/loose.dtd">
><HEAD
><TITLE <html>
>Privoxy's Template Files</TITLE <head>
><META <meta name="generator" content=
NAME="GENERATOR" "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME" <title>Privoxy's Template Files</title>
TITLE="Privoxy 3.0.12 User Manual" <meta name="GENERATOR" content=
HREF="index.html"><LINK "Modular DocBook HTML Stylesheet Version 1.79">
REL="PREVIOUS" <link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
TITLE="Filter Files" <link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
HREF="filter-file.html"><LINK <link rel="NEXT" title=
REL="NEXT" "Contacting the Developers, Bug Reporting and Feature Requests" href=
TITLE="Contacting the Developers, Bug Reporting and Feature "contact.html">
Requests" <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
HREF="contact.html"><LINK <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
REL="STYLESHEET" <link rel="STYLESHEET" type="text/css" href="p_doc.css">
TYPE="text/css" <style type="text/css">
HREF="../p_doc.css"><META body {
HTTP-EQUIV="Content-Type" background-color: #EEEEEE;
CONTENT="text/html; color: #000000;
charset=ISO-8859-1"> }
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css"> :link { color: #0000FF }
</head :visited { color: #840084 }
><BODY :active { color: #0000FF }
CLASS="SECT1" table.c3 {background-color: #E0E0E0}
BGCOLOR="#EEEEEE" span.c2 {font-style: italic}
TEXT="#000000" hr.c1 {text-align: left}
LINK="#0000FF" </style>
VLINK="#840084" </head>
ALINK="#0000FF"
><DIV <body class="SECT1">
CLASS="NAVHEADER" <div class="NAVHEADER">
><TABLE <table summary="Header navigation table" width="100%" border="0"
SUMMARY="Header navigation table" cellpadding="0" cellspacing="0">
WIDTH="100%" <tr>
BORDER="0" <th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
CELLPADDING="0" </tr>
CELLSPACING="0"
><TR <tr>
><TH <td width="10%" align="left" valign="bottom"><a href=
COLSPAN="3" "filter-file.html" accesskey="P">Prev</a></td>
ALIGN="center"
>Privoxy 3.0.12 User Manual</TH <td width="80%" align="center" valign="bottom"></td>
></TR
><TR <td width="10%" align="right" valign="bottom"><a href="contact.html"
><TD accesskey="N">Next</a></td>
WIDTH="10%" </tr>
ALIGN="left" </table>
VALIGN="bottom" <hr class="c1" width="100%">
><A </div>
HREF="filter-file.html"
ACCESSKEY="P" <div class="SECT1">
>Prev</A <h1 class="SECT1"><a name="TEMPLATES" id="TEMPLATES">10. Privoxy's
></TD Template Files</a></h1>
><TD
WIDTH="80%" <p>All <span class="APPLICATION">Privoxy</span> built-in pages, i.e.
ALIGN="center" error pages such as the <a href="http://show-the-404-error.page" target=
VALIGN="bottom" "_top"><span class="QUOTE">"404 - No Such Domain"</span> error page</a>,
></TD the <a href="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
><TD target="_top"><span class="QUOTE">"BLOCKED"</span> page</a> and all pages
WIDTH="10%" of its <a href="http://config.privoxy.org/" target="_top">web-based user
ALIGN="right" interface</a>, are generated from <span class=
VALIGN="bottom" "emphasis EMPHASIS c2">templates</span>. (<span class=
><A "APPLICATION">Privoxy</span> must be running for the above links to work
HREF="contact.html" as intended.)</p>
ACCESSKEY="N"
>Next</A <p>These templates are stored in a subdirectory of the <a href=
></TD "config.html#CONFDIR">configuration directory</a> called <tt class=
></TR "FILENAME">templates</tt>. On Unixish platforms, this is typically
></TABLE <a href="file:///etc/privoxy/templates/" target="_top"><tt class=
><HR "FILENAME">/etc/privoxy/templates/</tt></a>.</p>
ALIGN="LEFT"
WIDTH="100%"></DIV <p>The templates are basically normal HTML files, but with place-holders
><DIV (called symbols or exports), which <span class=
CLASS="SECT1" "APPLICATION">Privoxy</span> fills at run time. It is possible to edit
><H1 the templates with a normal text editor, should you want to customize
CLASS="SECT1" them. (<span class="emphasis EMPHASIS c2">Not recommended for the casual
><A user</span>). Should you create your own custom templates, you should use
NAME="TEMPLATES" the <tt class="FILENAME">config</tt> setting <a href=
>10. Privoxy's Template Files</A "config.html#TEMPLDIR">templdir</a> to specify an alternate location, so
></H1 your templates do not get overwritten during upgrades.</p>
><P
> All <SPAN <p>Note that just like in configuration files, lines starting with
CLASS="APPLICATION" <tt class="LITERAL">#</tt> are ignored when the templates are filled
>Privoxy</SPAN in.</p>
> built-in pages, i.e. error pages such as the
<A <p>The place-holders are of the form <tt class="LITERAL">@name@</tt>, and
HREF="http://show-the-404-error.page" you will find a list of available symbols, which vary from template to
TARGET="_top" template, in the comments at the start of each file. Note that these
><SPAN comments are not always accurate, and that it's probably best to look at
CLASS="QUOTE" the existing HTML code to find out which symbols are supported and what
>"404 - No Such Domain"</SPAN they are filled in with.</p>
>
error page</A <p>A special application of this substitution mechanism is to make whole
>, the <A blocks of HTML code disappear when a specific symbol is set. We use this
HREF="http://ads.bannerserver.example.com/nasty-ads/sponsor.html" for many purposes, one of them being to include the beta warning in all
TARGET="_top" our user interface (CGI) pages when <span class=
><SPAN "APPLICATION">Privoxy</span> is in an alpha or beta development
CLASS="QUOTE" stage:</p>
>"BLOCKED"</SPAN
> <table class="c3" border="0" width="100%">
page</A <tr>
> <td>
and all pages of its <A <pre class="SCREEN">
HREF="http://config.privoxy.org/" &lt;!-- @if-unstable-start --&gt;
TARGET="_top"
>web-based
user interface</A
>, are generated from <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>templates</I
></SPAN
>.
(<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> must be running for the above links to work as
intended.)</P
><P
> These templates are stored in a subdirectory of the <A
HREF="config.html#CONFDIR"
>configuration
directory</A
> called <TT
CLASS="FILENAME"
>templates</TT
>. On Unixish platforms,
this is typically
<A
HREF="file:///etc/privoxy/templates/"
TARGET="_top"
><TT
CLASS="FILENAME"
>/etc/privoxy/templates/</TT
></A
>.</P
><P
> The templates are basically normal HTML files, but with place-holders (called symbols
or exports), which <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> fills at run time. It
is possible to edit the templates with a normal text editor, should you want
to customize them. (<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Not recommended for the casual
user</I
></SPAN
>). Should you create your own custom templates, you should use
the <TT
CLASS="FILENAME"
>config</TT
> setting <A
HREF="config.html#TEMPLDIR"
>templdir</A
>
to specify an alternate location, so your templates do not get overwritten
during upgrades.
</P
><P
> Note that just like in configuration files, lines starting
with <TT
CLASS="LITERAL"
>#</TT
> are ignored when the templates are filled in.</P
><P
> The place-holders are of the form <TT
CLASS="LITERAL"
>@name@</TT
>, and you will
find a list of available symbols, which vary from template to template,
in the comments at the start of each file. Note that these comments are not
always accurate, and that it's probably best to look at the existing HTML
code to find out which symbols are supported and what they are filled in with.</P
><P
> A special application of this substitution mechanism is to make whole
blocks of HTML code disappear when a specific symbol is set. We use this
for many purposes, one of them being to include the beta warning in all
our user interface (CGI) pages when <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
is in an alpha or beta development stage:</P
><P
> <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="SCREEN"
>&#60;!-- @if-unstable-start --&#62;
... beta warning HTML code goes here ... ... beta warning HTML code goes here ...
&#60;!-- if-unstable-end@ --&#62;</PRE &lt;!-- if-unstable-end@ --&gt;
></TD </pre>
></TR </td>
></TABLE </tr>
></P </table>
><P
> If the "unstable" symbol is set, everything in between and including <p>If the "unstable" symbol is set, everything in between and including
<TT <tt class="LITERAL">@if-unstable-start</tt> and <tt class=
CLASS="LITERAL" "LITERAL">if-unstable-end@</tt> will disappear, leaving nothing but an
>@if-unstable-start</TT empty comment:</p>
> and <TT
CLASS="LITERAL" <table class="c3" border="0" width="100%">
>if-unstable-end@</TT <tr>
> <td>
will disappear, leaving nothing but an empty comment:</P <pre class="SCREEN">
><P &lt;!-- --&gt;
> <TABLE </pre>
BORDER="0" </td>
BGCOLOR="#E0E0E0" </tr>
WIDTH="100%" </table>
><TR
><TD <p>There's also an if-then-else construct and an <tt class=
><PRE "LITERAL">#include</tt> mechanism, but you'll sure find out if you are
CLASS="SCREEN" inclined to edit the templates ;-)</p>
>&#60;!-- --&#62;</PRE
></TD <p>All templates refer to a style located at <a href=
></TR "http://config.privoxy.org/send-stylesheet" target="_top"><tt class=
></TABLE "LITERAL">http://config.privoxy.org/send-stylesheet</tt></a>. This is, of
></P course, locally served by <span class="APPLICATION">Privoxy</span> and
><P the source for it can be found and edited in the <tt class=
> There's also an if-then-else construct and an <TT "FILENAME">cgi-style.css</tt> template.</p>
CLASS="LITERAL" </div>
>#include</TT
> <div class="NAVFOOTER">
mechanism, but you'll sure find out if you are inclined to edit the <hr class="c1" width="100%">
templates ;-)</P
><P <table summary="Footer navigation table" width="100%" border="0"
> All templates refer to a style located at cellpadding="0" cellspacing="0">
<A <tr>
HREF="http://config.privoxy.org/send-stylesheet" <td width="33%" align="left" valign="top"><a href="filter-file.html"
TARGET="_top" accesskey="P">Prev</a></td>
><TT
CLASS="LITERAL" <td width="34%" align="center" valign="top"><a href="index.html"
>http://config.privoxy.org/send-stylesheet</TT accesskey="H">Home</a></td>
></A
>. <td width="33%" align="right" valign="top"><a href="contact.html"
This is, of course, locally served by <SPAN accesskey="N">Next</a></td>
CLASS="APPLICATION" </tr>
>Privoxy</SPAN
> <tr>
and the source for it can be found and edited in the <td width="33%" align="left" valign="top">Filter Files</td>
<TT
CLASS="FILENAME" <td width="34%" align="center" valign="top">&nbsp;</td>
>cgi-style.css</TT
> template.</P <td width="33%" align="right" valign="top">Contacting the Developers,
></DIV Bug Reporting and Feature Requests</td>
><DIV </tr>
CLASS="NAVFOOTER" </table>
><HR </div>
ALIGN="LEFT" </body>
WIDTH="100%"><TABLE </html>
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="filter-file.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="contact.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Filter Files</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Contacting the Developers, Bug Reporting and Feature
Requests</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,296 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML
><HEAD
><TITLE
>Note to Upgraders</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Privoxy 3.0.3 User Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Installation"
HREF="installation.html"><LINK
REL="NEXT"
TITLE="Quickstart to Using Privoxy"
HREF="quickstart.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy 3.0.3 User Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="installation.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="quickstart.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="UPGRADERSNOTE"
>3. Note to Upgraders</A
></H1
><P
> There are very significant changes from earlier
<SPAN
CLASS="APPLICATION"
>Junkbuster</SPAN
> versions to the current
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>. The number, names, syntax, and
purposes of configuration files have substantially changed.
<SPAN
CLASS="APPLICATION"
>Junkbuster 2.0.x</SPAN
> configuration
files will not migrate, <SPAN
CLASS="APPLICATION"
>Junkbuster 2.9.x</SPAN
>
and <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> configurations will need to be
ported. The functionalities of the old <TT
CLASS="FILENAME"
>blockfile</TT
>,
<TT
CLASS="FILENAME"
>cookiefile</TT
> and <TT
CLASS="FILENAME"
>imagelist</TT
>
are now combined into the <A
HREF="actions-file.html"
><SPAN
CLASS="QUOTE"
>"actions
files"</SPAN
></A
>.
<TT
CLASS="FILENAME"
>default.action</TT
>, is the main actions file. Local
exceptions should best be put into <TT
CLASS="FILENAME"
>user.action</TT
>.</P
><P
> A <A
HREF="filter-file.html"
><SPAN
CLASS="QUOTE"
>"filter file"</SPAN
></A
> (typically
<TT
CLASS="FILENAME"
>default.filter</TT
>) is new as of <SPAN
CLASS="APPLICATION"
>Privoxy
2.9.x</SPAN
>, and provides some of the new sophistication (explained
below). <TT
CLASS="FILENAME"
>config</TT
> is much the same as before.</P
><P
> If upgrading from a 2.0.x version, you will have to use the new config
files, and possibly adapt any personal rules from your older files.
When porting personal rules over from the old <TT
CLASS="FILENAME"
>blockfile</TT
>
to the new actions files, please note that even the pattern syntax has
changed. If upgrading from 2.9.x development versions, it is still
recommended to use the new configuration files.</P
><P
> A quick list of things to be aware of before upgrading: </P
><P
> <P
></P
><UL
><LI
><P
> The default listening port is now 8118 due to a conflict with another
service (NAS).
</P
></LI
><LI
><P
>
Some installers may remove earlier versions completely. Save any
important configuration files!
</P
></LI
><LI
><P
> <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> is controllable with a web browser
at the special URL: <A
HREF="http://config.privoxy.org/"
TARGET="_top"
>http://config.privoxy.org/</A
>
(Shortcut: <A
HREF="http://p.p/"
TARGET="_top"
>http://p.p/</A
>). Many
aspects of configuration can be done here, including temporarily disabling
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>.
</P
></LI
><LI
><P
> The primary configuration files for cookie management, ad and banner
blocking, and many other aspects of <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
configuration are the <A
HREF="actions-file.html"
>actions
files</A
>. It is strongly recommended to become familiar with the new
actions concept below, before modifying these files. Locally defined rules
should go into <TT
CLASS="FILENAME"
>user.action</TT
>.
</P
></LI
><LI
><P
>
Some installers may not automatically start
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> after installation.
</P
></LI
></UL
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="quickstart.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Installation</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Quickstart to Using <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
const char encode_rcs[] = "$Id: encode.c,v 1.14 2008/05/21 15:38:13 fabiankeil Exp $"; const char encode_rcs[] = "$Id: encode.c,v 1.24 2011/11/06 11:51:57 fabiankeil Exp $";
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/encode.c,v $ * File : $Source: /cvsroot/ijbswa/current/encode.c,v $
@ -6,14 +6,14 @@ const char encode_rcs[] = "$Id: encode.c,v 1.14 2008/05/21 15:38:13 fabiankeil E
* Purpose : Functions to encode and decode URLs, and also to * Purpose : Functions to encode and decode URLs, and also to
* encode cookies and HTML text. * encode cookies and HTML text.
* *
* Copyright : Written by and Copyright (C) 2001 the SourceForge * Copyright : Written by and Copyright (C) 2001 the
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -31,54 +31,8 @@ const char encode_rcs[] = "$Id: encode.c,v 1.14 2008/05/21 15:38:13 fabiankeil E
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: encode.c,v $
* Revision 1.14 2008/05/21 15:38:13 fabiankeil
* Garbage-collect cookie_encode().
*
* Revision 1.13 2007/08/18 14:34:27 fabiankeil
* Make xtoi() extern so it can be used in pcrs.c.
*
* Revision 1.12 2007/08/04 10:15:51 fabiankeil
* Use strlcpy() instead of strcpy().
*
* Revision 1.11 2006/12/28 18:25:53 fabiankeil
* Fixed gcc43 compiler warning.
*
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.8 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.7 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.6 2002/03/13 00:27:04 jongfoster
* Killing warnings
*
* Revision 1.5 2002/03/07 03:46:53 oes
* Fixed compiler warnings etc
*
* Revision 1.4 2002/01/22 23:28:07 jongfoster
* Adding convenience function html_encode_and_free_original()
* Making all functions accept NULL paramaters - in this case, they
* simply return NULL. This allows error-checking to be deferred.
*
* Revision 1.3 2001/11/13 00:16:40 jongfoster
* Replacing references to malloc.h with the standard stdlib.h
* (See ANSI or K&R 2nd Ed)
*
* Revision 1.2 2001/05/17 22:52:35 oes
* - Cleaned CRLF's from the sources and related files
*
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/ *********************************************************************/
#include "config.h" #include "config.h"
@ -93,20 +47,20 @@ const char encode_rcs[] = "$Id: encode.c,v 1.14 2008/05/21 15:38:13 fabiankeil E
const char encode_h_rcs[] = ENCODE_H_VERSION; const char encode_h_rcs[] = ENCODE_H_VERSION;
/* Maps special characters in a URL to their equivalent % codes. */ /* Maps special characters in a URL to their equivalent % codes. */
static const char * const url_code_map[256] = { static const char const url_code_map[256][4] = {
NULL, "%01", "%02", "%03", "%04", "%05", "%06", "%07", "%08", "%09", "", "%01", "%02", "%03", "%04", "%05", "%06", "%07", "%08", "%09",
"%0A", "%0B", "%0C", "%0D", "%0E", "%0F", "%10", "%11", "%12", "%13", "%0A", "%0B", "%0C", "%0D", "%0E", "%0F", "%10", "%11", "%12", "%13",
"%14", "%15", "%16", "%17", "%18", "%19", "%1A", "%1B", "%1C", "%1D", "%14", "%15", "%16", "%17", "%18", "%19", "%1A", "%1B", "%1C", "%1D",
"%1E", "%1F", "+", "%21", "%22", "%23", "%24", "%25", "%26", "%27", "%1E", "%1F", "%20", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
"%28", "%29", NULL, "%2B", "%2C", NULL, NULL, "%2F", NULL, NULL, "%28", "%29", "", "%2B", "%2C", "", "", "%2F", "", "",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "%3A", "%3B", "", "", "", "", "", "", "", "", "%3A", "%3B",
"%3C", "%3D", "%3E", "%3F", NULL, NULL, NULL, NULL, NULL, NULL, "%3C", "%3D", "%3E", "%3F", "", "", "", "", "", "",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "", "", "", "", "", "", "", "", "", "",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "", "", "", "", "", "", "", "", "", "",
NULL, "%5B", "%5C", "%5D", "%5E", NULL, "%60", NULL, NULL, NULL, "", "%5B", "%5C", "%5D", "%5E", "", "%60", "", "", "",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "", "", "", "", "", "", "", "", "", "",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "", "", "", "", "", "", "", "", "", "",
NULL, NULL, NULL, "%7B", "%7C", "%7D", "%7E", "%7F", "%80", "%81", "", "", "", "%7B", "%7C", "%7D", "%7E", "%7F", "%80", "%81",
"%82", "%83", "%84", "%85", "%86", "%87", "%88", "%89", "%8A", "%8B", "%82", "%83", "%84", "%85", "%86", "%87", "%88", "%89", "%8A", "%8B",
"%8C", "%8D", "%8E", "%8F", "%90", "%91", "%92", "%93", "%94", "%95", "%8C", "%8D", "%8E", "%8F", "%90", "%91", "%92", "%93", "%94", "%95",
"%96", "%97", "%98", "%99", "%9A", "%9B", "%9C", "%9D", "%9E", "%9F", "%96", "%97", "%98", "%99", "%9A", "%9B", "%9C", "%9D", "%9E", "%9F",
@ -122,12 +76,12 @@ static const char * const url_code_map[256] = {
"%FA", "%FB", "%FC", "%FD", "%FE", "%FF" "%FA", "%FB", "%FC", "%FD", "%FE", "%FF"
}; };
/* Maps special characters in HTML to their equivalent entites. */ /* Maps special characters in HTML to their equivalent entities. */
static const char * const html_code_map[256] = { static const char * const html_code_map[256] = {
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL,"&quot;",NULL,NULL,NULL,"&amp;",NULL, NULL, NULL, NULL, NULL,"&quot;",NULL,NULL,NULL,"&amp;","&#39;",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
"&lt;",NULL,"&gt;",NULL,NULL, NULL, NULL, NULL, NULL, NULL, "&lt;",NULL,"&gt;",NULL,NULL, NULL, NULL, NULL, NULL, NULL,
@ -165,7 +119,7 @@ static const char * const html_code_map[256] = {
* Parameters : * Parameters :
* 1 : s = String to encode. Null-terminated. * 1 : s = String to encode. Null-terminated.
* *
* Returns : Encoded string, newly allocated on the heap. * Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free(). * Caller is responsible for freeing it with free().
* If s is NULL, or on out-of memory, returns NULL. * If s is NULL, or on out-of memory, returns NULL.
* *
@ -174,7 +128,7 @@ char * html_encode(const char *s)
{ {
char * buf; char * buf;
size_t buf_size; size_t buf_size;
if (s == NULL) if (s == NULL)
{ {
return NULL; return NULL;
@ -224,7 +178,7 @@ char * html_encode(const char *s)
* Parameters : * Parameters :
* 1 : s = String to encode. Null-terminated. * 1 : s = String to encode. Null-terminated.
* *
* Returns : Encoded string, newly allocated on the heap. * Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free(). * Caller is responsible for freeing it with free().
* If s is NULL, or on out-of memory, returns NULL. * If s is NULL, or on out-of memory, returns NULL.
* *
@ -232,7 +186,7 @@ char * html_encode(const char *s)
char * html_encode_and_free_original(char *s) char * html_encode_and_free_original(char *s)
{ {
char * result; char * result;
if (s == NULL) if (s == NULL)
{ {
return NULL; return NULL;
@ -253,10 +207,13 @@ char * html_encode_and_free_original(char *s)
* query string. Replaces special characters with * query string. Replaces special characters with
* the appropriate %xx codes. * the appropriate %xx codes.
* *
* XXX: url_query_encode() would be a more fitting
* name.
*
* Parameters : * Parameters :
* 1 : s = String to encode. Null-terminated. * 1 : s = String to encode. Null-terminated.
* *
* Returns : Encoded string, newly allocated on the heap. * Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free(). * Caller is responsible for freeing it with free().
* If s is NULL, or on out-of memory, returns NULL. * If s is NULL, or on out-of memory, returns NULL.
* *
@ -281,8 +238,8 @@ char * url_encode(const char *s)
char * p = buf; char * p = buf;
while( (c = *s++) != '\0') while( (c = *s++) != '\0')
{ {
const char * replace_with = url_code_map[(unsigned char) c]; const char *replace_with = url_code_map[(unsigned char) c];
if (replace_with != NULL) if (*replace_with != '\0')
{ {
const size_t bytes_written = (size_t)(p - buf); const size_t bytes_written = (size_t)(p - buf);
assert(bytes_written < buf_size); assert(bytes_written < buf_size);
@ -321,7 +278,7 @@ static int xdtoi(const int d)
{ {
return(d - '0'); return(d - '0');
} }
else if ((d >= 'a') && (d <= 'f')) else if ((d >= 'a') && (d <= 'f'))
{ {
return(d - 'a' + 10); return(d - 'a' + 10);
} }
@ -351,12 +308,12 @@ static int xdtoi(const int d)
*********************************************************************/ *********************************************************************/
int xtoi(const char *s) int xtoi(const char *s)
{ {
int d1, d2; int d1;
d1 = xdtoi(*s); d1 = xdtoi(*s);
if(d1 >= 0) if(d1 >= 0)
{ {
d2 = xdtoi(*(s+1)); int d2 = xdtoi(*(s+1));
if(d2 >= 0) if(d2 >= 0)
{ {
return (d1 << 4) + d2; return (d1 << 4) + d2;
@ -377,7 +334,7 @@ int xtoi(const char *s)
* Parameters : * Parameters :
* 1 : s = String to decode. Null-terminated. * 1 : s = String to decode. Null-terminated.
* *
* Returns : Decoded string, newly allocated on the heap. * Returns : Decoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free(). * Caller is responsible for freeing it with free().
* *
*********************************************************************/ *********************************************************************/
@ -423,6 +380,83 @@ char *url_decode(const char * s)
} }
/*********************************************************************
*
* Function : percent_encode_url
*
* Description : Percent-encodes a string so it no longer contains
* any characters that aren't valid in an URL according
* to RFC 3986.
*
* XXX: Do not confuse with encode_url()
*
* Parameters :
* 1 : s = String to encode. Null-terminated.
*
* Returns : Encoded string, newly allocated on the heap.
* Caller is responsible for freeing it with free().
* If s is NULL, or on out-of memory, returns NULL.
*
*********************************************************************/
char *percent_encode_url(const char *s)
{
static const char allowed_characters[128] = {
'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
'\0', '\0', '\0', '!', '\0', '#', '$', '%', '&', '\'',
'(', ')', '*', '+', ',', '-', '.', '/', '0', '1',
'2', '3', '4', '5', '6', '7', '8', '9', ':', ';',
'\0', '=', '\0', '?', '@', 'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
'Z', '[', '\0', ']', '\0', '_', '\0', 'a', 'b', 'c',
'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '\0', '\0', '\0', '~', '\0'
};
char *buf;
size_t buf_size;
assert(s != NULL);
/* Each input char can expand to at most 3 chars. */
buf_size = (strlen(s) * 3) + 1;
buf = (char *)malloc(buf_size);
if (buf != NULL)
{
char c;
char *p = buf;
while((c = *s++) != '\0')
{
const unsigned int i = (unsigned char)c;
if (i >= sizeof(allowed_characters) || '\0' == allowed_characters[i])
{
const char *replace_with = url_code_map[i];
assert(*replace_with != '\0');
if (*replace_with != '\0')
{
const size_t bytes_written = (size_t)(p - buf);
assert(bytes_written < buf_size);
p += strlcpy(p, replace_with, buf_size - bytes_written);
}
}
else
{
*p++ = c;
}
}
*p = '\0';
}
assert(strlen(buf) < buf_size);
return(buf);
}
/* /*
Local Variables: Local Variables:
tab-width: 3 tab-width: 3

View File

@ -1,6 +1,6 @@
#ifndef ENCODE_H_INCLUDED #ifndef ENCODE_H_INCLUDED
#define ENCODE_H_INCLUDED #define ENCODE_H_INCLUDED
#define ENCODE_H_VERSION "$Id: encode.h,v 1.9 2008/05/21 15:38:13 fabiankeil Exp $" #define ENCODE_H_VERSION "$Id: encode.h,v 1.12 2011/11/06 11:44:56 fabiankeil Exp $"
/********************************************************************* /*********************************************************************
* *
* File : $Source: /cvsroot/ijbswa/current/encode.h,v $ * File : $Source: /cvsroot/ijbswa/current/encode.h,v $
@ -12,10 +12,10 @@
* Privoxy team. http://www.privoxy.org/ * Privoxy team. http://www.privoxy.org/
* *
* Based on the Internet Junkbuster originally written * Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com * Junkbusters Corporation. http://www.junkbusters.com
* *
* This program is free software; you can redistribute it * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General * and/or modify it under the terms of the GNU General
* Public License as published by the Free Software * Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at * Foundation; either version 2 of the License, or (at
@ -33,39 +33,8 @@
* or write to the Free Software Foundation, Inc., 59 * or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* Revisions :
* $Log: encode.h,v $
* Revision 1.9 2008/05/21 15:38:13 fabiankeil
* Garbage-collect cookie_encode().
*
* Revision 1.8 2007/08/18 14:34:27 fabiankeil
* Make xtoi() extern so it can be used in pcrs.c.
*
* Revision 1.7 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.5 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.4 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.3 2002/01/22 23:28:07 jongfoster
* Adding convenience function html_encode_and_free_original()
* Making all functions accept NULL paramaters - in this case, they
* simply return NULL. This allows error-checking to be deferred.
*
* Revision 1.2 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/ *********************************************************************/
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -76,6 +45,7 @@ extern char * url_encode(const char *s);
extern char * url_decode(const char *str); extern char * url_decode(const char *str);
extern int xtoi(const char *s); extern int xtoi(const char *s);
extern char * html_encode_and_free_original(char *s); extern char * html_encode_and_free_original(char *s);
extern char * percent_encode_url(const char *s);
/* Revision control strings from this header and associated .c file */ /* Revision control strings from this header and associated .c file */
extern const char encode_rcs[]; extern const char encode_rcs[];

Some files were not shown because too many files have changed in this diff Show More