privoxy 3.0.12 clean checkin
This commit is contained in:
parent
f5183d8128
commit
3313e38ac9
|
@ -7,8 +7,11 @@ Current Privoxy Team:
|
|||
David Schmidt, developer
|
||||
|
||||
Hal Burgiss
|
||||
Mark Miller
|
||||
Gerry Murphy
|
||||
Lee Rian
|
||||
Roland Rosenfeld
|
||||
Jörg Strohmayer
|
||||
|
||||
Former Privoxy Team Members:
|
||||
|
||||
|
@ -25,13 +28,10 @@ Former Privoxy Team Members:
|
|||
Adam Lock
|
||||
Guy Laroche
|
||||
Justin McMurtry
|
||||
Mark Miller
|
||||
Gerry Murphy
|
||||
Andreas Oesterhelt
|
||||
Haroon Rafique
|
||||
Georg Sauthoff
|
||||
Thomas Steudten
|
||||
Jörg Strohmayer
|
||||
Rodney Stromlund
|
||||
Sviatoslav Sviridov
|
||||
Sarantis Paskalis
|
||||
|
@ -43,15 +43,11 @@ alphabetical order):
|
|||
|
||||
Ken Arromdee
|
||||
Devin Bayer
|
||||
Havard Berland
|
||||
Gergely Bor
|
||||
Francois Botha
|
||||
Reiner Buehl
|
||||
Andrew J. Caines
|
||||
Clifford Caoile
|
||||
Wan-Teh Chang
|
||||
Frédéric Crozat
|
||||
Billy Crook
|
||||
Michael T. Davis
|
||||
Mattes Dolak
|
||||
Matthias Drochner
|
||||
|
@ -62,7 +58,6 @@ alphabetical order):
|
|||
Stephen Gildea
|
||||
Daniel Griscom
|
||||
Felix Gröbert
|
||||
Jeff H.
|
||||
Aaron Hamid
|
||||
Darel Henman
|
||||
Magnus Holmgren
|
||||
|
@ -76,17 +71,13 @@ alphabetical order):
|
|||
Bert van Leeuwen
|
||||
Don Libes
|
||||
Paul Lieverse
|
||||
Han Liu
|
||||
Toby Lyward
|
||||
Wil Mahan
|
||||
Jindrich Makovicka
|
||||
Raphael Marichez
|
||||
Francois Marier
|
||||
David Mediavilla
|
||||
Raphael Moll
|
||||
Amuro Namie
|
||||
Adam Piggott
|
||||
Petr Písar
|
||||
Dan Price
|
||||
Roberto Ragusa
|
||||
Félix Rauch
|
||||
|
@ -94,7 +85,6 @@ alphabetical order):
|
|||
Chung-chieh Shan
|
||||
Spinor S.
|
||||
Bart Schelstraete
|
||||
Dan Stahlke
|
||||
Oliver Stoeneberg
|
||||
Peter Thoenen
|
||||
Martin Thomas
|
||||
|
@ -124,4 +114,3 @@ If we've missed you off this list, please let us know!
|
|||
|
||||
Privoxy team. http://www.privoxy.org/
|
||||
<ijbswa-developers@lists.sourceforge.net>
|
||||
|
||||
|
|
|
@ -1,713 +1,7 @@
|
|||
--------------------------------------------------------------------
|
||||
ChangeLog for Privoxy
|
||||
--------------------------------------------------------------------
|
||||
*** 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 '
|
||||
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 ***
|
||||
*** Version 3.0.12 (UNRELEASED) ***
|
||||
|
||||
- The socket-timeout option now also works on platforms whose
|
||||
select() implementation modifies the timeout structure.
|
||||
|
@ -1276,13 +570,13 @@ ChangeLog for Privoxy
|
|||
*** Version 2.9.11 Beta Changes ***
|
||||
|
||||
- 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.
|
||||
- Fix user:pass@host.domain.com auth bug.
|
||||
- Better signal handling on *nix.
|
||||
- Fix CFLAGS hard-coded in configure.in
|
||||
- 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 ***
|
||||
|
@ -1395,8 +689,9 @@ being a mix of "U.S. English", "U.K. English" and "Irish English".
|
|||
- Version number changes to 2.9.0
|
||||
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
Copyright : Written by and Copyright (C) 2001-2010 the
|
||||
Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||
Privoxy team. http://www.privoxy.org/
|
||||
|
||||
Based on the Internet Junkbuster originally written
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -40,8 +40,9 @@ compiler like gcc are required.
|
|||
|
||||
When building from a source tarball, first unpack the source:
|
||||
|
||||
tar xzvf privoxy-3.0.19-stable-src.tar.gz
|
||||
cd privoxy-3.0.19-stable
|
||||
tar xzvf privoxy-3.0.12-stable-src.tar.gz
|
||||
cd privoxy-3.0.12-stable
|
||||
|
||||
|
||||
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
|
||||
|
@ -52,6 +53,7 @@ documentation, which might give commands like:
|
|||
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
||||
cd current
|
||||
|
||||
|
||||
This will create a directory named current/, which will contain the source
|
||||
tree.
|
||||
|
||||
|
@ -68,10 +70,12 @@ adduser, but the command syntax may vary from platform to platform).
|
|||
|
||||
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
|
||||
|
||||
|
||||
And then /etc/group, like:
|
||||
|
||||
privoxy:*:7777:
|
||||
|
||||
|
||||
Some binary packages may do this for you.
|
||||
|
||||
Then, to build from either unpacked tarball or CVS source:
|
||||
|
@ -84,11 +88,13 @@ Then, to build from either unpacked tarball or CVS source:
|
|||
make -n install # (to see where all the files will go)
|
||||
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
|
||||
just typing:
|
||||
|
||||
make
|
||||
|
||||
|
||||
in the freshly downloaded or unpacked source directory.
|
||||
|
||||
To build an executable with security enhanced features so that users cannot
|
||||
|
@ -97,6 +103,7 @@ configurations, configure like this:
|
|||
|
||||
./configure --disable-toggle --disable-editor --disable-force
|
||||
|
||||
|
||||
Then build as above. In Privoxy 3.0.7 and later, all of these options can also
|
||||
be disabled through the configuration file.
|
||||
|
||||
|
@ -117,6 +124,7 @@ sure both already exist:
|
|||
|
||||
make -s install USER=privoxy GROUP=privoxy
|
||||
|
||||
|
||||
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
|
||||
doing an install to anywhere besides /usr/local, be sure to set the appropriate
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* Purpose : README file to give a short intro.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2011 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -32,7 +32,7 @@
|
|||
*
|
||||
*********************************************************************/
|
||||
|
||||
This README is included with Privoxy 3.0.19. See http://www.privoxy.org/ for
|
||||
This README is included with Privoxy 3.0.12. See http://www.privoxy.org/ for
|
||||
more information. The current code maturity level is "stable".
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
@ -44,22 +44,36 @@ flexible configuration and can be customized to suit individual needs and
|
|||
tastes. It has application for both stand-alone systems and multi-user
|
||||
networks.
|
||||
|
||||
Privoxy is Free Software and licensed under the GNU GPLv2.
|
||||
Privoxy is Free Software and licensed under the GPL2.
|
||||
|
||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||
|
||||
Helping hands and donations are welcome:
|
||||
|
||||
* http://www.privoxy.org/faq/general.html#PARTICIPATE
|
||||
|
||||
* http://www.privoxy.org/faq/general.html#DONATE
|
||||
Donations are welcome.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
1. CHANGES
|
||||
1. IMPORTANT CHANGES
|
||||
|
||||
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.
|
||||
March 2009, Privoxy 3.0.12 is released.
|
||||
|
||||
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.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
@ -82,6 +96,10 @@ 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
|
||||
'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
|
||||
|
@ -98,7 +116,7 @@ www.privoxy.org/user-manual/.
|
|||
|
||||
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
|
||||
127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
|
||||
localhost: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.
|
||||
|
||||
The actions list can be configured via the web interface accessed via http://
|
||||
|
@ -140,13 +158,6 @@ list, where the developers also hang around.
|
|||
Please don't sent private support requests to individual Privoxy developers,
|
||||
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
|
||||
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
|
||||
|
@ -235,49 +246,16 @@ Please be sure to provide the following information:
|
|||
|
||||
* 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). To get a meaningful logfile, please make sure that the logfile
|
||||
directive is being used and the following debug options are enabled:
|
||||
taken).
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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. 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.
|
||||
automatically get a mail when someone responds to your request.
|
||||
|
||||
The appendix of the Privoxy User Manual also has helpful information on
|
||||
understanding actions, and action debugging.
|
||||
|
@ -292,13 +270,11 @@ tracker/?atid=361118&group_id=11118.
|
|||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
6.4. Mailing Lists
|
||||
6.4. Other
|
||||
|
||||
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 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 Privoxy-related
|
||||
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 Privoxy-related
|
||||
mailing lists, including list archives, at: http://sourceforge.net/mail/?
|
||||
group_id=11118.
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* introduced because the compile command line started
|
||||
* getting ludicrously long with feature defines.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -35,8 +35,211 @@
|
|||
* 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
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
@TOP@
|
||||
|
||||
/*
|
||||
|
@ -85,11 +288,6 @@
|
|||
*/
|
||||
#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
|
||||
* have a shared proxy, you might want to turn this off.
|
||||
|
@ -136,7 +334,7 @@
|
|||
* 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 weird.
|
||||
* 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
|
||||
|
@ -151,6 +349,11 @@
|
|||
*/
|
||||
#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
|
||||
*/
|
||||
|
@ -167,15 +370,10 @@
|
|||
#undef FEATURE_EXTENDED_HOST_PATTERNS
|
||||
|
||||
/*
|
||||
* Keep connections alive if possible.
|
||||
* Keep outgoing connections alive if possible.
|
||||
*/
|
||||
#undef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
|
||||
/*
|
||||
* Allow to share outgoing connections between incoming connections.
|
||||
*/
|
||||
#undef FEATURE_CONNECTION_SHARING
|
||||
|
||||
/*
|
||||
* Use POSIX threads instead of native threads.
|
||||
*/
|
||||
|
@ -287,7 +485,7 @@
|
|||
|
||||
/*
|
||||
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
||||
* under VC++, and it usually gives many weird error messages. Let's make
|
||||
* under VC++, and it usually gives many wierd error messages. Let's make
|
||||
* the error messages understandable, by bailing out now.
|
||||
*/
|
||||
#ifdef _MSC_VER
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
* DEFINE_ACTION_BOOL()
|
||||
* DEFINE_ACTION_ALIAS
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2008 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -37,8 +37,156 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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))
|
||||
#error Please define lots of macros before including "actionlist.h".
|
||||
|
@ -71,11 +219,9 @@ 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, "last", 1)
|
||||
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_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)
|
||||
#endif /* def FEATURE_FAST_REDIRECTS */
|
||||
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
|
||||
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
|
||||
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char actions_rcs[] = "$Id: actions.c,v 1.73 2011/09/18 14:43:07 fabiankeil Exp $";
|
||||
const char actions_rcs[] = "$Id: actions.c,v 1.56 2009/03/08 14:19:21 fabiankeil Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/actions.c,v $
|
||||
|
@ -6,7 +6,7 @@ const char actions_rcs[] = "$Id: actions.c,v 1.73 2011/09/18 14:43:07 fabiankeil
|
|||
* Purpose : Declares functions to work with actions files
|
||||
* Functions declared include: FIXME
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2011 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -31,8 +31,259 @@ const char actions_rcs[] = "$Id: actions.c,v 1.73 2011/09/18 14:43:07 fabiankeil
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
@ -434,7 +685,7 @@ jb_err get_action_token(char **line, char **name, char **value)
|
|||
*********************************************************************/
|
||||
static int action_used_to_be_valid(const char *action)
|
||||
{
|
||||
static const char * const formerly_valid_actions[] = {
|
||||
static const char *formerly_valid_actions[] = {
|
||||
"inspect-jpegs",
|
||||
"kill-popups",
|
||||
"send-vanilla-wafer",
|
||||
|
@ -522,7 +773,7 @@ jb_err get_actions(char *line,
|
|||
|
||||
if ((value == NULL) || (*value == '\0'))
|
||||
{
|
||||
if (0 == strcmpic(action->name, "+block"))
|
||||
if (0 != strcmpic(action->name, "block"))
|
||||
{
|
||||
/*
|
||||
* XXX: Temporary backwards compatibility hack.
|
||||
|
@ -879,7 +1130,7 @@ int update_action_bits_for_tag(struct client_state *csp, const char *tag)
|
|||
* Returns : N/A
|
||||
*
|
||||
*********************************************************************/
|
||||
void free_current_action(struct current_action_spec *src)
|
||||
void free_current_action (struct current_action_spec *src)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -1033,108 +1284,6 @@ int load_action_files(struct client_state *csp)
|
|||
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
|
||||
|
@ -1157,24 +1306,23 @@ 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
|
||||
* sometimes tested with <=
|
||||
*/
|
||||
enum {
|
||||
MODE_START_OF_FILE = 1,
|
||||
MODE_SETTINGS = 2,
|
||||
MODE_DESCRIPTION = 3,
|
||||
MODE_ALIAS = 4,
|
||||
MODE_ACTIONS = 5
|
||||
} mode;
|
||||
#define MODE_START_OF_FILE 1
|
||||
#define MODE_SETTINGS 2
|
||||
#define MODE_DESCRIPTION 3
|
||||
#define MODE_ALIAS 4
|
||||
#define MODE_ACTIONS 5
|
||||
|
||||
int mode = MODE_START_OF_FILE;
|
||||
|
||||
FILE *fp;
|
||||
struct url_actions *last_perm;
|
||||
struct url_actions *perm;
|
||||
char *buf;
|
||||
char buf[BUFFER_SIZE];
|
||||
struct file_list *fs;
|
||||
struct action_spec * cur_action = NULL;
|
||||
int cur_action_used = 0;
|
||||
struct action_alias * alias_list = NULL;
|
||||
unsigned long linenum = 0;
|
||||
mode = MODE_START_OF_FILE;
|
||||
|
||||
if (!check_file_changed(current_actions_file[fileid], csp->config->actions_file[fileid], &fs))
|
||||
{
|
||||
|
@ -1205,9 +1353,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
return 1; /* never get here */
|
||||
}
|
||||
|
||||
log_error(LOG_LEVEL_INFO, "Loading actions file: %s", csp->config->actions_file[fileid]);
|
||||
|
||||
while (read_config_line(fp, &linenum, &buf) != NULL)
|
||||
while (read_config_line(buf, sizeof(buf), fp, &linenum) != NULL)
|
||||
{
|
||||
if (*buf == '{')
|
||||
{
|
||||
|
@ -1324,11 +1470,11 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
{
|
||||
/* It's an actions block */
|
||||
|
||||
char *actions_buf;
|
||||
char actions_buf[BUFFER_SIZE];
|
||||
char * end;
|
||||
|
||||
/* set mode */
|
||||
mode = MODE_ACTIONS;
|
||||
mode = MODE_ACTIONS;
|
||||
|
||||
/* free old action */
|
||||
if (cur_action)
|
||||
|
@ -1351,23 +1497,8 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
}
|
||||
init_action(cur_action);
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
}
|
||||
/* trim { */
|
||||
strlcpy(actions_buf, buf + 1, sizeof(actions_buf));
|
||||
|
||||
/* check we have a trailing } and then trim it */
|
||||
end = actions_buf + strlen(actions_buf) - 1;
|
||||
|
@ -1375,9 +1506,8 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
{
|
||||
/* No closing } */
|
||||
fclose(fp);
|
||||
freez(actions_buf);
|
||||
log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': "
|
||||
"Missing trailing '}' in action section starting at line (%lu): %s",
|
||||
log_error(LOG_LEVEL_FATAL,
|
||||
"can't load actions file '%s': invalid line (%lu): %s",
|
||||
csp->config->actions_file[fileid], linenum, buf);
|
||||
return 1; /* never get here */
|
||||
}
|
||||
|
@ -1390,21 +1520,11 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
{
|
||||
/* error */
|
||||
fclose(fp);
|
||||
freez(actions_buf);
|
||||
log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': "
|
||||
"can't completely parse the action section starting at line (%lu): %s",
|
||||
log_error(LOG_LEVEL_FATAL,
|
||||
"can't load actions file '%s': invalid line (%lu): %s",
|
||||
csp->config->actions_file[fileid], linenum, buf);
|
||||
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)
|
||||
|
@ -1429,7 +1549,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
return 1; /* never get here */
|
||||
}
|
||||
|
||||
num_fields = ssplit(version_string, ".", fields, SZ(fields), TRUE, FALSE);
|
||||
num_fields = ssplit(version_string, ".", fields, 3, TRUE, FALSE);
|
||||
|
||||
if (num_fields < 1 || atoi(fields[0]) == 0)
|
||||
{
|
||||
|
@ -1538,7 +1658,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
}
|
||||
else if (mode == MODE_ACTIONS)
|
||||
{
|
||||
/* it's an URL pattern */
|
||||
/* it's a URL pattern */
|
||||
|
||||
/* allocate a new node */
|
||||
if ((perm = zalloc(sizeof(*perm))) == NULL)
|
||||
|
@ -1558,7 +1678,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
{
|
||||
fclose(fp);
|
||||
log_error(LOG_LEVEL_FATAL,
|
||||
"can't load actions file '%s': line %lu: cannot create URL or TAG pattern from: %s",
|
||||
"can't load actions file '%s': line %lu: cannot create URL pattern from: %s",
|
||||
csp->config->actions_file[fileid], linenum, buf);
|
||||
return 1; /* never get here */
|
||||
}
|
||||
|
@ -1572,7 +1692,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
/* oops - please have a {} line as 1st line in file. */
|
||||
fclose(fp);
|
||||
log_error(LOG_LEVEL_FATAL,
|
||||
"can't load actions file '%s': line %lu should begin with a '{': %s",
|
||||
"can't load actions file '%s': first needed line (%lu) is invalid: %s",
|
||||
csp->config->actions_file[fileid], linenum, buf);
|
||||
return 1; /* never get here */
|
||||
}
|
||||
|
@ -1585,7 +1705,6 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
|||
csp->config->actions_file[fileid], mode);
|
||||
return 1; /* never get here */
|
||||
}
|
||||
freez(buf);
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
|
@ -1704,7 +1823,7 @@ char * actions_to_text(const struct action_spec *action)
|
|||
* Function : actions_to_html
|
||||
*
|
||||
* Description : Converts a actionsfile entry from numeric form
|
||||
* ("mask" and "add") to a <br>-separated HTML string
|
||||
* ("mask" and "add") to a <br>-seperated HTML string
|
||||
* in which each action is linked to its chapter in
|
||||
* the user manual.
|
||||
*
|
||||
|
@ -1810,7 +1929,7 @@ char * actions_to_html(const struct client_state *csp,
|
|||
*
|
||||
* Function : current_actions_to_html
|
||||
*
|
||||
* Description : Converts a curren action spec to a <br> separated HTML
|
||||
* Description : Converts a curren action spec to a <br> seperated HTML
|
||||
* text in which each action is linked to its chapter in
|
||||
* the user manual.
|
||||
*
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef ACTIONS_H_INCLUDED
|
||||
#define ACTIONS_H_INCLUDED
|
||||
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.20 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.18 2008/03/30 14:52:00 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/actions.h,v $
|
||||
|
@ -33,8 +33,87 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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
|
||||
extern "C" {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char amiga_rcs[] = "$Id: amiga.c,v 1.14 2011/09/04 11:10:56 fabiankeil Exp $";
|
||||
const char amiga_rcs[] = "$Id: amiga.c,v 1.12 2007/01/07 07:40:52 joergs Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/amiga.c,v $
|
||||
|
@ -26,8 +26,66 @@ const char amiga_rcs[] = "$Id: amiga.c,v 1.14 2011/09/04 11:10:56 fabiankeil Exp
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifdef AMIGA
|
||||
#ifndef AMIGA_H_INCLUDED
|
||||
#define AMIGA_H_INCLUDED
|
||||
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.14 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.12 2007/01/07 07:40:52 joergs Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
|
||||
|
@ -29,8 +29,47 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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
|
||||
#include <sys/socket.h>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
#ifndef CGI_H_INCLUDED
|
||||
#define CGI_H_INCLUDED
|
||||
#define CGI_H_VERSION "$Id: cgi.h,v 1.41 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define CGI_H_VERSION "$Id: cgi.h,v 1.35 2008/05/21 15:24:37 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/cgi.h,v $
|
||||
|
@ -11,7 +11,7 @@
|
|||
* Functions declared include:
|
||||
*
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -36,8 +36,161 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
@ -51,8 +204,9 @@ extern "C" {
|
|||
extern struct http_response *dispatch_cgi(struct client_state *csp);
|
||||
|
||||
/* Not exactly a CGI */
|
||||
extern struct http_response *error_response(struct client_state *csp,
|
||||
const char *templatename);
|
||||
extern struct http_response * error_response(struct client_state *csp,
|
||||
const char *templatename,
|
||||
int err);
|
||||
|
||||
/*
|
||||
* CGI support functions
|
||||
|
@ -101,14 +255,6 @@ extern jb_err get_string_param(const struct map *parameters,
|
|||
const char **pparam);
|
||||
extern char get_char_param(const struct map *parameters,
|
||||
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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.71 2011/11/18 16:47:08 fabiankeil Exp $";
|
||||
const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.65 2009/03/08 14:19:22 fabiankeil Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/cgiedit.c,v $
|
||||
|
@ -40,8 +40,361 @@ const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.71 2011/11/18 16:47:08 fabiankeil
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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&ver=1011487572&section=12&pattern=13
|
||||
* &oldval=www.oesterhelt.org%2Fdeanimate-demo">
|
||||
*
|
||||
* is now this:
|
||||
*
|
||||
* <a href="eau?f=ijb&v=1011487572&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"
|
||||
|
||||
|
@ -321,6 +674,11 @@ static jb_err actions_from_radio(const struct map * parameters,
|
|||
static jb_err map_copy_parameter_html(struct map *out,
|
||||
const struct map *in,
|
||||
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,
|
||||
const struct map *parameters,
|
||||
|
@ -428,6 +786,56 @@ 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
|
||||
|
@ -1428,7 +1836,7 @@ jb_err edit_read_file_lines(FILE *fp, struct file_line ** pfile, int *newline)
|
|||
if (rval)
|
||||
{
|
||||
/* Out of memory or empty file. */
|
||||
/* Note that empty file is not an error we propagate up */
|
||||
/* Note that empty file is not an error we propogate up */
|
||||
free(cur_line);
|
||||
return ((rval == JB_ERR_FILE) ? JB_ERR_OK : rval);
|
||||
}
|
||||
|
@ -1533,7 +1941,7 @@ jb_err edit_read_file(struct client_state *csp,
|
|||
* Probably an old-school URL like
|
||||
* http://config.privoxy.org/edit-actions-list?f=default
|
||||
*/
|
||||
get_file_name_param(csp, parameters, "f", &filename);
|
||||
err = get_file_name_param(csp, parameters, "f", &filename);
|
||||
}
|
||||
|
||||
if (NULL == filename || stat(filename, statbuf) < 0)
|
||||
|
@ -1679,7 +2087,7 @@ jb_err edit_read_actions_file(struct client_state *csp,
|
|||
{
|
||||
log_error(LOG_LEVEL_INFO,
|
||||
"Timestamp mismatch limit reached, turning CGI editor off. "
|
||||
"Reload the configuration file to re-enable it.");
|
||||
"Reload the configuration file to reenable it.");
|
||||
csp->config->feature_flags &= ~RUNTIME_FEATURE_CGI_EDIT_ACTIONS;
|
||||
}
|
||||
}
|
||||
|
@ -2818,7 +3226,7 @@ jb_err cgi_edit_actions_for_url(struct client_state *csp,
|
|||
if (!err) err = actions_to_radio(exports, cur_line->data.action);
|
||||
|
||||
/*
|
||||
* XXX: Some browsers (at least IE6 and IE7) have an artificial URL
|
||||
* XXX: Some browsers (at least IE6 and IE7) have an artifical URL
|
||||
* length limitation and ignore clicks on the Submit buttons if
|
||||
* the resulting GET URL would be longer than their limit.
|
||||
*
|
||||
|
@ -2827,7 +3235,7 @@ jb_err cgi_edit_actions_for_url(struct client_state *csp,
|
|||
* browsers (BR #1570678).
|
||||
*
|
||||
* The config option split-large-forms works around this browser
|
||||
* bug (HTTP has no URL length limitation) by deviding the action
|
||||
* bug (HTTP has no URL lenght limitation) by deviding the action
|
||||
* 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
|
||||
* all actions with one submit.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef CGIEDIT_H_INCLUDED
|
||||
#define CGIEDIT_H_INCLUDED
|
||||
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.12 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.10 2008/08/31 15:59:03 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $
|
||||
|
@ -35,8 +35,72 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.111 2011/09/04 11:10:56 fabiankeil Exp $";
|
||||
const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.91 2009/03/08 14:19:23 fabiankeil Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
|
||||
|
@ -9,7 +9,7 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.111 2011/09/04 11:10:56 fabia
|
|||
* Functions declared include:
|
||||
*
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2011 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -34,8 +34,415 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.111 2011/09/04 11:10:56 fabia
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
@ -181,20 +588,6 @@ jb_err cgi_die (struct client_state *csp,
|
|||
struct http_response *rsp,
|
||||
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(rsp);
|
||||
assert(parameters);
|
||||
|
@ -202,21 +595,12 @@ jb_err cgi_die (struct client_state *csp,
|
|||
/* quit */
|
||||
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.
|
||||
*/
|
||||
|
||||
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;
|
||||
return JB_ERR_MEMORY;
|
||||
}
|
||||
#endif /* def FEATURE_GRACEFUL_TERMINATION */
|
||||
|
||||
|
@ -681,48 +1065,6 @@ 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
|
||||
|
@ -746,22 +1088,15 @@ jb_err cgi_send_user_manual(struct client_state *csp,
|
|||
struct http_response *rsp,
|
||||
const struct map *parameters)
|
||||
{
|
||||
const char *filename;
|
||||
const char * filename;
|
||||
char *full_path;
|
||||
jb_err err = JB_ERR_OK;
|
||||
const char *content_type;
|
||||
size_t length;
|
||||
|
||||
assert(csp);
|
||||
assert(rsp);
|
||||
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)
|
||||
{
|
||||
/* requested http://p.p/user-manual (without trailing slash) */
|
||||
|
@ -769,24 +1104,17 @@ jb_err cgi_send_user_manual(struct client_state *csp,
|
|||
}
|
||||
|
||||
get_string_param(parameters, "file", &filename);
|
||||
if (filename == NULL)
|
||||
/* Check paramter for hack attempts */
|
||||
if (filename && strchr(filename, '/'))
|
||||
{
|
||||
/* It's '/' so serve the index.html if there is one. */
|
||||
filename = "index.html";
|
||||
return JB_ERR_CGI_PARAMS;
|
||||
}
|
||||
else if (NULL != strchr(filename, '/') || NULL != strstr(filename, ".."))
|
||||
if (filename && 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;
|
||||
}
|
||||
|
||||
full_path = make_path(csp->config->usermanual, filename);
|
||||
full_path = make_path(csp->config->usermanual, filename ? filename : "index.html");
|
||||
if (full_path == NULL)
|
||||
{
|
||||
return JB_ERR_MEMORY;
|
||||
|
@ -805,12 +1133,29 @@ jb_err cgi_send_user_manual(struct client_state *csp,
|
|||
}
|
||||
freez(full_path);
|
||||
|
||||
content_type = get_content_type(filename);
|
||||
log_error(LOG_LEVEL_CGI,
|
||||
"Content-Type guessed for %s: %s", filename, content_type);
|
||||
|
||||
return enlist_unique_header(rsp->headers, "Content-Type", content_type);
|
||||
/* Guess correct Content-Type based on the filename's ending */
|
||||
if (filename)
|
||||
{
|
||||
length = strlen(filename);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1133,7 +1478,7 @@ jb_err cgi_show_url_info(struct client_state *csp,
|
|||
* 1) "http://" or "https://" prefix present and followed by URL - OK
|
||||
* 2) Only the "http://" or "https://" part is present, no URL - change
|
||||
* to empty string so it will be detected later as "no URL".
|
||||
* 3) Parameter specified but doesn't start with "http(s?)://" - add a
|
||||
* 3) Parameter specified but doesn't contain "http(s?)://" - add a
|
||||
* "http://" prefix.
|
||||
* 4) Parameter not specified or is empty string - let this fall through
|
||||
* for now, next block of code will handle it.
|
||||
|
@ -1160,14 +1505,9 @@ jb_err cgi_show_url_info(struct client_state *csp,
|
|||
url_param[0] = '\0';
|
||||
}
|
||||
}
|
||||
else if ((url_param[0] != '\0')
|
||||
&& ((NULL == strstr(url_param, "://")
|
||||
|| (strstr(url_param, "://") > strstr(url_param, "/")))))
|
||||
else if ((url_param[0] != '\0') && (NULL == strstr(url_param, "://")))
|
||||
{
|
||||
/*
|
||||
* No prefix or at least no prefix before
|
||||
* the first slash - assume http://
|
||||
*/
|
||||
/* No prefix - assume http:// */
|
||||
char *url_param_prefixed = strdup("http://");
|
||||
|
||||
if (JB_ERR_OK != string_join(&url_param_prefixed, url_param))
|
||||
|
@ -1558,12 +1898,6 @@ static jb_err show_defines(struct map *exports)
|
|||
{
|
||||
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
|
||||
if (!err) err = map_conditional(exports, "FEATURE_ACL", 1);
|
||||
#else /* ifndef FEATURE_ACL */
|
||||
|
@ -1576,24 +1910,12 @@ static jb_err show_defines(struct map *exports)
|
|||
if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0);
|
||||
#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
|
||||
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1);
|
||||
#else /* ifndef FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
#else /* ifndef FEATURE_CGI_EDIT_ACTIONS */
|
||||
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 0);
|
||||
#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
|
||||
if (!err) err = map_conditional(exports, "FEATURE_FAST_REDIRECTS", 1);
|
||||
#else /* ifndef FEATURE_FAST_REDIRECTS */
|
||||
|
@ -1626,12 +1948,6 @@ static jb_err show_defines(struct map *exports)
|
|||
if (!err) err = map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0);
|
||||
#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
|
||||
if (!err) err = map_conditional(exports, "FEATURE_NO_GIFS", 1);
|
||||
#else /* ifndef FEATURE_NO_GIFS */
|
||||
|
@ -1922,7 +2238,6 @@ static jb_err load_file(const char *filename, char **buffer, size_t *length)
|
|||
fp = fopen(filename, "rb");
|
||||
if (NULL == fp)
|
||||
{
|
||||
log_error(LOG_LEVEL_ERROR, "Failed to open %s: %E", filename);
|
||||
return JB_ERR_FILE;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef CGISIMPLE_H_INCLUDED
|
||||
#define CGISIMPLE_H_INCLUDED
|
||||
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.18 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.16 2008/05/26 17:30:55 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
|
||||
|
@ -36,8 +36,78 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Sample Configuration File for Privoxy v3.0.19
|
||||
# Sample Configuration File for Privoxy v3.0.12
|
||||
#
|
||||
# $Id: config,v 1.98 2011/12/26 17:04:50 fabiankeil Exp $
|
||||
# $Id: config,v 1.76 2009/03/21 11:51:51 fabiankeil Exp $
|
||||
#
|
||||
# Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
# Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
#
|
||||
####################################################################
|
||||
# #
|
||||
|
@ -113,6 +113,7 @@
|
|||
#
|
||||
# user-manual /usr/share/doc/privoxy/user-manual
|
||||
#
|
||||
#
|
||||
# The User Manual is then available to anyone with
|
||||
# access to Privoxy, by following the built-in URL:
|
||||
# http://config.privoxy.org/user-manual/ (or the shortcut:
|
||||
|
@ -123,6 +124,7 @@
|
|||
#
|
||||
# user-manual http://example.com/privoxy/user-manual/
|
||||
#
|
||||
#
|
||||
# WARNING!!!
|
||||
#
|
||||
# If set, this option should be the first option in the config
|
||||
|
@ -414,7 +416,7 @@ actionsfile user.action # User customizations
|
|||
# separate file, such as user.filter.
|
||||
#
|
||||
filterfile default.filter
|
||||
filterfile user.filter # User customizations
|
||||
#filterfile user.filter # User customizations
|
||||
#
|
||||
#
|
||||
# 2.6. logfile
|
||||
|
@ -558,7 +560,7 @@ logfile logfile
|
|||
# debug 2 # show each connection status
|
||||
# debug 4 # show I/O status
|
||||
# debug 8 # show header parsing
|
||||
# debug 16 # log all data written to the network
|
||||
# debug 16 # log all data written to the network into the logfile
|
||||
# debug 32 # debug force feature
|
||||
# debug 64 # debug regular expression filters
|
||||
# debug 128 # debug redirects
|
||||
|
@ -568,16 +570,15 @@ logfile logfile
|
|||
# debug 2048 # CGI user interface
|
||||
# debug 4096 # Startup banner and warnings.
|
||||
# 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
|
||||
# use multiple debug lines.
|
||||
#
|
||||
# A debug level of 1 is informative because it will show you each
|
||||
# request as it happens. 1, 1024, 4096 and 8192 are recommended
|
||||
# so that you will notice when things go wrong. The other levels
|
||||
# are probably only of interest if you are hunting down a specific
|
||||
# request as it happens. 1, 4096 and 8192 are recommended so that
|
||||
# you will notice when things go wrong. The other levels are
|
||||
# probably only of interest if you are hunting down a specific
|
||||
# problem. They can produce a hell of an output (especially 16).
|
||||
#
|
||||
# Privoxy used to ship with the debug levels recommended above
|
||||
|
@ -681,24 +682,22 @@ logfile logfile
|
|||
#
|
||||
# Specifies:
|
||||
#
|
||||
# The address and TCP port on which Privoxy will listen for
|
||||
# The IP address and TCP port on which Privoxy will listen for
|
||||
# client requests.
|
||||
#
|
||||
# Type of value:
|
||||
#
|
||||
# [IP-Address]:Port
|
||||
#
|
||||
# [Hostname]:Port
|
||||
#
|
||||
# Default value:
|
||||
#
|
||||
# 127.0.0.1:8118
|
||||
#
|
||||
# Effect if unset:
|
||||
#
|
||||
# Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable
|
||||
# and recommended for home users who run Privoxy on the same
|
||||
# machine as their browser.
|
||||
# Bind to 127.0.0.1 (localhost), port 8118. This is suitable and
|
||||
# recommended for home users who run Privoxy on the same machine
|
||||
# as their browser.
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
|
@ -709,56 +708,15 @@ logfile logfile
|
|||
# if you want to serve requests from other machines (e.g. on your
|
||||
# local network) as well, you will need to override the default.
|
||||
#
|
||||
# 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
|
||||
# If you leave out the IP address, Privoxy will bind to all
|
||||
# interfaces (addresses) on your machine and may become reachable
|
||||
# from the Internet and/ or the local network. Be aware that
|
||||
# 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.
|
||||
# from the Internet. In that case, consider using access control
|
||||
# lists (ACL's, see below), and/or a firewall.
|
||||
#
|
||||
# If you open Privoxy to untrusted users, you will also
|
||||
# want to make sure that the following actions are disabled:
|
||||
# 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:
|
||||
#
|
||||
# Suppose you are running Privoxy on a machine which has the
|
||||
|
@ -768,10 +726,6 @@ logfile logfile
|
|||
#
|
||||
# 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
|
||||
#
|
||||
|
@ -988,28 +942,18 @@ enforce-blocks 0
|
|||
#
|
||||
# Type of value:
|
||||
#
|
||||
# src_addr[:port][/src_masklen] [dst_addr[:port][/dst_masklen]]
|
||||
# src_addr[/src_masklen] [dst_addr[/dst_masklen]]
|
||||
#
|
||||
# Where src_addr and dst_addr are IPv4 addresses in dotted
|
||||
# decimal notation or valid DNS names, port is a port number, and
|
||||
# src_masklen and dst_masklen are subnet masks in CIDR notation,
|
||||
# i.e. integer values from 2 to 30 representing the length
|
||||
# (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.
|
||||
# Where src_addr and dst_addr are IP addresses in dotted decimal
|
||||
# notation or valid DNS names, and src_masklen and dst_masklen are
|
||||
# subnet masks in CIDR notation, i.e. integer values from 2 to 30
|
||||
# representing the length (in bits) of the network address. The
|
||||
# masks and the whole destination part are optional.
|
||||
#
|
||||
# Default value:
|
||||
#
|
||||
# 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:
|
||||
#
|
||||
# Don't restrict access further than implied by listen-address
|
||||
|
@ -1045,12 +989,6 @@ enforce-blocks 0
|
|||
# names. If a DNS name resolves to multiple IP addresses, only
|
||||
# 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
|
||||
# side effects if the site in question is hosted on a machine
|
||||
# which also hosts other sites (most sites are).
|
||||
|
@ -1078,16 +1016,6 @@ enforce-blocks 0
|
|||
# permit-access 192.168.45.64/26
|
||||
# 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
|
||||
|
@ -1165,7 +1093,7 @@ buffer-limit 4096
|
|||
# to denote "all URLs". http_parent[:port] is the DNS name or
|
||||
# IP address of the parent HTTP proxy through which the requests
|
||||
# should be forwarded, optionally followed by its listening port
|
||||
# (default: 8000). Use a single dot (.) to denote "no forwarding".
|
||||
# (default: 8080). Use a single dot (.) to denote "no forwarding".
|
||||
#
|
||||
# Default value:
|
||||
#
|
||||
|
@ -1180,13 +1108,6 @@ buffer-limit 4096
|
|||
# If http_parent is ".", then requests are not forwarded to
|
||||
# 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
|
||||
# last match wins.
|
||||
#
|
||||
|
@ -1206,16 +1127,6 @@ buffer-limit 4096
|
|||
# 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
|
||||
|
@ -1258,13 +1169,6 @@ buffer-limit 4096
|
|||
# With forward-socks5 the DNS resolution will happen on the remote
|
||||
# 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
|
||||
# HTTP proxy but are made (HTTP-wise) directly to the web servers,
|
||||
# albeit through a SOCKS proxy.
|
||||
|
@ -1289,7 +1193,7 @@ buffer-limit 4096
|
|||
# To chain Privoxy and Tor, both running on the same system,
|
||||
# you would use something like:
|
||||
#
|
||||
# forward-socks5 / 127.0.0.1:9050 .
|
||||
# forward-socks4a / 127.0.0.1:9050 .
|
||||
#
|
||||
#
|
||||
# The public Tor network can't be used to reach your local network,
|
||||
|
@ -1315,6 +1219,7 @@ buffer-limit 4096
|
|||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# 5.3. forwarded-connect-retries
|
||||
# ===============================
|
||||
#
|
||||
|
@ -1355,9 +1260,6 @@ buffer-limit 4096
|
|||
# manually. Start with a small value and check Privoxy's logfile
|
||||
# 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:
|
||||
#
|
||||
# forwarded-connect-retries 1
|
||||
|
@ -1365,10 +1267,7 @@ buffer-limit 4096
|
|||
forwarded-connect-retries 0
|
||||
#
|
||||
#
|
||||
# 6. MISCELLANEOUS
|
||||
# =================
|
||||
#
|
||||
# 6.1. accept-intercepted-requests
|
||||
# 5.4. accept-intercepted-requests
|
||||
# =================================
|
||||
#
|
||||
# Specifies:
|
||||
|
@ -1407,7 +1306,7 @@ forwarded-connect-retries 0
|
|||
accept-intercepted-requests 0
|
||||
#
|
||||
#
|
||||
# 6.2. allow-cgi-request-crunching
|
||||
# 5.5. allow-cgi-request-crunching
|
||||
# =================================
|
||||
#
|
||||
# Specifies:
|
||||
|
@ -1445,7 +1344,7 @@ accept-intercepted-requests 0
|
|||
allow-cgi-request-crunching 0
|
||||
#
|
||||
#
|
||||
# 6.3. split-large-forms
|
||||
# 5.6. split-large-forms
|
||||
# =======================
|
||||
#
|
||||
# Specifies:
|
||||
|
@ -1487,7 +1386,7 @@ allow-cgi-request-crunching 0
|
|||
split-large-forms 0
|
||||
#
|
||||
#
|
||||
# 6.4. keep-alive-timeout
|
||||
# 5.7. keep-alive-timeout
|
||||
# ========================
|
||||
#
|
||||
# Specifies:
|
||||
|
@ -1505,168 +1404,36 @@ split-large-forms 0
|
|||
#
|
||||
# Effect if unset:
|
||||
#
|
||||
# Connections are not kept alive.
|
||||
# Connections are not reused.
|
||||
#
|
||||
# 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:
|
||||
#
|
||||
# This option has no effect if Privoxy has been compiled without
|
||||
# keep-alive support, or if it's disabled.
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# Note that reusing connections doesn't necessary cause
|
||||
# speedups. There are also a few privacy implications you should
|
||||
# be aware of.
|
||||
#
|
||||
# If this option is effective, outgoing connections are shared
|
||||
# between clients (if there are more than one) and closing the
|
||||
# browser that initiated the outgoing connection does no longer
|
||||
# affect the connection between Privoxy and the server unless
|
||||
# the client's request hasn't been completed yet.
|
||||
#
|
||||
# If the outgoing connection is idle, it will not be closed until
|
||||
# either Privoxy's or the server's timeout is reached. While
|
||||
# Outgoing connections are shared between clients (if there are
|
||||
# more than one) and closing the client that initiated the outgoing
|
||||
# connection does not affect the connection between Privoxy and
|
||||
# the server unless the client's request hasn't been completed
|
||||
# yet. 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
|
||||
# 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:
|
||||
#
|
||||
# connection-sharing 1
|
||||
# keep-alive-timeout 300
|
||||
#
|
||||
#connection-sharing 1
|
||||
keep-alive-timeout 300
|
||||
#
|
||||
#
|
||||
# 6.7. socket-timeout
|
||||
# 5.8. socket-timeout
|
||||
# ====================
|
||||
#
|
||||
# Specifies:
|
||||
|
@ -1699,187 +1466,7 @@ keep-alive-timeout 5
|
|||
socket-timeout 300
|
||||
#
|
||||
#
|
||||
# 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
|
||||
# 6. WINDOWS GUI OPTIONS
|
||||
# =======================
|
||||
#
|
||||
# Privoxy has a number of options specific to the Windows GUI
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2011-11-11'
|
||||
timestamp='2008-01-23'
|
||||
|
||||
# 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
|
||||
|
@ -27,16 +27,16 @@ timestamp='2011-11-11'
|
|||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
|
||||
# Originally written by Per Bothner. Please send patches (context
|
||||
# diff format) to <config-patches@gnu.org> and include a ChangeLog
|
||||
# entry.
|
||||
# Originally written by Per Bothner <per@bothner.com>.
|
||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||
# diff and a properly formatted ChangeLog entry.
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit build system type.
|
||||
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
|
@ -56,9 +56,8 @@ version="\
|
|||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
@ -171,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||
eval $set_cc_for_build
|
||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ELF__
|
||||
| grep __ELF__ >/dev/null
|
||||
then
|
||||
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
||||
# Return netbsd for either. FIX?
|
||||
|
@ -181,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
fi
|
||||
;;
|
||||
*)
|
||||
os=netbsd
|
||||
os=netbsd
|
||||
;;
|
||||
esac
|
||||
# The OS release
|
||||
|
@ -224,7 +223,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||
;;
|
||||
*5.*)
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||
;;
|
||||
esac
|
||||
# According to Compaq, /usr/sbin/psrinfo has been available on
|
||||
|
@ -270,10 +269,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
||||
exitcode=$?
|
||||
trap '' 0
|
||||
exit $exitcode ;;
|
||||
exit ;;
|
||||
Alpha\ *:Windows_NT*:*)
|
||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||
# Should we change UNAME_MACHINE based on the output of uname instead
|
||||
|
@ -299,7 +295,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
echo s390-ibm-zvmoe
|
||||
exit ;;
|
||||
*:OS400:*:*)
|
||||
echo powerpc-ibm-os400
|
||||
echo powerpc-ibm-os400
|
||||
exit ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
|
@ -328,33 +324,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
case `/usr/bin/uname -p` in
|
||||
sparc) echo sparc-icl-nx7; exit ;;
|
||||
esac ;;
|
||||
s390x:SunOS:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4H:SunOS:5.*:*)
|
||||
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
|
||||
echo i386-pc-auroraux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||
eval $set_cc_for_build
|
||||
SUN_ARCH="i386"
|
||||
# If there is a compiler, see if it is configured for 64-bit objects.
|
||||
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
||||
# This test works for both compilers.
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
SUN_ARCH="x86_64"
|
||||
fi
|
||||
fi
|
||||
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
|
@ -398,23 +375,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
# MiNT. But MiNT is downward compatible to TOS, so this should
|
||||
# be no problem.
|
||||
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
exit ;;
|
||||
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
||||
echo m68k-milan-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-milan-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
||||
echo m68k-hades-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-hades-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
m68k:machten:*:*)
|
||||
echo m68k-apple-machten${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -484,8 +461,8 @@ EOF
|
|||
echo m88k-motorola-sysv3
|
||||
exit ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
||||
then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
||||
|
@ -498,7 +475,7 @@ EOF
|
|||
else
|
||||
echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit ;;
|
||||
|
@ -555,7 +532,7 @@ EOF
|
|||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit ;;
|
||||
*:AIX:*:[4567])
|
||||
*:AIX:*:[456])
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
|
@ -598,52 +575,52 @@ EOF
|
|||
9000/[678][0-9][0-9])
|
||||
if [ -x /usr/bin/getconf ]; then
|
||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
||||
esac ;;
|
||||
esac
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
if [ "${HP_ARCH}" = "" ]; then
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
|
||||
#define _HPUX_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#define _HPUX_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
long bits = sysconf(_SC_KERNEL_BITS);
|
||||
#endif
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
int main ()
|
||||
{
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
long bits = sysconf(_SC_KERNEL_BITS);
|
||||
#endif
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||
case CPU_PA_RISC2_0:
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
switch (bits)
|
||||
{
|
||||
case 64: puts ("hppa2.0w"); break;
|
||||
case 32: puts ("hppa2.0n"); break;
|
||||
default: puts ("hppa2.0"); break;
|
||||
} break;
|
||||
#else /* !defined(_SC_KERNEL_BITS) */
|
||||
puts ("hppa2.0"); break;
|
||||
#endif
|
||||
default: puts ("hppa1.0"); break;
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||
case CPU_PA_RISC2_0:
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
switch (bits)
|
||||
{
|
||||
case 64: puts ("hppa2.0w"); break;
|
||||
case 32: puts ("hppa2.0n"); break;
|
||||
default: puts ("hppa2.0"); break;
|
||||
} break;
|
||||
#else /* !defined(_SC_KERNEL_BITS) */
|
||||
puts ("hppa2.0"); break;
|
||||
#endif
|
||||
default: puts ("hppa1.0"); break;
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||
test -z "$HP_ARCH" && HP_ARCH=hppa
|
||||
|
@ -663,7 +640,7 @@ EOF
|
|||
# => hppa64-hp-hpux11.23
|
||||
|
||||
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||
grep -q __LP64__
|
||||
grep __LP64__ >/dev/null
|
||||
then
|
||||
HP_ARCH="hppa2.0w"
|
||||
else
|
||||
|
@ -734,22 +711,22 @@ EOF
|
|||
exit ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit ;;
|
||||
|
@ -773,14 +750,14 @@ EOF
|
|||
exit ;;
|
||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
5000:UNIX_System_V:4.*:*)
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
|
@ -792,12 +769,13 @@ EOF
|
|||
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:FreeBSD:*:*)
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
case ${UNAME_PROCESSOR} in
|
||||
case ${UNAME_MACHINE} in
|
||||
pc98)
|
||||
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||
amd64)
|
||||
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||
*)
|
||||
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||
esac
|
||||
exit ;;
|
||||
i*:CYGWIN*:*)
|
||||
|
@ -806,22 +784,19 @@ EOF
|
|||
*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:MSYS*:*)
|
||||
echo ${UNAME_MACHINE}-pc-msys
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
# uname -m includes "-pc" on this system.
|
||||
echo ${UNAME_MACHINE}-mingw32
|
||||
# uname -m includes "-pc" on this system.
|
||||
echo ${UNAME_MACHINE}-mingw32
|
||||
exit ;;
|
||||
i*:PW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-pw32
|
||||
exit ;;
|
||||
*:Interix*:*)
|
||||
case ${UNAME_MACHINE} in
|
||||
*:Interix*:[3456]*)
|
||||
case ${UNAME_MACHINE} in
|
||||
x86)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
authenticamd | genuineintel | EM64T)
|
||||
EM64T | authenticamd)
|
||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
IA64)
|
||||
|
@ -831,9 +806,6 @@ EOF
|
|||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||
echo i${UNAME_MACHINE}-pc-mks
|
||||
exit ;;
|
||||
8664:Windows_NT:*)
|
||||
echo x86_64-pc-mks
|
||||
exit ;;
|
||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||
|
@ -863,20 +835,6 @@ EOF
|
|||
i*86:Minix:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-minix
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
EV5) UNAME_MACHINE=alphaev5 ;;
|
||||
EV56) UNAME_MACHINE=alphaev56 ;;
|
||||
PCA56) UNAME_MACHINE=alphapca56 ;;
|
||||
PCA57) UNAME_MACHINE=alphapca56 ;;
|
||||
EV6) UNAME_MACHINE=alphaev6 ;;
|
||||
EV67) UNAME_MACHINE=alphaev67 ;;
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
exit ;;
|
||||
arm*:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
|
@ -884,13 +842,7 @@ EOF
|
|||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
else
|
||||
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_PCS_VFP
|
||||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
|
||||
fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||
fi
|
||||
exit ;;
|
||||
avr32*:Linux:*:*)
|
||||
|
@ -903,21 +855,7 @@ EOF
|
|||
echo crisv32-axis-linux-gnu
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
echo frv-unknown-linux-gnu
|
||||
exit ;;
|
||||
hexagon:Linux:*:*)
|
||||
echo hexagon-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
LIBC=gnu
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#ifdef __dietlibc__
|
||||
LIBC=dietlibc
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
echo frv-unknown-linux-gnu
|
||||
exit ;;
|
||||
ia64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
|
@ -928,33 +866,74 @@ EOF
|
|||
m68*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
mips:Linux:*:* | mips64:Linux:*:*)
|
||||
mips:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#undef CPU
|
||||
#undef ${UNAME_MACHINE}
|
||||
#undef ${UNAME_MACHINE}el
|
||||
#undef mips
|
||||
#undef mipsel
|
||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||
CPU=${UNAME_MACHINE}el
|
||||
CPU=mipsel
|
||||
#else
|
||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||
CPU=${UNAME_MACHINE}
|
||||
CPU=mips
|
||||
#else
|
||||
CPU=
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||
/^CPU/{
|
||||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
;;
|
||||
mips64:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#undef CPU
|
||||
#undef mips64
|
||||
#undef mips64el
|
||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||
CPU=mips64el
|
||||
#else
|
||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||
CPU=mips64
|
||||
#else
|
||||
CPU=
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||
/^CPU/{
|
||||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
;;
|
||||
or32:Linux:*:*)
|
||||
echo or32-unknown-linux-gnu
|
||||
exit ;;
|
||||
padre:Linux:*:*)
|
||||
echo sparc-unknown-linux-gnu
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-gnu
|
||||
exit ;;
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
echo hppa64-unknown-linux-gnu
|
||||
ppc64:Linux:*:*)
|
||||
echo powerpc64-unknown-linux-gnu
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
EV5) UNAME_MACHINE=alphaev5 ;;
|
||||
EV56) UNAME_MACHINE=alphaev56 ;;
|
||||
PCA56) UNAME_MACHINE=alphapca56 ;;
|
||||
PCA57) UNAME_MACHINE=alphapca56 ;;
|
||||
EV6) UNAME_MACHINE=alphaev6 ;;
|
||||
EV67) UNAME_MACHINE=alphaev67 ;;
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
exit ;;
|
||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||
# Look for CPU level
|
||||
|
@ -964,17 +943,14 @@ EOF
|
|||
*) echo hppa-unknown-linux-gnu ;;
|
||||
esac
|
||||
exit ;;
|
||||
ppc64:Linux:*:*)
|
||||
echo powerpc64-unknown-linux-gnu
|
||||
exit ;;
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-gnu
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
echo hppa64-unknown-linux-gnu
|
||||
exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-linux
|
||||
exit ;;
|
||||
sh64*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
sh*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
|
@ -982,9 +958,6 @@ EOF
|
|||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
tile*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
exit ;;
|
||||
|
@ -992,8 +965,71 @@ EOF
|
|||
echo x86_64-unknown-linux-gnu
|
||||
exit ;;
|
||||
xtensa*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us. cd to the root directory to prevent
|
||||
# problems with other programs or directories called `ld' in the path.
|
||||
# Set LC_ALL=C to ensure ld outputs messages in English.
|
||||
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
|
||||
| sed -ne '/supported targets:/!d
|
||||
s/[ ][ ]*/ /g
|
||||
s/.*supported targets: *//
|
||||
s/ .*//
|
||||
p'`
|
||||
case "$ld_supported_targets" in
|
||||
elf32-i386)
|
||||
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
|
||||
;;
|
||||
a.out-i386-linux)
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
|
||||
exit ;;
|
||||
coff-i386)
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
|
||||
exit ;;
|
||||
"")
|
||||
# Either a pre-BFD a.out linker (linux-gnuoldld) or
|
||||
# one that does not give us useful --help.
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
|
||||
exit ;;
|
||||
esac
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#include <features.h>
|
||||
#ifdef __ELF__
|
||||
# ifdef __GLIBC__
|
||||
# if __GLIBC__ >= 2
|
||||
LIBC=gnu
|
||||
# else
|
||||
LIBC=gnulibc1
|
||||
# endif
|
||||
# else
|
||||
LIBC=gnulibc1
|
||||
# endif
|
||||
#else
|
||||
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||
LIBC=gnu
|
||||
#else
|
||||
LIBC=gnuaout
|
||||
#endif
|
||||
#endif
|
||||
#ifdef __dietlibc__
|
||||
LIBC=dietlibc
|
||||
#endif
|
||||
EOF
|
||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
||||
/^LIBC/{
|
||||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${LIBC}" != x && {
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
exit
|
||||
}
|
||||
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
|
||||
;;
|
||||
i*86:DYNIX/ptx:4*:*)
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||
# earlier versions are messed up and put the nodename in both
|
||||
|
@ -1001,11 +1037,11 @@ EOF
|
|||
echo i386-sequent-sysv4
|
||||
exit ;;
|
||||
i*86:UNIX_SV:4.2MP:2.*)
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# I just have to hope. -- rms.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||
exit ;;
|
||||
i*86:OS/2:*:*)
|
||||
|
@ -1022,7 +1058,7 @@ EOF
|
|||
i*86:syllable:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-syllable
|
||||
exit ;;
|
||||
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
|
||||
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
|
||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
i*86:*DOS:*:*)
|
||||
|
@ -1037,7 +1073,7 @@ EOF
|
|||
fi
|
||||
exit ;;
|
||||
i*86:*:5:[678]*)
|
||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||
case `/bin/uname -X | grep "^Machine"` in
|
||||
*486*) UNAME_MACHINE=i486 ;;
|
||||
*Pentium) UNAME_MACHINE=i586 ;;
|
||||
|
@ -1065,13 +1101,10 @@ EOF
|
|||
exit ;;
|
||||
pc:*:*:*)
|
||||
# Left here for compatibility:
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i586.
|
||||
# Note: whatever this is, it MUST be the same as what config.sub
|
||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
||||
# this is a cross-build.
|
||||
echo i586-pc-msdosdjgpp
|
||||
exit ;;
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i386.
|
||||
echo i386-pc-msdosdjgpp
|
||||
exit ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-pc-mach3
|
||||
exit ;;
|
||||
|
@ -1106,18 +1139,8 @@ EOF
|
|||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
|
||||
OS_REL='.3'
|
||||
test -r /etc/.relid \
|
||||
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
|
||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
|
||||
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -1130,7 +1153,7 @@ EOF
|
|||
rs6000:LynxOS:2.*:*)
|
||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
|
||||
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
|
||||
echo powerpc-unknown-lynxos${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SM[BE]S:UNIX_SV:*:*)
|
||||
|
@ -1150,10 +1173,10 @@ EOF
|
|||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit ;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit ;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# How about differentiating between stratus architectures? -djm
|
||||
|
@ -1179,11 +1202,11 @@ EOF
|
|||
exit ;;
|
||||
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
||||
echo powerpc-be-beos
|
||||
exit ;;
|
||||
|
@ -1193,9 +1216,6 @@ EOF
|
|||
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
|
||||
echo i586-pc-beos
|
||||
exit ;;
|
||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
||||
echo i586-pc-haiku
|
||||
exit ;;
|
||||
SX-4:SUPER-UX:*:*)
|
||||
echo sx4-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -1223,16 +1243,6 @@ EOF
|
|||
*:Darwin:*:*)
|
||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||
case $UNAME_PROCESSOR in
|
||||
i386)
|
||||
eval $set_cc_for_build
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
UNAME_PROCESSOR="x86_64"
|
||||
fi
|
||||
fi ;;
|
||||
unknown) UNAME_PROCESSOR=powerpc ;;
|
||||
esac
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
|
@ -1248,9 +1258,6 @@ EOF
|
|||
*:QNX:*:4*)
|
||||
echo i386-pc-qnx
|
||||
exit ;;
|
||||
NEO-?:NONSTOP_KERNEL:*:*)
|
||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSE-?:NONSTOP_KERNEL:*:*)
|
||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -1296,13 +1303,13 @@ EOF
|
|||
echo pdp10-unknown-its
|
||||
exit ;;
|
||||
SEI:*:*:SEIUX)
|
||||
echo mips-sei-seiux${UNAME_RELEASE}
|
||||
echo mips-sei-seiux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:DragonFly:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit ;;
|
||||
*:*VMS:*:*)
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
case "${UNAME_MACHINE}" in
|
||||
A*) echo alpha-dec-vms ; exit ;;
|
||||
I*) echo ia64-dec-vms ; exit ;;
|
||||
|
@ -1317,9 +1324,6 @@ EOF
|
|||
i*86:rdos:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-rdos
|
||||
exit ;;
|
||||
i*86:AROS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-aros
|
||||
exit ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
|
@ -1342,11 +1346,11 @@ main ()
|
|||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2011-11-11'
|
||||
timestamp='2008-02-05'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
|
@ -32,16 +32,13 @@ timestamp='2011-11-11'
|
|||
|
||||
|
||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||
# diff and a properly formatted GNU ChangeLog entry.
|
||||
# diff and a properly formatted ChangeLog entry.
|
||||
#
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
# that are meaningful with *any* GNU software.
|
||||
|
@ -75,9 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
||||
Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
@ -124,10 +120,8 @@ esac
|
|||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
kopensolaris*-gnu* | \
|
||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
|
@ -154,13 +148,10 @@ case $os in
|
|||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple | -axis | -knuth | -cray | -microblaze)
|
||||
-apple | -axis | -knuth | -cray)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-bluegene*)
|
||||
os=-cnk
|
||||
;;
|
||||
-sim | -cisco | -oki | -wec | -winbond)
|
||||
os=
|
||||
basic_machine=$1
|
||||
|
@ -175,10 +166,10 @@ case $os in
|
|||
os=-chorusos
|
||||
basic_machine=$1
|
||||
;;
|
||||
-chorusrdb)
|
||||
os=-chorusrdb
|
||||
-chorusrdb)
|
||||
os=-chorusrdb
|
||||
basic_machine=$1
|
||||
;;
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
|
@ -251,20 +242,15 @@ case $basic_machine in
|
|||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
| be32 | be64 \
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| epiphany \
|
||||
| fido | fr30 | frv \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore | mep | metag \
|
||||
| maxq | mb | microblaze | mcore | mep \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
|
@ -284,42 +270,28 @@ case $basic_machine in
|
|||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mn10200 | mn10300 \
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nios | nios2 \
|
||||
| ns16k | ns32k \
|
||||
| open8 \
|
||||
| or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| rl78 | rx \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
| spu \
|
||||
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||
| ubicom32 \
|
||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||
| spu | strongarm \
|
||||
| tahoe | thumb | tic4x | tic80 | tron \
|
||||
| v850 | v850e \
|
||||
| we32k \
|
||||
| x86 | xc16x | xstormy16 | xtensa \
|
||||
| z8k | z80)
|
||||
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| z8k)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
c54x)
|
||||
basic_machine=tic54x-unknown
|
||||
;;
|
||||
c55x)
|
||||
basic_machine=tic55x-unknown
|
||||
;;
|
||||
c6x)
|
||||
basic_machine=tic6x-unknown
|
||||
;;
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
|
||||
m6811 | m68hc11 | m6812 | m68hc12)
|
||||
# Motorola 68HC11/12.
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
|
@ -330,18 +302,6 @@ case $basic_machine in
|
|||
basic_machine=mt-unknown
|
||||
;;
|
||||
|
||||
strongarm | thumb | xscale)
|
||||
basic_machine=arm-unknown
|
||||
;;
|
||||
|
||||
xscaleeb)
|
||||
basic_machine=armeb-unknown
|
||||
;;
|
||||
|
||||
xscaleel)
|
||||
basic_machine=armel-unknown
|
||||
;;
|
||||
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
|
@ -361,23 +321,19 @@ case $basic_machine in
|
|||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| be32-* | be64-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| le32-* | le64-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
| mips16-* \
|
||||
| mips64-* | mips64el-* \
|
||||
|
@ -399,32 +355,27 @@ case $basic_machine in
|
|||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nds32-* | nds32le-* | nds32be-* \
|
||||
| nios-* | nios2-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| open8-* \
|
||||
| orion-* \
|
||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| pyramid-* \
|
||||
| rl78-* | romp-* | rs6000-* | rx-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| romp-* | rs6000-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
|
||||
| tahoe-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tile*-* \
|
||||
| tron-* \
|
||||
| ubicom32-* \
|
||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
||||
| vax-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| xstormy16-* | xtensa*-* \
|
||||
| ymp-* \
|
||||
| z8k-* | z80-*)
|
||||
| z8k-*)
|
||||
;;
|
||||
# Recognize the basic CPU types without company name, with glob match.
|
||||
xtensa*)
|
||||
|
@ -446,7 +397,7 @@ case $basic_machine in
|
|||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
abacus)
|
||||
abacus)
|
||||
basic_machine=abacus-unknown
|
||||
;;
|
||||
adobe68k)
|
||||
|
@ -492,10 +443,6 @@ case $basic_machine in
|
|||
basic_machine=m68k-apollo
|
||||
os=-bsd
|
||||
;;
|
||||
aros)
|
||||
basic_machine=i386-pc
|
||||
os=-aros
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
|
@ -512,27 +459,10 @@ case $basic_machine in
|
|||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
os=-linux
|
||||
;;
|
||||
bluegene*)
|
||||
basic_machine=powerpc-ibm
|
||||
os=-cnk
|
||||
;;
|
||||
c54x-*)
|
||||
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c55x-*)
|
||||
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c6x-*)
|
||||
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c90)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cegcc)
|
||||
basic_machine=arm-unknown
|
||||
os=-cegcc
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
|
@ -561,7 +491,7 @@ case $basic_machine in
|
|||
basic_machine=craynv-cray
|
||||
os=-unicosmp
|
||||
;;
|
||||
cr16 | cr16-*)
|
||||
cr16)
|
||||
basic_machine=cr16-unknown
|
||||
os=-elf
|
||||
;;
|
||||
|
@ -600,10 +530,6 @@ case $basic_machine in
|
|||
basic_machine=m88k-motorola
|
||||
os=-sysv3
|
||||
;;
|
||||
dicos)
|
||||
basic_machine=i686-pc
|
||||
os=-dicos
|
||||
;;
|
||||
djgpp)
|
||||
basic_machine=i586-pc
|
||||
os=-msdosdjgpp
|
||||
|
@ -777,9 +703,6 @@ case $basic_machine in
|
|||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
microblaze)
|
||||
basic_machine=microblaze-xilinx
|
||||
;;
|
||||
mingw32)
|
||||
basic_machine=i386-pc
|
||||
os=-mingw32
|
||||
|
@ -816,18 +739,10 @@ case $basic_machine in
|
|||
ms1-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||
;;
|
||||
msys)
|
||||
basic_machine=i386-pc
|
||||
os=-msys
|
||||
;;
|
||||
mvs)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
nacl)
|
||||
basic_machine=le32-unknown
|
||||
os=-nacl
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
|
@ -892,12 +807,6 @@ case $basic_machine in
|
|||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
neo-tandem)
|
||||
basic_machine=neo-tandem
|
||||
;;
|
||||
nse-tandem)
|
||||
basic_machine=nse-tandem
|
||||
;;
|
||||
nsr-tandem)
|
||||
basic_machine=nsr-tandem
|
||||
;;
|
||||
|
@ -980,10 +889,9 @@ case $basic_machine in
|
|||
;;
|
||||
power) basic_machine=power-ibm
|
||||
;;
|
||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-* | ppcbe-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
|
@ -1077,9 +985,6 @@ case $basic_machine in
|
|||
basic_machine=i860-stratus
|
||||
os=-sysv4
|
||||
;;
|
||||
strongarm-* | thumb-*)
|
||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
|
@ -1136,8 +1041,20 @@ case $basic_machine in
|
|||
basic_machine=t90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
tic54x | c54x*)
|
||||
basic_machine=tic54x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tic55x | c55x*)
|
||||
basic_machine=tic55x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tic6x | c6x*)
|
||||
basic_machine=tic6x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tile*)
|
||||
basic_machine=$basic_machine-unknown
|
||||
basic_machine=tile-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
tx39)
|
||||
|
@ -1207,9 +1124,6 @@ case $basic_machine in
|
|||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
xscale-* | xscalee[bl]-*)
|
||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
||||
;;
|
||||
ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
|
@ -1218,10 +1132,6 @@ case $basic_machine in
|
|||
basic_machine=z8k-unknown
|
||||
os=-sim
|
||||
;;
|
||||
z80-*-coff)
|
||||
basic_machine=z80-unknown
|
||||
os=-sim
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
|
@ -1260,7 +1170,7 @@ case $basic_machine in
|
|||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
basic_machine=sh-unknown
|
||||
;;
|
||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||
|
@ -1307,12 +1217,9 @@ esac
|
|||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-auroraux)
|
||||
os=-auroraux
|
||||
;;
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
|
@ -1333,11 +1240,10 @@ case $os in
|
|||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
| -sym* | -kopensolaris* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
|
@ -1346,10 +1252,9 @@ case $os in
|
|||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-uclibc* \
|
||||
| -chorusos* | -chorusrdb* \
|
||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
|
@ -1357,7 +1262,7 @@ case $os in
|
|||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
|
@ -1396,7 +1301,7 @@ case $os in
|
|||
-opened*)
|
||||
os=-openedition
|
||||
;;
|
||||
-os400*)
|
||||
-os400*)
|
||||
os=-os400
|
||||
;;
|
||||
-wince*)
|
||||
|
@ -1445,7 +1350,7 @@ case $os in
|
|||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-tpf*)
|
||||
-tpf*)
|
||||
os=-tpf
|
||||
;;
|
||||
-triton*)
|
||||
|
@ -1487,11 +1392,6 @@ case $os in
|
|||
-zvmoe)
|
||||
os=-zvmoe
|
||||
;;
|
||||
-dicos*)
|
||||
os=-dicos
|
||||
;;
|
||||
-nacl*)
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
|
@ -1514,10 +1414,10 @@ else
|
|||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
score-*)
|
||||
score-*)
|
||||
os=-elf
|
||||
;;
|
||||
spu-*)
|
||||
spu-*)
|
||||
os=-elf
|
||||
;;
|
||||
*-acorn)
|
||||
|
@ -1529,17 +1429,8 @@ case $basic_machine in
|
|||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic54x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic55x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic6x-*)
|
||||
os=-coff
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
# This must come before the *-dec entry.
|
||||
pdp10-*)
|
||||
|
@ -1566,7 +1457,7 @@ case $basic_machine in
|
|||
m68*-cisco)
|
||||
os=-aout
|
||||
;;
|
||||
mep-*)
|
||||
mep-*)
|
||||
os=-elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
|
@ -1593,7 +1484,7 @@ case $basic_machine in
|
|||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-knuth)
|
||||
*-knuth)
|
||||
os=-mmixware
|
||||
;;
|
||||
*-wec)
|
||||
|
@ -1698,7 +1589,7 @@ case $basic_machine in
|
|||
-sunos*)
|
||||
vendor=sun
|
||||
;;
|
||||
-cnk*|-aix*)
|
||||
-aix*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-beos*)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
dnl $Id: configure.in,v 1.166 2011/12/26 17:03:31 fabiankeil Exp $
|
||||
dnl $Id: configure.in,v 1.126 2009/03/21 10:45:06 fabiankeil Exp $
|
||||
dnl
|
||||
dnl Written by and Copyright (C) 2001-2010 the
|
||||
dnl Written by and Copyright (C) 2001-2009 the
|
||||
dnl Privoxy team. http://www.privoxy.org/
|
||||
dnl
|
||||
dnl Based on the Internet Junkbuster originally written
|
||||
|
@ -27,12 +27,546 @@ dnl http://www.gnu.org/copyleft/gpl.html
|
|||
dnl or write to the Free Software Foundation, Inc., 59
|
||||
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 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 AutoConf Initialization
|
||||
dnl =================================================================
|
||||
|
||||
AC_REVISION($Revision: 1.166 $)
|
||||
AC_REVISION($Revision: 1.126 $)
|
||||
AC_INIT(jcc.c)
|
||||
|
||||
if test ! -f config.h.in; then
|
||||
|
@ -78,13 +612,12 @@ dnl =================================================================
|
|||
|
||||
VERSION_MAJOR=3
|
||||
VERSION_MINOR=0
|
||||
VERSION_POINT=19
|
||||
VERSION_POINT=12
|
||||
CODE_STATUS="stable"
|
||||
|
||||
dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
|
||||
dnl and will be used for CGI output. Increment version number and
|
||||
dnl set status to "UNRELEASED" whenever CVS differs from the last
|
||||
dnl release and no new release is near.
|
||||
dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
|
||||
dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
|
||||
dnl whenever CVS in a stable branch differs from the last release.
|
||||
|
||||
dnl =================================================================
|
||||
dnl Substitute the version numbers
|
||||
|
@ -119,8 +652,8 @@ AC_PROG_MAKE_SET
|
|||
AC_PROG_AWK
|
||||
|
||||
AC_CHECK_PROG(GDB,gdb,yes,no)
|
||||
AC_PATH_PROG(BGROUPS,groups,no,$PATH:/bin:/usr/bin:/usr/local/bin)
|
||||
AC_PATH_PROG(ID,id,no,$PATH:/bin:/usr/bin:/usr/local/bin)
|
||||
AC_PATH_PROG(BGROUPS,groups,no,/bin:/usr/bin:/usr/local/bin)
|
||||
AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
|
||||
AC_SUBST(ID)
|
||||
AC_SUBST(BGROUPS)
|
||||
|
||||
|
@ -299,7 +832,6 @@ fi])
|
|||
|
||||
if test $target_type = mingw; then
|
||||
WIN_ONLY=
|
||||
CFLAGS="$CFLAGS -DWINVER=0x501"
|
||||
SPECIAL_CFLAGS="-mwindows -mno-cygwin"
|
||||
PTHREAD_LIB=-lpthreadGC
|
||||
echo "Using mingw32 (Win32 GUI)"
|
||||
|
@ -316,7 +848,7 @@ else
|
|||
fi
|
||||
AC_SUBST(WIN_ONLY)
|
||||
|
||||
dnl Checking which text html browser we have available
|
||||
dnl Checking which text html browser we have avaliable
|
||||
if test $dodk != no; then
|
||||
AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
|
||||
if test "$WDUMP" = false; then
|
||||
|
@ -400,13 +932,6 @@ fi
|
|||
AC_SUBST(JADECAT)
|
||||
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
|
||||
old_CFLAGS_nospecial=$CFLAGS
|
||||
CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
|
||||
|
@ -701,63 +1226,19 @@ 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])
|
||||
|
||||
dnl Checks for library functions.
|
||||
dnl bcopy is for PCRE
|
||||
AC_CHECK_FUNCS([bcopy])
|
||||
dnl AC_TYPE_SIGNAL
|
||||
dnl AC_CHECK_FUNC(strstr)
|
||||
dnl bcopy and memmove are for PCRE
|
||||
AC_CHECK_FUNCS([strerror bcopy memmove])
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
dnl uncommenting does not work for swa. suse linux
|
||||
dnl AC_FUNC_MALLOC
|
||||
AC_FUNC_SETPGRP
|
||||
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])
|
||||
|
||||
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 Checks for libraries.
|
||||
|
@ -845,8 +1326,8 @@ AC_ARG_ENABLE(image-blocking,
|
|||
fi],
|
||||
AC_DEFINE(FEATURE_IMAGE_BLOCKING))
|
||||
|
||||
AC_ARG_ENABLE(acl-support,
|
||||
[ --disable-acl-support Prevents the use of ACLs to control access to
|
||||
AC_ARG_ENABLE(acl-files,
|
||||
[ --disable-acl-files Prevents the use of ACL files to control access to
|
||||
Privoxy by IP address.],
|
||||
[if test $enableval = yes; then
|
||||
AC_DEFINE(FEATURE_ACL)
|
||||
|
@ -882,23 +1363,11 @@ AC_ARG_ENABLE(graceful-termination,
|
|||
fi])
|
||||
|
||||
AC_ARG_ENABLE(extended-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.],
|
||||
[ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
|
||||
[if test $enableval = yes; then
|
||||
AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
|
||||
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 the choice is only between static and
|
||||
dnl dynamic:
|
||||
|
@ -928,7 +1397,7 @@ if test $enableval2 = yes; then
|
|||
AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
|
||||
if test $have_zlib = "yes"; then
|
||||
LIBS="$LIBS -lz"
|
||||
AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use zlib to decompress data before filtering.])
|
||||
AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
|
||||
else
|
||||
AC_MSG_WARN([No zlib found.
|
||||
Privoxy will not be able to filter compressed content.
|
||||
|
@ -936,19 +1405,6 @@ if test $enableval2 = yes; then
|
|||
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
|
||||
|
||||
|
||||
# If we have libpcre and either we also have pcreposix or
|
||||
# we don't need pcreposix, then link pcre dynamically; else
|
||||
|
@ -960,18 +1416,16 @@ if test $have_pcre = "yes"; then
|
|||
STATIC_PCRE_ONLY=#
|
||||
LIBS="$LIBS -lpcre -lpcreposix"
|
||||
else
|
||||
AC_MSG_WARN([You are using the static PCRE code which is out of date and scheduled for removal, for details see:
|
||||
http://sourceforge.net/mailarchive/forum.php?thread_name=20080511195555.2dc6cfdc%40fabiankeil.de&forum_name=ijbswa-developers])
|
||||
AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
|
||||
https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
|
||||
pcre_dyn=no
|
||||
AC_DEFINE(STATIC_PCRE)
|
||||
STATIC_PCRE_ONLY=
|
||||
fi
|
||||
|
||||
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
|
||||
|
||||
if test $have_pthread = "yes" -o $target_type = "mingw"; then
|
||||
echo Enabling connection-sharing support.
|
||||
AC_DEFINE(FEATURE_CONNECTION_SHARING)
|
||||
echo Enabling keep-alive support for outgoing connections.
|
||||
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
|
||||
fi
|
||||
|
||||
dnl =================================================
|
||||
|
@ -999,7 +1453,7 @@ dnl =================================================================
|
|||
dnl Final cleanup and output
|
||||
dnl =================================================================
|
||||
|
||||
dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it separately
|
||||
dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
|
||||
dnl in the Makefile
|
||||
CFLAGS=$old_CFLAGS_nospecial
|
||||
AC_SUBST(SPECIAL_CFLAGS)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef CYGWIN_H_INCLUDED
|
||||
#define CYGWIN_H_INCLUDED
|
||||
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.8 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.6 2006/07/18 14:48:45 david__schmidt Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $
|
||||
|
@ -34,6 +34,26 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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. */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char deanimate_rcs[] = "$Id: deanimate.c,v 1.21 2011/09/04 11:10:56 fabiankeil Exp $";
|
||||
const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabiankeil Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $
|
||||
|
@ -37,8 +37,77 @@ const char deanimate_rcs[] = "$Id: deanimate.c,v 1.21 2011/09/04 11:10:56 fabian
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef DEANIMATE_H_INCLUDED
|
||||
#define DEANIMATE_H_INCLUDED
|
||||
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.14 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.12 2008/03/28 15:13:39 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $
|
||||
|
@ -40,8 +40,51 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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
|
||||
extern "C" {
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# File : $Source: /cvsroot/ijbswa/current/default.action.master,v $
|
||||
#
|
||||
# $Id: default.action.master,v 1.242 2011/10/16 13:13:50 fabiankeil Exp $
|
||||
# $Id: default.action.master,v 1.170 2009/03/04 15:05:00 ler762 Exp $
|
||||
#
|
||||
# Requires : This version requires Privoxy v3.0.11 or later due to
|
||||
# syntax changes.
|
||||
|
@ -23,7 +23,7 @@
|
|||
# and enhancements are better placed in user.action,
|
||||
# the match-all section has been moved to match-all.action.
|
||||
#
|
||||
# Copyright : Written by and Copyright (C) 2001-2010 the
|
||||
# Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
# Privoxy team. http://www.privoxy.org/
|
||||
#
|
||||
# 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
|
||||
# that are useful for certain types of sites:
|
||||
#
|
||||
fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer
|
||||
fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression
|
||||
shop = -crunch-all-cookies allow-popups
|
||||
|
||||
# Your favourite blend of filters:
|
||||
|
@ -563,8 +563,6 @@ allow-ads = -block -filter{banners-by-size} -filter{banners-by-link}
|
|||
#
|
||||
{ \
|
||||
+change-x-forwarded-for{block} \
|
||||
+client-header-tagger{css-requests} \
|
||||
+client-header-tagger{image-requests} \
|
||||
+hide-from-header{block} \
|
||||
+set-image-blocker{pattern} \
|
||||
}
|
||||
|
@ -576,8 +574,6 @@ standard.Cautious
|
|||
#
|
||||
{ \
|
||||
+change-x-forwarded-for{block} \
|
||||
+client-header-tagger{css-requests} \
|
||||
+client-header-tagger{image-requests} \
|
||||
+deanimate-gifs{last} \
|
||||
+filter{refresh-tags} \
|
||||
+filter{img-reorder} \
|
||||
|
@ -644,16 +640,6 @@ standard.Advanced
|
|||
{-handle-as-image}
|
||||
/.*\.(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:
|
||||
#############################################################################
|
||||
|
@ -681,7 +667,6 @@ metrics.
|
|||
# Generic unblockers by host:
|
||||
#############################################################################
|
||||
{-block}
|
||||
# Sticky Actions = -block
|
||||
adsl.
|
||||
ad[udmw]*.
|
||||
adbl*.
|
||||
|
@ -698,11 +683,6 @@ adventure*.
|
|||
.*[epu]ad*.
|
||||
county*.
|
||||
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:
|
||||
|
@ -728,8 +708,6 @@ linuxcounter.net/
|
|||
/.*(lo|thre|he|d|gr|l|ro|re|squ|class(ified)?)ads
|
||||
/.*account
|
||||
support./(.*/)?track
|
||||
# URL = http://repo.or.cz/r/vlc.git/objects/ad/1d316efd83157217fdf9b5d417dddca54bbf41
|
||||
/.*\.git/objects/
|
||||
|
||||
#############################################################################
|
||||
# Exceptions for academia and non-profits
|
||||
|
@ -759,152 +737,6 @@ 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
|
||||
/.*(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;
|
||||
#############################################################################
|
||||
|
@ -916,10 +748,6 @@ go.idmnet.bbelements.com/please/showit/
|
|||
landing.trafficz.com/
|
||||
# Blocked URL = http://www.searchnut.com/?domain=www.inetcat.org
|
||||
.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.}}
|
||||
#MASTER# BLOCK-REFERRER: http://www.brooksbrothers.com/ 10/18/06
|
||||
|
@ -1059,52 +887,128 @@ static.lycos-europe.net
|
|||
#MASTER# BLOCK-REFERRER: http://hitta.se
|
||||
# Blocked URL = http://82.99.18.195/media.1/112/9460/146016/150x175_Hitta_FV_Feb08.gif
|
||||
82.99.18.195
|
||||
#MASTER# REMARKS: Actionsfile feedback item #1888197 and #2975927.
|
||||
#MASTER# REMARKS: Have a "go there anyway" link for clk.atdmt.com and view.atdmt.com.
|
||||
#MASTER# REMARKS: Actionsfile feedback item #1888197 2008-02-06
|
||||
#MASTER# REMARKS: Have a "go there anyway" link for clk.atdmt.com
|
||||
#MASTER# BLOCK-REFERRER: http://www.networkworld.com/resourcelibrary/?tid=4&type=special%20report
|
||||
# Blocked URL = http://clk.atdmt.com/
|
||||
# Blocked URL = http://view.atdmt.com/action/mrtiwy_FY10Office2010BetaHomeandBiz1_1
|
||||
.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
|
||||
#----------------------------------------------------------------------------
|
||||
#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
|
||||
# Blocked URL = http://a.tfag.de/js.ng/
|
||||
/js\.ng/
|
||||
#MASTER# BLOCK-REFERRER: http://www.britannica.com/ 10/23/06
|
||||
/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
|
||||
/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# BLOCK-REFERRER: http://www.securityfocus.com/archive/1/461489/30/0/threaded
|
||||
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# REMARKS: Actionsfile feedback item #1736794 2007-06-13
|
||||
js.adsonar.
|
||||
|
@ -1114,7 +1018,10 @@ js.adsonar.
|
|||
bwp.
|
||||
# Blocked URL = http://us.mc123.mail.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§ion_code=123
|
||||
/.*\?ad_(type|size)=
|
||||
|
||||
#############################################################################
|
||||
# Generic block-as-image patterns:
|
||||
|
@ -1145,8 +1052,6 @@ bwp.
|
|||
# Blocked URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
|
||||
# URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
|
||||
/(.*/)?ads/images/
|
||||
# Blocked URL = http://ad.yieldmanager.com/st?ad_type=iframe&ad_size=728x90&site=123§ion_code=123
|
||||
/.*\?ad_(type|size)=
|
||||
|
||||
#############################################################################
|
||||
# Site-specific block-as-image patterns:
|
||||
|
@ -1175,20 +1080,15 @@ bwp.
|
|||
#.yimg.com/a/.*/flash/
|
||||
#MASTER# REMARKS: The above replaced with below. Actions file tracker #1645616 2007-01-27
|
||||
.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*.einets.com
|
||||
.qkimg.net
|
||||
#MASTER# BLOCK-REFERRER: http://salon.com/ 10/19/06
|
||||
#MASTER# BLOCK-REFERRER: http://maps.yahoo.com/
|
||||
#MASTER# REMARKS: Banner farms; just exclude their corp. info
|
||||
#MASTER# REMARKS: and have a "go there anyway" link for clk.atdmt.com and view.atdmt.com
|
||||
#MASTER# REMARKS: (Actionsfile feedback item #1888197 and #2975927)
|
||||
[abd-ux-z]*.atdmt.com/
|
||||
#MASTER# REMARKS: and have a "go there anyway" link for clk.atdmt.com
|
||||
#MASTER# REMARKS: (Actionsfile feedback item #1888197)
|
||||
[abd-vx-z]*.atdmt.com/
|
||||
#MASTER# BLOCK-REFERRER: http://www.exactaudiocopy.de/ 09/11/06
|
||||
#MASTER# BLOCK-REFERRER: http://stanford.facebook.com/home.php
|
||||
# URL = http://www.fastclick.net/
|
||||
|
@ -1215,7 +1115,7 @@ a.tribalfusion.com/
|
|||
#MASTER# REMARKS: Pointdexter
|
||||
.ru4.com/
|
||||
#MASTER# BLOCK-REFERRER: http://www.boursorama.com/infos/actualites/detail_actu_marches.phtml?news=1510287
|
||||
.smartadserver.com/
|
||||
www.smartadserver.com/
|
||||
#MASTER# BLOCK-REFERRER: http://www.chez.tiscali.fr/ 10/07/06
|
||||
admedia.
|
||||
#MASTER# REMARKS: Bannerfarm used by Morpheus file sharing software
|
||||
|
@ -1305,15 +1205,6 @@ img.directtrack.com
|
|||
.pclick.yahoo.com/images/
|
||||
# Blocked URL = http://rover.ebay.com/ar/1/2/3?mpt=123&adtype=1&size=728x90
|
||||
/.*\&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
|
||||
|
@ -1406,19 +1297,6 @@ feeds.feedburner.com/~a/DilbertDailyStrip\?
|
|||
#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
|
||||
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)
|
||||
|
@ -1703,14 +1581,6 @@ tags.gawker.com/.*css$
|
|||
#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
|
||||
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: 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
|
||||
|
@ -1724,8 +1594,7 @@ fritz.box/
|
|||
# URL = http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402747&sliceId=1
|
||||
.adobe.com
|
||||
# URL = http://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
|
||||
qa.debian.org/popcon\.php
|
||||
#MASTER# REMARKS: Support Requests item #2432535 2008-12-16
|
||||
# URL = http://www.mta.info/bandt/traffic/advmain.htm
|
||||
.mta.info/.*advmain.htm$
|
||||
|
@ -1751,65 +1620,6 @@ qa.debian.org/popcon
|
|||
# URL = http://graphics8.nytimes.com/css/0.1/screen/common/ads.css
|
||||
# URL = http://graphics8.nytimes.com/css/0.1/screen/homepage/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/
|
||||
|
||||
|
||||
#############################################################################
|
||||
|
@ -1831,7 +1641,17 @@ images.apple.com
|
|||
#MASTER# REMARKS: Actions Tracker 1293057 09/02/06
|
||||
.update.microsoft.com
|
||||
#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
|
||||
|
@ -1844,7 +1664,7 @@ mail.google.*
|
|||
.dabs.com
|
||||
.overclockers.co.uk
|
||||
.db24.de
|
||||
.ebay.*
|
||||
.ebay.
|
||||
.mobile.de
|
||||
www.fondationlejeu.com
|
||||
www.techtv.com
|
||||
|
@ -1893,21 +1713,21 @@ i.cnn.net/cnn/.*/clickability/button
|
|||
# Sticky Actions = -fast-redirects
|
||||
www.ukc.ac.uk/cgi-bin/wac\.cgi\?
|
||||
#MASTER# PROBLEM-URL: http://www.google.com/search?q=foo
|
||||
# URL = http://www.google.com/search?q=foo
|
||||
.google.*
|
||||
.google.
|
||||
#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
|
||||
#MASTER# PROBLEM-URL: http://www.speedfind.de/cgi-bin/search?q=foo&t=STANDARD
|
||||
.speedfind.de
|
||||
#MASTER# PROBLEM-URL: http://www.nytimes.com/
|
||||
.nytimes.com
|
||||
#MASTER# REMARKS: Disable fast-redirects for all of yahoo.com/.
|
||||
#MASTER# REMARKS: Apparently we can't keep up with maintaining more precise exceptions.
|
||||
# URL = http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
|
||||
#MASTER# REMARKS: Yahoo logout URL after first redirect. fk 2007-01-19
|
||||
#MASTER# REMARKS: Logout fails if we fast-redirect to the URL after "done=".
|
||||
#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/
|
||||
# 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 #1802365.
|
||||
.yahoo.com/
|
||||
# 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
|
||||
.rd.yahoo.com/reg/login1/
|
||||
# URL = http://validator.w3.org/check
|
||||
.w3.org
|
||||
#MASTER# PROBLEM-URL: http://www.ask.com/
|
||||
|
@ -1974,23 +1794,6 @@ view.samurajdata.se/ps\.php\?url=
|
|||
.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
|
||||
.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
|
||||
|
@ -2135,10 +1938,6 @@ javabog.dk/ijk/
|
|||
.fsfe.org/
|
||||
# URL = http://www.couchsurfing.com/mapsurf.html
|
||||
.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}}
|
||||
# Sticky Actions = -filter{banners-by-link}
|
||||
|
@ -2153,6 +1952,9 @@ javabog.dk/ijk/
|
|||
#MASTER# REMARKS: This section NOT checked 10/18/06 HB
|
||||
#MASTER# REMARKS: These are movie clips, linked from http://us.imdb.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
|
||||
# URL = http://validator.w3.org/check?uri=referer
|
||||
validator.w3.org/check\?uri=referer
|
||||
|
@ -2271,37 +2073,22 @@ blogs.msdn.com
|
|||
# URL = http://blogs.msdn.com/wga/archive/2006/07/16/667063.aspx
|
||||
blogs.msdn.com
|
||||
|
||||
{-filter{jumping-windows}}
|
||||
# Sticky Actions = -filter{jumping-windows}
|
||||
# URL = http://www.openstreetmap.org
|
||||
.openstreetmap.org
|
||||
|
||||
{+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# 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/
|
||||
rds.yahoo.com/
|
||||
# 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# COMMENTS: Verified 2007-01-19 fk
|
||||
#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
|
||||
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
|
||||
dw.com.com/
|
||||
#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
|
||||
# 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\?
|
||||
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
|
||||
# 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\?
|
||||
# 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.}}
|
||||
#MASTER# COMMENTS: This section not checked 10/17/06 HB. Still out there?
|
||||
|
@ -2309,6 +2096,9 @@ www.skweezer.net/bloglines
|
|||
#MASTER# REMARKS: Lame attempt at banning ad-blockers. Used by other websites as well.
|
||||
/antitheft\.php
|
||||
|
||||
{ +prevent-compression }
|
||||
.compusa.com/
|
||||
|
||||
{+filter{tiny-textforms}}
|
||||
.sourceforge.net/tracker
|
||||
|
||||
|
@ -2326,8 +2116,6 @@ www.skweezer.net/bloglines
|
|||
{+redirect{http://config.privoxy.org/}}
|
||||
# Sticky Actions = +redirect{http://config.privoxy.org/}
|
||||
# URL = http://www.privoxy.org/config
|
||||
# Redirected URL = http://www.privoxy.org/config
|
||||
# Redirect Destination = http://config.privoxy.org/
|
||||
.privoxy.org/config
|
||||
|
||||
#MASTER# REMARKS: Privoxy's "unsafe" CGI pages check the referrer
|
||||
|
@ -2349,28 +2137,8 @@ config.privoxy.org/
|
|||
# XXX: Privoxy-Regression-Test currently doesn't allow backslashes.
|
||||
# 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
|
||||
# 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://
|
||||
|
||||
#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.
|
||||
#----------------------------------------------------------------------------
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
#
|
||||
# File : $Source: /cvsroot/ijbswa/current/default.filter,v $
|
||||
#
|
||||
# $Id: default.filter,v 1.83 2011/10/16 14:01:05 fabiankeil Exp $
|
||||
# $Id: default.filter,v 1.71 2009/03/01 18:33:17 ler762 Exp $
|
||||
#
|
||||
# Purpose : Rules to process the content of web pages
|
||||
#
|
||||
# Copyright : Written by and Copyright (C) 2001-2010 the
|
||||
# Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
# Privoxy team. http://www.privoxy.org/
|
||||
#
|
||||
# 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 JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).
|
||||
# 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).
|
||||
FILTER: js-events Kill all JS 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
|
||||
# Not events, but abused on the same type of sites:
|
||||
s/(alert|confirm)\s*\(/concat(/ig
|
||||
s/set(timeout|interval)\(/concat(/ig
|
||||
s/settimeout\(/concat(/ig
|
||||
|
||||
#################################################################################
|
||||
#
|
||||
|
@ -177,15 +177,15 @@ s|<meta\s+http-equiv=['"]?set-cookie.*>|<!-- ZappedCookie -->|igU
|
|||
|
||||
#################################################################################
|
||||
#
|
||||
# refresh-tags: Kill automatic refresh tags if refresh time is larger than 9 seconds.
|
||||
# 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.
|
||||
FILTER: refresh-tags Kill automatic refresh tags (for dial-on-demand setups).
|
||||
|
||||
# Note: Only deactivates refreshes with more than 9 seconds delay to
|
||||
# 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"@ig
|
||||
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
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
@ -422,7 +422,7 @@ FILTER: fun Text replacements for subversive browsing fun!
|
|||
|
||||
# SCNR
|
||||
#
|
||||
s/microsoft(?!\.[^\s])/MicroSuck/ig
|
||||
s/microsoft(?!.[^\s])/MicroSuck/ig
|
||||
|
||||
# Buzzword Bingo (example for extended regex syntax)
|
||||
#
|
||||
|
@ -580,9 +580,7 @@ s@</head>@<style type="text/css">\n\
|
|||
\#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\
|
||||
\#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\
|
||||
\#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\
|
||||
.main_body, .j, \#res, .med, .hd, .g, .s\n\
|
||||
{width: 99%; max-width: 100%; margin-left: 0; margin-right: 0;}\n\
|
||||
</style>\n$0@
|
||||
.main_body, .j {width: 100%}\n</style>\n$0@
|
||||
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\
|
||||
|</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\
|
||||
|
@ -602,12 +600,9 @@ s@</head>@\n<style type="text/css">\n\
|
|||
/* Style sheet inserted by Privoxy's yahoo filter. */\n\
|
||||
\#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
|
||||
\#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
|
||||
\#nwad, \#MWA2, \#MSCM, \#yregad, \#sponsored-links,\
|
||||
\#ks-ypn-ads, .ad, \#east, \#ygrp-vital, .ads {display: none !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\
|
||||
\#nwad, \#MWA2, \#MSCM, \#yregad, \
|
||||
\#ks-ypn-ads, .ad, \#east, \#ygrp-vital {display: none !important;}\n\
|
||||
\#yschpri, \#yschweb, \#pri, \#web, \#main {width: 100% !important; max-width: 100% !important;}\n\
|
||||
\#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\
|
||||
\#composebox \#compose_editorArea {width: 70% !important; /* reasonably sized reply textarea please */\n\
|
||||
</style>\n$0\n@
|
||||
|
@ -626,15 +621,12 @@ s@</head>@<style type="text/css">\n\
|
|||
/* Style sheet inserted by Privoxy's msn filter. */\n\
|
||||
.msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\
|
||||
\#results, .flank, .results_area_flank, .results_area_stroke,\n\
|
||||
\#results_area, \#content, .sb_tlst, .sa_cc, .sb_ph, \#sw_main,\n\
|
||||
\#results_area, .SearchSection, .not, .sc_rslth1\n\
|
||||
.content, \#sw_foot, \#bf, \#sw_content, \#sidebar, \#pag\n\
|
||||
{width: 99% !important; min-width: 99% !important;\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\
|
||||
.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\
|
||||
</style>\n$0@
|
||||
# Are these ids still in use?
|
||||
|
@ -767,34 +759,6 @@ CLIENT-HEADER-TAGGER: css-requests Tags detected CSS requests as "CSS-REQUEST".
|
|||
|
||||
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.
|
||||
|
@ -870,3 +834,456 @@ s@^X-Privoxy-Control:\s*@@i
|
|||
SERVER-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers.
|
||||
|
||||
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 "<".
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : AUTHORS file for Privoxy
|
||||
|
||||
$Id: authors.sgml,v 2.21 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: authors.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
|
||||
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
|
@ -26,7 +26,7 @@
|
|||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||
<!entity % dummy "IGNORE">
|
||||
<!entity authors SYSTEM "p-authors.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: buildsource.sgml,v 2.19 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: buildsource.sgml,v 2.18 2009/02/23 09:03:12 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
|
||||
<!entity % dummy "IGNORE">
|
||||
<!entity config SYSTEM "p-config.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % user-man "IGNORE">
|
||||
|
@ -13,7 +13,7 @@
|
|||
|
||||
Purpose : config file generation
|
||||
|
||||
$Id: config.sgml,v 2.22 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: config.sgml,v 2.12 2009/02/12 16:08:26 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: contacting.sgml,v 2.30 2011/11/19 14:44:01 fabiankeil Exp $
|
||||
$Id: contacting.sgml,v 2.14 2008/04/26 11:38:51 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
||||
======================================================================
|
||||
|
@ -52,15 +52,6 @@
|
|||
developers, either use the mailing lists or the support trackers.
|
||||
</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>
|
||||
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||
addresses have to be accepted manually by a moderator. This may cause a
|
||||
|
@ -159,7 +150,7 @@
|
|||
that your bug still exists.
|
||||
</para>
|
||||
<para>
|
||||
Please be sure to provide the following information:
|
||||
Please be sure to provide the following information:
|
||||
</para>
|
||||
<para>
|
||||
<itemizedlist>
|
||||
|
@ -223,28 +214,7 @@
|
|||
<para>
|
||||
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). 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.
|
||||
action taken).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -253,28 +223,16 @@ debug 8192 # Non-fatal errors</literallayout>
|
|||
|
||||
<para>
|
||||
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
|
||||
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. 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.
|
||||
found a solution.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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.
|
||||
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>
|
||||
|
@ -293,13 +251,10 @@ debug 8192 # Non-fatal errors</literallayout>
|
|||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="mailing-lists"><title>Mailing Lists</title>
|
||||
<sect2 id="contact-other"><title>Other</title>
|
||||
<para>
|
||||
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 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.
|
||||
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 <application>Privoxy</application>-related mailing lists,
|
||||
including list archives, at:
|
||||
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: copyright.sgml,v 2.14 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: copyright.sgml,v 2.10 2009/02/10 16:13:30 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
||||
======================================================================
|
||||
|
@ -36,7 +36,7 @@
|
|||
-->
|
||||
|
||||
<para>
|
||||
Copyright &my-copy; 2001-2011 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email>
|
||||
Copyright &my-copy; 2001-2009 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<!entity contacting SYSTEM "contacting.sgml">
|
||||
<!entity copyright SYSTEM "copyright.sgml">
|
||||
<!entity license SYSTEM "license.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
|
@ -24,7 +24,7 @@
|
|||
This file belongs into
|
||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||
|
||||
$Id: developer-manual.sgml,v 2.38 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: developer-manual.sgml,v 2.27 2009/02/19 02:20:22 hal9 Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
@ -51,7 +51,7 @@
|
|||
</pubdate>
|
||||
|
||||
|
||||
<pubdate>$Id: developer-manual.sgml,v 2.38 2011/12/26 17:05:40 fabiankeil Exp $</pubdate>
|
||||
<pubdate>$Id: developer-manual.sgml,v 2.27 2009/02/19 02:20:22 hal9 Exp $</pubdate>
|
||||
|
||||
<!--
|
||||
|
||||
|
@ -1854,6 +1854,9 @@ const char FILENAME_rcs[] = "$I<!-- Break CVS Substitution -->d$";
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
|
||||
* USA
|
||||
*
|
||||
* Revisions :
|
||||
* $L<!-- Break CVS Substitution -->og$
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
@ -1908,6 +1911,9 @@ const char FILENAME_h_rcs[] = FILENAME_H_VERSION;
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
|
||||
* USA
|
||||
*
|
||||
* Revisions :
|
||||
* $L<!-- Break CVS Substitution -->og$
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
@ -3005,41 +3011,6 @@ at sourceforge. Three simple steps:
|
|||
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
$Log: developer-manual.sgml,v $
|
||||
Revision 2.38 2011/12/26 17:05:40 fabiankeil
|
||||
Bump entities for 3.0.19
|
||||
|
||||
Revision 2.37 2011/11/13 17:03:54 fabiankeil
|
||||
Bump entities for 3.0.18 stable
|
||||
|
||||
Revision 2.36 2011/09/04 11:10:12 fabiankeil
|
||||
Ditch trailing whitespace
|
||||
|
||||
Revision 2.35 2011/08/17 10:40:07 fabiankeil
|
||||
Update the entities.
|
||||
|
||||
This commit is chronological out of order.
|
||||
|
||||
Revision 2.34 2010/11/06 12:55:48 fabiankeil
|
||||
Set p-version to 3.0.17
|
||||
|
||||
Revision 2.33 2010/02/13 17:38:27 fabiankeil
|
||||
Update entities for 3.0.16 stable.
|
||||
|
||||
Revision 2.32 2009/11/15 14:24:12 fabiankeil
|
||||
Prepare to generate docs for 3.0.16 UNRELEASED.
|
||||
|
||||
Revision 2.31 2009/10/10 05:48:55 fabiankeil
|
||||
Prepare for 3.0.15 beta.
|
||||
|
||||
Revision 2.30 2009/07/18 16:24:39 fabiankeil
|
||||
Bump entities for 3.0.14 beta.
|
||||
|
||||
Revision 2.29 2009/06/12 14:30:58 fabiankeil
|
||||
Update entities for 3.0.13 beta.
|
||||
|
||||
Revision 2.28 2009/05/16 13:27:21 fabiankeil
|
||||
Remove CVS revision logs. TODO item #33.
|
||||
|
||||
Revision 2.27 2009/02/19 02:20:22 hal9
|
||||
Make some links in seealso conditional. Man page is now privoxy only links.
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<!entity history SYSTEM "history.sgml">
|
||||
<!entity copyright SYSTEM "copyright.sgml">
|
||||
<!entity license SYSTEM "license.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
|
@ -27,7 +27,7 @@
|
|||
This file belongs into
|
||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||
|
||||
$Id: faq.sgml,v 2.85 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: faq.sgml,v 2.58 2009/03/21 12:27:44 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
@ -73,12 +73,12 @@
|
|||
<subscript>
|
||||
<!-- Completely the wrong markup, but very little is allowed -->
|
||||
<!-- in this part of an article. FIXME -->
|
||||
<link linkend="copyright">Copyright</link> &my-copy; 2001-2011 by
|
||||
<link linkend="copyright">Copyright</link> &my-copy; 2001-2009 by
|
||||
<ulink url="http://www.privoxy.org/">Privoxy Developers</ulink>
|
||||
</subscript>
|
||||
</pubdate>
|
||||
|
||||
<pubdate>$Id: faq.sgml,v 2.85 2011/12/26 17:05:40 fabiankeil Exp $</pubdate>
|
||||
<pubdate>$Id: faq.sgml,v 2.58 2009/03/21 12:27:44 fabiankeil Exp $</pubdate>
|
||||
|
||||
<!--
|
||||
|
||||
|
@ -464,9 +464,9 @@ warranty? Registration?</title>
|
|||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 renderas="sect3" id="help-the-developers"><title id="jointeam">I would like to help you, what can I do?</title>
|
||||
<sect2 renderas="sect3" id="jointeam"><title>I would like to help you, what can I do?</title>
|
||||
|
||||
<sect3 renderas="sect4" id="participate"><title id="jointeam-work">Would you like to participate?</title>
|
||||
<sect3 renderas="sect4" id="jointeam-work"><title>Would you like to participate?</title>
|
||||
<para>
|
||||
Well, we <emphasis>always</emphasis> need help. There is something for
|
||||
everybody who wants to help us. We welcome new developers, packagers,
|
||||
|
@ -475,92 +475,59 @@ warranty? Registration?</title>
|
|||
<quote>programmer</quote>. There are many other tasks available. In fact,
|
||||
the programmers often can't spend as much time programming because of some
|
||||
of the other, more mundane things that need to be done, like checking the
|
||||
Tracker feedback sections or responding to user questions on the mailing
|
||||
lists.
|
||||
Tracker feedback sections.
|
||||
</para>
|
||||
<para>
|
||||
So first thing, subscribe to the <ulink
|
||||
url="https://lists.sourceforge.net/lists/listinfo/ijbswa-users">Privoxy Users</ulink>
|
||||
or the <ulink url="https://lists.sourceforge.net/lists/listinfo/ijbswa-developers">Privoxy
|
||||
Developers</ulink> mailing list, join the discussion, help out other users, provide general
|
||||
feedback or report problems you noticed.
|
||||
</para>
|
||||
<para>
|
||||
If you intend to help out with the trackers, you also might want to <ulink
|
||||
So first thing, <ulink
|
||||
url="https://sourceforge.net/account/register.php">get an account on SourceForge.net</ulink>
|
||||
so we don't confuse you with the other name-less users.
|
||||
</para>
|
||||
and mail your id to the <ulink url="mailto:ijbswa-developers@lists.sourceforge.net">developers
|
||||
mailing list</ulink>. Then, please read the <ulink
|
||||
url="../developer-manual/index.html">Developer's Manual</ulink>, at least
|
||||
the pertinent sections.
|
||||
</para>
|
||||
<para>
|
||||
We also have a <ulink
|
||||
url="../developer-manual/index.html">Developer's Manual</ulink>.
|
||||
While it is partly out of date, it's still worth reading.
|
||||
</para>
|
||||
<para>
|
||||
Our <ulink url="http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/TODO?view=markup">TODO list</ulink>
|
||||
may be of interest to you as well.
|
||||
Please let us know if you want to work on one of the items listed.
|
||||
</para>
|
||||
You can also start helping out without SourceForge.net account,
|
||||
simply by showing up on the mailing list, helping out other users,
|
||||
providing general feedback or reporting problems you noticed.
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
<sect3 renderas="sect4" id="donate"><title>Would you like to donate?</title>
|
||||
<para>
|
||||
<application>Privoxy</application> is developed by unpaid volunteers
|
||||
and thus our current running costs are pretty low. Nevertheless, we
|
||||
have plans that will cost money in the future. They include,
|
||||
but aren't limited to spending money on:
|
||||
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Hardware to help make sure <application>Privoxy</application>
|
||||
keeps running on platforms the developers currently can't test
|
||||
on and can be ported to others.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Technical books to educate our developers about said platforms
|
||||
or to improve their knowledge in general.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
More reliable hosting,
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We would like to get this money through donations made by our users.
|
||||
have plans that will cost money in the future. We would like to get
|
||||
this money through donations made by our users.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>Privoxy</application> has therefore become an associated
|
||||
project of <ulink url="http://www.spi-inc.org/about-spi/about-spi">Software
|
||||
in the Public Interest (SPI)</ulink>, which allows us to receive donations.
|
||||
In the United States they are tax-deductible, in a few other western countries
|
||||
they might be tax-deductible in the future.
|
||||
in the Public Interest (SPI)</ulink>, which allows us to receive tax-deductible
|
||||
donations in most western countries.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you read this section before you may notice that paying for the
|
||||
project domain privoxy.org is no longer on the list. It has been
|
||||
transferred to SPI is sponsored by Mythic Beasts Ltd.
|
||||
We intend to use the donations to pay for our domain after transfering
|
||||
it to SPI. Our goal is to make sure there's no single point of failure
|
||||
and the bill gets paid and the site keeps running even if a some of
|
||||
the currently active developers were to suddenly disappear for a while.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We would also like to spend some money on more reliable hosting,
|
||||
on hardware to help make sure <application>Privoxy</application>
|
||||
keeps running on platforms the developers currently can't test on,
|
||||
and on technical books to educate our developers about said platforms
|
||||
or to improve their knowledge in general.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you enjoy our software and feel like helping out with a donation,
|
||||
please have a look at
|
||||
<ulink url="http://www.spi-inc.org/donations">SPI's donation page</ulink>
|
||||
to see what the options are. If you have any questions regarding donations
|
||||
please mail to either the public user mailing list or, if it's a private
|
||||
matter, to <ulink url="mailto:fk@fabiankeil.de">Fabian Keil</ulink>
|
||||
(Privoxy's SPI liason) directly.
|
||||
</para>
|
||||
to see what the options are.
|
||||
<para>
|
||||
</sect3>
|
||||
|
||||
</sect2>
|
||||
|
@ -831,8 +798,23 @@ way to do this?</title>
|
|||
<title>There are several different <quote>actions</quote> files. What are
|
||||
the differences?</title>
|
||||
<para>
|
||||
Please have a look at the <ulink url="../user-manual/actions-file.html">the actions chapter</ulink>
|
||||
in the <ulink url="../user-manual/index.html">User Manual</ulink> for a detailed explanation.
|
||||
Three actions files
|
||||
are being included by the developers, to be used for
|
||||
different purposes: These are
|
||||
<filename>default.action</filename>, the <quote>main</quote> actions file
|
||||
which is actively maintained by the <application>Privoxy</application>
|
||||
developers and typically sets the default policies, <filename>user.action</filename>,
|
||||
where users are encouraged to make their private customizations.
|
||||
Please see <ulink url="../user-manual/actions-file.html">the actions chapter</ulink>
|
||||
in the <ulink url="../user-manual/index.html">User Manual</ulink> for a more
|
||||
detailed explanation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Earlier versions included three different versions of the
|
||||
<filename>default.action</filename> file. The new scheme allows for
|
||||
greater flexibility of local configuration, and for browser based
|
||||
selection of pre-defined <quote>aggressiveness</quote> levels.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -971,7 +953,7 @@ with a browser? Does that not raise security issues?</title>
|
|||
<para>
|
||||
If you run <application>Privoxy</application> for multiple untrusted users (e.g. in
|
||||
a LAN) or aren't entirely in control of your own browser, you will probably want
|
||||
to make sure that the web-based editor and remote toggle features are
|
||||
to make sure that the the web-based editor and remote toggle features are
|
||||
<quote>off</quote> by setting <quote><literal><ulink
|
||||
url="../user-manual/config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</ulink>
|
||||
0</literal></quote> and <quote><literal><ulink
|
||||
|
@ -1001,7 +983,7 @@ with a browser? Does that not raise security issues?</title>
|
|||
<ulink
|
||||
url="../user-manual/actions-file.html#FILTER"><literal>filter</literal>
|
||||
action</ulink> in one of the actions files. Content filtering is automatically
|
||||
disabled for inappropriate MIME types, but if you know better than Privoxy
|
||||
disabled for inappropriate MIME types, but if you now better than Privoxy
|
||||
what should or should not be filtered you can filter any content you like.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -1188,17 +1170,17 @@ on Win2K/NT/XP?</title>
|
|||
|
||||
|
||||
<sect2 renderas="sect3" id="otherproxy">
|
||||
<title>How can I make Privoxy work with other proxies?</title>
|
||||
<title>How can I make Privoxy work with other
|
||||
proxies like Squid or Tor?</title>
|
||||
<para>
|
||||
This can be done and is often useful to combine the benefits of
|
||||
<application>Privoxy</application> with those of a another proxy,
|
||||
for example to cache content.
|
||||
<application>Privoxy</application> with those of a another proxy.
|
||||
See the <ulink
|
||||
url="../user-manual/config.html#FORWARDING">forwarding chapter</ulink>
|
||||
in the <ulink url="../user-manual/index.html">User Manual</ulink> which
|
||||
describes how to do this. If you intend to use Privoxy with Tor,
|
||||
please also have a look at
|
||||
<link linkend="TOR">How do I use Privoxy together with Tor</link>.
|
||||
describes how to do this, and the <link linkend="TOR">
|
||||
How do I use Privoxy together with
|
||||
Tor</link> section below.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
@ -1208,8 +1190,7 @@ and thus avoid individual browser configuration?</title>
|
|||
|
||||
<para>
|
||||
No, its more complicated than that. This only works with special kinds
|
||||
of proxies known as <quote>intercepting</quote> proxies
|
||||
(<link linkend="INTERCEPTING">see below</link>).
|
||||
of proxies known as <quote>intercepting</quote> proxies (see below).
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -1226,7 +1207,7 @@ and thus avoid individual browser configuration?</title>
|
|||
<para>
|
||||
However, some people say <quote>transparent proxy</quote> when they
|
||||
mean <quote>intercepting proxy</quote>. If you are one of them,
|
||||
please read the <link linkend="INTERCEPTING">next entry</link>.
|
||||
please read the <ulink url="#intercepting">next entry</ulink>.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -1786,11 +1767,9 @@ us help you. Your efforts are not wasted, and we do appreciate them.
|
|||
If you verified that <application>Privoxy</application> and <application>Tor</application>
|
||||
are working, it is time to connect them. As far as <application>Privoxy</application>
|
||||
is concerned, <application>Tor</application> is just another proxy that can be reached
|
||||
by socks4, socks4a and socks5. Most likely you are interested in <application>Tor</application>
|
||||
to increase your anonymity level, therefore you should use socks5, to make sure DNS
|
||||
requests are done through <application>Tor</application> and thus invisible to your
|
||||
local network. Using socks4a would work too, but with socks5 you get more precise error
|
||||
messages.
|
||||
by socks4 or socks4a. Most likely you are interested in <application>Tor</application>
|
||||
to increase your anonymity level, therefore you should use socks4a, to make sure DNS requests are
|
||||
done through <application>Tor</application> and thus invisible to your local network.
|
||||
</para>
|
||||
|
||||
<![%p-newstuff;[
|
||||
|
@ -1805,7 +1784,7 @@ us help you. Your efforts are not wasted, and we do appreciate them.
|
|||
</para>
|
||||
<para>
|
||||
<screen>
|
||||
# forward-socks5 / 127.0.0.1:9050 .
|
||||
# forward-socks4a / 127.0.0.1:9050 .
|
||||
</screen>
|
||||
</para>
|
||||
<para>
|
||||
|
@ -2220,42 +2199,6 @@ and related issues?</title>
|
|||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 renderas="sect3" id="surprise-privoxy">
|
||||
<title>How did you manage to get Privoxy on my computer without my consent?</title>
|
||||
|
||||
<para>
|
||||
We didn't. We make Privoxy available for download, but we don't go
|
||||
around installing it on other people's systems behind their back.
|
||||
If you discover Privoxy running on your system and are sure you didn't
|
||||
install it yourself, somebody else did. You may not even be running
|
||||
the real Privoxy, but maybe something else that only pretends to be
|
||||
Privoxy, or maybe something that is based on the real Privoxy,
|
||||
but has been modified.
|
||||
</para>
|
||||
<para>
|
||||
Lately there have been reports of problems with some kind of
|
||||
Privoxy versions that come preinstalled on some Netbooks.
|
||||
Some of the problems described are inconsistent with the behaviour
|
||||
of official Privoxy versions, which suggests that the preinstalled
|
||||
software may contain vendor modifications that we don't know about
|
||||
and thus can't debug.
|
||||
</para>
|
||||
<para>
|
||||
Privoxy's <link linkend="copyright">license</link> allows vendor
|
||||
modifications, but the vendor has to comply with the license,
|
||||
which involves informing the user about the changes and to make
|
||||
the changes available under the same license as Privoxy itself.
|
||||
</para>
|
||||
<para>
|
||||
If you are having trouble with a modified Privoxy version,
|
||||
please try to talk to whoever made the modifications before
|
||||
reporting the problem to us. Please also try to convince
|
||||
whoever made the modifications to talk to us. If you think
|
||||
somebody gave you a modified Privoxy version without complying
|
||||
to the license, please let us know.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -2992,108 +2935,6 @@ browsing has slowed to a crawl. What gives? </title>
|
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
$Log: faq.sgml,v $
|
||||
Revision 2.85 2011/12/26 17:05:40 fabiankeil
|
||||
Bump entities for 3.0.19
|
||||
|
||||
Revision 2.84 2011/11/13 17:03:54 fabiankeil
|
||||
Bump entities for 3.0.18 stable
|
||||
|
||||
Revision 2.83 2011/11/13 16:53:24 fabiankeil
|
||||
Rephrase the donations section some more
|
||||
|
||||
Mention that the domain is now sponsored by Mythic Beasts Ltd
|
||||
and make it clear that asking questions about donations is
|
||||
possible, too.
|
||||
|
||||
Revision 2.82 2011/11/13 16:50:34 fabiankeil
|
||||
Note that donations for Privoxy are currently only tax-deductible in the US
|
||||
|
||||
As it turns out tax-deductible donations in a few other western
|
||||
countries are theoretically possible through partner organizations
|
||||
but aren't available out of the box.
|
||||
|
||||
Revision 2.81 2011/09/04 11:10:12 fabiankeil
|
||||
Ditch trailing whitespace
|
||||
|
||||
Revision 2.80 2011/08/18 11:42:50 fabiankeil
|
||||
Bump some more documentation copyright ranges.
|
||||
|
||||
Revision 2.79 2011/08/17 10:40:07 fabiankeil
|
||||
Update the entities.
|
||||
|
||||
This commit is chronological out of order.
|
||||
|
||||
Revision 2.78 2011/04/19 13:14:10 fabiankeil
|
||||
Fix spelling errors in the documentation. Found with codespell.
|
||||
|
||||
Revision 2.77 2011/03/03 14:22:12 fabiankeil
|
||||
Remove duplicated 'the'
|
||||
|
||||
Revision 2.76 2010/11/22 10:35:02 fabiankeil
|
||||
Mention socks5 in another part of the Tor section.
|
||||
|
||||
Revision 2.75 2010/11/13 10:08:00 fabiankeil
|
||||
Fix a link to the 'intercepting' entry and add another one
|
||||
|
||||
Revision 2.74 2010/11/13 10:07:46 fabiankeil
|
||||
Remove the product names in the 'otherproxy' entry's title.
|
||||
|
||||
I'm tired of getting the 'otherproxy' entry as first hit
|
||||
when searching the index for the Tor FAQ.
|
||||
|
||||
Revision 2.73 2010/11/06 12:55:48 fabiankeil
|
||||
Set p-version to 3.0.17
|
||||
|
||||
Revision 2.72 2010/02/27 12:13:17 fabiankeil
|
||||
Fix spelling.
|
||||
|
||||
Revision 2.71 2010/02/27 12:12:13 fabiankeil
|
||||
Consistently recommending socks5 in the Tor entry and mention its advantage compared to socks4a.
|
||||
Reported by David in #2960129.
|
||||
|
||||
Revision 2.70 2010/02/20 18:08:31 ler762
|
||||
fix typo
|
||||
|
||||
Revision 2.69 2010/02/13 17:38:27 fabiankeil
|
||||
Update entities for 3.0.16 stable.
|
||||
|
||||
Revision 2.68 2010/01/30 19:51:28 fabiankeil
|
||||
New FAQ entry: How did you manage to get Privoxy on my computer without my consent?
|
||||
|
||||
Also bump copyright.
|
||||
|
||||
Revision 2.67 2009/11/15 14:24:12 fabiankeil
|
||||
Prepare to generate docs for 3.0.16 UNRELEASED.
|
||||
|
||||
Revision 2.66 2009/10/10 05:48:55 fabiankeil
|
||||
Prepare for 3.0.15 beta.
|
||||
|
||||
Revision 2.65 2009/07/18 16:24:39 fabiankeil
|
||||
Bump entities for 3.0.14 beta.
|
||||
|
||||
Revision 2.64 2009/07/18 12:18:52 fabiankeil
|
||||
Don't describe the action files in the FAQ when we can simply link to the description in the User Manual.
|
||||
|
||||
Revision 2.63 2009/06/15 15:08:03 fabiankeil
|
||||
Patch #2806626 from Frédéric Crozat to fix a closing tag.
|
||||
|
||||
Revision 2.62 2009/06/12 14:30:58 fabiankeil
|
||||
Update entities for 3.0.13 beta.
|
||||
|
||||
Revision 2.61 2009/06/12 11:52:33 fabiankeil
|
||||
Mention the TODO list in the participate entry.
|
||||
|
||||
Revision 2.60 2009/04/07 12:25:05 fabiankeil
|
||||
In the "I would like to help ..." entry:
|
||||
- Change the ids to more general ones as helping out doesn't require
|
||||
joining the team (and joining the team requires significantly helping
|
||||
out first, anyway).
|
||||
- Add links to the subscription pages for the main mailing lists.
|
||||
|
||||
Revision 2.59 2009/03/28 15:33:41 fabiankeil
|
||||
Recommend the use of forward-socks5 when forwarding to Tor.
|
||||
The error messages are more detailed than with forward-socks4a.
|
||||
|
||||
Revision 2.58 2009/03/21 12:27:44 fabiankeil
|
||||
Turn the donation entry title into a question,
|
||||
also rephrase the content a bit.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: history.sgml,v 2.8 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: history.sgml,v 2.7 2009/02/22 11:05:21 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||
<!entity % dummy "IGNORE">
|
||||
<!entity buildsource SYSTEM "buildsource.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
|
@ -16,7 +16,7 @@
|
|||
|
||||
Purpose : INSTALL file for Privoxy
|
||||
|
||||
$Id: install.sgml,v 2.21 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: install.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
;; REFENTRY body-attr
|
||||
;; PURP What attributes should be hung off of BODY?
|
||||
;; DESC
|
||||
;; A list of the BODY attributes that should be generated.
|
||||
;; 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
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: license.sgml,v 2.7 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: license.sgml,v 2.6 2008/05/23 15:09:48 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: newfeatures.sgml,v 2.14 2009/10/10 05:51:13 fabiankeil Exp $
|
||||
$Id: newfeatures.sgml,v 2.10 2009/02/14 17:37:13 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
@ -34,15 +34,7 @@
|
|||
-->
|
||||
<listitem>
|
||||
<para>
|
||||
Supports "Connection: keep-alive". Outgoing connections can
|
||||
be kept alive independently from the client.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Supports IPv6, provided the operating system does so too,
|
||||
and the configure script detects it.
|
||||
Can keep outgoing connections alive and reuse them later on.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -75,7 +67,7 @@
|
|||
|
||||
<listitem>
|
||||
<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>
|
||||
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
|
||||
tracing of rule and filter effects. Remote toggling.
|
||||
|
@ -85,7 +77,8 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Web page filtering (text replacements, removes banners based on size,
|
||||
invisible <quote>web-bugs</quote> and HTML annoyances, etc.)
|
||||
invisible <quote>web-bugs</quote>, JavaScript and HTML annoyances,
|
||||
pop-up windows, etc.)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -104,6 +97,12 @@
|
|||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improved cookie management features (e.g. session based cookies).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
GIF de-animation.
|
||||
|
@ -116,6 +115,12 @@
|
|||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Multi-threaded (POSIX and native threads).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
|
||||
|
@ -130,7 +135,14 @@
|
|||
|
||||
<listitem>
|
||||
<para>
|
||||
Most features are controllable on a per-site or per-location basis.
|
||||
Improved signal handling, and a true daemon mode (Unix).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Every feature now controllable on a per-site or per-location basis, configuration
|
||||
more powerful and versatile over-all.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: p-authors.sgml,v 2.44 2011/12/26 18:41:54 fabiankeil Exp $
|
||||
$Id: p-authors.sgml,v 2.34 2009/02/08 18:13:26 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
@ -35,8 +35,11 @@ Current Privoxy Team:
|
|||
]]>
|
||||
|
||||
Hal Burgiss
|
||||
Mark Miller
|
||||
Gerry Murphy
|
||||
Lee Rian
|
||||
Roland Rosenfeld
|
||||
Jörg Strohmayer
|
||||
<![%p-authors-formal;[
|
||||
</literallayout>
|
||||
|
||||
|
@ -58,13 +61,10 @@ Current Privoxy Team:
|
|||
Adam Lock
|
||||
Guy Laroche
|
||||
Justin McMurtry
|
||||
Mark Miller
|
||||
Gerry Murphy
|
||||
Andreas Oesterhelt
|
||||
Haroon Rafique
|
||||
Georg Sauthoff
|
||||
Thomas Steudten
|
||||
Jörg Strohmayer
|
||||
Rodney Stromlund
|
||||
Sviatoslav Sviridov
|
||||
Sarantis Paskalis
|
||||
|
@ -80,14 +80,10 @@ Current Privoxy Team:
|
|||
<literallayout>
|
||||
Ken Arromdee
|
||||
Devin Bayer
|
||||
Havard Berland
|
||||
Gergely Bor
|
||||
Francois Botha
|
||||
Reiner Buehl
|
||||
Andrew J. Caines
|
||||
Clifford Caoile
|
||||
Wan-Teh Chang
|
||||
Billy Crook
|
||||
Frédéric Crozat
|
||||
Michael T. Davis
|
||||
Mattes Dolak
|
||||
|
@ -99,7 +95,6 @@ Current Privoxy Team:
|
|||
Stephen Gildea
|
||||
Daniel Griscom
|
||||
Felix Gröbert
|
||||
Jeff H.
|
||||
Aaron Hamid
|
||||
Darel Henman
|
||||
Magnus Holmgren
|
||||
|
@ -113,17 +108,13 @@ Current Privoxy Team:
|
|||
Bert van Leeuwen
|
||||
Don Libes
|
||||
Paul Lieverse
|
||||
Han Liu
|
||||
Toby Lyward
|
||||
Wil Mahan
|
||||
Jindrich Makovicka
|
||||
Raphael Marichez
|
||||
Francois Marier
|
||||
David Mediavilla
|
||||
Raphael Moll
|
||||
Amuro Namie
|
||||
Adam Piggott
|
||||
Petr Písar
|
||||
Dan Price
|
||||
Roberto Ragusa
|
||||
Félix Rauch
|
||||
|
@ -131,7 +122,6 @@ Current Privoxy Team:
|
|||
Chung-chieh Shan
|
||||
Spinor S.
|
||||
Bart Schelstraete
|
||||
Dan Stahlke
|
||||
Oliver Stoeneberg
|
||||
Peter Thoenen
|
||||
Martin Thomas
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
Purpose : Used with other docs and files only.
|
||||
|
||||
$Id: p-config.sgml,v 2.79 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: p-config.sgml,v 2.41 2009/02/19 16:59:41 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
||||
========================================================================
|
||||
|
@ -50,8 +50,8 @@
|
|||
<title>The Main Configuration File</title>
|
||||
|
||||
<para>
|
||||
By default, the main configuration file is named <filename>config</filename>,
|
||||
with the exception of Windows, where it is named <filename>config.txt</filename>.
|
||||
Again, the main configuration file is named <filename>config</filename> on
|
||||
Linux/Unix/BSD and OS/2, and <filename>config.txt</filename> on Windows.
|
||||
Configuration lines consist of an initial keyword followed by a list of
|
||||
values, all separated by whitespace (any number of spaces or tabs). For
|
||||
example:
|
||||
|
@ -81,9 +81,7 @@
|
|||
<para>
|
||||
The main config file controls all aspects of <application>Privoxy</application>'s
|
||||
operation that are not location dependent (i.e. they apply universally, no matter
|
||||
where you may be surfing). Like the filter and action files, the config file is
|
||||
a plain text file and can be modified with a text editor like emacs, vim or
|
||||
notepad.exe.
|
||||
where you may be surfing).
|
||||
</para>
|
||||
|
||||
]]>
|
||||
|
@ -97,10 +95,10 @@
|
|||
Sample Configuration File for Privoxy v&p-version;
|
||||
</title>
|
||||
<para>
|
||||
$Id: p-config.sgml,v 2.79 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: p-config.sgml,v 2.41 2009/02/19 16:59:41 fabiankeil Exp $
|
||||
</para>
|
||||
<para>
|
||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -796,7 +794,7 @@ actionsfile
|
|||
</variablelist>
|
||||
|
||||
<![%config-file;[<literallayout>@@filterfile default.filter</literallayout>]]>
|
||||
<![%config-file;[<literallayout>@@filterfile user.filter # User customizations</literallayout>]]>
|
||||
<![%config-file;[<literallayout>@@#filterfile user.filter # User customizations</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
|
@ -1009,7 +1007,7 @@ actionsfile
|
|||
debug 2 # show each connection status
|
||||
debug 4 # show I/O status
|
||||
debug 8 # show header parsing
|
||||
debug 16 # log all data written to the network
|
||||
debug 16 # log all data written to the network into the logfile
|
||||
debug 32 # debug force feature
|
||||
debug 64 # debug regular expression filters
|
||||
debug 128 # debug redirects
|
||||
|
@ -1019,7 +1017,6 @@ actionsfile
|
|||
debug 2048 # CGI user interface
|
||||
debug 4096 # Startup banner and warnings.
|
||||
debug 8192 # Non-fatal errors
|
||||
debug 32768 # log all data read from the network
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
|
@ -1028,7 +1025,7 @@ actionsfile
|
|||
</para>
|
||||
<para>
|
||||
A debug level of 1 is informative because it will show you each request
|
||||
as it happens. <emphasis>1, 1024, 4096 and 8192 are recommended</emphasis>
|
||||
as it happens. <emphasis>1, 4096 and 8192 are recommended</emphasis>
|
||||
so that you will notice when things go wrong. The other levels are
|
||||
probably only of interest if you are hunting down a specific problem.
|
||||
They can produce a hell of an output (especially 16).
|
||||
|
@ -1194,7 +1191,7 @@ actionsfile
|
|||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The address and TCP port on which <application>Privoxy</application> will
|
||||
The IP address and TCP port on which <application>Privoxy</application> will
|
||||
listen for client requests.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -1203,7 +1200,6 @@ actionsfile
|
|||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>[<replaceable class="parameter">IP-Address</replaceable>]:<replaceable class="parameter">Port</replaceable></para>
|
||||
<para>[<replaceable class="parameter">Hostname</replaceable>]:<replaceable class="parameter">Port</replaceable></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -1217,9 +1213,9 @@ actionsfile
|
|||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable and
|
||||
recommended for home users who run <application>Privoxy</application> on
|
||||
the same machine as their browser.
|
||||
Bind to 127.0.0.1 (localhost), port 8118. This is suitable and recommended for
|
||||
home users who run <application>Privoxy</application> on the same machine as
|
||||
their browser.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -1235,55 +1231,11 @@ actionsfile
|
|||
will need to override the default.
|
||||
</para>
|
||||
<para>
|
||||
You can use this statement multiple times to make
|
||||
<application>Privoxy</application> listen on more ports or more
|
||||
<abbrev>IP</abbrev> addresses. Suitable if your operating system does not
|
||||
support sharing <abbrev>IPv6</abbrev> and <abbrev>IPv4</abbrev> protocols
|
||||
on the same socket.
|
||||
</para>
|
||||
<para>
|
||||
If a hostname is used instead of an IP address, <application>Privoxy</application>
|
||||
will try to resolve it to an IP address and if there are multiple, use the first
|
||||
one returned.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
If the specified address isn't available on the system, or if the
|
||||
hostname can't be resolved, <application>Privoxy</application>
|
||||
will fail to start.
|
||||
</para>
|
||||
<para>
|
||||
IPv6 addresses containing colons have to be quoted by brackets.
|
||||
They can only be used if <application>Privoxy</application> has
|
||||
been compiled with IPv6 support. If you aren't sure if your version
|
||||
supports it, have a look at
|
||||
<literal>http://config.privoxy.org/show-status</literal>.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
If you leave out the address, <application>Privoxy</application> will bind to all
|
||||
IPv4 interfaces (addresses) on your machine and may become reachable from the
|
||||
Internet and/or the local network. Be aware that some GNU/Linux distributions
|
||||
modify that behaviour without updating the documentation. Check for non-standard
|
||||
patches if your <application>Privoxy</application>version behaves differently.
|
||||
</para>
|
||||
<para>
|
||||
If you configure <application>Privoxy</application>to be reachable from the
|
||||
network, consider using <link linkend="acls">access control lists</link>
|
||||
(ACL's, see below), and/or a firewall.
|
||||
If you leave out the IP address, <application>Privoxy</application> will
|
||||
bind to all interfaces (addresses) on your machine and may become reachable
|
||||
from the Internet. In that case, consider using <link
|
||||
linkend="acls">access control lists</link> (ACL's, see below), and/or
|
||||
a firewall.
|
||||
</para>
|
||||
<para>
|
||||
If you open <application>Privoxy</application> to untrusted users, you will
|
||||
|
@ -1291,12 +1243,6 @@ actionsfile
|
|||
linkend="enable-edit-actions">enable-edit-actions</link></literal> and
|
||||
<literal><link linkend="enable-remote-toggle">enable-remote-toggle</link></literal>
|
||||
</para>
|
||||
<para>
|
||||
With the exception noted above, listening on multiple addresses is currently
|
||||
not supported by <application>Privoxy</application> directly.
|
||||
It can be done on most operating systems by letting a packet filter
|
||||
redirect request for certain addresses to Privoxy, though.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
@ -1311,16 +1257,6 @@ actionsfile
|
|||
<para>
|
||||
<programlisting>
|
||||
listen-address 192.168.0.1:8118
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
Suppose you are running <application>Privoxy</application> on an
|
||||
IPv6-capable machine and you want it to listen on the IPv6 address
|
||||
of the loopback device:
|
||||
</para>
|
||||
<para>
|
||||
<programlisting>
|
||||
listen-address [::1]:8118
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -1675,41 +1611,23 @@ ACLs: permit-access and deny-access</title>
|
|||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable class="parameter">src_addr</replaceable>[:<replaceable class="parameter">port</replaceable>][/<replaceable class="parameter">src_masklen</replaceable>]
|
||||
[<replaceable class="parameter">dst_addr</replaceable>[:<replaceable class="parameter">port</replaceable>][/<replaceable class="parameter">dst_masklen</replaceable>]]
|
||||
<replaceable class="parameter">src_addr</replaceable>[/<replaceable class="parameter">src_masklen</replaceable>]
|
||||
[<replaceable class="parameter">dst_addr</replaceable>[/<replaceable class="parameter">dst_masklen</replaceable>]]
|
||||
</para>
|
||||
<para>
|
||||
Where <replaceable class="parameter">src_addr</replaceable> and
|
||||
<replaceable class="parameter">dst_addr</replaceable> are IPv4 addresses in dotted decimal notation or valid
|
||||
DNS names, <replaceable class="parameter">port</replaceable> is a port
|
||||
number, and <replaceable class="parameter">src_masklen</replaceable> and
|
||||
<replaceable class="parameter">dst_addr</replaceable> are IP addresses in dotted decimal notation or valid
|
||||
DNS names, and <replaceable class="parameter">src_masklen</replaceable> and
|
||||
<replaceable class="parameter">dst_masklen</replaceable> are subnet masks in CIDR notation, i.e. integer
|
||||
values from 2 to 30 representing the length (in bits) of the network address. The masks and the whole
|
||||
destination part are optional.
|
||||
</para>
|
||||
<para>
|
||||
If your system implements
|
||||
<ulink url="http://tools.ietf.org/html/rfc3493">RFC 3493</ulink>, then
|
||||
<replaceable class="parameter">src_addr</replaceable> and <replaceable
|
||||
class="parameter">dst_addr</replaceable> can be IPv6 addresses delimeted by
|
||||
brackets, <replaceable class="parameter">port</replaceable> can be a number
|
||||
or a service name, and
|
||||
<replaceable class="parameter">src_masklen</replaceable> and
|
||||
<replaceable class="parameter">dst_masklen</replaceable> can be a number
|
||||
from 0 to 128.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para><emphasis>Unset</emphasis></para>
|
||||
<para>
|
||||
If no <replaceable class="parameter">port</replaceable> is specified,
|
||||
any port will match. If no <replaceable class="parameter">src_masklen</replaceable> or
|
||||
<replaceable class="parameter">src_masklen</replaceable> is given, the complete IP
|
||||
address has to match (i.e. 32 bits for IPv4 and 128 bits for IPv6).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
@ -1758,13 +1676,6 @@ ACLs: permit-access and deny-access</title>
|
|||
like <quote>*.org</quote> or partial domain names. If a DNS name resolves to multiple
|
||||
IP addresses, only the first one is used.
|
||||
</para>
|
||||
<para>
|
||||
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). <application>Privoxy</application> can handle it
|
||||
and maps such ACL addresses automatically.
|
||||
</para>
|
||||
<para>
|
||||
Denying access to particular sites by ACL may have undesired side effects
|
||||
if the site in question is hosted on a machine which also hosts other sites
|
||||
|
@ -1806,24 +1717,6 @@ ACLs: permit-access and deny-access</title>
|
|||
deny-access 192.168.45.73 www.dirty-stuff.example.com
|
||||
</screen>
|
||||
</para>
|
||||
<para>
|
||||
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):
|
||||
</para>
|
||||
<para>
|
||||
<programlisting>
|
||||
permit-access 192.0.2.0/24
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
This is equivalent to the following line even if listening on an
|
||||
IPv4 address (not supported on all platforms):
|
||||
</para>
|
||||
<para>
|
||||
<programlisting>
|
||||
permit-access [::ffff:192.0.2.0]/120
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
@ -1945,7 +1838,7 @@ ACLs: permit-access and deny-access</title>
|
|||
denote <quote>all URLs</quote>.
|
||||
<replaceable class="parameter">http_parent</replaceable>[:<replaceable class="parameter">port</replaceable>]
|
||||
is the DNS name or IP address of the parent HTTP proxy through which the requests should be forwarded,
|
||||
optionally followed by its listening port (default: 8000).
|
||||
optionally followed by its listening port (default: 8080).
|
||||
Use a single dot (<literal>.</literal>) to denote <quote>no forwarding</quote>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -1971,16 +1864,6 @@ ACLs: permit-access and deny-access</title>
|
|||
If <replaceable class="parameter">http_parent</replaceable> is <quote>.</quote>, then requests are not
|
||||
forwarded to another HTTP proxy but are made directly to the web servers.
|
||||
</para>
|
||||
<para>
|
||||
<replaceable class="parameter">http_parent</replaceable> can be a
|
||||
numerical IPv6 address (if
|
||||
<ulink url="http://tools.ietf.org/html/rfc3493">RFC 3493</ulink> is
|
||||
implemented). To prevent clashes with the port delimiter, the whole IP
|
||||
address has to be put into brackets. On the other hand a <replaceable
|
||||
class="parameter">target_pattern</replaceable> containing an IPv6 address
|
||||
has to be put into angle brackets (normal brackets are reserved for
|
||||
regular expressions already).
|
||||
</para>
|
||||
<para>
|
||||
Multiple lines are OK, they are checked in sequence, and the last match wins.
|
||||
</para>
|
||||
|
@ -2008,24 +1891,6 @@ ACLs: permit-access and deny-access</title>
|
|||
forward .isp.example.net .
|
||||
</screen>
|
||||
</para>
|
||||
<para>
|
||||
Parent proxy specified by an IPv6 address:
|
||||
</para>
|
||||
<para>
|
||||
<programlisting>
|
||||
forward / [2001:DB8::1]:8000
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
Suppose your parent proxy doesn't support IPv6:
|
||||
</para>
|
||||
<para>
|
||||
<programlisting>
|
||||
forward / parent-proxy.example.org:8000
|
||||
forward ipv6-server.example.org .
|
||||
forward <[2-3][0-9a-f][0-9a-f][0-9a-f]:*> .
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
@ -2097,17 +1962,6 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
<para>
|
||||
With <literal>forward-socks5</literal> the DNS resolution will happen on the remote server as well.
|
||||
</para>
|
||||
<para>
|
||||
<replaceable class="parameter">socks_proxy</replaceable> and
|
||||
<replaceable class="parameter">http_parent</replaceable> can be a
|
||||
numerical IPv6 address (if
|
||||
<ulink url="http://tools.ietf.org/html/rfc3493">RFC 3493</ulink> is
|
||||
implemented). To prevent clashes with the port delimiter, the whole IP
|
||||
address has to be put into brackets. On the other hand a <replaceable
|
||||
class="parameter">target_pattern</replaceable> containing an IPv6 address
|
||||
has to be put into angle brackets (normal brackets are reserved for
|
||||
regular expressions already).
|
||||
</para>
|
||||
<para>
|
||||
If <replaceable class="parameter">http_parent</replaceable> is <quote>.</quote>, then requests are not
|
||||
forwarded to another HTTP proxy but are made (HTTP-wise) directly to the web servers, albeit through
|
||||
|
@ -2145,7 +1999,7 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
</para>
|
||||
<para>
|
||||
<screen>
|
||||
forward-socks5 / 127.0.0.1:9050 .
|
||||
forward-socks4a / 127.0.0.1:9050 .
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
|
@ -2340,11 +2194,6 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
<![%config-file;[<literallayout>@@forwarded-connect-retries 0</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="misc">
|
||||
<title>Miscellaneous</title>
|
||||
|
||||
<sect3 renderas="sect4" id="accept-intercepted-requests"><title>accept-intercepted-requests</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
|
@ -2561,46 +2410,34 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Connections are not kept alive.
|
||||
Connections are not reused.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option allows clients to keep the connection to &my-app;
|
||||
alive. If the server supports it, &my-app; will keep
|
||||
the connection to the server alive as well. Under certain
|
||||
circumstances this may result in speed-ups.
|
||||
</para>
|
||||
<para>
|
||||
By default, &my-app; 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 <ulink
|
||||
url="#CONNECTION-SHARING">connection-sharing</ulink> option.
|
||||
</para>
|
||||
<para>
|
||||
This option has no effect if <application>Privoxy</application>
|
||||
has been compiled without keep-alive support.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
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 <quote>grabbing</quote> all the
|
||||
connections the browser allows, which means connections to
|
||||
other websites can't be opened until the connections currently
|
||||
in use time out.
|
||||
Note that reusing connections doesn't necessary cause speedups.
|
||||
There are also a few privacy implications you should be aware of.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
Outgoing connections are shared between clients (if there are more
|
||||
than one) and closing the client that initiated the outgoing connection
|
||||
does not affect the connection between &my-app; and the server unless
|
||||
the client's request hasn't been completed yet. If the outgoing connection
|
||||
is idle, it will not be closed until either <application>Privoxy's</application>
|
||||
or the server's timeout is reached. While it's open, the server knows
|
||||
that the system running &my-app; is still there.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -2613,187 +2450,7 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@keep-alive-timeout 5</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 renderas="sect4" id="default-server-timeout"><title>default-server-timeout</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Assumed server-side keep-alive timeout if not specified by the server.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable>Time in seconds.</replaceable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para>None</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Connections for which the server didn't specify the keep-alive
|
||||
timeout are not reused.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enabling this option significantly increases the number of connections
|
||||
that are reused, provided the <ulink
|
||||
url="#KEEP-ALIVE-TIMEOUT">keep-alive-timeout</ulink> option
|
||||
is also enabled.
|
||||
</para>
|
||||
<para>
|
||||
While it also increases the number of connections problems
|
||||
when &my-app; tries to reuse a connection that already has
|
||||
been closed on the server side, or is closed while &my-app;
|
||||
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, &my-app; will simply
|
||||
close the connection and the client is supposed to retry the
|
||||
request without bothering the user.
|
||||
</para>
|
||||
<para>
|
||||
Enabling this option is therefore only recommended if the
|
||||
<ulink
|
||||
url="#CONNECTION-SHARING">connection-sharing</ulink> option
|
||||
is disabled.
|
||||
</para>
|
||||
<para>
|
||||
It is an error to specify a value larger than the <ulink
|
||||
url="#KEEP-ALIVE-TIMEOUT">keep-alive-timeout</ulink> value.
|
||||
</para>
|
||||
<para>
|
||||
This option has no effect if <application>Privoxy</application>
|
||||
has been compiled without keep-alive support.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Examples:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
default-server-timeout 60
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@#default-server-timeout 60</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 renderas="sect4" id="connection-sharing"><title>connection-sharing</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Whether or not outgoing connections that have been kept alive
|
||||
should be shared between different incoming connections.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable>0 or 1</replaceable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para>None</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Connections are not shared.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option has no effect if <application>Privoxy</application>
|
||||
has been compiled without keep-alive support, or if it's disabled.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Note that reusing connections doesn't necessary cause speedups.
|
||||
There are also a few privacy implications you should be aware of.
|
||||
</para>
|
||||
<para>
|
||||
If this option is effective, outgoing connections are shared between
|
||||
clients (if there are more than one) and closing the browser that initiated
|
||||
the outgoing connection does no longer affect the connection between &my-app;
|
||||
and the server unless the client's request hasn't been completed yet.
|
||||
</para>
|
||||
<para>
|
||||
If the outgoing connection is idle, it will not be closed until either
|
||||
<application>Privoxy's</application> or the server's timeout is reached.
|
||||
While it's open, the server knows that the system running &my-app; is still
|
||||
there.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
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 &my-app; to keep outgoing connections alive even if the client
|
||||
itself doesn't support it.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
This option should only be used by experienced users who
|
||||
understand the risks and can weight them against the benefits.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Examples:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
connection-sharing 1
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@#connection-sharing 1</literallayout>]]>
|
||||
<![%config-file;[<literallayout>@@keep-alive-timeout 300</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
|
@ -2834,9 +2491,9 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The default is quite high and you probably want to reduce it.
|
||||
If you aren't using an occasionally slow proxy like Tor, reducing
|
||||
it to a few seconds should be fine.
|
||||
For SOCKS requests the timeout currently doesn't start until
|
||||
the SOCKS server accepted the request. This will be fixed in
|
||||
the next release.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -2853,279 +2510,6 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
|||
</sect3>
|
||||
|
||||
|
||||
<sect3 renderas="sect4" id="max-client-connections"><title>max-client-connections</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Maximum number of client connections that will be served.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable>Positive number.</replaceable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para>None</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Connections are served until a resource limit is reached.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
&my-app; creates one thread (or process) for every incoming client
|
||||
connection that isn't rejected based on the access control settings.
|
||||
</para>
|
||||
<para>
|
||||
If the system is powerful enough, &my-app; 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 &my-app; would
|
||||
require under heavy load.
|
||||
</para>
|
||||
<para>
|
||||
Configuring &my-app; 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 &my-app; isn't the only application running on the system,
|
||||
you may actually want to limit the resources used by &my-app;.
|
||||
</para>
|
||||
<para>
|
||||
If &my-app; 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 &my-app;.
|
||||
</para>
|
||||
<para>
|
||||
Obviously using this option only makes sense if you choose a limit
|
||||
below the one enforced by the operating system.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Examples:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
max-client-connections 256
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@#max-client-connections 256</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 renderas="sect4" id="handle-as-empty-doc-returns-ok"><title>handle-as-empty-doc-returns-ok</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The status code Privoxy returns for pages blocked with
|
||||
<!-- URL will only end up in the user manual so the relative link should work. -->
|
||||
<literal><ulink url="actions-file.html#HANDLE-AS-EMPTY-DOCUMENT">+handle-as-empty-document</ulink></literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable>0 or 1</replaceable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para>0</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Privoxy returns a status 403(forbidden) for all blocked pages.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if set:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Privoxy returns a status 200(OK) for pages blocked with +handle-as-empty-document
|
||||
and a status 403(Forbidden) for all other blocked pages.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This is a work-around for Firefox bug 492459:
|
||||
<quote>
|
||||
Websites are no longer rendered if SSL requests for JavaScripts are blocked by a proxy.
|
||||
</quote>
|
||||
(<ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=492459"
|
||||
>https://bugzilla.mozilla.org/show_bug.cgi?id=492459</ulink>)
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@#handle-as-empty-doc-returns-ok 1</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 renderas="sect4" id="enable-compression"><title>enable-compression</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Whether or not buffered content is compressed before delivery.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable>0 or 1</replaceable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para>0</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if unset:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Privoxy does not compress buffered content.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Effect if set:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Privoxy compresses buffered content before delivering it to the client,
|
||||
provided the client supports it.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This directive is only supported if Privoxy has been compiled with
|
||||
FEATURE_COMPRESSION, which should not to be confused with FEATURE_ZLIB.
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Privoxy will not compress buffered content below a certain length.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@#enable-compression 1</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 renderas="sect4" id="compression-level"><title>compression-level</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Specifies:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The compression level that is passed to the zlib library when compressing buffered content.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Type of value:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<replaceable>Positive number ranging from 0 to 9.</replaceable>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Default value:</term>
|
||||
<listitem>
|
||||
<para>1</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Notes:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
If compression is disabled, the compression level is irrelevant.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Examples:</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<screen>
|
||||
# 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
|
||||
</screen>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<![%config-file;[<literallayout>@@#compression-level 1</literallayout>]]>
|
||||
</sect3>
|
||||
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- ~ End section ~ -->
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
This file belongs into
|
||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||
|
||||
$Id: privoxy-man-page.sgml,v 2.40 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: privoxy-man-page.sgml,v 2.29 2009/02/19 02:20:22 hal9 Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
@ -42,7 +42,7 @@
|
|||
<!entity copyright SYSTEM "copyright.sgml">
|
||||
<!entity license SYSTEM "license.sgml">
|
||||
<!entity authors SYSTEM "p-authors.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: privoxy.sgml,v 2.12 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: privoxy.sgml,v 2.9 2009/03/21 12:42:49 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
||||
======================================================================
|
||||
|
@ -35,27 +35,10 @@
|
|||
</para>
|
||||
|
||||
<para>
|
||||
Privoxy is Free Software and licensed under the GNU GPLv2.
|
||||
Privoxy is Free Software and licensed under the GPL2.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||
</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>
|
||||
<ulink url="http://www.privoxy.org/faq/general.html#DONATE">Donations are welcome</ulink>.
|
||||
</para>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<!entity p-intro SYSTEM "privoxy.sgml">
|
||||
<!entity contacting SYSTEM "contacting.sgml">
|
||||
<!entity buildsource SYSTEM "buildsource.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.12">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
|
@ -17,9 +17,9 @@
|
|||
|
||||
Purpose : README for Privoxy
|
||||
|
||||
$Id: readme.sgml,v 2.49 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $
|
||||
|
||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
||||
========================================================================
|
||||
|
@ -80,7 +80,7 @@
|
|||
*
|
||||
* Purpose : README file to give a short intro.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2011 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -126,13 +126,37 @@
|
|||
<!-- end boilerplate -->
|
||||
|
||||
<!-- ~~~~~ New section ~~~~~ -->
|
||||
<sect1 id="changes" ><title>CHANGES</title>
|
||||
<sect1 id="importantchanges" ><title>IMPORTANT CHANGES</title>
|
||||
<para>
|
||||
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 <citetitle>the User Manual</citetitle>.
|
||||
March 2009, Privoxy 3.0.12 is released.
|
||||
</para>
|
||||
<para>
|
||||
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>
|
||||
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>
|
||||
|
||||
<!-- ~~~~~ New section ~~~~~ -->
|
||||
|
@ -160,6 +184,12 @@
|
|||
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.
|
||||
</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>
|
||||
|
||||
<!-- ~~~~~ New section ~~~~~ -->
|
||||
|
@ -178,7 +208,7 @@
|
|||
<para>
|
||||
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
|
||||
127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not try it
|
||||
localhost: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.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -232,7 +262,7 @@
|
|||
<!-- </LiteralLayout> -->
|
||||
<!-- </para> -->
|
||||
<!-- <para> -->
|
||||
<!-- $Id: readme.sgml,v 2.49 2011/12/26 17:05:40 fabiankeil Exp $ -->
|
||||
<!-- $Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $ -->
|
||||
<!-- </para> -->
|
||||
|
||||
</article>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: seealso.sgml,v 2.13 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: seealso.sgml,v 2.12 2009/02/23 10:42:58 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Purpose : Entity included in other project documents.
|
||||
|
||||
$Id: supported.sgml,v 2.10 2011/09/04 11:10:12 fabiankeil Exp $
|
||||
$Id: supported.sgml,v 2.9 2008/01/17 01:49:51 hal9 Exp $
|
||||
|
||||
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||
See LICENSE.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@
|
|||
<!entity history SYSTEM "history.sgml">
|
||||
<!entity copyright SYSTEM "copyright.sgml">
|
||||
<!entity license SYSTEM "license.sgml">
|
||||
<!entity p-version "3.0.19">
|
||||
<!entity p-version "3.0.11">
|
||||
<!entity p-status "stable">
|
||||
<!entity % p-not-stable "IGNORE">
|
||||
<!entity % p-stable "INCLUDE">
|
||||
|
@ -20,7 +20,7 @@
|
|||
This file belongs into
|
||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||
|
||||
$Id: index.sgml,v 2.20 2011/12/26 17:05:40 fabiankeil Exp $
|
||||
$Id: index.sgml,v 2.9 2009/02/19 14:12:02 fabiankeil Exp $
|
||||
|
||||
Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
||||
See LICENSE.
|
||||
|
@ -90,7 +90,7 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="https://sourceforge.net/projects/ijbswa/files/">Download recent releases</ulink>
|
||||
<ulink url="https://sourceforge.net/project/showfiles.php?group_id=11118">Download recent releases</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
<!--
|
||||
|
@ -169,7 +169,7 @@
|
|||
<para>
|
||||
<!-- please leave this link absolute so this file can be bundled with -->
|
||||
<!-- documentation and still used locally -->
|
||||
<ulink url="http://www.privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink>
|
||||
<ulink url="http://privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -222,7 +222,7 @@
|
|||
<!-- GNUMakefile is inserting this now -->
|
||||
<para>
|
||||
<subscript>
|
||||
Copyright __copy 2001-2010 by Privoxy Developers
|
||||
Copyright __copy 2001-2009 by Privoxy Developers
|
||||
</subscript>
|
||||
</para>
|
||||
|
||||
|
@ -249,42 +249,6 @@
|
|||
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
$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
|
||||
Change link to the project page to https://.
|
||||
|
||||
|
|
|
@ -1,376 +1,47 @@
|
|||
Announcing Privoxy v.3.0.19 stable
|
||||
--------------------------------------------------------------------
|
||||
Announcing Privoxy v.3.0.12
|
||||
-----------------------------------------------------------------
|
||||
|
||||
This is a bug-fix release for the previously released
|
||||
Privoxy 3.0.18. One of the fixes addresses a security issue.
|
||||
Privoxy 3.0.12-stable is primarily a bugfix release.
|
||||
|
||||
See http://www.privoxy.org/3.0.12/user-manual/whatsnew.html for details.
|
||||
|
||||
--------------------------------------------------------------------
|
||||
ChangeLog for Privoxy
|
||||
--------------------------------------------------------------------
|
||||
*** Version 3.0.19 Stable ***
|
||||
*** Version 3.0.12 ***
|
||||
|
||||
- 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.
|
||||
- The socket-timeout option now also works on platforms whose
|
||||
select() implementation modifies the timeout structure.
|
||||
Previously the timeout was triggered even if the connection
|
||||
didn't stall. Reported by cyberpatrol.
|
||||
- The Connection: keep-alive code properly deals with files
|
||||
larger than 2GB. Previously the connection was closed too
|
||||
early.
|
||||
- The content length for files above 2GB is logged correctly.
|
||||
- The user-manual directive on the show-status page links to
|
||||
the documentation location specified with the directive,
|
||||
not to the Privoxy website.
|
||||
- When running in daemon mode, Privoxy doesn't log anything
|
||||
to the console unless there are errors before the logfile
|
||||
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 '
|
||||
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:
|
||||
|
@ -383,18 +54,13 @@ flexible configuration and can be customized to suit individual needs and
|
|||
tastes. It has application for both stand-alone systems and multi-user
|
||||
networks.
|
||||
|
||||
Privoxy is Free Software and licensed under the GNU GPLv2.
|
||||
Privoxy is Free Software and licensed under the GPL2.
|
||||
|
||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||
|
||||
Helping hands and donations are welcome:
|
||||
|
||||
* http://www.privoxy.org/faq/general.html#PARTICIPATE
|
||||
|
||||
* http://www.privoxy.org/faq/general.html#DONATE
|
||||
Donations are welcome: http://www.privoxy.org/faq/general.html#DONATE
|
||||
|
||||
At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
|
||||
XP, Vista), GNU/Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and
|
||||
XP, Vista), Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and
|
||||
others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and
|
||||
various other flavors of Unix.
|
||||
|
||||
|
@ -403,12 +69,7 @@ Privoxy provides many supplemental features, that give the end-user
|
|||
more control, more privacy and more freedom:
|
||||
|
||||
|
||||
* 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.
|
||||
* Can keep outgoing connections alive and reuse them later on.
|
||||
|
||||
* Supports tagging which allows to change the behaviour based on client
|
||||
and server headers.
|
||||
|
@ -426,7 +87,8 @@ more control, more privacy and more freedom:
|
|||
tracing of rule and filter effects. Remote toggling.
|
||||
|
||||
* Web page filtering (text replacements, removes banners based on size,
|
||||
invisible <quote>web-bugs</quote> and HTML annoyances, etc.)
|
||||
invisible "web-bugs", JavaScript and HTML annoyances, pop-up windows,
|
||||
etc.)
|
||||
|
||||
* Modularized configuration that allows for standard settings and user
|
||||
settings to reside in separate files, so that installing updated actions
|
||||
|
@ -435,16 +97,23 @@ more control, more privacy and more freedom:
|
|||
* Support for Perl Compatible Regular Expressions in the configuration
|
||||
files, and a more sophisticated and flexible configuration syntax.
|
||||
|
||||
* Improved cookie management features (e.g. session based cookies).
|
||||
|
||||
* GIF de-animation.
|
||||
|
||||
* 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.
|
||||
"blocked" page).
|
||||
|
||||
* Auto-detection and re-reading of config file changes.
|
||||
|
||||
* Most features are controllable on a per-site or per-location basis.
|
||||
* Improved signal handling, and a true daemon mode (Unix).
|
||||
|
||||
* Every feature now controllable on a per-site or per-location basis,
|
||||
configuration more powerful and versatile over-all.
|
||||
|
||||
|
||||
Download location:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,362 +1,510 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Contacting the developers, Bug Reporting and Feature
|
||||
Requests</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="Update the Webserver" href=
|
||||
"webserver-update.html">
|
||||
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
|
||||
"copyright.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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=
|
||||
"webserver-update.html" accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href=
|
||||
"copyright.html" accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="CONTACT" id="CONTACT">8. Contacting the
|
||||
developers, Bug Reporting and Feature Requests</a></h1>
|
||||
|
||||
<p>We value your feedback. In fact, we rely on it to improve <span class=
|
||||
"APPLICATION">Privoxy</span> and its configuration. However, please note
|
||||
the following hints, so we can provide you with the best support:</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">8.1.
|
||||
Get Support</a></h2>
|
||||
|
||||
<p>For casual users, our <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
target="_top">support forum at SourceForge</a> is probably best suited:
|
||||
<a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
target="_top">http://sourceforge.net/tracker/?group_id=11118&atid=211118</a></p>
|
||||
|
||||
<p>All users are of course welcome to discuss their issues on the
|
||||
<a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||
target="_top">users mailing list</a>, where the developers also hang
|
||||
around.</p>
|
||||
|
||||
<p>Please don't sent private support requests to individual Privoxy
|
||||
developers, either use the mailing lists or the support trackers.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 of several days and if you use a subject that
|
||||
doesn't clearly mention Privoxy or one of its features, your message
|
||||
may be accidentally discarded as spam.</p>
|
||||
|
||||
<p>If you aren't subscribed, you should therefore spend a few seconds
|
||||
to come up with a proper subject. Additionally you should make it clear
|
||||
that you want to get CC'd. Otherwise some responses will be directed to
|
||||
the mailing list only, and you won't see them.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="REPORTING" id="REPORTING">8.2. Reporting
|
||||
Problems</a></h2>
|
||||
|
||||
<p><span class="QUOTE">"Problems"</span> for our purposes, come in two
|
||||
forms:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>Configuration issues, such as ads that slip through, or sites
|
||||
that don't function properly due to one <span class=
|
||||
"APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
|
||||
another being turned <span class="QUOTE">"on"</span>.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><span class="QUOTE">"Bugs"</span> in the programming code that
|
||||
makes up <span class="APPLICATION">Privoxy</span>, such as that
|
||||
might cause a crash.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="SECT3">
|
||||
<h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">8.2.1.
|
||||
Reporting Ads or Other Configuration Problems</a></h3>
|
||||
|
||||
<p>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 <tt class=
|
||||
"FILENAME">default.action</tt> file, to <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
target=
|
||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
||||
the Actions File Tracker.</p>
|
||||
|
||||
<p>New, improved <tt class="FILENAME">default.action</tt> files may
|
||||
occasionally be made available based on your feedback. These will be
|
||||
announced on the <a href=
|
||||
"http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
|
||||
"_top">ijbswa-announce</a> list and available from our the <a href=
|
||||
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
|
||||
"_top">files section</a> of our <a href=
|
||||
"http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT3">
|
||||
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">8.2.2.
|
||||
Reporting Bugs</a></h3>
|
||||
|
||||
<p>Please report all bugs through our bug tracker: <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||
target=
|
||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
|
||||
|
||||
<p>Before doing so, please make sure that the bug has <span class=
|
||||
"emphasis EMPHASIS c2">not already been submitted</span> and observe
|
||||
the additional hints at the top of the <a href=
|
||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||
target="_top">submit form</a>. If already submitted, please feel free
|
||||
to add any info to the original report that might help to solve the
|
||||
issue.</p>
|
||||
|
||||
<p>Please try to verify that it is a <span class=
|
||||
"APPLICATION">Privoxy</span> bug, and not a browser or site bug or
|
||||
documented behaviour that just happens to be different than what you
|
||||
expected. If unsure, try <a href=
|
||||
"http://config.privoxy.org/toggle?set=disable" target="_top">toggling
|
||||
off</a> <span class="APPLICATION">Privoxy</span>, and see if the
|
||||
problem persists.</p>
|
||||
|
||||
<p>If you are using your own custom configuration, please try the
|
||||
stock configs to see if the problem is configuration related. If
|
||||
you're having problems with a feature that is disabled by default,
|
||||
please ask around on the mailing list if others can reproduce the
|
||||
problem.</p>
|
||||
|
||||
<p>If you aren't using the latest Privoxy version, the bug may have
|
||||
been found and fixed in the meantime. We would appreciate if you
|
||||
could take the time to <a href=
|
||||
"http://www.privoxy.org/user-manual/installation.html" target=
|
||||
"_top">upgrade to the latest version</a> (or even the latest CVS
|
||||
snapshot) and verify that your bug still exists.</p>
|
||||
|
||||
<p>Please be sure to provide the following information:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>The exact <span class="APPLICATION">Privoxy</span> version you
|
||||
are using (if you got the source from CVS, please also provide
|
||||
the source code revisions as shown in <a href=
|
||||
"http://config.privoxy.org/show-version" target=
|
||||
"_top">http://config.privoxy.org/show-version</a>).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The operating system and versions you run <span class=
|
||||
"APPLICATION">Privoxy</span> on, (e.g. <span class=
|
||||
"APPLICATION">Windows XP SP2</span>), if you are using a Unix
|
||||
flavor, sending the output of <span class="QUOTE">"uname
|
||||
-a"</span> should do, in case of GNU/Linux, please also name the
|
||||
distribution.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The name, platform, and version of the <span class=
|
||||
"APPLICATION">browser</span> you were using (e.g. <span class=
|
||||
"APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The URL where the problem occurred, or some way for us to
|
||||
duplicate the problem (e.g. <tt class=
|
||||
"LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Whether your version of <span class=
|
||||
"APPLICATION">Privoxy</span> is one supplied by the <span class=
|
||||
"APPLICATION">Privoxy</span> developers via SourceForge, or if
|
||||
you got your copy somewhere else.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Whether you are using <span class="APPLICATION">Privoxy</span>
|
||||
in tandem with another proxy such as <span class=
|
||||
"APPLICATION">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). To get a meaningful logfile,
|
||||
please make sure that the <a href=
|
||||
"../user-manual/config.html#LOGFILE" target="_top">logfile
|
||||
directive</a> is being used and the following <a href=
|
||||
"../user-manual/config.html#DEBUG" target="_top">debug
|
||||
options</a> are enabled:</p>
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.<br>
|
||||
|
||||
debug 2 # show each connection status<br>
|
||||
|
||||
debug 4 # show I/O status<br>
|
||||
|
||||
debug 8 # show header parsing<br>
|
||||
|
||||
debug 128 # debug redirects<br>
|
||||
debug 256 # debug GIF de-animation<br>
|
||||
|
||||
debug 512 # Common Log Format<br>
|
||||
|
||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.<br>
|
||||
|
||||
debug 4096 # Startup banner and warnings.<br>
|
||||
|
||||
debug 8192 # Non-fatal errors</p>If you
|
||||
are having trouble with a filter, please additionally enable
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 64 # debug regular expression filters</p>If
|
||||
you are using Privoxy 3.0.17 or later and suspect that it
|
||||
interprets the request or the response incorrectly, please enable
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 32768 # log all data read from the network</p>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.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>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.</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. 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.</p>
|
||||
|
||||
<p>If you are new to reporting problems, you might be interested in
|
||||
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
||||
target="_top">How to Report Bugs Effectively</a>.</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" id="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&group_id=11118"
|
||||
target="_top">http://sourceforge.net/tracker/?atid=361118&group_id=11118</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">8.4.
|
||||
Mailing Lists</a></h2>
|
||||
|
||||
<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
|
||||
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 <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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Privoxy Copyright, License
|
||||
and History</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Contacting the developers, Bug Reporting and Feature Requests</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="Update the Webserver"
|
||||
HREF="webserver-update.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Privoxy Copyright, License and History"
|
||||
HREF="copyright.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="webserver-update.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="CONTACT"
|
||||
>8. Contacting the developers, Bug Reporting and Feature Requests</A
|
||||
></H1
|
||||
><P
|
||||
> We value your feedback. In fact, we rely on it to improve
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> and its configuration.
|
||||
However, please note the following hints, so we can
|
||||
provide you with the best support:</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="CONTACT-SUPPORT"
|
||||
>8.1. Get Support</A
|
||||
></H2
|
||||
><P
|
||||
> For casual users, our
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
TARGET="_top"
|
||||
>support forum at SourceForge</A
|
||||
>
|
||||
is probably best suited:
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||
></P
|
||||
><P
|
||||
> All users are of course welcome to discuss their issues on the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||
TARGET="_top"
|
||||
>users
|
||||
mailing list</A
|
||||
>, where the developers also hang around.</P
|
||||
><P
|
||||
> Please don't sent private support requests to individual Privoxy
|
||||
developers, either use the mailing lists or the support trackers.</P
|
||||
><P
|
||||
> 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 of several days and if you use a subject that doesn't clearly
|
||||
mention Privoxy or one of its features, your message may be accidentally
|
||||
discarded as spam.</P
|
||||
><P
|
||||
> If you aren't subscribed, you should therefore spend a few seconds
|
||||
to come up with a proper subject. Additionally you should make it clear
|
||||
that you want to get CC'd. Otherwise some responses will be directed to
|
||||
the mailing list only, and you won't see them.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="REPORTING"
|
||||
>8.2. Reporting Problems</A
|
||||
></H2
|
||||
><P
|
||||
><SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Problems"</SPAN
|
||||
> for our purposes, come in two forms:</P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> Configuration issues, such as ads that slip through, or sites that
|
||||
don't function properly due to one <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
<SPAN
|
||||
CLASS="QUOTE"
|
||||
>"action"</SPAN
|
||||
> or another being turned <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"on"</SPAN
|
||||
>.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Bugs"</SPAN
|
||||
> in the programming code that makes up
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, such as that might cause a crash.
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H3
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="CONTACT-ADS"
|
||||
>8.2.1. Reporting Ads or Other Configuration Problems</A
|
||||
></H3
|
||||
><P
|
||||
> 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
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>default.action</TT
|
||||
> file, to
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
TARGET="_top"
|
||||
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||
>,
|
||||
the Actions File Tracker.</P
|
||||
><P
|
||||
> New, improved <TT
|
||||
CLASS="FILENAME"
|
||||
>default.action</TT
|
||||
> files may occasionally be made
|
||||
available based on your feedback. These will be announced on the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||
TARGET="_top"
|
||||
>ijbswa-announce</A
|
||||
>
|
||||
list and available from our the <A
|
||||
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||
TARGET="_top"
|
||||
>files section</A
|
||||
> of
|
||||
our <A
|
||||
HREF="http://sf.net/projects/ijbswa/"
|
||||
TARGET="_top"
|
||||
>project page</A
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H3
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="CONTACT-BUGS"
|
||||
>8.2.2. Reporting Bugs</A
|
||||
></H3
|
||||
><P
|
||||
> Please report all bugs through our bug tracker:
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||
>. </P
|
||||
><P
|
||||
> Before doing so, please make sure that the bug has <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>not already been submitted</I
|
||||
></SPAN
|
||||
>
|
||||
and observe the additional hints at the top of the <A
|
||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||
TARGET="_top"
|
||||
>submit
|
||||
form</A
|
||||
>. If already submitted, please feel free to add any info to the
|
||||
original report that might help to solve the issue.</P
|
||||
><P
|
||||
> Please try to verify that it is a <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> bug,
|
||||
and not a browser or site bug or documented behaviour that just happens
|
||||
to be different than what you expected. If unsure,
|
||||
try <A
|
||||
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||
TARGET="_top"
|
||||
>toggling
|
||||
off</A
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, and see if the problem persists.</P
|
||||
><P
|
||||
> If you are using your own custom configuration, please try
|
||||
the stock configs to see if the problem is configuration related.
|
||||
If you're having problems with a feature that is disabled by default,
|
||||
please ask around on the mailing list if others can reproduce the problem.</P
|
||||
><P
|
||||
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||
and fixed in the meantime. We would appreciate if you could take the time
|
||||
to <A
|
||||
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||
TARGET="_top"
|
||||
>upgrade
|
||||
to the latest version</A
|
||||
> (or even the latest CVS snapshot) and verify
|
||||
that your bug still exists.</P
|
||||
><P
|
||||
>Please be sure to provide the following information:</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> The exact <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> version you are using
|
||||
(if you got the source from CVS, please also provide the source code revisions
|
||||
as shown in <A
|
||||
HREF="http://config.privoxy.org/show-version"
|
||||
TARGET="_top"
|
||||
>http://config.privoxy.org/show-version</A
|
||||
>).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The operating system and versions you run
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> on, (e.g. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Windows
|
||||
XP SP2</SPAN
|
||||
>), if you are using a Unix flavor,
|
||||
sending the output of <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"uname -a"</SPAN
|
||||
> should do,
|
||||
in case of GNU/Linux, please also name the distribution.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The name, platform, and version of the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>browser</SPAN
|
||||
>
|
||||
you were using (e.g. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Internet Explorer v5.5</SPAN
|
||||
> for Mac).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The URL where the problem occurred, or some way for us to duplicate the
|
||||
problem (e.g. <TT
|
||||
CLASS="LITERAL"
|
||||
>http://somesite.example.com/?somethingelse=123</TT
|
||||
>).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Whether your version of <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is one supplied
|
||||
by the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> developers via SourceForge,
|
||||
or if you got your copy somewhere else.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Whether you are using <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> in tandem with
|
||||
another proxy such as <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>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"
|
||||
>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&group_id=11118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?atid=361118&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"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Privoxy Copyright, License and History</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,161 +1,298 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy Copyright, License and History</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=
|
||||
"Contacting the developers, Bug Reporting and Feature Requests" href=
|
||||
"contact.html">
|
||||
<link rel="NEXT" title="See also" href="seealso.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
a.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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="contact.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="seealso.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">9. Privoxy
|
||||
Copyright, License and History</a></h1>
|
||||
|
||||
<p>Copyright © 2001-2011 by Privoxy Developers <code class=
|
||||
"EMAIL"><<a href=
|
||||
"mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>></code></p>
|
||||
|
||||
<p>Some source code is based on code Copyright © 1997 by Anonymous
|
||||
Coders and Junkbusters, Inc. and licensed under the <i class=
|
||||
"CITETITLE">GNU General Public License</i>.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="AEN1231" id="AEN1231">9.1. License</a></h2>
|
||||
|
||||
<p><span class="APPLICATION">Privoxy</span> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the <i class=
|
||||
"CITETITLE">GNU General Public License</i>, version 2, as published by
|
||||
the Free Software Foundation.</p>
|
||||
|
||||
<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 <a class=
|
||||
"CITETITLE c2" href=
|
||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
||||
"_top">GNU General Public License</a> for details.</p>
|
||||
|
||||
<p>You should have received a copy of the <i class="CITETITLE">GNU
|
||||
GPL</i> along with this program; if not, write to the</p>
|
||||
|
||||
<p class="ADDRESS"> Free Software<br>
|
||||
Foundation, Inc. <span class="STREET">51 Franklin
|
||||
Street, Fifth Floor</span><br>
|
||||
<span class="CITY">Boston</span>, <span class=
|
||||
"STATE">MA</span> <span class="POSTCODE">02110-1301</span><br>
|
||||
<span class="COUNTRY">USA</span> </p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="AEN1247" id="AEN1247">9.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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">See also</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy Copyright, License and History</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="Contacting the developers, Bug Reporting and Feature Requests"
|
||||
HREF="contact.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="See also"
|
||||
HREF="seealso.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="contact.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="seealso.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="COPYRIGHT"
|
||||
>9. Privoxy Copyright, License and History</A
|
||||
></H1
|
||||
><P
|
||||
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||
CLASS="EMAIL"
|
||||
><<A
|
||||
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||
>ijbswa-developers@lists.sourceforge.net</A
|
||||
>></CODE
|
||||
></P
|
||||
><P
|
||||
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||
and Junkbusters, Inc. and licensed under the <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public
|
||||
License</I
|
||||
>.</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN1223"
|
||||
>9.1. License</A
|
||||
></H2
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the
|
||||
<I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public License</I
|
||||
>, version 2,
|
||||
as published by the Free Software Foundation.</P
|
||||
><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 <A
|
||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||
TARGET="_top"
|
||||
> <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public License</I
|
||||
></A
|
||||
> for details.</P
|
||||
><P
|
||||
> You should have received a copy of the <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU GPL</I
|
||||
>
|
||||
along with this program; if not, write to the <P
|
||||
CLASS="ADDRESS"
|
||||
> Free Software<br>
|
||||
Foundation, Inc. <SPAN
|
||||
CLASS="STREET"
|
||||
>51 Franklin Street, Fifth Floor</SPAN
|
||||
><br>
|
||||
<SPAN
|
||||
CLASS="CITY"
|
||||
>Boston</SPAN
|
||||
>, <SPAN
|
||||
CLASS="STATE"
|
||||
>MA</SPAN
|
||||
> <SPAN
|
||||
CLASS="POSTCODE"
|
||||
>02110-1301</SPAN
|
||||
><br>
|
||||
<SPAN
|
||||
CLASS="COUNTRY"
|
||||
>USA</SPAN
|
||||
> </P
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN1239"
|
||||
>9.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"
|
||||
><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"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>See also</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,189 +1,330 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>The CVS Repository</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="Introduction" href="introduction.html">
|
||||
<link rel="NEXT" title="Documentation Guidelines" href=
|
||||
"documentation.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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=
|
||||
"introduction.html" accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href=
|
||||
"documentation.html" accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="CVS" id="CVS">2. The CVS Repository</a></h1>
|
||||
|
||||
<p>If you become part of the active development team, you will eventually
|
||||
need write access to our holy grail, the CVS repository. One of the team
|
||||
members will need to set this up for you. Please read this chapter
|
||||
completely before accessing via CVS.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CVSACCESS" id="CVSACCESS">2.1. Access to
|
||||
CVS</a></h2>
|
||||
|
||||
<p>The project's CVS repository is hosted on <a href=
|
||||
"http://sourceforge.net/" target="_top">SourceForge.</a> Please refer
|
||||
to the chapters 6 and 7 in <a href=
|
||||
"http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
|
||||
documentation</a> for the technical access details for your operating
|
||||
system. For historical reasons, the CVS server is called <tt class=
|
||||
"LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository is called
|
||||
<tt class="LITERAL">ijbswa</tt>, and the source tree module is called
|
||||
<tt class="LITERAL">current</tt>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CVSBRANCHES" id="CVSBRANCHES">2.2.
|
||||
Branches</a></h2>
|
||||
|
||||
<p>Within the CVS repository, there are modules and branches. As
|
||||
mentioned, the sources are in the <tt class="LITERAL">current</tt>
|
||||
<span class="QUOTE">"module"</span>. Other modules are present for
|
||||
platform specific issues. There is a webview of the CVS hierarchy at
|
||||
<a href="http://ijbswa.cvs.sourceforge.net/ijbswa/" target=
|
||||
"_top">http://ijbswa.cvs.sourceforge.net/ijbswa/</a>, which might help
|
||||
with visualizing how these pieces fit together.</p>
|
||||
|
||||
<p>Branches are used to fork a sub-development path from the main
|
||||
trunk. Within the <tt class="LITERAL">current</tt> module where the
|
||||
sources are, there is always at least one <span class=
|
||||
"QUOTE">"branch"</span> from the main trunk devoted to a stable release
|
||||
series. The main trunk is where active 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 just for stable series releases (e.g.
|
||||
3.0.0 -> 3.0.1 -> 3.0.2, etc). Once the initial stable release of
|
||||
any stable branch has taken place, this branch is <span class=
|
||||
"emphasis EMPHASIS c2">only used for bugfixes</span>, which have had
|
||||
prior testing before being committed to CVS. (See <a href=
|
||||
"newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for details
|
||||
on versioning.)</p>
|
||||
|
||||
<p>At one time there were two distinct branches: stable and unstable.
|
||||
The more drastic changes were to be in the unstable branch. These
|
||||
branches have now been merged to minimize time and effort of
|
||||
maintaining two branches.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CVSCOMMIT" id="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>
|
||||
|
||||
<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 EMPHASIS c2">what you changed</span> (no big
|
||||
details) and <span class="emphasis EMPHASIS c2">why you changed
|
||||
it</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&group_id=11118&func=browse"
|
||||
target="_top">patch tracker</a> instead.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Documentation
|
||||
Guidelines</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>The CVS Repository</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="Introduction"
|
||||
HREF="introduction.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Documentation Guidelines"
|
||||
HREF="documentation.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="introduction.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="documentation.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="CVS"
|
||||
>2. The CVS Repository</A
|
||||
></H1
|
||||
><P
|
||||
> If you become part of the active development team, you will eventually
|
||||
need write access to our holy grail, the CVS repository. One of the
|
||||
team members will need to set this up for you. Please read
|
||||
this chapter completely before accessing via CVS.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="CVSACCESS"
|
||||
>2.1. Access to CVS</A
|
||||
></H2
|
||||
><P
|
||||
> The project's CVS repository is hosted on
|
||||
<A
|
||||
HREF="http://sourceforge.net/"
|
||||
TARGET="_top"
|
||||
>SourceForge.</A
|
||||
>
|
||||
Please refer to the chapters 6 and 7 in
|
||||
<A
|
||||
HREF="http://sourceforge.net/docman/?group_id=1"
|
||||
TARGET="_top"
|
||||
>SF's site
|
||||
documentation</A
|
||||
> for the technical access details for your
|
||||
operating system. For historical reasons, the CVS server is
|
||||
called <TT
|
||||
CLASS="LITERAL"
|
||||
>ijbswa.cvs.sourceforge.net</TT
|
||||
>, the repository is
|
||||
called <TT
|
||||
CLASS="LITERAL"
|
||||
>ijbswa</TT
|
||||
>, and the source tree module is called
|
||||
<TT
|
||||
CLASS="LITERAL"
|
||||
>current</TT
|
||||
>.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="CVSBRANCHES"
|
||||
>2.2. Branches</A
|
||||
></H2
|
||||
><P
|
||||
> Within the CVS repository, there are modules and branches. As
|
||||
mentioned, the sources are in the <TT
|
||||
CLASS="LITERAL"
|
||||
>current</TT
|
||||
>
|
||||
<SPAN
|
||||
CLASS="QUOTE"
|
||||
>"module"</SPAN
|
||||
>. Other modules are present for platform specific
|
||||
issues. There is a webview of the CVS hierarchy at <A
|
||||
HREF="http://ijbswa.cvs.sourceforge.net/ijbswa/"
|
||||
TARGET="_top"
|
||||
>http://ijbswa.cvs.sourceforge.net/ijbswa/</A
|
||||
>,
|
||||
which might help with visualizing how these pieces fit together.
|
||||
</P
|
||||
><P
|
||||
> Branches are used to fork a sub-development path from the main trunk.
|
||||
Within the <TT
|
||||
CLASS="LITERAL"
|
||||
>current</TT
|
||||
> module where the sources are, there
|
||||
is always at least one <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"branch"</SPAN
|
||||
> from the main trunk
|
||||
devoted to a stable release series. The main trunk is where active
|
||||
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
|
||||
just for stable series releases (e.g. 3.0.0 -> 3.0.1 -> 3.0.2, etc).
|
||||
Once the initial stable release of any stable branch has taken place,
|
||||
this branch is <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>only used for bugfixes</I
|
||||
></SPAN
|
||||
>, which have
|
||||
had prior testing before being committed to CVS. (See <A
|
||||
HREF="newrelease.html#VERSIONNUMBERS"
|
||||
>Version Numbers</A
|
||||
> below for details on
|
||||
versioning.)
|
||||
</P
|
||||
><P
|
||||
> At one time there were two distinct branches: stable and unstable. The
|
||||
more drastic changes were to be in the unstable branch. These branches
|
||||
have now been merged to minimize time and effort of maintaining two
|
||||
branches.
|
||||
</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
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&group_id=11118&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"
|
||||
> </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
|
@ -1,116 +1,199 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Introduction</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="Privoxy Developer Manual" href="index.html">
|
||||
<link rel="NEXT" title="The CVS Repository" href="cvs.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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="index.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="cvs.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
|
||||
Introduction</a></h1>
|
||||
|
||||
<p><span class="APPLICATION">Privoxy</span>, as an heir to <span class=
|
||||
"APPLICATION">Junkbuster</span>, is a Free Software project and the code
|
||||
is licensed under the GNU General Public License version 2. As such,
|
||||
<span class="APPLICATION">Privoxy</span> development is potentially open
|
||||
to anyone who has the time, knowledge, and desire to contribute in any
|
||||
capacity. Our goals are simply to continue the mission, to improve
|
||||
<span class="APPLICATION">Privoxy</span>, and to make it available to as
|
||||
wide an audience as possible.</p>
|
||||
|
||||
<p>One does not have to be a programmer to contribute. Packaging,
|
||||
testing, documenting and porting, are all important jobs as well.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="QUICKSTART" id="QUICKSTART">1.1. Quickstart
|
||||
to Privoxy Development</a></h2>
|
||||
|
||||
<p>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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">The CVS Repository</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Introduction</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="Privoxy Developer Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="The CVS Repository"
|
||||
HREF="cvs.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="index.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="cvs.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="INTRODUCTION"
|
||||
>1. Introduction</A
|
||||
></H1
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, as an heir to
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Junkbuster</SPAN
|
||||
>, is a Free Software project
|
||||
and the code is licensed under the GNU General Public License version 2.
|
||||
As such, <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> development is potentially open
|
||||
to anyone who has the time, knowledge, and desire to contribute
|
||||
in any capacity. Our goals are simply to continue the mission,
|
||||
to improve <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, and
|
||||
to make it available to as wide an audience as possible.
|
||||
</P
|
||||
><P
|
||||
> One does not have to be a programmer to contribute. Packaging, testing,
|
||||
documenting and porting, are all important jobs as well.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="QUICKSTART"
|
||||
>1.1. Quickstart to Privoxy Development</A
|
||||
></H2
|
||||
><P
|
||||
> 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"
|
||||
> </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
|
@ -1,204 +1,405 @@
|
|||
<!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""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>See also</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="Privoxy Copyright, License and History"
|
||||
HREF="copyright.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="copyright.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="SEEALSO"
|
||||
>10. See also</A
|
||||
></H1
|
||||
><P
|
||||
> Other references and sites of interest to <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
users:</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://www.privoxy.org/"
|
||||
TARGET="_top"
|
||||
>http://www.privoxy.org/</A
|
||||
>,
|
||||
the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> Home page.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://www.privoxy.org/faq/"
|
||||
TARGET="_top"
|
||||
>http://www.privoxy.org/faq/</A
|
||||
>,
|
||||
the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> FAQ.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://www.privoxy.org/developer-manual/"
|
||||
TARGET="_top"
|
||||
>http://www.privoxy.org/developer-manual/</A
|
||||
>,
|
||||
the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> developer manual.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="https://sourceforge.net/projects/ijbswa/"
|
||||
TARGET="_top"
|
||||
>https://sourceforge.net/projects/ijbswa/</A
|
||||
>,
|
||||
the Project Page for <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> on
|
||||
<A
|
||||
HREF="http://sourceforge.net"
|
||||
TARGET="_top"
|
||||
>SourceForge</A
|
||||
>.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://config.privoxy.org/"
|
||||
TARGET="_top"
|
||||
>http://config.privoxy.org/</A
|
||||
>,
|
||||
the web-based user interface. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> must be
|
||||
running for this to work. Shortcut: <A
|
||||
HREF="http://p.p/"
|
||||
TARGET="_top"
|
||||
>http://p.p/</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
TARGET="_top"
|
||||
>https://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||
>, to submit <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"misses"</SPAN
|
||||
> and other
|
||||
configuration related suggestions to the developers.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>See also</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="Privoxy Copyright, License and History" href=
|
||||
"copyright.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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="copyright.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">10. See also</a></h1>
|
||||
|
||||
<p>Other references and sites of interest to <span class=
|
||||
"APPLICATION">Privoxy</span> users:</p>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://www.privoxy.org/" target=
|
||||
"_top">http://www.privoxy.org/</a>, the <span class=
|
||||
"APPLICATION">Privoxy</span> Home page.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://www.privoxy.org/faq/" target=
|
||||
"_top">http://www.privoxy.org/faq/</a>, the <span class=
|
||||
"APPLICATION">Privoxy</span> FAQ.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://www.privoxy.org/developer-manual/" target=
|
||||
"_top">http://www.privoxy.org/developer-manual/</a>, the
|
||||
<span class="APPLICATION">Privoxy</span> developer manual.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://sourceforge.net/projects/ijbswa/" target=
|
||||
"_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
|
||||
Page for <span class="APPLICATION">Privoxy</span> on <a href=
|
||||
"http://sourceforge.net" target="_top">SourceForge</a>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://config.privoxy.org/" target=
|
||||
"_top">http://config.privoxy.org/</a>, the web-based user
|
||||
interface. <span class="APPLICATION">Privoxy</span> must be running
|
||||
for this to work. Shortcut: <a href="http://p.p/" target=
|
||||
"_top">http://p.p/</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href=
|
||||
"https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
target=
|
||||
"_top">https://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
||||
to submit <span class="QUOTE">"misses"</span> and other
|
||||
configuration related suggestions to the developers.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="33%" align="left" valign="top">Privoxy Copyright, License
|
||||
and History</td>
|
||||
|
||||
<td width="34%" align="center" valign="top"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<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"
|
||||
> </TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Privoxy Copyright, License and History</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,169 +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""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><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.
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<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=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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 class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="TESTING" id="TESTING">5. Testing
|
||||
Guidelines</a></h1>
|
||||
|
||||
<p>To be filled.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="TESTING-PLAN" id="TESTING-PLAN">5.1.
|
||||
Testplan for releases</a></h2>
|
||||
|
||||
<p>Explain release numbers. major, minor. developer releases. etc.</p>
|
||||
|
||||
<ol type="1">
|
||||
<li>
|
||||
<p>Remove any existing rpm with rpm -e</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Remove any file that was left over. This includes (but is not
|
||||
limited to)</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>/var/log/privoxy</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>/etc/privoxy</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>/usr/sbin/privoxy</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>/etc/init.d/privoxy</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>/usr/doc/privoxy*</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Install the rpm. Any error messages?</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>start,stop,status <span class="APPLICATION">Privoxy</span> with
|
||||
the specific script (e.g. /etc/rc.d/init/privoxy stop). Reboot your
|
||||
machine. Does autostart work?</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Start browsing. Does <span class="APPLICATION">Privoxy</span>
|
||||
work? Logfile written?</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Remove the rpm. Any error messages? All files removed?</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="TESTING-REPORT" id="TESTING-REPORT">5.2.
|
||||
Test reports</a></h2>
|
||||
|
||||
<p>Please submit test reports only with the <a href=
|
||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=395005"
|
||||
target="_top">test form</a> at sourceforge. Three simple steps:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>Select category: the distribution you test on.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Select group: the version of <span class=
|
||||
"APPLICATION">Privoxy</span> that we are about to release.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Fill the Summary and Detailed Description with something
|
||||
intelligent (keep it short and precise).</p>
|
||||
</li>
|
||||
</ul>Do not mail to the mailing list (we cannot keep track on issues
|
||||
there).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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="coding.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="newrelease.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="33%" align="left" valign="top">Coding Guidelines</td>
|
||||
|
||||
<td width="34%" align="center" valign="top"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Releasing a New
|
||||
Version</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<P
|
||||
></P
|
||||
><OL
|
||||
TYPE="1"
|
||||
><LI
|
||||
><P
|
||||
>Remove any existing rpm with rpm -e</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Remove any file that was left over. This includes (but is not limited to)
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>/var/log/privoxy</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>/etc/privoxy</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>/usr/sbin/privoxy</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>/etc/init.d/privoxy</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>/usr/doc/privoxy*</P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Install the rpm. Any error messages?</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>start,stop,status <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> with the specific script
|
||||
(e.g. /etc/rc.d/init/privoxy stop). Reboot your machine. Does
|
||||
autostart work?</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Start browsing. Does <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> work? Logfile written?</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Remove the rpm. Any error messages? All files removed?</P
|
||||
></LI
|
||||
></OL
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="TESTING-REPORT"
|
||||
>5.2. Test reports</A
|
||||
></H2
|
||||
><P
|
||||
>Please submit test reports only with the <A
|
||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=395005"
|
||||
TARGET="_top"
|
||||
>test form</A
|
||||
>
|
||||
at sourceforge. Three simple steps:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>Select category: the distribution you test on.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Select group: the version of <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> that we are about to release.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Fill the Summary and Detailed Description with something
|
||||
intelligent (keep it short and precise).</P
|
||||
></LI
|
||||
></UL
|
||||
>
|
||||
Do not mail to the mailing list (we cannot keep track on issues there).
|
||||
</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="coding.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="newrelease.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="left"
|
||||
VALIGN="top"
|
||||
>Coding Guidelines</TD
|
||||
><TD
|
||||
WIDTH="34%"
|
||||
ALIGN="center"
|
||||
VALIGN="top"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Releasing a New Version</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,147 +1,260 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Update the Webserver</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="Releasing a New Version" href=
|
||||
"newrelease.html">
|
||||
<link rel="NEXT" title=
|
||||
"Contacting the developers, Bug Reporting and Feature Requests" href=
|
||||
"contact.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c3 {font-style: italic}
|
||||
table.c2 {background-color: #E0E0E0}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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=
|
||||
"newrelease.html" accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="contact.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="WEBSERVER-UPDATE" id="WEBSERVER-UPDATE">7.
|
||||
Update the Webserver</a></h1>
|
||||
|
||||
<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, inconsistent contents or permission problems will occur (as it has
|
||||
many times in the past!):</p>
|
||||
|
||||
<p>If you have changed anything in the stable-branch documentation source
|
||||
SGML files, do:</p>
|
||||
|
||||
<table class="c2" border="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="PROGRAMLISTING">
|
||||
make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>That will generate <tt class=
|
||||
"FILENAME">doc/webserver/user-manual</tt>, <tt class=
|
||||
"FILENAME">doc/webserver/developer-manual</tt>, <tt class=
|
||||
"FILENAME">doc/webserver/faq</tt>, <tt class=
|
||||
"FILENAME">doc/pdf/*.pdf</tt> and <tt class=
|
||||
"FILENAME">doc/webserver/index.html</tt> automatically.</p>
|
||||
|
||||
<p>If you changed the manual page sources, generate <tt class=
|
||||
"FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt> by running
|
||||
<span class="QUOTE">"<b class="COMMAND">make man</b>"</span>. (This is a
|
||||
separate target due to dependencies on some obscure perl scripts [now in
|
||||
CVS, but not well tested]. See comments in <tt class=
|
||||
"FILENAME">GNUmakefile</tt>.)</p>
|
||||
|
||||
<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>
|
||||
|
||||
<table class="c2" border="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="PROGRAMLISTING">
|
||||
make webserver
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<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 EMPHASIS c3">NOT</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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Contacting the developers,
|
||||
Bug Reporting and Feature Requests</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Update the Webserver</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="Releasing a New Version"
|
||||
HREF="newrelease.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||
HREF="contact.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="newrelease.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="contact.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="WEBSERVER-UPDATE"
|
||||
>7. Update the Webserver</A
|
||||
></H1
|
||||
><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,
|
||||
inconsistent contents or permission problems will occur (as it has many
|
||||
times in the past!):
|
||||
</P
|
||||
><P
|
||||
> If you have changed anything in the stable-branch documentation source
|
||||
SGML files, do:
|
||||
</P
|
||||
><P
|
||||
> <TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="PROGRAMLISTING"
|
||||
> make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
</P
|
||||
><P
|
||||
> That will generate <TT
|
||||
CLASS="FILENAME"
|
||||
>doc/webserver/user-manual</TT
|
||||
>,
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>doc/webserver/developer-manual</TT
|
||||
>,
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>doc/webserver/faq</TT
|
||||
>,
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>doc/pdf/*.pdf</TT
|
||||
> and
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>doc/webserver/index.html</TT
|
||||
> automatically.
|
||||
</P
|
||||
><P
|
||||
> If you changed the manual page sources, generate
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>doc/webserver/man-page/privoxy-man-page.html</TT
|
||||
>
|
||||
by running <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"<B
|
||||
CLASS="COMMAND"
|
||||
>make man</B
|
||||
>"</SPAN
|
||||
>. (This is
|
||||
a separate target due to dependencies on some obscure perl scripts
|
||||
[now in CVS, but not well tested]. See comments in <TT
|
||||
CLASS="FILENAME"
|
||||
>GNUmakefile</TT
|
||||
>.)
|
||||
</P
|
||||
><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"
|
||||
> </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
|
@ -1,363 +1,510 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Contacting the developers, Bug Reporting and Feature
|
||||
Requests</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy Frequently Asked Questions" href=
|
||||
"index.html">
|
||||
<link rel="PREVIOUS" title="Troubleshooting" href="trouble.html">
|
||||
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
|
||||
"copyright.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<div class="NAVHEADER">
|
||||
<table summary="Header navigation table" width="100%" border="0"
|
||||
cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<th colspan="3" align="center">Privoxy Frequently Asked
|
||||
Questions</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="trouble.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href=
|
||||
"copyright.html" accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="CONTACT" id="CONTACT">6. Contacting the
|
||||
developers, Bug Reporting and Feature Requests</a></h1>
|
||||
|
||||
<p>We value your feedback. In fact, we rely on it to improve <span class=
|
||||
"APPLICATION">Privoxy</span> and its configuration. However, please note
|
||||
the following hints, so we can provide you with the best support:</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">6.1.
|
||||
Get Support</a></h2>
|
||||
|
||||
<p>For casual users, our <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
target="_top">support forum at SourceForge</a> is probably best suited:
|
||||
<a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
target="_top">http://sourceforge.net/tracker/?group_id=11118&atid=211118</a></p>
|
||||
|
||||
<p>All users are of course welcome to discuss their issues on the
|
||||
<a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||
target="_top">users mailing list</a>, where the developers also hang
|
||||
around.</p>
|
||||
|
||||
<p>Please don't sent private support requests to individual Privoxy
|
||||
developers, either use the mailing lists or the support trackers.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 of several days and if you use a subject that
|
||||
doesn't clearly mention Privoxy or one of its features, your message
|
||||
may be accidentally discarded as spam.</p>
|
||||
|
||||
<p>If you aren't subscribed, you should therefore spend a few seconds
|
||||
to come up with a proper subject. Additionally you should make it clear
|
||||
that you want to get CC'd. Otherwise some responses will be directed to
|
||||
the mailing list only, and you won't see them.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="REPORTING" id="REPORTING">6.2. Reporting
|
||||
Problems</a></h2>
|
||||
|
||||
<p><span class="QUOTE">"Problems"</span> for our purposes, come in two
|
||||
forms:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>Configuration issues, such as ads that slip through, or sites
|
||||
that don't function properly due to one <span class=
|
||||
"APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
|
||||
another being turned <span class="QUOTE">"on"</span>.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><span class="QUOTE">"Bugs"</span> in the programming code that
|
||||
makes up <span class="APPLICATION">Privoxy</span>, such as that
|
||||
might cause a crash.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="SECT3">
|
||||
<h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">6.2.1.
|
||||
Reporting Ads or Other Configuration Problems</a></h3>
|
||||
|
||||
<p>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 <tt class=
|
||||
"FILENAME">default.action</tt> file, to <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
target=
|
||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
||||
the Actions File Tracker.</p>
|
||||
|
||||
<p>New, improved <tt class="FILENAME">default.action</tt> files may
|
||||
occasionally be made available based on your feedback. These will be
|
||||
announced on the <a href=
|
||||
"http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
|
||||
"_top">ijbswa-announce</a> list and available from our the <a href=
|
||||
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
|
||||
"_top">files section</a> of our <a href=
|
||||
"http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT3">
|
||||
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">6.2.2.
|
||||
Reporting Bugs</a></h3>
|
||||
|
||||
<p>Please report all bugs through our bug tracker: <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||
target=
|
||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
|
||||
|
||||
<p>Before doing so, please make sure that the bug has <span class=
|
||||
"emphasis EMPHASIS c2">not already been submitted</span> and observe
|
||||
the additional hints at the top of the <a href=
|
||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||
target="_top">submit form</a>. If already submitted, please feel free
|
||||
to add any info to the original report that might help to solve the
|
||||
issue.</p>
|
||||
|
||||
<p>Please try to verify that it is a <span class=
|
||||
"APPLICATION">Privoxy</span> bug, and not a browser or site bug or
|
||||
documented behaviour that just happens to be different than what you
|
||||
expected. If unsure, try <a href=
|
||||
"http://config.privoxy.org/toggle?set=disable" target="_top">toggling
|
||||
off</a> <span class="APPLICATION">Privoxy</span>, and see if the
|
||||
problem persists.</p>
|
||||
|
||||
<p>If you are using your own custom configuration, please try the
|
||||
stock configs to see if the problem is configuration related. If
|
||||
you're having problems with a feature that is disabled by default,
|
||||
please ask around on the mailing list if others can reproduce the
|
||||
problem.</p>
|
||||
|
||||
<p>If you aren't using the latest Privoxy version, the bug may have
|
||||
been found and fixed in the meantime. We would appreciate if you
|
||||
could take the time to <a href=
|
||||
"http://www.privoxy.org/user-manual/installation.html" target=
|
||||
"_top">upgrade to the latest version</a> (or even the latest CVS
|
||||
snapshot) and verify that your bug still exists.</p>
|
||||
|
||||
<p>Please be sure to provide the following information:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>The exact <span class="APPLICATION">Privoxy</span> version you
|
||||
are using (if you got the source from CVS, please also provide
|
||||
the source code revisions as shown in <a href=
|
||||
"http://config.privoxy.org/show-version" target=
|
||||
"_top">http://config.privoxy.org/show-version</a>).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The operating system and versions you run <span class=
|
||||
"APPLICATION">Privoxy</span> on, (e.g. <span class=
|
||||
"APPLICATION">Windows XP SP2</span>), if you are using a Unix
|
||||
flavor, sending the output of <span class="QUOTE">"uname
|
||||
-a"</span> should do, in case of GNU/Linux, please also name the
|
||||
distribution.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The name, platform, and version of the <span class=
|
||||
"APPLICATION">browser</span> you were using (e.g. <span class=
|
||||
"APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The URL where the problem occurred, or some way for us to
|
||||
duplicate the problem (e.g. <tt class=
|
||||
"LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Whether your version of <span class=
|
||||
"APPLICATION">Privoxy</span> is one supplied by the <span class=
|
||||
"APPLICATION">Privoxy</span> developers via SourceForge, or if
|
||||
you got your copy somewhere else.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Whether you are using <span class="APPLICATION">Privoxy</span>
|
||||
in tandem with another proxy such as <span class=
|
||||
"APPLICATION">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). To get a meaningful logfile,
|
||||
please make sure that the <a href=
|
||||
"../user-manual/config.html#LOGFILE" target="_top">logfile
|
||||
directive</a> is being used and the following <a href=
|
||||
"../user-manual/config.html#DEBUG" target="_top">debug
|
||||
options</a> are enabled:</p>
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.<br>
|
||||
|
||||
debug 2 # show each connection status<br>
|
||||
|
||||
debug 4 # show I/O status<br>
|
||||
|
||||
debug 8 # show header parsing<br>
|
||||
|
||||
debug 128 # debug redirects<br>
|
||||
debug 256 # debug GIF de-animation<br>
|
||||
|
||||
debug 512 # Common Log Format<br>
|
||||
|
||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.<br>
|
||||
|
||||
debug 4096 # Startup banner and warnings.<br>
|
||||
|
||||
debug 8192 # Non-fatal errors</p>If you
|
||||
are having trouble with a filter, please additionally enable
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 64 # debug regular expression filters</p>If
|
||||
you are using Privoxy 3.0.17 or later and suspect that it
|
||||
interprets the request or the response incorrectly, please enable
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 32768 # log all data read from the network</p>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.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>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.</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. 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.</p>
|
||||
|
||||
<p>If you are new to reporting problems, you might be interested in
|
||||
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
||||
target="_top">How to Report Bugs Effectively</a>.</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" id="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&group_id=11118"
|
||||
target="_top">http://sourceforge.net/tracker/?atid=361118&group_id=11118</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">6.4.
|
||||
Mailing Lists</a></h2>
|
||||
|
||||
<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
|
||||
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 <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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Privoxy Copyright, License
|
||||
and History</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy Frequently Asked Questions"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Troubleshooting"
|
||||
HREF="trouble.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Privoxy Copyright, License and History"
|
||||
HREF="copyright.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 Frequently Asked Questions</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="trouble.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="CONTACT"
|
||||
>6. Contacting the developers, Bug Reporting and Feature Requests</A
|
||||
></H1
|
||||
><P
|
||||
> We value your feedback. In fact, we rely on it to improve
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> and its configuration.
|
||||
However, please note the following hints, so we can
|
||||
provide you with the best support:</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="CONTACT-SUPPORT"
|
||||
>6.1. Get Support</A
|
||||
></H2
|
||||
><P
|
||||
> For casual users, our
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
TARGET="_top"
|
||||
>support forum at SourceForge</A
|
||||
>
|
||||
is probably best suited:
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||
></P
|
||||
><P
|
||||
> All users are of course welcome to discuss their issues on the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||
TARGET="_top"
|
||||
>users
|
||||
mailing list</A
|
||||
>, where the developers also hang around.</P
|
||||
><P
|
||||
> Please don't sent private support requests to individual Privoxy
|
||||
developers, either use the mailing lists or the support trackers.</P
|
||||
><P
|
||||
> 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 of several days and if you use a subject that doesn't clearly
|
||||
mention Privoxy or one of its features, your message may be accidentally
|
||||
discarded as spam.</P
|
||||
><P
|
||||
> If you aren't subscribed, you should therefore spend a few seconds
|
||||
to come up with a proper subject. Additionally you should make it clear
|
||||
that you want to get CC'd. Otherwise some responses will be directed to
|
||||
the mailing list only, and you won't see them.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="REPORTING"
|
||||
>6.2. Reporting Problems</A
|
||||
></H2
|
||||
><P
|
||||
><SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Problems"</SPAN
|
||||
> for our purposes, come in two forms:</P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> Configuration issues, such as ads that slip through, or sites that
|
||||
don't function properly due to one <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
<SPAN
|
||||
CLASS="QUOTE"
|
||||
>"action"</SPAN
|
||||
> or another being turned <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"on"</SPAN
|
||||
>.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Bugs"</SPAN
|
||||
> in the programming code that makes up
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, such as that might cause a crash.
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H3
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="CONTACT-ADS"
|
||||
>6.2.1. Reporting Ads or Other Configuration Problems</A
|
||||
></H3
|
||||
><P
|
||||
> 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
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>default.action</TT
|
||||
> file, to
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
TARGET="_top"
|
||||
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||
>,
|
||||
the Actions File Tracker.</P
|
||||
><P
|
||||
> New, improved <TT
|
||||
CLASS="FILENAME"
|
||||
>default.action</TT
|
||||
> files may occasionally be made
|
||||
available based on your feedback. These will be announced on the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||
TARGET="_top"
|
||||
>ijbswa-announce</A
|
||||
>
|
||||
list and available from our the <A
|
||||
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||
TARGET="_top"
|
||||
>files section</A
|
||||
> of
|
||||
our <A
|
||||
HREF="http://sf.net/projects/ijbswa/"
|
||||
TARGET="_top"
|
||||
>project page</A
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H3
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="CONTACT-BUGS"
|
||||
>6.2.2. Reporting Bugs</A
|
||||
></H3
|
||||
><P
|
||||
> Please report all bugs through our bug tracker:
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||
>. </P
|
||||
><P
|
||||
> Before doing so, please make sure that the bug has <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>not already been submitted</I
|
||||
></SPAN
|
||||
>
|
||||
and observe the additional hints at the top of the <A
|
||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||
TARGET="_top"
|
||||
>submit
|
||||
form</A
|
||||
>. If already submitted, please feel free to add any info to the
|
||||
original report that might help to solve the issue.</P
|
||||
><P
|
||||
> Please try to verify that it is a <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> bug,
|
||||
and not a browser or site bug or documented behaviour that just happens
|
||||
to be different than what you expected. If unsure,
|
||||
try <A
|
||||
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||
TARGET="_top"
|
||||
>toggling
|
||||
off</A
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, and see if the problem persists.</P
|
||||
><P
|
||||
> If you are using your own custom configuration, please try
|
||||
the stock configs to see if the problem is configuration related.
|
||||
If you're having problems with a feature that is disabled by default,
|
||||
please ask around on the mailing list if others can reproduce the problem.</P
|
||||
><P
|
||||
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||
and fixed in the meantime. We would appreciate if you could take the time
|
||||
to <A
|
||||
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||
TARGET="_top"
|
||||
>upgrade
|
||||
to the latest version</A
|
||||
> (or even the latest CVS snapshot) and verify
|
||||
that your bug still exists.</P
|
||||
><P
|
||||
>Please be sure to provide the following information:</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> The exact <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> version you are using
|
||||
(if you got the source from CVS, please also provide the source code revisions
|
||||
as shown in <A
|
||||
HREF="http://config.privoxy.org/show-version"
|
||||
TARGET="_top"
|
||||
>http://config.privoxy.org/show-version</A
|
||||
>).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The operating system and versions you run
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> on, (e.g. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Windows
|
||||
XP SP2</SPAN
|
||||
>), if you are using a Unix flavor,
|
||||
sending the output of <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"uname -a"</SPAN
|
||||
> should do,
|
||||
in case of GNU/Linux, please also name the distribution.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The name, platform, and version of the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>browser</SPAN
|
||||
>
|
||||
you were using (e.g. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Internet Explorer v5.5</SPAN
|
||||
> for Mac).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The URL where the problem occurred, or some way for us to duplicate the
|
||||
problem (e.g. <TT
|
||||
CLASS="LITERAL"
|
||||
>http://somesite.example.com/?somethingelse=123</TT
|
||||
>).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Whether your version of <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is one supplied
|
||||
by the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> developers via SourceForge,
|
||||
or if you got your copy somewhere else.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Whether you are using <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> in tandem with
|
||||
another proxy such as <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>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"
|
||||
>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&group_id=11118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?atid=361118&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"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Privoxy Copyright, License and History</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,165 +1,301 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy Copyright, License and History</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy Frequently Asked Questions" href=
|
||||
"index.html">
|
||||
<link rel="PREVIOUS" title=
|
||||
"Contacting the developers, Bug Reporting and Feature Requests" href=
|
||||
"contact.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
a.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<div class="NAVHEADER">
|
||||
<table summary="Header navigation table" width="100%" border="0"
|
||||
cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<th colspan="3" align="center">Privoxy Frequently Asked
|
||||
Questions</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="contact.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">7. Privoxy
|
||||
Copyright, License and History</a></h1>
|
||||
|
||||
<p>Copyright © 2001-2011 by Privoxy Developers <code class=
|
||||
"EMAIL"><<a href=
|
||||
"mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>></code></p>
|
||||
|
||||
<p>Some source code is based on code Copyright © 1997 by Anonymous
|
||||
Coders and Junkbusters, Inc. and licensed under the <i class=
|
||||
"CITETITLE">GNU General Public License</i>.</p>
|
||||
|
||||
<p>Portions of this document are <span class="QUOTE">"borrowed"</span>
|
||||
from the original <span class="APPLICATION">Junkbuster</span> (tm) FAQ,
|
||||
and modified as appropriate for <span class=
|
||||
"APPLICATION">Privoxy</span>.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="AEN1475" id="AEN1475">7.1. License</a></h2>
|
||||
|
||||
<p><span class="APPLICATION">Privoxy</span> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the <i class=
|
||||
"CITETITLE">GNU General Public License</i>, version 2, as published by
|
||||
the Free Software Foundation.</p>
|
||||
|
||||
<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 <a class=
|
||||
"CITETITLE c2" href=
|
||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
||||
"_top">GNU General Public License</a> for details.</p>
|
||||
|
||||
<p>You should have received a copy of the <i class="CITETITLE">GNU
|
||||
GPL</i> along with this program; if not, write to the</p>
|
||||
|
||||
<p class="ADDRESS"> Free Software<br>
|
||||
Foundation, Inc. <span class="STREET">51 Franklin
|
||||
Street, Fifth Floor</span><br>
|
||||
<span class="CITY">Boston</span>, <span class=
|
||||
"STATE">MA</span> <span class="POSTCODE">02110-1301</span><br>
|
||||
<span class="COUNTRY">USA</span> </p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="AEN1491" id="AEN1491">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 class="c1" 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"> </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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy Copyright, License and History</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy Frequently Asked Questions"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||
HREF="contact.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 Frequently Asked Questions</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="contact.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
> </TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="COPYRIGHT"
|
||||
>7. Privoxy Copyright, License and History</A
|
||||
></H1
|
||||
><P
|
||||
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||
CLASS="EMAIL"
|
||||
><<A
|
||||
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||
>ijbswa-developers@lists.sourceforge.net</A
|
||||
>></CODE
|
||||
></P
|
||||
><P
|
||||
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||
and Junkbusters, Inc. and licensed under the <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public
|
||||
License</I
|
||||
>.</P
|
||||
><P
|
||||
> Portions of this document are <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"borrowed"</SPAN
|
||||
> from the original
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Junkbuster</SPAN
|
||||
> (tm) FAQ, and modified as
|
||||
appropriate for <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN1451"
|
||||
>7.1. License</A
|
||||
></H2
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the
|
||||
<I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public License</I
|
||||
>, version 2,
|
||||
as published by the Free Software Foundation.</P
|
||||
><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 <A
|
||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||
TARGET="_top"
|
||||
> <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public License</I
|
||||
></A
|
||||
> for details.</P
|
||||
><P
|
||||
> You should have received a copy of the <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU GPL</I
|
||||
>
|
||||
along with this program; if not, write to the <P
|
||||
CLASS="ADDRESS"
|
||||
> Free Software<br>
|
||||
Foundation, Inc. <SPAN
|
||||
CLASS="STREET"
|
||||
>51 Franklin Street, Fifth Floor</SPAN
|
||||
><br>
|
||||
<SPAN
|
||||
CLASS="CITY"
|
||||
>Boston</SPAN
|
||||
>, <SPAN
|
||||
CLASS="STATE"
|
||||
>MA</SPAN
|
||||
> <SPAN
|
||||
CLASS="POSTCODE"
|
||||
>02110-1301</SPAN
|
||||
><br>
|
||||
<SPAN
|
||||
CLASS="COUNTRY"
|
||||
>USA</SPAN
|
||||
> </P
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><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"
|
||||
> </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"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
> </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
|
@ -1,259 +1,569 @@
|
|||
<!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""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Installation</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy Frequently Asked Questions"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="General Information"
|
||||
HREF="general.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Configuration"
|
||||
HREF="configuration.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 Frequently Asked Questions</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="general.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="configuration.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="INSTALLATION"
|
||||
>2. Installation</A
|
||||
></H1
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="WHICHBROWSERS"
|
||||
>2.1. Which browsers are supported by Privoxy?</A
|
||||
></H3
|
||||
><P
|
||||
> Any browser that can be configured to use a proxy, which
|
||||
should be virtually all browsers, including
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Firefox</SPAN
|
||||
>, <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Internet
|
||||
Explorer</SPAN
|
||||
>, <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Opera</SPAN
|
||||
>, and
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Safari</SPAN
|
||||
> among others.
|
||||
Direct browser support is not an absolute requirement since
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> runs as a separate application and talks
|
||||
to the browser in the standardized HTTP protocol, just like a web server
|
||||
does.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="WHICHOS"
|
||||
>2.2. Which operating systems are supported?</A
|
||||
></H3
|
||||
><P
|
||||
> At present, <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is known to run on
|
||||
Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE, Debian,
|
||||
Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS, FreeBSD,
|
||||
NetBSD, OpenBSD, Solaris, and various other flavors of Unix.</P
|
||||
><P
|
||||
> But any operating system that runs TCP/IP, can conceivably take advantage of
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> in a networked situation where
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> would run as a server on a LAN gateway.
|
||||
Then only the <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"gateway"</SPAN
|
||||
> needs to be running one of the above
|
||||
operating systems.</P
|
||||
><P
|
||||
> Source code is freely available, so porting to other operating systems
|
||||
is always a possibility.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="EMAIL-CLIENT"
|
||||
>2.3. Can I use Privoxy with my email client?</A
|
||||
></H3
|
||||
><P
|
||||
> As long as there is some way to set a HTTP proxy for the client, then yes,
|
||||
any application can be used, whether it is strictly speaking a
|
||||
<SPAN
|
||||
CLASS="QUOTE"
|
||||
>"browser"</SPAN
|
||||
> or not. Though this may not be the best approach for
|
||||
dealing with some of the common abuses of HTML in email. See <A
|
||||
HREF="configuration.html#OUTLOOK"
|
||||
>How can I configure <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
with <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Outlook</SPAN
|
||||
>?</A
|
||||
> below for more on
|
||||
this. </P
|
||||
><P
|
||||
> Be aware that HTML email presents a number of unique security and privacy
|
||||
related issues, that can require advanced skills to overcome. The developers
|
||||
recommend using email clients that can be configured to convert HTML to plain
|
||||
text for these reasons.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="FIRSTSTEP"
|
||||
>2.4. I just installed Privoxy. Is there anything
|
||||
special I have to do now?</A
|
||||
></H3
|
||||
><P
|
||||
> All browsers should be told to use <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
as a proxy by specifying the correct proxy address and port number
|
||||
in the appropriate configuration area for the browser. It's possible
|
||||
to combine <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> with a packet filter to intercept HTTP requests
|
||||
even if the client isn't explicitly configured to use <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>,
|
||||
but where possible, configuring the client is recommended. See
|
||||
<A
|
||||
HREF="../user-manual/startup.html"
|
||||
TARGET="_top"
|
||||
>the User Manual for more
|
||||
details</A
|
||||
>. You should also flush your browser's memory and disk
|
||||
cache to get rid of any cached junk items, and remove any stored
|
||||
<A
|
||||
HREF="http://en.wikipedia.org/wiki/Browser_cookie"
|
||||
TARGET="_top"
|
||||
>cookies</A
|
||||
>. </P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="LOCALHOST"
|
||||
>2.5. What is the proxy address of Privoxy?</A
|
||||
></H3
|
||||
><P
|
||||
> If you set up the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> to run on
|
||||
the computer you browse from (rather than your ISP's server or some
|
||||
networked computer on a LAN), the proxy will be on <TT
|
||||
CLASS="LITERAL"
|
||||
>127.0.0.1</TT
|
||||
>
|
||||
(sometimes referred to as <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"localhost"</SPAN
|
||||
>,
|
||||
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
|
||||
HREF="../user-manual/config.html#LISTEN-ADDRESS"
|
||||
TARGET="_top"
|
||||
>listen-address</A
|
||||
>
|
||||
config option to tell <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> to run on
|
||||
a different port).
|
||||
</P
|
||||
><P
|
||||
> When configuring your browser's proxy settings you typically enter
|
||||
the word <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"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
|
||||
>.
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Installation</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy Frequently Asked Questions" href=
|
||||
"index.html">
|
||||
<link rel="PREVIOUS" title="General Information" href="general.html">
|
||||
<link rel="NEXT" title="Configuration" href="configuration.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<div class="NAVHEADER">
|
||||
<table summary="Header navigation table" width="100%" border="0"
|
||||
cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<th colspan="3" align="center">Privoxy Frequently Asked
|
||||
Questions</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="general.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href=
|
||||
"configuration.html" accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="INSTALLATION" id="INSTALLATION">2.
|
||||
Installation</a></h1>
|
||||
|
||||
<div class="SECT2">
|
||||
<h3 class="SECT2"><a name="WHICHBROWSERS" id="WHICHBROWSERS">2.1. Which
|
||||
browsers are supported by Privoxy?</a></h3>
|
||||
|
||||
<p>Any browser that can be configured to use a proxy, which should be
|
||||
virtually all browsers, including <span class=
|
||||
"APPLICATION">Firefox</span>, <span class="APPLICATION">Internet
|
||||
Explorer</span>, <span class="APPLICATION">Opera</span>, and
|
||||
<span class="APPLICATION">Safari</span> among others. Direct browser
|
||||
support is not an absolute requirement since <span class=
|
||||
"APPLICATION">Privoxy</span> runs as a separate application and talks
|
||||
to the browser in the standardized HTTP protocol, just like a web
|
||||
server does.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h3 class="SECT2"><a name="WHICHOS" id="WHICHOS">2.2. Which operating
|
||||
systems are supported?</a></h3>
|
||||
|
||||
<p>At present, <span class="APPLICATION">Privoxy</span> is known to run
|
||||
on Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE,
|
||||
Debian, Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS,
|
||||
FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of
|
||||
Unix.</p>
|
||||
|
||||
<p>But any operating system that runs TCP/IP, can conceivably take
|
||||
advantage of <span class="APPLICATION">Privoxy</span> in a networked
|
||||
situation where <span class="APPLICATION">Privoxy</span> would run as a
|
||||
server on a LAN gateway. Then only the <span class=
|
||||
"QUOTE">"gateway"</span> needs to be running one of the above operating
|
||||
systems.</p>
|
||||
|
||||
<p>Source code is freely available, so porting to other operating
|
||||
systems is always a possibility.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h3 class="SECT2"><a name="EMAIL-CLIENT" id="EMAIL-CLIENT">2.3. Can I
|
||||
use Privoxy with my email client?</a></h3>
|
||||
|
||||
<p>As long as there is some way to set a HTTP proxy for the client,
|
||||
then yes, any application can be used, whether it is strictly speaking
|
||||
a <span class="QUOTE">"browser"</span> or not. Though this may not be
|
||||
the best approach for dealing with some of the common abuses of HTML in
|
||||
email. See <a href="configuration.html#OUTLOOK">How can I configure
|
||||
<span class="APPLICATION">Privoxy</span> with <span class=
|
||||
"APPLICATION">Outlook</span>?</a> below for more on this.</p>
|
||||
|
||||
<p>Be aware that HTML email presents a number of unique security and
|
||||
privacy related issues, that can require advanced skills to overcome.
|
||||
The developers recommend using email clients that can be configured to
|
||||
convert HTML to plain text for these reasons.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h3 class="SECT2"><a name="FIRSTSTEP" id="FIRSTSTEP">2.4. I just
|
||||
installed Privoxy. Is there anything special I have to do now?</a></h3>
|
||||
|
||||
<p>All browsers should be told to use <span class=
|
||||
"APPLICATION">Privoxy</span> as a proxy by specifying the correct proxy
|
||||
address and port number in the appropriate configuration area for the
|
||||
browser. It's possible to combine <span class=
|
||||
"APPLICATION">Privoxy</span> with a packet filter to intercept HTTP
|
||||
requests even if the client isn't explicitly configured to use
|
||||
<span class="APPLICATION">Privoxy</span>, but where possible,
|
||||
configuring the client is recommended. See <a href=
|
||||
"../user-manual/startup.html" target="_top">the User Manual for more
|
||||
details</a>. You should also flush your browser's memory and disk cache
|
||||
to get rid of any cached junk items, and remove any stored <a href=
|
||||
"http://en.wikipedia.org/wiki/Browser_cookie" target=
|
||||
"_top">cookies</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h3 class="SECT2"><a name="LOCALHOST" id="LOCALHOST">2.5. What is the
|
||||
proxy address of Privoxy?</a></h3>
|
||||
|
||||
<p>If you set up the <span class="APPLICATION">Privoxy</span> to run on
|
||||
the computer you browse from (rather than your ISP's server or some
|
||||
networked computer on a LAN), the proxy will be on <tt class=
|
||||
"LITERAL">127.0.0.1</tt> (sometimes referred to as <span class=
|
||||
"QUOTE">"localhost"</span>, 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 href=
|
||||
"../user-manual/config.html#LISTEN-ADDRESS" target=
|
||||
"_top">listen-address</a> config option to tell <span class=
|
||||
"APPLICATION">Privoxy</span> to run on a different port).</p>
|
||||
|
||||
<p>When configuring your browser's proxy settings you typically enter
|
||||
the word <span class="QUOTE">"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" id="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" id="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 EMPHASIS c2">really</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> --> <span class=
|
||||
"GUIBUTTON">Preferences</span> --> <span class=
|
||||
"GUIBUTTON">Advanced</span> --> <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> --> <span class="GUIBUTTON">Options</span>
|
||||
--> <span class="GUIBUTTON">Privacy</span> --> <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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Configuration</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
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
|
||||
> --> <SPAN
|
||||
CLASS="GUIBUTTON"
|
||||
>Preferences</SPAN
|
||||
> -->
|
||||
<SPAN
|
||||
CLASS="GUIBUTTON"
|
||||
>Advanced</SPAN
|
||||
> --> <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
|
||||
> --> <SPAN
|
||||
CLASS="GUIBUTTON"
|
||||
>Options</SPAN
|
||||
> -->
|
||||
<SPAN
|
||||
CLASS="GUIBUTTON"
|
||||
>Privacy</SPAN
|
||||
> --> <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"
|
||||
> </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
|
@ -1,207 +1,328 @@
|
|||
<!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""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy - Home Page</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="privoxy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="HTTP"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="proxy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="privacy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="popups"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="po-ups"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="HTML"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="JavaScript"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="cleaning"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="blocking"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="cleaner"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="blocker"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="filter"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="proxy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="junk"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="ad"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="advertisement"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="banner"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="webbugs"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="web-bugs"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="werbung"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="junkbusters"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="junkbuster"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<meta name="description" content="Privoxy helps users to protect their privacy.">
|
||||
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD
|
||||
><BODY
|
||||
CLASS="ARTICLE"
|
||||
BGCOLOR="#EEEEEE"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="ARTICLE"
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
><A
|
||||
NAME="AEN2"
|
||||
>Privoxy - Home Page</A
|
||||
></H1
|
||||
><DIV
|
||||
><DIV
|
||||
CLASS="ABSTRACT"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN28"
|
||||
></A
|
||||
><P
|
||||
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
||||
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
|
||||
><P
|
||||
> Privoxy is Free Software and licensed under the GPL2.</P
|
||||
><P
|
||||
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||
<A
|
||||
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
||||
TARGET="_top"
|
||||
>Donations are welcome</A
|
||||
>.</P
|
||||
><P
|
||||
> The most recent release is <A
|
||||
HREF="announce.txt"
|
||||
TARGET="_top"
|
||||
>3.0.12 (stable)</A
|
||||
>.
|
||||
</P
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H3
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="DOWNLOAD"
|
||||
>Download</A
|
||||
></H3
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||
TARGET="_top"
|
||||
>Download recent releases</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="user-manual/quickstart.html"
|
||||
TARGET="_top"
|
||||
>Quickstart after installation</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><HR><H3
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="DOCS"
|
||||
>Documentation</A
|
||||
></H3
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="user-manual/index.html"
|
||||
TARGET="_top"
|
||||
>User manual</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="faq/index.html"
|
||||
TARGET="_top"
|
||||
>Frequently Asked Questions</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="developer-manual/index.html"
|
||||
TARGET="_top"
|
||||
>Developer Manual</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
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 & Service</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="user-manual/copyright.html"
|
||||
TARGET="_top"
|
||||
>Copyright, License, History & 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
|
||||
>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy - Home Page</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<meta name="KEYWORD" content="privoxy">
|
||||
<meta name="KEYWORD" content="HTTP">
|
||||
<meta name="KEYWORD" content="proxy">
|
||||
<meta name="KEYWORD" content="privacy">
|
||||
<meta name="KEYWORD" content="popups">
|
||||
<meta name="KEYWORD" content="po-ups">
|
||||
<meta name="KEYWORD" content="HTML">
|
||||
<meta name="KEYWORD" content="JavaScript">
|
||||
<meta name="KEYWORD" content="cleaning">
|
||||
<meta name="KEYWORD" content="blocking">
|
||||
<meta name="KEYWORD" content="cleaner">
|
||||
<meta name="KEYWORD" content="blocker">
|
||||
<meta name="KEYWORD" content="filter">
|
||||
<meta name="KEYWORD" content="proxy">
|
||||
<meta name="KEYWORD" content="junk">
|
||||
<meta name="KEYWORD" content="ad">
|
||||
<meta name="KEYWORD" content="advertisement">
|
||||
<meta name="KEYWORD" content="banner">
|
||||
<meta name="KEYWORD" content="webbugs">
|
||||
<meta name="KEYWORD" content="web-bugs">
|
||||
<meta name="KEYWORD" content="werbung">
|
||||
<meta name="KEYWORD" content="junkbusters">
|
||||
<meta name="KEYWORD" content="junkbuster">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<meta name="description" content=
|
||||
"Privoxy helps users to protect their privacy.">
|
||||
<meta name="MSSmartTagsPreventParsing" content="TRUE">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
col.c1 {text-align: center}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="ARTICLE">
|
||||
<div class="ARTICLE">
|
||||
<div class="TITLEPAGE">
|
||||
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - Home Page</a></h1>
|
||||
|
||||
<div class="ABSTRACT">
|
||||
<a name="AEN28" id="AEN28"></a>
|
||||
|
||||
<p>Privoxy is a non-caching web proxy with advanced filtering
|
||||
capabilities for enhancing privacy, modifying web page data and HTTP
|
||||
headers, controlling access, and removing ads and other obnoxious
|
||||
Internet junk. Privoxy has a 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>
|
||||
|
||||
<p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
|
||||
|
||||
<p>Privoxy is an associated project of Software in the Public
|
||||
Interest (SPI).</p>
|
||||
|
||||
<p>Helping hands and donations are welcome:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
|
||||
target=
|
||||
"_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.privoxy.org/faq/general.html#DONATE"
|
||||
target=
|
||||
"_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>The most recent release is <a href="announce.txt" target=
|
||||
"_top">3.0.19 (stable)</a>.</p>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h3 class="SECT1"><a name="DOWNLOAD" id="DOWNLOAD">Download</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="https://sourceforge.net/projects/ijbswa/files/" target=
|
||||
"_top">Download recent releases</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="user-manual/quickstart.html" target="_top">Quickstart
|
||||
after installation</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<hr>
|
||||
|
||||
<h3 class="SECT1"><a name="DOCS" id="DOCS">Documentation</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="user-manual/index.html" target="_top">User
|
||||
manual</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="faq/index.html" target="_top">Frequently Asked
|
||||
Questions</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="developer-manual/index.html" target="_top">Developer
|
||||
Manual</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="man-page/privoxy-man-page.html" target="_top">Classic
|
||||
Man Page</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<hr>
|
||||
|
||||
<h3 class="SECT1"><a name="MOREINFO" id="MOREINFO">More
|
||||
information</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="user-manual/contact.html" target="_top">Support &
|
||||
Service</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="user-manual/copyright.html" target="_top">Copyright,
|
||||
License, History & 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://www.privoxy.org/team/index.html" target=
|
||||
"_top">Pictures of the Privoxy Team</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<hr>
|
||||
|
||||
<h2 class="SECT1"><a name="AEN90" id="AEN90"></a></h2>
|
||||
|
||||
<div class="INFORMALTABLE">
|
||||
<a name="AEN93" id="AEN93"></a>
|
||||
|
||||
<table border="0" frame="void" rules="all" width="100%" class=
|
||||
"CALSTABLE">
|
||||
<col class="c1" width="100%" 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&type=1&dummy=.gif"></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p><sub>Copyright © 2001-2010 by Privoxy Developers</sub></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<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&type=1&dummy=.gif">
|
||||
</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></P
|
||||
><P
|
||||
> <SUB
|
||||
> Copyright © 2001-2009 by Privoxy Developers
|
||||
</SUB
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,213 +1,294 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML><HEAD><TITLE>Man page of PRIVOXY</TITLE>
|
||||
<LINK REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></HEAD><BODY>
|
||||
<H1>PRIVOXY</H1>
|
||||
Section: (1)<BR>Updated: 21 March 2009<BR><A HREF="#index">Index</A>
|
||||
<HR>
|
||||
|
||||
<title>Privoxy Man page</title>
|
||||
<link rel="stylesheet" type="text/css" href="../p_web.css">
|
||||
</head>
|
||||
<A NAME="lbAB"> </A>
|
||||
<H2>NAME</H2>
|
||||
|
||||
<body>
|
||||
<h2>NAME</h2>
|
||||
<pre>
|
||||
<!-- Manpage converted by man2html 3.0.1 -->
|
||||
privoxy - Privacy Enhancing Proxy
|
||||
<A NAME="lbAC"> </A>
|
||||
<H2>SYNOPSIS</H2>
|
||||
|
||||
</pre>
|
||||
<P>
|
||||
<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"> </A>
|
||||
<H2>OPTIONS</H2>
|
||||
|
||||
<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> ]
|
||||
<P>
|
||||
|
||||
<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"> </A>
|
||||
<H2>DESCRIPTION</H2>
|
||||
|
||||
</pre>
|
||||
<P>
|
||||
|
||||
<h2>OPTIONS</h2>
|
||||
<pre>
|
||||
<b>Privoxy</b> may be invoked with the following command line options:
|
||||
Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
||||
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>
|
||||
|
||||
<b>--help</b> Print brief usage info and exit.
|
||||
Privoxy is Free Software and licensed under the GPL2.
|
||||
<A NAME="lbAF"> </A>
|
||||
<H2>INSTALLATION AND USAGE</H2>
|
||||
|
||||
<b>--version</b>
|
||||
Print version info and exit.
|
||||
<P>
|
||||
|
||||
<b>--no-daemon</b>
|
||||
Don't become a daemon, i.e. don't fork and become process
|
||||
group leader, don't detach from controlling tty, and do all log-
|
||||
ging there.
|
||||
Browsers can either be individually configured to use
|
||||
<B>Privoxy</B> as a HTTP proxy (recommended),
|
||||
or <B>Privoxy</B> can be combined with a packet
|
||||
filter to 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 Settings</B>;
|
||||
<B>Manual Proxy Configuration</B>.
|
||||
<P>
|
||||
|
||||
<b>--pidfile</b> <i>pidfile</i>
|
||||
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.
|
||||
For Internet Explorer, go through: <B>Tools</B>;
|
||||
<B>Internet Properties</B>; <B>Connections</B>;
|
||||
<B>LAN Settings</B>.
|
||||
<P>
|
||||
|
||||
<b>--user</b> <i>user[.group]</i>
|
||||
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.
|
||||
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
||||
https: URLs will not be proxied. Note: <B>Privoxy</B> can only
|
||||
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
|
||||
connections.
|
||||
<P>
|
||||
|
||||
<b>--chroot</b>
|
||||
Before changing to the user ID given in the --user option,
|
||||
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.
|
||||
For other browsers, check the documentation.
|
||||
<A NAME="lbAG"> </A>
|
||||
<H2>CONFIGURATION</H2>
|
||||
|
||||
<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.
|
||||
<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>con-</i>
|
||||
<i>figfile</i> is found, <b>Privoxy</b> will fail to start.
|
||||
<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 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>
|
||||
|
||||
</pre>
|
||||
The actions list (ad blocks, etc) can also be configured with your
|
||||
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>
|
||||
|
||||
<h2>DESCRIPTION</h2>
|
||||
<pre>
|
||||
Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||
for enhancing privacy, modifying web page data and HTTP headers, con-
|
||||
trolling access, and removing ads and other obnoxious Internet junk.
|
||||
Privoxy has a flexible configuration and can be customized to suit
|
||||
See the <I>User Manual</I> for a detailed
|
||||
explanation of installation, general usage, all configuration options, new
|
||||
features and notes on upgrading.
|
||||
<A NAME="lbAH"> </A>
|
||||
<H2>FILES</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
|
||||
</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>
|
||||
|
||||
<h2>INSTALLATION AND USAGE</h2>
|
||||
<pre>
|
||||
Browsers can either be individually configured to use <b>Privoxy</b> as a HTTP
|
||||
proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to
|
||||
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>.
|
||||
Various other files should be included, but may vary depending on platform
|
||||
and build configuration. Additional documentation should be included in the local
|
||||
documentation directory.
|
||||
<A NAME="lbAI"> </A>
|
||||
<H2>SIGNALS</H2>
|
||||
|
||||
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
||||
https: URLs will not be proxied. Note: <b>Privoxy</b> can only 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
|
||||
connections.
|
||||
<P>
|
||||
|
||||
For other browsers, check the documentation.
|
||||
<B>Privoxy</B> terminates on the <B>SIGINT</B>,
|
||||
<B>SIGTERM</B> and <B>SIGABRT</B> signals. Log
|
||||
rotation scripts may cause a re-opening of the logfile by sending a
|
||||
<B>SIGHUP</B> to <B>Privoxy</B>. Note that unlike
|
||||
other daemons, <B>Privoxy</B> does not need to be made aware of
|
||||
config file changes by <B>SIGHUP</B> -- it will detect them
|
||||
automatically.
|
||||
<A NAME="lbAJ"> </A>
|
||||
<H2>NOTES</H2>
|
||||
|
||||
<P>
|
||||
|
||||
</pre>
|
||||
Please see the <I>User Manual</I> on how to contact the
|
||||
developers, for feature requests, reporting problems, and other questions.
|
||||
<A NAME="lbAK"> </A>
|
||||
<H2>SEE ALSO</H2>
|
||||
|
||||
<h2>CONFIGURATION</h2>
|
||||
<pre>
|
||||
<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
|
||||
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.
|
||||
Other references and sites of interest to <B>Privoxy</B>
|
||||
users:
|
||||
<P>
|
||||
|
||||
The actions list (ad blocks, etc) can also be configured with your web
|
||||
browser at http://config.privoxy.org/ (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>
|
||||
<A HREF="http://www.privoxy.org/">http://www.privoxy.org/,</A>
|
||||
the <B>Privoxy</B> Home page.
|
||||
<P>
|
||||
<A HREF="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/,</A>
|
||||
the <B>Privoxy</B> FAQ.
|
||||
<P>
|
||||
<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>&atid=460288, to submit ``misses'' and other
|
||||
configuration related suggestions to the developers.
|
||||
<A NAME="lbAL"> </A>
|
||||
<H2>DEVELOPMENT TEAM</H2>
|
||||
|
||||
See the <i>User</i> <i>Manual</i> for a detailed explanation of installation, general
|
||||
usage, all configuration options, new features and notes on upgrading.
|
||||
<P>
|
||||
<PRE>
|
||||
Fabian Keil, lead developer
|
||||
David Schmidt, developer
|
||||
|
||||
Hal Burgiss
|
||||
Mark Miller
|
||||
Gerry Murphy
|
||||
Lee Rian
|
||||
Roland Rosenfeld
|
||||
Jörg Strohmayer
|
||||
</PRE>
|
||||
|
||||
</pre>
|
||||
<A NAME="lbAM"> </A>
|
||||
<H2>COPYRIGHT AND LICENSE</H2>
|
||||
|
||||
<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.
|
||||
<A NAME="lbAN"> </A>
|
||||
<H3>COPYRIGHT</H3>
|
||||
|
||||
<P>
|
||||
|
||||
</pre>
|
||||
Copyright (C) 2001-2009 by Privoxy Developers <<A HREF="mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</A>>
|
||||
<P>
|
||||
|
||||
<h2>NOTES</h2>
|
||||
<pre>
|
||||
This is a UNRELEASED version of <b>Privoxy</b>. Not all features are well
|
||||
tested.
|
||||
Some source code is based on code Copyright (C) 1997 by Anonymous Coders
|
||||
and Junkbusters, Inc. and licensed under the <I>GNU General Public
|
||||
License</I>.
|
||||
<A NAME="lbAO"> </A>
|
||||
<H3>LICENSE</H3>
|
||||
|
||||
Please see the <i>User</i> <i>Manual</i> on how to contact the developers, for fea-
|
||||
ture requests, reporting problems, and other questions.
|
||||
<P>
|
||||
|
||||
<B>Privoxy</B> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the
|
||||
<I>GNU General Public License</I>, version 2,
|
||||
as published by the Free Software Foundation.
|
||||
<P>
|
||||
|
||||
</pre>
|
||||
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>
|
||||
|
||||
<h2>SEE ALSO</h2>
|
||||
<pre>
|
||||
Other references and sites of interest to <b>Privoxy</b> users:
|
||||
You should have received a copy of the <I>GNU GPL</I>
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc. 51 Franklin Street, Fifth Floor
|
||||
Boston, MA 02110-1301
|
||||
USA
|
||||
<P>
|
||||
|
||||
|
||||
http://www.privoxy.org/, the <b>Privoxy</b> Home page.
|
||||
|
||||
http://www.privoxy.org/faq/, the <b>Privoxy</b> FAQ.
|
||||
|
||||
http://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer manual.
|
||||
|
||||
https://sourceforge.net/projects/ijbswa/, the Project Page for <b>Privoxy</b>
|
||||
on SourceForge.
|
||||
|
||||
http://config.privoxy.org/, the web-based user interface. <b>Privoxy</b> must
|
||||
be running for this to work. Shortcut: http://p.p/
|
||||
|
||||
https://sourceforge.net/tracker/?group_id=11118&atid=460288, to submit
|
||||
``misses'' and other configuration related suggestions to the develop-
|
||||
ers.
|
||||
|
||||
|
||||
</pre>
|
||||
|
||||
<h2>DEVELOPMENT TEAM</h2>
|
||||
<pre>
|
||||
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 <ijbswa-develop-
|
||||
ers@lists.sourceforge.net>
|
||||
|
||||
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>
|
||||
<HR>
|
||||
<A NAME="index"> </A><H2>Index</H2>
|
||||
<DL>
|
||||
<DT><A HREF="#lbAB">NAME</A><DD>
|
||||
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
|
||||
<DT><A HREF="#lbAD">OPTIONS</A><DD>
|
||||
<DT><A HREF="#lbAE">DESCRIPTION</A><DD>
|
||||
<DT><A HREF="#lbAF">INSTALLATION AND USAGE</A><DD>
|
||||
<DT><A HREF="#lbAG">CONFIGURATION</A><DD>
|
||||
<DT><A HREF="#lbAH">FILES</A><DD>
|
||||
<DT><A HREF="#lbAI">SIGNALS</A><DD>
|
||||
<DT><A HREF="#lbAJ">NOTES</A><DD>
|
||||
<DT><A HREF="#lbAK">SEE ALSO</A><DD>
|
||||
<DT><A HREF="#lbAL">DEVELOPMENT TEAM</A><DD>
|
||||
<DT><A HREF="#lbAM">COPYRIGHT AND LICENSE</A><DD>
|
||||
<DL>
|
||||
<DT><A HREF="#lbAN">COPYRIGHT</A><DD>
|
||||
<DT><A HREF="#lbAO">LICENSE</A><DD>
|
||||
</DL>
|
||||
</DL>
|
||||
<HR>
|
||||
This document was created by
|
||||
man2html,
|
||||
using the manual pages.<BR>
|
||||
Time: 11:32:52 GMT, March 21, 2009
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
|
|
@ -1,185 +1,283 @@
|
|||
<!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""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy - The Privacy Enhancing Proxy</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="privoxy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="HTTP"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="proxy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="privacy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="popups"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="po-ups"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="HTML"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="JavaScript"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="cleaning"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="blocking"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="cleaner"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="blocker"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="filter"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="proxy"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="junk"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="ad"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="advertisement"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="banner"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="webbugs"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="web-bugs"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="werbung"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="junkbusters"><META
|
||||
NAME="KEYWORD"
|
||||
CONTENT="junkbuster"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<meta name="description" content="Privoxy helps users to protect their privacy.">
|
||||
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD
|
||||
><BODY
|
||||
CLASS="ARTICLE"
|
||||
BGCOLOR="#EEEEEE"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="ARTICLE"
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
><A
|
||||
NAME="AEN2"
|
||||
>Privoxy - The Privacy Enhancing Proxy</A
|
||||
></H1
|
||||
><H2
|
||||
CLASS="SUBTITLE"
|
||||
>Project Index Page v3.0.12</H2
|
||||
><DIV
|
||||
><DIV
|
||||
CLASS="ABSTRACT"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN29"
|
||||
></A
|
||||
><P
|
||||
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
||||
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
|
||||
><P
|
||||
> Privoxy is Free Software and licensed under the GPL2.</P
|
||||
><P
|
||||
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||
<A
|
||||
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
||||
TARGET="_top"
|
||||
>Donations are welcome</A
|
||||
>.</P
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H3
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="DOWNLOAD"
|
||||
>Download</A
|
||||
></H3
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||
TARGET="_top"
|
||||
>Download recent releases</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="user-manual/quickstart.html"
|
||||
TARGET="_top"
|
||||
>Quickstart after installation</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><HR><H3
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="DOCS"
|
||||
>Documentation</A
|
||||
></H3
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="user-manual/index.html"
|
||||
TARGET="_top"
|
||||
>User manual</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="faq/index.html"
|
||||
TARGET="_top"
|
||||
>Frequently Asked Questions</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="developer-manual/index.html"
|
||||
TARGET="_top"
|
||||
>Developer Manual</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
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 & Service</A
|
||||
>
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <A
|
||||
HREF="user-manual/copyright.html"
|
||||
TARGET="_top"
|
||||
>Copyright, License, History & 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
|
||||
>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy - The Privacy Enhancing Proxy</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<meta name="KEYWORD" content="privoxy">
|
||||
<meta name="KEYWORD" content="HTTP">
|
||||
<meta name="KEYWORD" content="proxy">
|
||||
<meta name="KEYWORD" content="privacy">
|
||||
<meta name="KEYWORD" content="popups">
|
||||
<meta name="KEYWORD" content="po-ups">
|
||||
<meta name="KEYWORD" content="HTML">
|
||||
<meta name="KEYWORD" content="JavaScript">
|
||||
<meta name="KEYWORD" content="cleaning">
|
||||
<meta name="KEYWORD" content="blocking">
|
||||
<meta name="KEYWORD" content="cleaner">
|
||||
<meta name="KEYWORD" content="blocker">
|
||||
<meta name="KEYWORD" content="filter">
|
||||
<meta name="KEYWORD" content="proxy">
|
||||
<meta name="KEYWORD" content="junk">
|
||||
<meta name="KEYWORD" content="ad">
|
||||
<meta name="KEYWORD" content="advertisement">
|
||||
<meta name="KEYWORD" content="banner">
|
||||
<meta name="KEYWORD" content="webbugs">
|
||||
<meta name="KEYWORD" content="web-bugs">
|
||||
<meta name="KEYWORD" content="werbung">
|
||||
<meta name="KEYWORD" content="junkbusters">
|
||||
<meta name="KEYWORD" content="junkbuster">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<meta name="description" content=
|
||||
"Privoxy helps users to protect their privacy.">
|
||||
<meta name="MSSmartTagsPreventParsing" content="TRUE">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="ARTICLE">
|
||||
<div class="ARTICLE">
|
||||
<div class="TITLEPAGE">
|
||||
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - The Privacy
|
||||
Enhancing Proxy</a></h1>
|
||||
|
||||
<h2 class="SUBTITLE">Project Index Page v3.0.19</h2>
|
||||
|
||||
<div class="ABSTRACT">
|
||||
<a name="AEN29" id="AEN29"></a>
|
||||
|
||||
<p>Privoxy is a non-caching web proxy with advanced filtering
|
||||
capabilities for enhancing privacy, modifying web page data and HTTP
|
||||
headers, controlling access, and removing ads and other obnoxious
|
||||
Internet junk. Privoxy has a 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>
|
||||
|
||||
<p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
|
||||
|
||||
<p>Privoxy is an associated project of Software in the Public
|
||||
Interest (SPI).</p>
|
||||
|
||||
<p>Helping hands and donations are welcome:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://www.privoxy.org/faq/general.html#PARTICIPATE"
|
||||
target=
|
||||
"_top">http://www.privoxy.org/faq/general.html#PARTICIPATE</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.privoxy.org/faq/general.html#DONATE"
|
||||
target=
|
||||
"_top">http://www.privoxy.org/faq/general.html#DONATE</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h3 class="SECT1"><a name="DOWNLOAD" id="DOWNLOAD">Download</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="https://sourceforge.net/projects/ijbswa/files/" target=
|
||||
"_top">Download recent releases</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="user-manual/quickstart.html" target="_top">Quickstart
|
||||
after installation</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<hr>
|
||||
|
||||
<h3 class="SECT1"><a name="DOCS" id="DOCS">Documentation</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="user-manual/index.html" target="_top">User
|
||||
manual</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="faq/index.html" target="_top">Frequently Asked
|
||||
Questions</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="developer-manual/index.html" target="_top">Developer
|
||||
Manual</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="man-page/privoxy-man-page.html" target="_top">Classic
|
||||
Man Page</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<hr>
|
||||
|
||||
<h3 class="SECT1"><a name="MOREINFO" id="MOREINFO">More
|
||||
information</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="user-manual/contact.html" target="_top">Support &
|
||||
Service</a></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="user-manual/copyright.html" target="_top">Copyright,
|
||||
License, History & 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://www.privoxy.org/team/index.html" target=
|
||||
"_top">Pictures of the Privoxy Team</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<hr>
|
||||
|
||||
<h2 class="SECT1"><a name="AEN89" id="AEN89"></a></h2>
|
||||
|
||||
<p><sub>Copyright © 2001-2010 by Privoxy Developers</sub></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<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 © 2001-2009 by Privoxy Developers
|
||||
</SUB
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,52 +1,26 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<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">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1">
|
||||
<title>Privoxy - Team Photos</title>
|
||||
<link rel="stylesheet" type="text/css" href="../p_doc.css">
|
||||
<style type="text/css">
|
||||
h1.c1 {margin-left: 0%}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 class="c1">Privoxy - Team Photos</h1>
|
||||
</head>
|
||||
<body>
|
||||
<h1 style="margin-left: 0%">Privoxy - Team Photos</h1>
|
||||
<hr>
|
||||
|
||||
<p>In our day jobs, we're all models ;-)</p>
|
||||
|
||||
<table align="center">
|
||||
<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="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80"
|
||||
border="0" title="Jon Foster"></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>
|
||||
</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>
|
||||
<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="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80" border="0" title="Jon Foster"></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>
|
||||
</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>
|
||||
</body>
|
||||
</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
|
@ -1,282 +1,514 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy Configuration</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
|
||||
<link rel="NEXT" title="The Main Configuration File" href="config.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c3 {font-style: italic}
|
||||
table.c2 {background-color: #E0E0E0}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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.19 User Manual</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="startup.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="config.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">6. Privoxy
|
||||
Configuration</a></h1>
|
||||
|
||||
<p>All <span class="APPLICATION">Privoxy</span> configuration is stored
|
||||
in text files. These files can be edited with a text editor. Many
|
||||
important aspects of <span class="APPLICATION">Privoxy</span> can also be
|
||||
controlled easily with a web browser.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="AEN1090" id="AEN1090">6.1. Controlling
|
||||
Privoxy with Your Web Browser</a></h2>
|
||||
|
||||
<p><span class="APPLICATION">Privoxy</span>'s user interface can be
|
||||
reached through 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>), which is a built-in page
|
||||
and works without Internet access. You will see the following
|
||||
section:</p>
|
||||
|
||||
<table class="c2" border="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="SCREEN">
|
||||
|
||||
</pre>
|
||||
|
||||
<h2 class="BRIDGEHEAD"><a name="AEN1098" id=
|
||||
"AEN1098"></a> Privoxy Menu</h2>
|
||||
<pre>
|
||||
</pre>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
▪ <a href="http://config.privoxy.org/show-status"
|
||||
target="_top">View & change the current
|
||||
configuration</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
▪ <a href="http://config.privoxy.org/show-version"
|
||||
target="_top">View the source code version numbers</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
▪ <a href="http://config.privoxy.org/show-request"
|
||||
target="_top">View the request headers.</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
▪ <a href="http://config.privoxy.org/show-url-info"
|
||||
target="_top">Look up which actions apply to a URL and
|
||||
why</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
▪ <a href="http://config.privoxy.org/toggle"
|
||||
target="_top">Toggle Privoxy on or off</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
▪ <a href="http://www.privoxy.org/3.0.19/user-manual/"
|
||||
target="_top">Documentation</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>This should be self-explanatory. Note the first item leads to an
|
||||
editor for the <a href="actions-file.html">actions files</a>, which is
|
||||
where the ad, banner, cookie, and URL blocking magic is configured as
|
||||
well as other advanced features of <span class=
|
||||
"APPLICATION">Privoxy</span>. This is an easy way to adjust various
|
||||
aspects of <span class="APPLICATION">Privoxy</span> configuration. The
|
||||
actions file, and other configuration files, are explained in detail
|
||||
below.</p>
|
||||
|
||||
<p><span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for
|
||||
sites that might have problems with your current actions and filters.
|
||||
You can in fact use it as a test to see whether it is <span class=
|
||||
"APPLICATION">Privoxy</span> causing the problem or not. <span class=
|
||||
"APPLICATION">Privoxy</span> continues to run as a proxy in this case,
|
||||
but all manipulation is disabled, i.e. <span class=
|
||||
"APPLICATION">Privoxy</span> acts like a normal forwarding proxy. There
|
||||
is even a toggle <a href="appendix.html#BOOKMARKLETS">Bookmarklet</a>
|
||||
offered, so that you can toggle <span class=
|
||||
"APPLICATION">Privoxy</span> with one click from your browser.</p>
|
||||
|
||||
<p>Note that several of the features described above are disabled by
|
||||
default in <span class="APPLICATION">Privoxy</span> 3.0.7 beta and
|
||||
later. Check the <a href="config.html" target="_top">configuration
|
||||
file</a> to learn why and in which cases it's safe to enable them
|
||||
again.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CONFOVERVIEW" id="CONFOVERVIEW">6.2.
|
||||
Configuration Files Overview</a></h2>
|
||||
|
||||
<p>For Unix, *BSD and Linux, all configuration files are located in
|
||||
<tt class="FILENAME">/etc/privoxy/</tt> by default. For MS Windows,
|
||||
OS/2, and AmigaOS these are all in the same directory as the
|
||||
<span class="APPLICATION">Privoxy</span> executable.</p>
|
||||
|
||||
<p>The installed defaults provide a reasonable starting point, though
|
||||
some settings may be aggressive by some standards. For the time being,
|
||||
the principle configuration files are:</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>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 EMPHASIS c3">old</span> listening address.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">The Main Configuration
|
||||
File</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy Configuration</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Starting Privoxy"
|
||||
HREF="startup.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="The Main Configuration File"
|
||||
HREF="config.html"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="../p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<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.12 User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="startup.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="config.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="CONFIGURATION"
|
||||
>6. Privoxy Configuration</A
|
||||
></H1
|
||||
><P
|
||||
> All <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> configuration is stored
|
||||
in text files. These files can be edited with a text editor.
|
||||
Many important aspects of <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> can
|
||||
also be controlled easily with a web browser.
|
||||
</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN776"
|
||||
>6.1. Controlling Privoxy with Your Web Browser</A
|
||||
></H2
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>'s user interface can be reached through 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
|
||||
>),
|
||||
which is a built-in page and works without Internet access.
|
||||
You will see the following section: </P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> <H2
|
||||
CLASS="BRIDGEHEAD"
|
||||
><A
|
||||
NAME="AEN784"
|
||||
></A
|
||||
> Privoxy Menu</H2
|
||||
><P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> ▪ <A
|
||||
HREF="http://config.privoxy.org/show-status"
|
||||
TARGET="_top"
|
||||
>View & change the current configuration</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> ▪ <A
|
||||
HREF="http://config.privoxy.org/show-version"
|
||||
TARGET="_top"
|
||||
>View the source code version numbers</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> ▪ <A
|
||||
HREF="http://config.privoxy.org/show-request"
|
||||
TARGET="_top"
|
||||
>View the request headers.</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> ▪ <A
|
||||
HREF="http://config.privoxy.org/show-url-info"
|
||||
TARGET="_top"
|
||||
>Look up which actions apply to a URL and why</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> ▪ <A
|
||||
HREF="http://config.privoxy.org/toggle"
|
||||
TARGET="_top"
|
||||
>Toggle Privoxy on or off</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
> ▪ <A
|
||||
HREF="http://www.privoxy.org/3.0.12/user-manual/"
|
||||
TARGET="_top"
|
||||
>Documentation</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><P
|
||||
> This should be self-explanatory. Note the first item leads to an editor for the
|
||||
<A
|
||||
HREF="actions-file.html"
|
||||
>actions files</A
|
||||
>, which is where the ad, banner,
|
||||
cookie, and URL blocking magic is configured as well as other advanced features of
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>. This is an easy way to adjust various
|
||||
aspects of <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> configuration. The actions
|
||||
file, and other configuration files, are explained in detail below. </P
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Toggle Privoxy On or Off"</SPAN
|
||||
> is handy for sites that might
|
||||
have problems with your current actions and filters. You can in fact use
|
||||
it as a test to see whether it is <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
causing the problem or not. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> continues
|
||||
to run as a proxy in this case, but all manipulation is disabled, i.e.
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> acts like a normal forwarding proxy. There
|
||||
is even a toggle <A
|
||||
HREF="appendix.html#BOOKMARKLETS"
|
||||
>Bookmarklet</A
|
||||
> offered, so
|
||||
that you can toggle <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> with one click from
|
||||
your browser.</P
|
||||
><P
|
||||
> Note that several of the features described above are disabled by default
|
||||
in <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> 3.0.7 beta and later.
|
||||
Check the
|
||||
<A
|
||||
HREF="config.html"
|
||||
TARGET="_top"
|
||||
>configuration file</A
|
||||
> to learn why
|
||||
and in which cases it's safe to enable them again.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="CONFOVERVIEW"
|
||||
>6.2. Configuration Files Overview</A
|
||||
></H2
|
||||
><P
|
||||
> For Unix, *BSD and Linux, all configuration files are located in
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>/etc/privoxy/</TT
|
||||
> by default. For MS Windows, OS/2, and
|
||||
AmigaOS these are all in the same directory as the
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> executable. </P
|
||||
><P
|
||||
> The installed defaults provide a reasonable starting point, though
|
||||
some settings may be aggressive by some standards. For the time being, the
|
||||
principle configuration files are:</P
|
||||
><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"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>The Main Configuration File</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,364 +1,514 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Contacting the Developers, Bug Reporting and Feature
|
||||
Requests</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="PREVIOUS" title="Privoxy's Template Files" href=
|
||||
"templates.html">
|
||||
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
|
||||
"copyright.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
span.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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.19 User Manual</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="templates.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href=
|
||||
"copyright.html" accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="CONTACT" id="CONTACT">11. Contacting the
|
||||
Developers, Bug Reporting and Feature Requests</a></h1>
|
||||
|
||||
<p>We value your feedback. In fact, we rely on it to improve <span class=
|
||||
"APPLICATION">Privoxy</span> and its configuration. However, please note
|
||||
the following hints, so we can provide you with the best support:</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">11.1.
|
||||
Get Support</a></h2>
|
||||
|
||||
<p>For casual users, our <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
target="_top">support forum at SourceForge</a> is probably best suited:
|
||||
<a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
target="_top">http://sourceforge.net/tracker/?group_id=11118&atid=211118</a></p>
|
||||
|
||||
<p>All users are of course welcome to discuss their issues on the
|
||||
<a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||
target="_top">users mailing list</a>, where the developers also hang
|
||||
around.</p>
|
||||
|
||||
<p>Please don't sent private support requests to individual Privoxy
|
||||
developers, either use the mailing lists or the support trackers.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>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 of several days and if you use a subject that
|
||||
doesn't clearly mention Privoxy or one of its features, your message
|
||||
may be accidentally discarded as spam.</p>
|
||||
|
||||
<p>If you aren't subscribed, you should therefore spend a few seconds
|
||||
to come up with a proper subject. Additionally you should make it clear
|
||||
that you want to get CC'd. Otherwise some responses will be directed to
|
||||
the mailing list only, and you won't see them.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="REPORTING" id="REPORTING">11.2. Reporting
|
||||
Problems</a></h2>
|
||||
|
||||
<p><span class="QUOTE">"Problems"</span> for our purposes, come in two
|
||||
forms:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>Configuration issues, such as ads that slip through, or sites
|
||||
that don't function properly due to one <span class=
|
||||
"APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
|
||||
another being turned <span class="QUOTE">"on"</span>.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><span class="QUOTE">"Bugs"</span> in the programming code that
|
||||
makes up <span class="APPLICATION">Privoxy</span>, such as that
|
||||
might cause a crash.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="SECT3">
|
||||
<h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">11.2.1.
|
||||
Reporting Ads or Other Configuration Problems</a></h3>
|
||||
|
||||
<p>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 <tt class=
|
||||
"FILENAME">default.action</tt> file, to <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
target=
|
||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
||||
the Actions File Tracker.</p>
|
||||
|
||||
<p>New, improved <tt class="FILENAME">default.action</tt> files may
|
||||
occasionally be made available based on your feedback. These will be
|
||||
announced on the <a href=
|
||||
"http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
|
||||
"_top">ijbswa-announce</a> list and available from our the <a href=
|
||||
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
|
||||
"_top">files section</a> of our <a href=
|
||||
"http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT3">
|
||||
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">11.2.2.
|
||||
Reporting Bugs</a></h3>
|
||||
|
||||
<p>Please report all bugs through our bug tracker: <a href=
|
||||
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||
target=
|
||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
|
||||
|
||||
<p>Before doing so, please make sure that the bug has <span class=
|
||||
"emphasis EMPHASIS c2">not already been submitted</span> and observe
|
||||
the additional hints at the top of the <a href=
|
||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||
target="_top">submit form</a>. If already submitted, please feel free
|
||||
to add any info to the original report that might help to solve the
|
||||
issue.</p>
|
||||
|
||||
<p>Please try to verify that it is a <span class=
|
||||
"APPLICATION">Privoxy</span> bug, and not a browser or site bug or
|
||||
documented behaviour that just happens to be different than what you
|
||||
expected. If unsure, try <a href=
|
||||
"http://config.privoxy.org/toggle?set=disable" target="_top">toggling
|
||||
off</a> <span class="APPLICATION">Privoxy</span>, and see if the
|
||||
problem persists.</p>
|
||||
|
||||
<p>If you are using your own custom configuration, please try the
|
||||
stock configs to see if the problem is configuration related. If
|
||||
you're having problems with a feature that is disabled by default,
|
||||
please ask around on the mailing list if others can reproduce the
|
||||
problem.</p>
|
||||
|
||||
<p>If you aren't using the latest Privoxy version, the bug may have
|
||||
been found and fixed in the meantime. We would appreciate if you
|
||||
could take the time to <a href=
|
||||
"http://www.privoxy.org/user-manual/installation.html" target=
|
||||
"_top">upgrade to the latest version</a> (or even the latest CVS
|
||||
snapshot) and verify that your bug still exists.</p>
|
||||
|
||||
<p>Please be sure to provide the following information:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>The exact <span class="APPLICATION">Privoxy</span> version you
|
||||
are using (if you got the source from CVS, please also provide
|
||||
the source code revisions as shown in <a href=
|
||||
"http://config.privoxy.org/show-version" target=
|
||||
"_top">http://config.privoxy.org/show-version</a>).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The operating system and versions you run <span class=
|
||||
"APPLICATION">Privoxy</span> on, (e.g. <span class=
|
||||
"APPLICATION">Windows XP SP2</span>), if you are using a Unix
|
||||
flavor, sending the output of <span class="QUOTE">"uname
|
||||
-a"</span> should do, in case of GNU/Linux, please also name the
|
||||
distribution.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The name, platform, and version of the <span class=
|
||||
"APPLICATION">browser</span> you were using (e.g. <span class=
|
||||
"APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>The URL where the problem occurred, or some way for us to
|
||||
duplicate the problem (e.g. <tt class=
|
||||
"LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Whether your version of <span class=
|
||||
"APPLICATION">Privoxy</span> is one supplied by the <span class=
|
||||
"APPLICATION">Privoxy</span> developers via SourceForge, or if
|
||||
you got your copy somewhere else.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Whether you are using <span class="APPLICATION">Privoxy</span>
|
||||
in tandem with another proxy such as <span class=
|
||||
"APPLICATION">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). To get a meaningful logfile,
|
||||
please make sure that the <a href=
|
||||
"../user-manual/config.html#LOGFILE" target="_top">logfile
|
||||
directive</a> is being used and the following <a href=
|
||||
"../user-manual/config.html#DEBUG" target="_top">debug
|
||||
options</a> are enabled:</p>
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.<br>
|
||||
|
||||
debug 2 # show each connection status<br>
|
||||
|
||||
debug 4 # show I/O status<br>
|
||||
|
||||
debug 8 # show header parsing<br>
|
||||
|
||||
debug 128 # debug redirects<br>
|
||||
debug 256 # debug GIF de-animation<br>
|
||||
|
||||
debug 512 # Common Log Format<br>
|
||||
|
||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.<br>
|
||||
|
||||
debug 4096 # Startup banner and warnings.<br>
|
||||
|
||||
debug 8192 # Non-fatal errors</p>If you
|
||||
are having trouble with a filter, please additionally enable
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 64 # debug regular expression filters</p>If
|
||||
you are using Privoxy 3.0.17 or later and suspect that it
|
||||
interprets the request or the response incorrectly, please enable
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
debug 32768 # log all data read from the network</p>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.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>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.</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. 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.</p>
|
||||
|
||||
<p>If you are new to reporting problems, you might be interested in
|
||||
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
||||
target="_top">How to Report Bugs Effectively</a>.</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" id="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&group_id=11118"
|
||||
target="_top">http://sourceforge.net/tracker/?atid=361118&group_id=11118</a>.</p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">11.4.
|
||||
Mailing Lists</a></h2>
|
||||
|
||||
<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
|
||||
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 <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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Privoxy Copyright, License
|
||||
and History</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Contacting the Developers, Bug Reporting and Feature
|
||||
Requests</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Privoxy's Template Files"
|
||||
HREF="templates.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Privoxy Copyright, License and History"
|
||||
HREF="copyright.html"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="../p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<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.12 User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="templates.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="CONTACT"
|
||||
>11. Contacting the Developers, Bug Reporting and Feature
|
||||
Requests</A
|
||||
></H1
|
||||
><P
|
||||
> We value your feedback. In fact, we rely on it to improve
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> and its configuration.
|
||||
However, please note the following hints, so we can
|
||||
provide you with the best support:</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="CONTACT-SUPPORT"
|
||||
>11.1. Get Support</A
|
||||
></H2
|
||||
><P
|
||||
> For casual users, our
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
TARGET="_top"
|
||||
>support forum at SourceForge</A
|
||||
>
|
||||
is probably best suited:
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||
></P
|
||||
><P
|
||||
> All users are of course welcome to discuss their issues on the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||
TARGET="_top"
|
||||
>users
|
||||
mailing list</A
|
||||
>, where the developers also hang around.</P
|
||||
><P
|
||||
> Please don't sent private support requests to individual Privoxy
|
||||
developers, either use the mailing lists or the support trackers.</P
|
||||
><P
|
||||
> 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 of several days and if you use a subject that doesn't clearly
|
||||
mention Privoxy or one of its features, your message may be accidentally
|
||||
discarded as spam.</P
|
||||
><P
|
||||
> If you aren't subscribed, you should therefore spend a few seconds
|
||||
to come up with a proper subject. Additionally you should make it clear
|
||||
that you want to get CC'd. Otherwise some responses will be directed to
|
||||
the mailing list only, and you won't see them.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="REPORTING"
|
||||
>11.2. Reporting Problems</A
|
||||
></H2
|
||||
><P
|
||||
><SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Problems"</SPAN
|
||||
> for our purposes, come in two forms:</P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> Configuration issues, such as ads that slip through, or sites that
|
||||
don't function properly due to one <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
<SPAN
|
||||
CLASS="QUOTE"
|
||||
>"action"</SPAN
|
||||
> or another being turned <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"on"</SPAN
|
||||
>.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"Bugs"</SPAN
|
||||
> in the programming code that makes up
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, such as that might cause a crash.
|
||||
</P
|
||||
></LI
|
||||
></UL
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H3
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="CONTACT-ADS"
|
||||
>11.2.1. Reporting Ads or Other Configuration Problems</A
|
||||
></H3
|
||||
><P
|
||||
> 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
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>default.action</TT
|
||||
> file, to
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
TARGET="_top"
|
||||
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||
>,
|
||||
the Actions File Tracker.</P
|
||||
><P
|
||||
> New, improved <TT
|
||||
CLASS="FILENAME"
|
||||
>default.action</TT
|
||||
> files may occasionally be made
|
||||
available based on your feedback. These will be announced on the <A
|
||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||
TARGET="_top"
|
||||
>ijbswa-announce</A
|
||||
>
|
||||
list and available from our the <A
|
||||
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||
TARGET="_top"
|
||||
>files section</A
|
||||
> of
|
||||
our <A
|
||||
HREF="http://sf.net/projects/ijbswa/"
|
||||
TARGET="_top"
|
||||
>project page</A
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H3
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="CONTACT-BUGS"
|
||||
>11.2.2. Reporting Bugs</A
|
||||
></H3
|
||||
><P
|
||||
> Please report all bugs through our bug tracker:
|
||||
<A
|
||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||
>. </P
|
||||
><P
|
||||
> Before doing so, please make sure that the bug has <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
>not already been submitted</I
|
||||
></SPAN
|
||||
>
|
||||
and observe the additional hints at the top of the <A
|
||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||
TARGET="_top"
|
||||
>submit
|
||||
form</A
|
||||
>. If already submitted, please feel free to add any info to the
|
||||
original report that might help to solve the issue.</P
|
||||
><P
|
||||
> Please try to verify that it is a <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> bug,
|
||||
and not a browser or site bug or documented behaviour that just happens
|
||||
to be different than what you expected. If unsure,
|
||||
try <A
|
||||
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||
TARGET="_top"
|
||||
>toggling
|
||||
off</A
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, and see if the problem persists.</P
|
||||
><P
|
||||
> If you are using your own custom configuration, please try
|
||||
the stock configs to see if the problem is configuration related.
|
||||
If you're having problems with a feature that is disabled by default,
|
||||
please ask around on the mailing list if others can reproduce the problem.</P
|
||||
><P
|
||||
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||
and fixed in the meantime. We would appreciate if you could take the time
|
||||
to <A
|
||||
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||
TARGET="_top"
|
||||
>upgrade
|
||||
to the latest version</A
|
||||
> (or even the latest CVS snapshot) and verify
|
||||
that your bug still exists.</P
|
||||
><P
|
||||
>Please be sure to provide the following information:</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> The exact <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> version you are using
|
||||
(if you got the source from CVS, please also provide the source code revisions
|
||||
as shown in <A
|
||||
HREF="http://config.privoxy.org/show-version"
|
||||
TARGET="_top"
|
||||
>http://config.privoxy.org/show-version</A
|
||||
>).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The operating system and versions you run
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> on, (e.g. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Windows
|
||||
XP SP2</SPAN
|
||||
>), if you are using a Unix flavor,
|
||||
sending the output of <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"uname -a"</SPAN
|
||||
> should do,
|
||||
in case of GNU/Linux, please also name the distribution.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The name, platform, and version of the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>browser</SPAN
|
||||
>
|
||||
you were using (e.g. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Internet Explorer v5.5</SPAN
|
||||
> for Mac).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> The URL where the problem occurred, or some way for us to duplicate the
|
||||
problem (e.g. <TT
|
||||
CLASS="LITERAL"
|
||||
>http://somesite.example.com/?somethingelse=123</TT
|
||||
>).
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Whether your version of <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is one supplied
|
||||
by the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> developers via SourceForge,
|
||||
or if you got your copy somewhere else.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Whether you are using <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> in tandem with
|
||||
another proxy such as <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>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&group_id=11118"
|
||||
TARGET="_top"
|
||||
>http://sourceforge.net/tracker/?atid=361118&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"
|
||||
> </TD
|
||||
><TD
|
||||
WIDTH="33%"
|
||||
ALIGN="right"
|
||||
VALIGN="top"
|
||||
>Privoxy Copyright, License and History</TD
|
||||
></TR
|
||||
></TABLE
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
|
@ -1,285 +1,424 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy Copyright, License and History</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="PREVIOUS" title=
|
||||
"Contacting the Developers, Bug Reporting and Feature Requests" href=
|
||||
"contact.html">
|
||||
<link rel="NEXT" title="See Also" href="seealso.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
a.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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.19 User Manual</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="contact.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="seealso.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">12. Privoxy
|
||||
Copyright, License and History</a></h1>
|
||||
|
||||
<p>Copyright © 2001-2011 by Privoxy Developers <code class=
|
||||
"EMAIL"><<a href=
|
||||
"mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>></code></p>
|
||||
|
||||
<p>Some source code is based on code Copyright © 1997 by Anonymous
|
||||
Coders and Junkbusters, Inc. and licensed under the <i class=
|
||||
"CITETITLE">GNU General Public License</i>.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="AEN5542" id="AEN5542">12.1. License</a></h2>
|
||||
|
||||
<p><span class="APPLICATION">Privoxy</span> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the <i class=
|
||||
"CITETITLE">GNU General Public License</i>, version 2, as published by
|
||||
the Free Software Foundation.</p>
|
||||
|
||||
<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 <a class=
|
||||
"CITETITLE c2" href=
|
||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
||||
"_top">GNU General Public License</a> for details.</p>
|
||||
|
||||
<p>You should have received a copy of the <i class="CITETITLE">GNU
|
||||
GPL</i> along with this program; if not, write to the</p>
|
||||
|
||||
<p class="ADDRESS"> Free Software<br>
|
||||
Foundation, Inc. <span class="STREET">51 Franklin
|
||||
Street, Fifth Floor</span><br>
|
||||
<span class="CITY">Boston</span>, <span class=
|
||||
"STATE">MA</span> <span class="POSTCODE">02110-1301</span><br>
|
||||
<span class="COUNTRY">USA</span> </p>
|
||||
</div>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="HISTORY" id="HISTORY">12.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 class="SECT2">
|
||||
<h2 class="SECT2"><a name="AUTHORS" id="AUTHORS">12.3. Authors</a></h2>
|
||||
|
||||
<p>Current Privoxy Team:</p>
|
||||
|
||||
<p class="LITERALLAYOUT">
|
||||
Fabian Keil, lead developer<br>
|
||||
David Schmidt, developer<br>
|
||||
Hal Burgiss<br>
|
||||
Lee Rian<br>
|
||||
Roland Rosenfeld</p>
|
||||
|
||||
<p>Former Privoxy Team Members:</p>
|
||||
|
||||
<p class="LITERALLAYOUT"> Johny Agotnes<br>
|
||||
Rodrigo Barbosa<br>
|
||||
Moritz Barsnick<br>
|
||||
Ian Cummings<br>
|
||||
Brian Dessent<br>
|
||||
Jon Foster<br>
|
||||
Karsten Hopp<br>
|
||||
Alexander Lazic<br>
|
||||
Daniel Leite<br>
|
||||
Gábor Lipták<br>
|
||||
Adam Lock<br>
|
||||
Guy Laroche<br>
|
||||
Justin McMurtry<br>
|
||||
Mark Miller<br>
|
||||
Gerry Murphy<br>
|
||||
Andreas Oesterhelt<br>
|
||||
Haroon Rafique<br>
|
||||
Georg Sauthoff<br>
|
||||
Thomas Steudten<br>
|
||||
Jörg Strohmayer<br>
|
||||
Rodney Stromlund<br>
|
||||
Sviatoslav Sviridov<br>
|
||||
Sarantis Paskalis<br>
|
||||
Stefan Waldherr</p>
|
||||
|
||||
<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"> Ken Arromdee<br>
|
||||
Devin Bayer<br>
|
||||
Havard Berland<br>
|
||||
Gergely Bor<br>
|
||||
Francois Botha<br>
|
||||
Reiner Buehl<br>
|
||||
Andrew J. Caines<br>
|
||||
Clifford Caoile<br>
|
||||
Wan-Teh Chang<br>
|
||||
Billy Crook<br>
|
||||
Frédéric Crozat<br>
|
||||
Michael T. Davis<br>
|
||||
Mattes Dolak<br>
|
||||
Matthias Drochner<br>
|
||||
Peter E.<br>
|
||||
Florian Effenberger<br>
|
||||
Markus Elfring<br>
|
||||
Dean Gaudet<br>
|
||||
Stephen Gildea<br>
|
||||
Daniel Griscom<br>
|
||||
Felix Gröbert<br>
|
||||
Jeff H.<br>
|
||||
Aaron Hamid<br>
|
||||
Darel Henman<br>
|
||||
Magnus Holmgren<br>
|
||||
Eric M. Hopper<br>
|
||||
Ralf Horstmann<br>
|
||||
Stefan Huehner<br>
|
||||
Peter Hyman<br>
|
||||
Derek Jennings<br>
|
||||
Petr Kadlec<br>
|
||||
David Laight<br>
|
||||
Bert van Leeuwen<br>
|
||||
Don Libes<br>
|
||||
Paul Lieverse<br>
|
||||
Han Liu<br>
|
||||
Toby Lyward<br>
|
||||
Wil Mahan<br>
|
||||
Jindrich Makovicka<br>
|
||||
Raphael Marichez<br>
|
||||
Francois Marier<br>
|
||||
David Mediavilla<br>
|
||||
Raphael Moll<br>
|
||||
Amuro Namie<br>
|
||||
Adam Piggott<br>
|
||||
Petr Písar<br>
|
||||
Dan Price<br>
|
||||
Roberto Ragusa<br>
|
||||
Félix Rauch<br>
|
||||
Maynard Riley<br>
|
||||
Chung-chieh Shan<br>
|
||||
Spinor S.<br>
|
||||
Bart Schelstraete<br>
|
||||
Dan Stahlke<br>
|
||||
Oliver Stoeneberg<br>
|
||||
Peter Thoenen<br>
|
||||
Martin Thomas<br>
|
||||
Bobby G. Vinyard<br>
|
||||
Jochen Voss<br>
|
||||
Glenn Washburn<br>
|
||||
Song Weijia<br>
|
||||
Jörg Weinmann<br>
|
||||
Darren Wiebe<br>
|
||||
Anduin Withers<br>
|
||||
Oliver Yeoh<br>
|
||||
Jamie 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 class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">See Also</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy Copyright, License and History</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Contacting the Developers, Bug Reporting and Feature
|
||||
Requests"
|
||||
HREF="contact.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="See Also"
|
||||
HREF="seealso.html"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="../p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<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.12 User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="contact.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="seealso.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="COPYRIGHT"
|
||||
>12. Privoxy Copyright, License and History</A
|
||||
></H1
|
||||
><P
|
||||
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||
CLASS="EMAIL"
|
||||
><<A
|
||||
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||
>ijbswa-developers@lists.sourceforge.net</A
|
||||
>></CODE
|
||||
></P
|
||||
><P
|
||||
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||
and Junkbusters, Inc. and licensed under the <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public
|
||||
License</I
|
||||
>.</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN4921"
|
||||
>12.1. License</A
|
||||
></H2
|
||||
><P
|
||||
> <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> is free software; you can
|
||||
redistribute it and/or modify it under the terms of the
|
||||
<I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public License</I
|
||||
>, version 2,
|
||||
as published by the Free Software Foundation.</P
|
||||
><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 <A
|
||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||
TARGET="_top"
|
||||
> <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU General Public License</I
|
||||
></A
|
||||
> for details.</P
|
||||
><P
|
||||
> You should have received a copy of the <I
|
||||
CLASS="CITETITLE"
|
||||
>GNU GPL</I
|
||||
>
|
||||
along with this program; if not, write to the <P
|
||||
CLASS="ADDRESS"
|
||||
> Free Software<br>
|
||||
Foundation, Inc. <SPAN
|
||||
CLASS="STREET"
|
||||
>51 Franklin Street, Fifth Floor</SPAN
|
||||
><br>
|
||||
<SPAN
|
||||
CLASS="CITY"
|
||||
>Boston</SPAN
|
||||
>, <SPAN
|
||||
CLASS="STATE"
|
||||
>MA</SPAN
|
||||
> <SPAN
|
||||
CLASS="POSTCODE"
|
||||
>02110-1301</SPAN
|
||||
><br>
|
||||
<SPAN
|
||||
CLASS="COUNTRY"
|
||||
>USA</SPAN
|
||||
> </P
|
||||
></P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="HISTORY"
|
||||
>12.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
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AUTHORS"
|
||||
>12.3. Authors</A
|
||||
></H2
|
||||
><P
|
||||
>Current Privoxy Team:</P
|
||||
><P
|
||||
CLASS="LITERALLAYOUT"
|
||||
> Fabian Keil, lead developer<br>
|
||||
David Schmidt, developer<br>
|
||||
<br>
|
||||
Hal Burgiss<br>
|
||||
Mark Miller<br>
|
||||
Gerry Murphy<br>
|
||||
Lee Rian<br>
|
||||
Roland Rosenfeld<br>
|
||||
Jörg Strohmayer</P
|
||||
><P
|
||||
> Former Privoxy Team Members:</P
|
||||
><P
|
||||
CLASS="LITERALLAYOUT"
|
||||
> Johny Agotnes<br>
|
||||
Rodrigo Barbosa<br>
|
||||
Moritz Barsnick<br>
|
||||
Ian Cummings<br>
|
||||
Brian Dessent<br>
|
||||
Jon Foster<br>
|
||||
Karsten Hopp<br>
|
||||
Alexander Lazic<br>
|
||||
Daniel Leite<br>
|
||||
Gábor Lipták<br>
|
||||
Adam Lock<br>
|
||||
Guy Laroche<br>
|
||||
Justin McMurtry<br>
|
||||
Andreas Oesterhelt<br>
|
||||
Haroon Rafique<br>
|
||||
Georg Sauthoff<br>
|
||||
Thomas Steudten<br>
|
||||
Rodney Stromlund<br>
|
||||
Sviatoslav Sviridov<br>
|
||||
Sarantis Paskalis<br>
|
||||
Stefan Waldherr</P
|
||||
><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"
|
||||
> Ken Arromdee<br>
|
||||
Devin Bayer<br>
|
||||
Gergely Bor<br>
|
||||
Reiner Buehl<br>
|
||||
Andrew J. Caines<br>
|
||||
Clifford Caoile<br>
|
||||
Frédéric Crozat<br>
|
||||
Michael T. Davis<br>
|
||||
Mattes Dolak<br>
|
||||
Matthias Drochner<br>
|
||||
Peter E.<br>
|
||||
Florian Effenberger<br>
|
||||
Markus Elfring<br>
|
||||
Dean Gaudet<br>
|
||||
Stephen Gildea<br>
|
||||
Daniel Griscom<br>
|
||||
Felix Gröbert<br>
|
||||
Aaron Hamid<br>
|
||||
Darel Henman<br>
|
||||
Magnus Holmgren<br>
|
||||
Eric M. Hopper<br>
|
||||
Ralf Horstmann<br>
|
||||
Stefan Huehner<br>
|
||||
Peter Hyman<br>
|
||||
Derek Jennings<br>
|
||||
Petr Kadlec<br>
|
||||
David Laight<br>
|
||||
Bert van Leeuwen<br>
|
||||
Don Libes<br>
|
||||
Paul Lieverse<br>
|
||||
Toby Lyward<br>
|
||||
Wil Mahan<br>
|
||||
Jindrich Makovicka<br>
|
||||
David Mediavilla<br>
|
||||
Raphael Moll<br>
|
||||
Amuro Namie<br>
|
||||
Adam Piggott<br>
|
||||
Dan Price<br>
|
||||
Roberto Ragusa<br>
|
||||
Félix Rauch<br>
|
||||
Maynard Riley<br>
|
||||
Chung-chieh Shan<br>
|
||||
Spinor S.<br>
|
||||
Bart Schelstraete<br>
|
||||
Oliver Stoeneberg<br>
|
||||
Peter Thoenen<br>
|
||||
Martin Thomas<br>
|
||||
Bobby G. Vinyard<br>
|
||||
Jochen Voss<br>
|
||||
Glenn Washburn<br>
|
||||
Song Weijia<br>
|
||||
Jörg Weinmann<br>
|
||||
Darren Wiebe<br>
|
||||
Anduin Withers<br>
|
||||
Oliver Yeoh<br>
|
||||
Jamie 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"
|
||||
> </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
|
@ -1,182 +1,292 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Introduction</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="PREVIOUS" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="NEXT" title="Installation" href="installation.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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.19 User Manual</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="index.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href=
|
||||
"installation.html" accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
|
||||
Introduction</a></h1>
|
||||
|
||||
<p>This documentation is included with the current stable version of
|
||||
<span class="APPLICATION">Privoxy</span>, v.3.0.19.</p>
|
||||
|
||||
<div class="SECT2">
|
||||
<h2 class="SECT2"><a name="FEATURES" id="FEATURES">1.1.
|
||||
Features</a></h2>
|
||||
|
||||
<p>In addition to the core features of ad blocking and <a href=
|
||||
"http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookie</a>
|
||||
management, <span class="APPLICATION">Privoxy</span> provides many
|
||||
supplemental features, that give the end-user more control, more
|
||||
privacy and more freedom:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>Supports "Connection: keep-alive". Outgoing connections can be
|
||||
kept alive independently from the client.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Supports IPv6, provided the operating system does so too, and
|
||||
the configure script detects it.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Supports tagging which allows to change the behaviour based on
|
||||
client and server headers.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Can be run as an "intercepting" proxy, which obviates the need
|
||||
to configure browsers individually.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Sophisticated actions and filters for manipulating both server
|
||||
and client headers.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Can be chained with other proxies.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Integrated browser-based configuration and control utility at
|
||||
<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>). Browser-based tracing
|
||||
of rule and filter effects. Remote toggling.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Web page filtering (text replacements, removes banners based on
|
||||
size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
|
||||
annoyances, etc.)</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Modularized configuration that allows for standard settings and
|
||||
user settings to reside in separate files, so that installing
|
||||
updated actions files won't overwrite individual user settings.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Support for Perl Compatible Regular Expressions in the
|
||||
configuration files, and a more sophisticated and flexible
|
||||
configuration syntax.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>GIF de-animation.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Bypass many click-tracking scripts (avoids script
|
||||
redirection).</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>Most features are controllable on a per-site or per-location
|
||||
basis.</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>Many smaller new features added, limitations and bugs
|
||||
removed.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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.19 User
|
||||
Manual</td>
|
||||
|
||||
<td width="34%" align="center" valign="top"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Installation</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Introduction</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Installation"
|
||||
HREF="installation.html"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="../p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<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.12 User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="index.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="installation.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="INTRODUCTION"
|
||||
>1. Introduction</A
|
||||
></H1
|
||||
><P
|
||||
> This documentation is included with the current stable version of
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>, v.3.0.12.</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H2
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="FEATURES"
|
||||
>1.1. Features</A
|
||||
></H2
|
||||
><P
|
||||
> In addition to the core
|
||||
features of ad blocking and
|
||||
<A
|
||||
HREF="http://en.wikipedia.org/wiki/Browser_cookie"
|
||||
TARGET="_top"
|
||||
>cookie</A
|
||||
> management,
|
||||
<SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> provides many supplemental
|
||||
features,
|
||||
that give the end-user more control, more privacy and more freedom:</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
> Can keep outgoing connections alive and reuse them later on.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Supports tagging which allows to change the behaviour
|
||||
based on client and server headers.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Can be run as an "intercepting" proxy, which obviates the need to
|
||||
configure browsers individually.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Sophisticated actions and filters for manipulating both server and client
|
||||
headers.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Can be chained with other proxies.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Integrated browser based configuration and control utility at <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
|
||||
>). Browser-based
|
||||
tracing of rule and filter effects. Remote toggling.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Web page filtering (text replacements, removes banners based on size,
|
||||
invisible <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"web-bugs"</SPAN
|
||||
>, JavaScript and HTML annoyances,
|
||||
pop-up windows, etc.)
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Modularized configuration that allows for standard settings and
|
||||
user settings to reside in separate files, so that installing updated
|
||||
actions files won't overwrite individual user settings.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
> Support for Perl Compatible Regular Expressions in the configuration files, and
|
||||
a more sophisticated and flexible configuration syntax.
|
||||
</P
|
||||
></LI
|
||||
><LI
|
||||
><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"
|
||||
> </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
|
@ -1,208 +1,418 @@
|
|||
<!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""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>See Also</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Privoxy Copyright, License and History"
|
||||
HREF="copyright.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Appendix"
|
||||
HREF="appendix.html"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="../p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<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.12 User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="copyright.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="appendix.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="SEEALSO"
|
||||
>13. See Also</A
|
||||
></H1
|
||||
><P
|
||||
> Other references and sites of interest to <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
users:</P
|
||||
><P
|
||||
> <P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://www.privoxy.org/"
|
||||
TARGET="_top"
|
||||
>http://www.privoxy.org/</A
|
||||
>,
|
||||
the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> Home page.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://www.privoxy.org/faq/"
|
||||
TARGET="_top"
|
||||
>http://www.privoxy.org/faq/</A
|
||||
>,
|
||||
the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> FAQ.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://www.privoxy.org/developer-manual/"
|
||||
TARGET="_top"
|
||||
>http://www.privoxy.org/developer-manual/</A
|
||||
>,
|
||||
the <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> developer manual.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="https://sourceforge.net/projects/ijbswa/"
|
||||
TARGET="_top"
|
||||
>https://sourceforge.net/projects/ijbswa/</A
|
||||
>,
|
||||
the Project Page for <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> on
|
||||
<A
|
||||
HREF="http://sourceforge.net"
|
||||
TARGET="_top"
|
||||
>SourceForge</A
|
||||
>.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="http://config.privoxy.org/"
|
||||
TARGET="_top"
|
||||
>http://config.privoxy.org/</A
|
||||
>,
|
||||
the web-based user interface. <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> must be
|
||||
running for this to work. Shortcut: <A
|
||||
HREF="http://p.p/"
|
||||
TARGET="_top"
|
||||
>http://p.p/</A
|
||||
>
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
<P
|
||||
></P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
><TBODY
|
||||
><TR
|
||||
><TD
|
||||
> <A
|
||||
HREF="https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
TARGET="_top"
|
||||
>https://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||
>, to submit <SPAN
|
||||
CLASS="QUOTE"
|
||||
>"misses"</SPAN
|
||||
> and other
|
||||
configuration related suggestions to the developers.
|
||||
</TD
|
||||
></TR
|
||||
></TBODY
|
||||
></TABLE
|
||||
><P
|
||||
></P
|
||||
>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>See Also</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
|
||||
"copyright.html">
|
||||
<link rel="NEXT" title="Appendix" href="appendix.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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.19 User Manual</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href="copyright.html"
|
||||
accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="appendix.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">13. See Also</a></h1>
|
||||
|
||||
<p>Other references and sites of interest to <span class=
|
||||
"APPLICATION">Privoxy</span> users:</p>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://www.privoxy.org/" target=
|
||||
"_top">http://www.privoxy.org/</a>, the <span class=
|
||||
"APPLICATION">Privoxy</span> Home page.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://www.privoxy.org/faq/" target=
|
||||
"_top">http://www.privoxy.org/faq/</a>, the <span class=
|
||||
"APPLICATION">Privoxy</span> FAQ.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://www.privoxy.org/developer-manual/" target=
|
||||
"_top">http://www.privoxy.org/developer-manual/</a>, the
|
||||
<span class="APPLICATION">Privoxy</span> developer manual.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://sourceforge.net/projects/ijbswa/" target=
|
||||
"_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
|
||||
Page for <span class="APPLICATION">Privoxy</span> on <a href=
|
||||
"http://sourceforge.net" target="_top">SourceForge</a>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://config.privoxy.org/" target=
|
||||
"_top">http://config.privoxy.org/</a>, the web-based user
|
||||
interface. <span class="APPLICATION">Privoxy</span> must be running
|
||||
for this to work. Shortcut: <a href="http://p.p/" target=
|
||||
"_top">http://p.p/</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href=
|
||||
"https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||
target=
|
||||
"_top">https://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
||||
to submit <span class="QUOTE">"misses"</span> and other
|
||||
configuration related suggestions to the developers.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Appendix</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<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"
|
||||
> </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
|
@ -1,172 +1,321 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta name="generator" content=
|
||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
||||
|
||||
<title>Privoxy's Template Files</title>
|
||||
<meta name="GENERATOR" content=
|
||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
||||
<link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
|
||||
<link rel="NEXT" title=
|
||||
"Contacting the Developers, Bug Reporting and Feature Requests" href=
|
||||
"contact.html">
|
||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #EEEEEE;
|
||||
color: #000000;
|
||||
}
|
||||
:link { color: #0000FF }
|
||||
:visited { color: #840084 }
|
||||
:active { color: #0000FF }
|
||||
table.c3 {background-color: #E0E0E0}
|
||||
span.c2 {font-style: italic}
|
||||
hr.c1 {text-align: left}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="SECT1">
|
||||
<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.19 User Manual</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td width="10%" align="left" valign="bottom"><a href=
|
||||
"filter-file.html" accesskey="P">Prev</a></td>
|
||||
|
||||
<td width="80%" align="center" valign="bottom"></td>
|
||||
|
||||
<td width="10%" align="right" valign="bottom"><a href="contact.html"
|
||||
accesskey="N">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="c1" width="100%">
|
||||
</div>
|
||||
|
||||
<div class="SECT1">
|
||||
<h1 class="SECT1"><a name="TEMPLATES" id="TEMPLATES">10. Privoxy's
|
||||
Template Files</a></h1>
|
||||
|
||||
<p>All <span class="APPLICATION">Privoxy</span> built-in pages, i.e.
|
||||
error pages such as the <a href="http://show-the-404-error.page" target=
|
||||
"_top"><span class="QUOTE">"404 - No Such Domain"</span> error page</a>,
|
||||
the <a href="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
|
||||
target="_top"><span class="QUOTE">"BLOCKED"</span> page</a> and all pages
|
||||
of its <a href="http://config.privoxy.org/" target="_top">web-based user
|
||||
interface</a>, are generated from <span class=
|
||||
"emphasis EMPHASIS c2">templates</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 EMPHASIS c2">Not recommended for the casual
|
||||
user</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>
|
||||
|
||||
<table class="c3" border="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="SCREEN">
|
||||
<!-- @if-unstable-start -->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Privoxy's Template Files</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||
REL="HOME"
|
||||
TITLE="Privoxy 3.0.12 User Manual"
|
||||
HREF="index.html"><LINK
|
||||
REL="PREVIOUS"
|
||||
TITLE="Filter Files"
|
||||
HREF="filter-file.html"><LINK
|
||||
REL="NEXT"
|
||||
TITLE="Contacting the Developers, Bug Reporting and Feature
|
||||
Requests"
|
||||
HREF="contact.html"><LINK
|
||||
REL="STYLESHEET"
|
||||
TYPE="text/css"
|
||||
HREF="../p_doc.css"><META
|
||||
HTTP-EQUIV="Content-Type"
|
||||
CONTENT="text/html;
|
||||
charset=ISO-8859-1">
|
||||
<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.12 User Manual</TH
|
||||
></TR
|
||||
><TR
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="left"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="filter-file.html"
|
||||
ACCESSKEY="P"
|
||||
>Prev</A
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="80%"
|
||||
ALIGN="center"
|
||||
VALIGN="bottom"
|
||||
></TD
|
||||
><TD
|
||||
WIDTH="10%"
|
||||
ALIGN="right"
|
||||
VALIGN="bottom"
|
||||
><A
|
||||
HREF="contact.html"
|
||||
ACCESSKEY="N"
|
||||
>Next</A
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
><HR
|
||||
ALIGN="LEFT"
|
||||
WIDTH="100%"></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H1
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="TEMPLATES"
|
||||
>10. Privoxy's Template Files</A
|
||||
></H1
|
||||
><P
|
||||
> All <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
> built-in pages, i.e. error pages such as the
|
||||
<A
|
||||
HREF="http://show-the-404-error.page"
|
||||
TARGET="_top"
|
||||
><SPAN
|
||||
CLASS="QUOTE"
|
||||
>"404 - No Such Domain"</SPAN
|
||||
>
|
||||
error page</A
|
||||
>, the <A
|
||||
HREF="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
|
||||
TARGET="_top"
|
||||
><SPAN
|
||||
CLASS="QUOTE"
|
||||
>"BLOCKED"</SPAN
|
||||
>
|
||||
page</A
|
||||
>
|
||||
and all pages of its <A
|
||||
HREF="http://config.privoxy.org/"
|
||||
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"
|
||||
><!-- @if-unstable-start -->
|
||||
|
||||
... beta warning HTML code goes here ...
|
||||
|
||||
<!-- if-unstable-end@ -->
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>If the "unstable" symbol is set, everything in between and including
|
||||
<tt class="LITERAL">@if-unstable-start</tt> and <tt class=
|
||||
"LITERAL">if-unstable-end@</tt> will disappear, leaving nothing but an
|
||||
empty comment:</p>
|
||||
|
||||
<table class="c3" border="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="SCREEN">
|
||||
<!-- -->
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>There's also an if-then-else construct and an <tt class=
|
||||
"LITERAL">#include</tt> mechanism, but you'll sure find out if you are
|
||||
inclined to edit the templates ;-)</p>
|
||||
|
||||
<p>All templates refer to a style located at <a href=
|
||||
"http://config.privoxy.org/send-stylesheet" target="_top"><tt class=
|
||||
"LITERAL">http://config.privoxy.org/send-stylesheet</tt></a>. This is, of
|
||||
course, locally served by <span class="APPLICATION">Privoxy</span> and
|
||||
the source for it can be found and edited in the <tt class=
|
||||
"FILENAME">cgi-style.css</tt> template.</p>
|
||||
</div>
|
||||
|
||||
<div class="NAVFOOTER">
|
||||
<hr class="c1" 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="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"> </td>
|
||||
|
||||
<td width="33%" align="right" valign="top">Contacting the Developers,
|
||||
Bug Reporting and Feature Requests</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!-- if-unstable-end@ --></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
> If the "unstable" symbol is set, everything in between and including
|
||||
<TT
|
||||
CLASS="LITERAL"
|
||||
>@if-unstable-start</TT
|
||||
> and <TT
|
||||
CLASS="LITERAL"
|
||||
>if-unstable-end@</TT
|
||||
>
|
||||
will disappear, leaving nothing but an empty comment:</P
|
||||
><P
|
||||
> <TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
><!-- --></PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
></P
|
||||
><P
|
||||
> There's also an if-then-else construct and an <TT
|
||||
CLASS="LITERAL"
|
||||
>#include</TT
|
||||
>
|
||||
mechanism, but you'll sure find out if you are inclined to edit the
|
||||
templates ;-)</P
|
||||
><P
|
||||
> All templates refer to a style located at
|
||||
<A
|
||||
HREF="http://config.privoxy.org/send-stylesheet"
|
||||
TARGET="_top"
|
||||
><TT
|
||||
CLASS="LITERAL"
|
||||
>http://config.privoxy.org/send-stylesheet</TT
|
||||
></A
|
||||
>.
|
||||
This is, of course, locally served by <SPAN
|
||||
CLASS="APPLICATION"
|
||||
>Privoxy</SPAN
|
||||
>
|
||||
and the source for it can be found and edited in the
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>cgi-style.css</TT
|
||||
> template.</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="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"
|
||||
> </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
|
@ -1,4 +1,4 @@
|
|||
const char encode_rcs[] = "$Id: encode.c,v 1.24 2011/11/06 11:51:57 fabiankeil Exp $";
|
||||
const char encode_rcs[] = "$Id: encode.c,v 1.14 2008/05/21 15:38:13 fabiankeil Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/encode.c,v $
|
||||
|
@ -6,7 +6,7 @@ const char encode_rcs[] = "$Id: encode.c,v 1.24 2011/11/06 11:51:57 fabiankeil E
|
|||
* Purpose : Functions to encode and decode URLs, and also to
|
||||
* encode cookies and HTML text.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001 the
|
||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -31,8 +31,54 @@ const char encode_rcs[] = "$Id: encode.c,v 1.24 2011/11/06 11:51:57 fabiankeil E
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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"
|
||||
|
||||
|
@ -47,20 +93,20 @@ const char encode_rcs[] = "$Id: encode.c,v 1.24 2011/11/06 11:51:57 fabiankeil E
|
|||
const char encode_h_rcs[] = ENCODE_H_VERSION;
|
||||
|
||||
/* Maps special characters in a URL to their equivalent % codes. */
|
||||
static const char const url_code_map[256][4] = {
|
||||
"", "%01", "%02", "%03", "%04", "%05", "%06", "%07", "%08", "%09",
|
||||
static const char * const url_code_map[256] = {
|
||||
NULL, "%01", "%02", "%03", "%04", "%05", "%06", "%07", "%08", "%09",
|
||||
"%0A", "%0B", "%0C", "%0D", "%0E", "%0F", "%10", "%11", "%12", "%13",
|
||||
"%14", "%15", "%16", "%17", "%18", "%19", "%1A", "%1B", "%1C", "%1D",
|
||||
"%1E", "%1F", "%20", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
|
||||
"%28", "%29", "", "%2B", "%2C", "", "", "%2F", "", "",
|
||||
"", "", "", "", "", "", "", "", "%3A", "%3B",
|
||||
"%3C", "%3D", "%3E", "%3F", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "", "", "",
|
||||
"", "%5B", "%5C", "%5D", "%5E", "", "%60", "", "", "",
|
||||
"", "", "", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "", "", "",
|
||||
"", "", "", "%7B", "%7C", "%7D", "%7E", "%7F", "%80", "%81",
|
||||
"%1E", "%1F", "+", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
|
||||
"%28", "%29", NULL, "%2B", "%2C", NULL, NULL, "%2F", NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "%3A", "%3B",
|
||||
"%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, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, "%5B", "%5C", "%5D", "%5E", NULL, "%60", 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, "%7B", "%7C", "%7D", "%7E", "%7F", "%80", "%81",
|
||||
"%82", "%83", "%84", "%85", "%86", "%87", "%88", "%89", "%8A", "%8B",
|
||||
"%8C", "%8D", "%8E", "%8F", "%90", "%91", "%92", "%93", "%94", "%95",
|
||||
"%96", "%97", "%98", "%99", "%9A", "%9B", "%9C", "%9D", "%9E", "%9F",
|
||||
|
@ -76,12 +122,12 @@ static const char const url_code_map[256][4] = {
|
|||
"%FA", "%FB", "%FC", "%FD", "%FE", "%FF"
|
||||
};
|
||||
|
||||
/* Maps special characters in HTML to their equivalent entities. */
|
||||
/* Maps special characters in HTML to their equivalent entites. */
|
||||
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, NULL,
|
||||
"<",NULL,">",NULL,NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
|
@ -207,9 +253,6 @@ char * html_encode_and_free_original(char *s)
|
|||
* query string. Replaces special characters with
|
||||
* the appropriate %xx codes.
|
||||
*
|
||||
* XXX: url_query_encode() would be a more fitting
|
||||
* name.
|
||||
*
|
||||
* Parameters :
|
||||
* 1 : s = String to encode. Null-terminated.
|
||||
*
|
||||
|
@ -238,8 +281,8 @@ char * url_encode(const char *s)
|
|||
char * p = buf;
|
||||
while( (c = *s++) != '\0')
|
||||
{
|
||||
const char *replace_with = url_code_map[(unsigned char) c];
|
||||
if (*replace_with != '\0')
|
||||
const char * replace_with = url_code_map[(unsigned char) c];
|
||||
if (replace_with != NULL)
|
||||
{
|
||||
const size_t bytes_written = (size_t)(p - buf);
|
||||
assert(bytes_written < buf_size);
|
||||
|
@ -308,12 +351,12 @@ static int xdtoi(const int d)
|
|||
*********************************************************************/
|
||||
int xtoi(const char *s)
|
||||
{
|
||||
int d1;
|
||||
int d1, d2;
|
||||
|
||||
d1 = xdtoi(*s);
|
||||
if(d1 >= 0)
|
||||
{
|
||||
int d2 = xdtoi(*(s+1));
|
||||
d2 = xdtoi(*(s+1));
|
||||
if(d2 >= 0)
|
||||
{
|
||||
return (d1 << 4) + d2;
|
||||
|
@ -380,83 +423,6 @@ 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:
|
||||
tab-width: 3
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef ENCODE_H_INCLUDED
|
||||
#define ENCODE_H_INCLUDED
|
||||
#define ENCODE_H_VERSION "$Id: encode.h,v 1.12 2011/11/06 11:44:56 fabiankeil Exp $"
|
||||
#define ENCODE_H_VERSION "$Id: encode.h,v 1.9 2008/05/21 15:38:13 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/encode.h,v $
|
||||
|
@ -33,8 +33,39 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* 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
|
||||
extern "C" {
|
||||
|
@ -45,7 +76,6 @@ extern char * url_encode(const char *s);
|
|||
extern char * url_decode(const char *str);
|
||||
extern int xtoi(const 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 */
|
||||
extern const char encode_rcs[];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char errlog_rcs[] = "$Id: errlog.c,v 1.112 2011/09/04 11:10:56 fabiankeil Exp $";
|
||||
const char errlog_rcs[] = "$Id: errlog.c,v 1.92 2009/03/20 03:39:31 ler762 Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/errlog.c,v $
|
||||
|
@ -6,7 +6,7 @@ const char errlog_rcs[] = "$Id: errlog.c,v 1.112 2011/09/04 11:10:56 fabiankeil
|
|||
* Purpose : Log errors to a designated destination in an elegant,
|
||||
* printf-like fashion.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2010 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -31,14 +31,418 @@ const char errlog_rcs[] = "$Id: errlog.c,v 1.112 2011/09/04 11:10:56 fabiankeil
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: errlog.c,v $
|
||||
* Revision 1.92 2009/03/20 03:39:31 ler762
|
||||
* I like having the version logged at startup and the Windows GUI stopped logging
|
||||
* it after LOG_LEVEL_INFO was removed from
|
||||
* static int debug = (LOG_LEVEL_FATAL | LOG_LEVEL_ERROR | LOG_LEVEL_INFO);
|
||||
*
|
||||
* Revision 1.91 2009/03/18 21:56:30 fabiankeil
|
||||
* In init_error_log(), suppress the "(Re-)Opening logfile" message if
|
||||
* we're still logging to stderr. This restores the "silent mode", but
|
||||
* with LOG_LEVEL_INFO enabled, the show_version() info is written to
|
||||
* the logfile as intended.
|
||||
*
|
||||
* Revision 1.90 2009/03/18 20:43:19 fabiankeil
|
||||
* Don't enable LOG_LEVEL_INFO by default and don't apply the user's
|
||||
* debug settings until the logfile has been opened (if there is one).
|
||||
* Patch submitted by Roland in #2624120.
|
||||
*
|
||||
* Revision 1.89 2009/03/07 12:56:12 fabiankeil
|
||||
* Add log_error() support for unsigned long long (%lld).
|
||||
*
|
||||
* Revision 1.88 2009/03/07 11:34:36 fabiankeil
|
||||
* Omit timestamp and thread id in the mingw32 message box.
|
||||
*
|
||||
* Revision 1.87 2009/03/01 18:28:24 fabiankeil
|
||||
* Help clang understand that we aren't dereferencing
|
||||
* NULL pointers here.
|
||||
*
|
||||
* Revision 1.86 2009/02/09 21:21:15 fabiankeil
|
||||
* Now that init_log_module() is called earlier, call show_version()
|
||||
* later on from main() directly so it doesn't get called for --help
|
||||
* or --version.
|
||||
*
|
||||
* Revision 1.85 2009/02/06 17:51:38 fabiankeil
|
||||
* Be prepared if I break the log module initialization again.
|
||||
*
|
||||
* Revision 1.84 2008/12/14 15:46:22 fabiankeil
|
||||
* Give crunched requests their own log level.
|
||||
*
|
||||
* Revision 1.83 2008/12/04 18:14:32 fabiankeil
|
||||
* Fix some cparser warnings.
|
||||
*
|
||||
* Revision 1.82 2008/11/23 16:06:58 fabiankeil
|
||||
* Update a log message I missed in 1.80.
|
||||
*
|
||||
* Revision 1.81 2008/11/23 15:59:27 fabiankeil
|
||||
* - Update copyright range.
|
||||
* - Remove stray line breaks in a log message
|
||||
* nobody is supposed to see anyway.
|
||||
*
|
||||
* Revision 1.80 2008/11/23 15:49:49 fabiankeil
|
||||
* In log_error(), don't surround the thread id with "Privoxy(" and ")".
|
||||
*
|
||||
* Revision 1.79 2008/10/20 17:09:25 fabiankeil
|
||||
* Update init_error_log() description to match reality.
|
||||
*
|
||||
* Revision 1.78 2008/09/07 16:59:31 fabiankeil
|
||||
* Update a comment to reflect that we
|
||||
* have mutex support on mingw32 now.
|
||||
*
|
||||
* Revision 1.77 2008/09/07 12:43:44 fabiankeil
|
||||
* Move the LogPutString() call in log_error() into the locked
|
||||
* region so the Windows GUI log is consistent with the logfile.
|
||||
*
|
||||
* Revision 1.76 2008/09/07 12:35:05 fabiankeil
|
||||
* Add mutex lock support for _WIN32.
|
||||
*
|
||||
* Revision 1.75 2008/09/04 08:13:58 fabiankeil
|
||||
* Prepare for critical sections on Windows by adding a
|
||||
* layer of indirection before the pthread mutex functions.
|
||||
*
|
||||
* Revision 1.74 2008/08/06 18:33:36 fabiankeil
|
||||
* If the "close fd first" workaround doesn't work,
|
||||
* the fatal error message will be lost, so we better
|
||||
* explain the consequences while we still can.
|
||||
*
|
||||
* Revision 1.73 2008/08/04 19:06:55 fabiankeil
|
||||
* Add a lame workaround for the "can't open an already open
|
||||
* logfile on OS/2" problem reported by Maynard in #2028842
|
||||
* and describe what a real solution would look like.
|
||||
*
|
||||
* Revision 1.72 2008/07/27 12:04:28 fabiankeil
|
||||
* Fix a comment typo.
|
||||
*
|
||||
* Revision 1.71 2008/06/28 17:17:15 fabiankeil
|
||||
* Remove another stray semicolon.
|
||||
*
|
||||
* Revision 1.70 2008/06/28 17:10:29 fabiankeil
|
||||
* Remove stray semicolon in get_log_timestamp().
|
||||
* Reported by Jochen Voss in #2005221.
|
||||
*
|
||||
* Revision 1.69 2008/05/30 15:55:25 fabiankeil
|
||||
* Declare variable "debug" static and complain about its name.
|
||||
*
|
||||
* Revision 1.68 2008/04/27 16:50:46 fabiankeil
|
||||
* Remove an incorrect assertion. The value of debug may change if
|
||||
* the configuration is reloaded in another thread. While we could
|
||||
* cache the initial value, the assertion doesn't seem worth it.
|
||||
*
|
||||
* Revision 1.67 2008/03/27 18:27:23 fabiankeil
|
||||
* Remove kill-popups action.
|
||||
*
|
||||
* Revision 1.66 2008/01/31 15:38:14 fabiankeil
|
||||
* - Make the logfp assertion more strict. As of 1.63, the "||" could
|
||||
* have been an "&&", which means we can use two separate assertions
|
||||
* and skip on of them on Windows.
|
||||
* - Break a long commit message line in two.
|
||||
*
|
||||
* Revision 1.65 2008/01/31 14:44:33 fabiankeil
|
||||
* Use (a != b) instead of !(a == b) so the sanity check looks less insane.
|
||||
*
|
||||
* Revision 1.64 2008/01/21 18:56:46 david__schmidt
|
||||
* Swap #def from negative to positive, re-joined it so it didn't
|
||||
* span an assertion (compilation failure on OS/2)
|
||||
*
|
||||
* Revision 1.63 2007/12/15 19:49:32 fabiankeil
|
||||
* Stop overloading logfile to control the mingw32 log window as well.
|
||||
* It's no longer necessary now that we disable all debug lines by default
|
||||
* and at least one user perceived it as a regression (added in 1.55).
|
||||
*
|
||||
* Revision 1.62 2007/11/30 15:33:46 fabiankeil
|
||||
* Unbreak LOG_LEVEL_FATAL. It wasn't fatal with logging disabled
|
||||
* and on mingw32 fatal log messages didn't end up in the log file.
|
||||
*
|
||||
* Revision 1.61 2007/11/04 19:03:01 fabiankeil
|
||||
* Fix another deadlock Hal spotted and that mysteriously didn't affect FreeBSD.
|
||||
*
|
||||
* Revision 1.60 2007/11/03 19:03:31 fabiankeil
|
||||
* - Prevent the Windows GUI from showing the version two times in a row.
|
||||
* - Stop using the imperative in the "(Re-)Open logfile" message.
|
||||
* - Ditch the "Switching to daemon mode" message as the detection
|
||||
* whether or not we're already in daemon mode doesn't actually work.
|
||||
*
|
||||
* Revision 1.59 2007/11/01 12:50:56 fabiankeil
|
||||
* Here's looking at you, deadlock.
|
||||
*
|
||||
* Revision 1.58 2007/10/28 19:04:21 fabiankeil
|
||||
* Don't mention daemon mode in "Logging disabled" message. Some
|
||||
* platforms call it differently and it's not really relevant anyway.
|
||||
*
|
||||
* Revision 1.57 2007/10/27 13:02:26 fabiankeil
|
||||
* Relocate daemon-mode-related log messages to make sure
|
||||
* they aren't shown again in case of configuration reloads.
|
||||
*
|
||||
* Revision 1.56 2007/10/14 14:26:56 fabiankeil
|
||||
* Remove the old log_error() version.
|
||||
*
|
||||
* Revision 1.55 2007/10/14 14:12:41 fabiankeil
|
||||
* When in daemon mode, close stderr after the configuration file has been
|
||||
* parsed the first time. If logfile isn't set, stop logging. Fixes BR#897436.
|
||||
*
|
||||
* Revision 1.54 2007/09/22 16:15:34 fabiankeil
|
||||
* - Let it compile with pcc.
|
||||
* - Move our includes below system includes to prevent macro conflicts.
|
||||
*
|
||||
* Revision 1.53 2007/08/05 13:53:14 fabiankeil
|
||||
* #1763173 from Stefan Huehner: declare some more functions
|
||||
* static and use void instead of empty parameter lists.
|
||||
*
|
||||
* Revision 1.52 2007/07/14 07:28:47 fabiankeil
|
||||
* Add translation function for JB_ERR_FOO codes.
|
||||
*
|
||||
* Revision 1.51 2007/05/11 11:51:34 fabiankeil
|
||||
* Fix a type mismatch warning.
|
||||
*
|
||||
* Revision 1.50 2007/04/11 10:55:44 fabiankeil
|
||||
* Enforce some assertions that could be triggered
|
||||
* on mingw32 and other systems where we use threads
|
||||
* but no locks.
|
||||
*
|
||||
* Revision 1.49 2007/04/08 16:44:15 fabiankeil
|
||||
* We need <sys/time.h> for gettimeofday(), not <time.h>.
|
||||
*
|
||||
* Revision 1.48 2007/03/31 13:33:28 fabiankeil
|
||||
* Add alternative log_error() with timestamps
|
||||
* that contain milliseconds and without using
|
||||
* strcpy(), strcat() or sprintf().
|
||||
*
|
||||
* Revision 1.47 2006/11/28 15:25:15 fabiankeil
|
||||
* Only unlink the pidfile if it's actually used.
|
||||
*
|
||||
* Revision 1.46 2006/11/13 19:05:51 fabiankeil
|
||||
* Make pthread mutex locking more generic. Instead of
|
||||
* checking for OSX and OpenBSD, check for FEATURE_PTHREAD
|
||||
* and use mutex locking unless there is an _r function
|
||||
* available. Better safe than sorry.
|
||||
*
|
||||
* Fixes "./configure --disable-pthread" and should result
|
||||
* in less threading-related problems on pthread-using platforms,
|
||||
* but it still doesn't fix BR#1122404.
|
||||
*
|
||||
* Revision 1.45 2006/08/21 11:15:54 david__schmidt
|
||||
* MS Visual C++ build updates
|
||||
*
|
||||
* Revision 1.44 2006/08/18 16:03:16 david__schmidt
|
||||
* Tweak for OS/2 build happiness.
|
||||
*
|
||||
* Revision 1.43 2006/08/03 02:46:41 david__schmidt
|
||||
* Incorporate Fabian Keil's patch work:
|
||||
* http://www.fabiankeil.de/sourcecode/privoxy/
|
||||
*
|
||||
* Revision 1.42 2006/07/18 14:48:46 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.40.2.4 2005/04/03 20:10:50 david__schmidt
|
||||
* Thanks to Jindrich Makovicka for a race condition fix for the log
|
||||
* file. The race condition remains for non-pthread implementations.
|
||||
* Reference patch #1175720.
|
||||
*
|
||||
* Revision 1.40.2.3 2003/03/07 03:41:04 david__schmidt
|
||||
* 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.
|
||||
*
|
||||
* Revision 1.40.2.2 2002/09/28 00:30:57 david__schmidt
|
||||
* Update error logging to give sane values for thread IDs on Mach kernels.
|
||||
* It's still a hack, but at least it looks farily normal. We print the
|
||||
* absolute value of the first 4 bytes of the pthread_t modded with 1000.
|
||||
*
|
||||
* Revision 1.40.2.1 2002/09/25 12:47:42 oes
|
||||
* Make log_error safe against NULL string arguments
|
||||
*
|
||||
* Revision 1.40 2002/05/22 01:27:27 david__schmidt
|
||||
*
|
||||
* Add os2_socket_strerr mirroring w32_socket_strerr.
|
||||
*
|
||||
* Revision 1.39 2002/04/03 17:15:27 gliptak
|
||||
* zero padding thread ids in log
|
||||
*
|
||||
* Revision 1.38 2002/03/31 17:18:59 jongfoster
|
||||
* Win32 only: Enabling STRICT to fix a VC++ compile warning.
|
||||
*
|
||||
* Revision 1.37 2002/03/27 14:32:43 david__schmidt
|
||||
* More compiler warning message maintenance
|
||||
*
|
||||
* Revision 1.36 2002/03/26 22:29:54 swa
|
||||
* we have a new homepage!
|
||||
*
|
||||
* Revision 1.35 2002/03/24 15:23:33 jongfoster
|
||||
* Name changes
|
||||
*
|
||||
* Revision 1.34 2002/03/24 13:25:43 swa
|
||||
* name change related issues
|
||||
*
|
||||
* Revision 1.33 2002/03/13 00:27:04 jongfoster
|
||||
* Killing warnings
|
||||
*
|
||||
* Revision 1.32 2002/03/07 03:46:17 oes
|
||||
* Fixed compiler warnings
|
||||
*
|
||||
* Revision 1.31 2002/03/06 23:02:57 jongfoster
|
||||
* Removing tabs
|
||||
*
|
||||
* Revision 1.30 2002/03/05 22:43:45 david__schmidt
|
||||
* - Better error reporting on OS/2
|
||||
* - Fix double-slash comment (oops)
|
||||
*
|
||||
* Revision 1.29 2002/03/04 23:45:13 jongfoster
|
||||
* Printing thread ID if using Win32 native threads
|
||||
*
|
||||
* Revision 1.28 2002/03/04 17:59:59 oes
|
||||
* Deleted deletePidFile(), cosmetics
|
||||
*
|
||||
* Revision 1.27 2002/03/04 02:08:01 david__schmidt
|
||||
* Enable web editing of actions file on OS/2 (it had been broken all this time!)
|
||||
*
|
||||
* Revision 1.26 2002/01/09 19:05:45 steudten
|
||||
* Fix big memory leak.
|
||||
*
|
||||
* Revision 1.25 2002/01/09 14:32:08 oes
|
||||
* Added support for gmtime_r and localtime_r.
|
||||
*
|
||||
* Revision 1.24 2001/12/30 14:07:32 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.23 2001/11/07 00:02:13 steudten
|
||||
* Add line number in error output for lineparsing for
|
||||
* actionsfile and configfile.
|
||||
* Special handling for CLF added.
|
||||
*
|
||||
* Revision 1.22 2001/11/05 23:43:05 steudten
|
||||
* Add time+date to log files.
|
||||
*
|
||||
* Revision 1.21 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.20 2001/09/16 23:04:34 jongfoster
|
||||
* Fixing a warning
|
||||
*
|
||||
* Revision 1.19 2001/09/13 20:08:06 jongfoster
|
||||
* Adding support for LOG_LEVEL_CGI
|
||||
*
|
||||
* Revision 1.18 2001/09/10 11:27:24 oes
|
||||
* Declaration of w32_socket_strerr now conditional
|
||||
*
|
||||
* Revision 1.17 2001/09/10 10:17:13 oes
|
||||
* Removed unused variable; Fixed sprintf format
|
||||
*
|
||||
* Revision 1.16 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.15 2001/07/29 17:41:10 jongfoster
|
||||
* Now prints thread ID for each message (pthreads only)
|
||||
*
|
||||
* Revision 1.14 2001/07/19 19:03:48 haroon
|
||||
* - Added case for LOG_LEVEL_POPUPS
|
||||
*
|
||||
* Revision 1.13 2001/07/13 13:58:58 oes
|
||||
* - Added case for LOG_LEVEL_DEANIMATE
|
||||
* - Removed all #ifdef PCRS
|
||||
*
|
||||
* Revision 1.12 2001/06/09 10:55:28 jongfoster
|
||||
* Changing BUFSIZ ==> BUFFER_SIZE
|
||||
*
|
||||
* Revision 1.11 2001/06/01 18:14:49 jongfoster
|
||||
* Changing the calls to strerr() to check HAVE_STRERR (which is defined
|
||||
* in config.h if appropriate) rather than the NO_STRERR macro.
|
||||
*
|
||||
* Revision 1.10 2001/05/29 11:52:21 oes
|
||||
* Conditional compilation of w32_socket_error
|
||||
*
|
||||
* Revision 1.9 2001/05/28 16:15:17 jongfoster
|
||||
* Improved reporting of errors under Win32.
|
||||
*
|
||||
* Revision 1.8 2001/05/26 17:25:14 jongfoster
|
||||
* Added support for CLF (Common Log Format) and fixed LOG_LEVEL_LOG
|
||||
*
|
||||
* Revision 1.7 2001/05/26 15:21:28 jongfoster
|
||||
* Activity animation in Win32 GUI now works even if debug==0
|
||||
*
|
||||
* Revision 1.6 2001/05/25 21:55:08 jongfoster
|
||||
* Now cleans up properly on FATAL (removes taskbar icon etc)
|
||||
*
|
||||
* Revision 1.5 2001/05/22 18:46:04 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
|
||||
*
|
||||
* - Some minor fixes
|
||||
*
|
||||
* - Removed some >400 CRs again (Jon, you really worked
|
||||
* a lot! ;-)
|
||||
*
|
||||
* Revision 1.4 2001/05/21 19:32:54 jongfoster
|
||||
* Added another #ifdef _WIN_CONSOLE
|
||||
*
|
||||
* Revision 1.3 2001/05/20 01:11:40 jongfoster
|
||||
* Added support for LOG_LEVEL_FATAL
|
||||
* Renamed LOG_LEVEL_FRC to LOG_LEVEL_FORCE,
|
||||
* and LOG_LEVEL_REF to LOG_LEVEL_RE_FILTER
|
||||
*
|
||||
* Revision 1.2 2001/05/17 22:42:01 oes
|
||||
* - Cleaned CRLF's from the sources and related files
|
||||
* - Repaired logging for REF and FRC
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "miscutil.h"
|
||||
|
@ -317,7 +721,7 @@ void init_error_log(const char *prog_name, const char *logfname)
|
|||
* Currently we reopen it every time the config file
|
||||
* has been reloaded, but actually we only have to
|
||||
* reopen it if the file name changed or if the
|
||||
* configuration reload was caused by a SIGHUP.
|
||||
* configuration reloas was caused by a SIGHUP.
|
||||
*/
|
||||
log_error(LOG_LEVEL_INFO, "Failed to reopen logfile: \'%s\'. "
|
||||
"Retrying after closing the old file descriptor first. If that "
|
||||
|
@ -343,21 +747,6 @@ void init_error_log(const char *prog_name, const char *logfname)
|
|||
{
|
||||
fclose(logfp);
|
||||
}
|
||||
#ifdef unix
|
||||
if (daemon_mode && (logfp == stderr))
|
||||
{
|
||||
if (dup2(1, 2) == -1)
|
||||
{
|
||||
/*
|
||||
* We only use fatal_error() to clear the pid
|
||||
* file and to exit. Given that stderr has just
|
||||
* been closed, the user will not see the error
|
||||
* message.
|
||||
*/
|
||||
fatal_error("Failed to reserve fd 2.");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
logfp = fp;
|
||||
unlock_logfile();
|
||||
|
||||
|
@ -438,11 +827,12 @@ static inline size_t get_log_timestamp(char *buffer, size_t buffer_size)
|
|||
|
||||
gettimeofday(&tv_now, NULL);
|
||||
msecs = tv_now.tv_usec / 1000;
|
||||
now = tv_now.tv_sec;
|
||||
|
||||
time(&now);
|
||||
|
||||
#ifdef HAVE_LOCALTIME_R
|
||||
tm_now = *localtime_r(&now, &tm_now);
|
||||
#elif defined(MUTEX_LOCKS_AVAILABLE)
|
||||
#elif FEATURE_PTHREAD
|
||||
privoxy_mutex_lock(&localtime_mutex);
|
||||
tm_now = *localtime(&now);
|
||||
privoxy_mutex_unlock(&localtime_mutex);
|
||||
|
@ -450,7 +840,7 @@ static inline size_t get_log_timestamp(char *buffer, size_t buffer_size)
|
|||
tm_now = *localtime(&now);
|
||||
#endif
|
||||
|
||||
length = strftime(buffer, buffer_size, "%Y-%m-%d %H:%M:%S", &tm_now);
|
||||
length = strftime(buffer, buffer_size, "%b %d %H:%M:%S", &tm_now);
|
||||
if (length > (size_t)0)
|
||||
{
|
||||
msecs_length = snprintf(buffer+length, buffer_size - length, ".%.3ld", msecs);
|
||||
|
@ -500,7 +890,7 @@ static inline size_t get_clf_timestamp(char *buffer, size_t buffer_size)
|
|||
time (&now);
|
||||
#ifdef HAVE_GMTIME_R
|
||||
gmt = *gmtime_r(&now, &gmt);
|
||||
#elif defined(MUTEX_LOCKS_AVAILABLE)
|
||||
#elif FEATURE_PTHREAD
|
||||
privoxy_mutex_lock(&gmtime_mutex);
|
||||
gmt = *gmtime(&now);
|
||||
privoxy_mutex_unlock(&gmtime_mutex);
|
||||
|
@ -509,7 +899,7 @@ static inline size_t get_clf_timestamp(char *buffer, size_t buffer_size)
|
|||
#endif
|
||||
#ifdef HAVE_LOCALTIME_R
|
||||
tm_now = localtime_r(&now, &dummy);
|
||||
#elif defined(MUTEX_LOCKS_AVAILABLE)
|
||||
#elif FEATURE_PTHREAD
|
||||
privoxy_mutex_lock(&localtime_mutex);
|
||||
tm_now = localtime(&now);
|
||||
privoxy_mutex_unlock(&localtime_mutex);
|
||||
|
@ -572,12 +962,9 @@ static inline const char *get_log_level_string(int loglevel)
|
|||
case LOG_LEVEL_CONNECT:
|
||||
log_level_string = "Connect";
|
||||
break;
|
||||
case LOG_LEVEL_WRITING:
|
||||
case LOG_LEVEL_LOG:
|
||||
log_level_string = "Writing";
|
||||
break;
|
||||
case LOG_LEVEL_RECEIVED:
|
||||
log_level_string = "Received";
|
||||
break;
|
||||
case LOG_LEVEL_HEADER:
|
||||
log_level_string = "Header";
|
||||
break;
|
||||
|
@ -592,9 +979,11 @@ static inline const char *get_log_level_string(int loglevel)
|
|||
log_level_string = "Force";
|
||||
break;
|
||||
#endif /* def FEATURE_FORCE_LOAD */
|
||||
#ifdef FEATURE_FAST_REDIRECTS
|
||||
case LOG_LEVEL_REDIRECTS:
|
||||
log_level_string = "Redirect";
|
||||
break;
|
||||
#endif /* def FEATURE_FAST_REDIRECTS */
|
||||
case LOG_LEVEL_DEANIMATE:
|
||||
log_level_string = "Gif-Deanimate";
|
||||
break;
|
||||
|
@ -767,7 +1156,7 @@ void log_error(int loglevel, const char *fmt, ...)
|
|||
{
|
||||
unsigned long long lluval = va_arg(ap, unsigned long long);
|
||||
snprintf(tempbuf, sizeof(tempbuf), "%llu", lluval);
|
||||
src++;
|
||||
ch = *src++;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -792,36 +1181,45 @@ void log_error(int loglevel, const char *fmt, ...)
|
|||
break;
|
||||
case 'N':
|
||||
/*
|
||||
* Non-standard: Print a counted unterminated string,
|
||||
* replacing unprintable bytes with their hex value.
|
||||
* Non-standard: Print a counted unterminated string.
|
||||
* Takes 2 parameters: int length, const char * string.
|
||||
*/
|
||||
ival = va_arg(ap, int);
|
||||
assert(ival >= 0);
|
||||
sval = va_arg(ap, char *);
|
||||
assert(sval != NULL);
|
||||
|
||||
while ((ival-- > 0) && (length < log_buffer_size - 6))
|
||||
if (sval == NULL)
|
||||
{
|
||||
if (isprint((int)*sval) && (*sval != '\\'))
|
||||
format_string = "[null]";
|
||||
}
|
||||
else if (ival <= 0)
|
||||
{
|
||||
if (0 == ival)
|
||||
{
|
||||
outbuf[length++] = *sval;
|
||||
outbuf[length] = '\0';
|
||||
/* That's ok (but stupid) */
|
||||
tempbuf[0] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
int ret = snprintf(outbuf + length,
|
||||
log_buffer_size - length - 2, "\\x%.2x", (unsigned char)*sval);
|
||||
assert(ret == 4);
|
||||
length += 4;
|
||||
/*
|
||||
* That's not ok (and even more stupid)
|
||||
*/
|
||||
assert(ival >= 0);
|
||||
format_string = "[counted string lenght < 0]";
|
||||
}
|
||||
sval++;
|
||||
}
|
||||
/*
|
||||
* XXX: In case of printable characters at the end of
|
||||
* the %N string, we're not using the whole buffer.
|
||||
*/
|
||||
format_string = (length < log_buffer_size - 6) ? "" : "[too long]";
|
||||
else if ((size_t)ival >= sizeof(tempbuf))
|
||||
{
|
||||
/*
|
||||
* String is too long, copy as much as possible.
|
||||
* It will be further truncated later.
|
||||
*/
|
||||
memcpy(tempbuf, sval, sizeof(tempbuf)-1);
|
||||
tempbuf[sizeof(tempbuf)-1] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(tempbuf, sval, (size_t) ival);
|
||||
tempbuf[ival] = '\0';
|
||||
}
|
||||
break;
|
||||
case 'E':
|
||||
/* Non-standard: Print error code from errno */
|
||||
|
@ -860,14 +1258,14 @@ void log_error(int loglevel, const char *fmt, ...)
|
|||
snprintf(tempbuf, sizeof(tempbuf), "Bad format string: \"%s\"", fmt);
|
||||
loglevel = LOG_LEVEL_FATAL;
|
||||
break;
|
||||
}
|
||||
} /* switch( p ) */
|
||||
|
||||
assert(length < log_buffer_size);
|
||||
length += strlcpy(outbuf + length, format_string, log_buffer_size - length);
|
||||
|
||||
if (length >= log_buffer_size-2)
|
||||
{
|
||||
static const char warning[] = "... [too long, truncated]";
|
||||
static char warning[] = "... [too long, truncated]";
|
||||
|
||||
length = log_buffer_size - sizeof(warning) - 1;
|
||||
length += strlcpy(outbuf + length, warning, log_buffer_size - length);
|
||||
|
@ -875,7 +1273,7 @@ void log_error(int loglevel, const char *fmt, ...)
|
|||
|
||||
break;
|
||||
}
|
||||
}
|
||||
} /* for( p ... ) */
|
||||
|
||||
/* done with var. args */
|
||||
va_end(ap);
|
||||
|
@ -945,14 +1343,14 @@ void log_error(int loglevel, const char *fmt, ...)
|
|||
* visible to all files that include errlog.h.
|
||||
*
|
||||
* Parameters :
|
||||
* 1 : jb_error = a valid jb_err code
|
||||
* 1 : error = a valid jb_err code
|
||||
*
|
||||
* Returns : A string with the jb_err translation
|
||||
*
|
||||
*********************************************************************/
|
||||
const char *jb_err_to_string(int jb_error)
|
||||
const char *jb_err_to_string(int error)
|
||||
{
|
||||
switch (jb_error)
|
||||
switch (error)
|
||||
{
|
||||
case JB_ERR_OK:
|
||||
return "Success, no error";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef ERRLOG_H_INCLUDED
|
||||
#define ERRLOG_H_INCLUDED
|
||||
#define ERRLOG_H_VERSION "$Id: errlog.h,v 1.27 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define ERRLOG_H_VERSION "$Id: errlog.h,v 1.22 2009/02/09 21:21:15 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/errlog.h,v $
|
||||
|
@ -33,8 +33,134 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: errlog.h,v $
|
||||
* Revision 1.22 2009/02/09 21:21:15 fabiankeil
|
||||
* Now that init_log_module() is called earlier, call show_version()
|
||||
* later on from main() directly so it doesn't get called for --help
|
||||
* or --version.
|
||||
*
|
||||
* Revision 1.21 2008/12/14 15:46:22 fabiankeil
|
||||
* Give crunched requests their own log level.
|
||||
*
|
||||
* Revision 1.20 2008/03/27 18:27:23 fabiankeil
|
||||
* Remove kill-popups action.
|
||||
*
|
||||
* Revision 1.19 2007/10/14 14:12:41 fabiankeil
|
||||
* When in daemon mode, close stderr after the configuration file has been
|
||||
* parsed the first time. If logfile isn't set, stop logging. Fixes BR#897436.
|
||||
*
|
||||
* Revision 1.18 2007/07/14 07:28:47 fabiankeil
|
||||
* Add translation function for JB_ERR_FOO codes.
|
||||
*
|
||||
* Revision 1.17 2007/03/31 13:33:28 fabiankeil
|
||||
* Add alternative log_error() with timestamps
|
||||
* that contain milliseconds and without using
|
||||
* strcpy(), strcat() or sprintf().
|
||||
*
|
||||
* Revision 1.16 2006/11/28 15:29:50 fabiankeil
|
||||
* Define LOG_LEVEL_REDIRECTS independently of
|
||||
* FEATURE_FAST_REDIRECTS. It is used by redirect{}
|
||||
* as well.
|
||||
*
|
||||
* Revision 1.15 2006/07/18 14:48:46 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.13.2.1 2002/08/05 17:57:06 oes
|
||||
* Cosmetic change
|
||||
*
|
||||
* Revision 1.13 2002/03/26 22:29:54 swa
|
||||
* we have a new homepage!
|
||||
*
|
||||
* Revision 1.12 2002/03/24 13:25:43 swa
|
||||
* name change related issues
|
||||
*
|
||||
* Revision 1.11 2002/03/06 23:02:57 jongfoster
|
||||
* Removing tabs
|
||||
*
|
||||
* Revision 1.10 2001/09/13 20:08:06 jongfoster
|
||||
* Adding support for LOG_LEVEL_CGI
|
||||
*
|
||||
* 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/07/29 18:43:08 jongfoster
|
||||
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
||||
* ANSI C rules.
|
||||
*
|
||||
* Revision 1.7 2001/07/19 19:02:53 haroon
|
||||
* Added define for LOG_LEVEL_POPUPS
|
||||
*
|
||||
* Revision 1.6 2001/07/13 13:59:22 oes
|
||||
* - Added LOG_LEVEL_DEANIMATE
|
||||
* - Changed LOG_LEVEL_CLF
|
||||
* - Removed all #ifdef PCRS
|
||||
*
|
||||
* Revision 1.5 2001/05/26 17:25:14 jongfoster
|
||||
* Added support for CLF (Common Log Format) and fixed LOG_LEVEL_LOG
|
||||
*
|
||||
* Revision 1.4 2001/05/25 21:56:06 jongfoster
|
||||
* Added FIXME comment to (broken) LOG_LEVEL_LOG
|
||||
*
|
||||
* Revision 1.3 2001/05/22 18:46:04 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
|
||||
*
|
||||
* - Some minor fixes
|
||||
*
|
||||
* - Removed some >400 CRs again (Jon, you really worked
|
||||
* a lot! ;-)
|
||||
*
|
||||
* Revision 1.2 2001/05/20 01:11:40 jongfoster
|
||||
* Added support for LOG_LEVEL_FATAL
|
||||
* Renamed LOG_LEVEL_FRC to LOG_LEVEL_FORCE,
|
||||
* and LOG_LEVEL_REF to LOG_LEVEL_RE_FILTER
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -47,7 +173,7 @@ extern "C" {
|
|||
#define LOG_LEVEL_CONNECT 0x0002
|
||||
#define LOG_LEVEL_IO 0x0004
|
||||
#define LOG_LEVEL_HEADER 0x0008
|
||||
#define LOG_LEVEL_WRITING 0x0010
|
||||
#define LOG_LEVEL_LOG 0x0010
|
||||
#ifdef FEATURE_FORCE_LOAD
|
||||
#define LOG_LEVEL_FORCE 0x0020
|
||||
#endif /* def FEATURE_FORCE_LOAD */
|
||||
|
@ -57,7 +183,6 @@ extern "C" {
|
|||
#define LOG_LEVEL_CLF 0x0200 /* Common Log File format */
|
||||
#define LOG_LEVEL_CRUNCH 0x0400
|
||||
#define LOG_LEVEL_CGI 0x0800 /* CGI / templates */
|
||||
#define LOG_LEVEL_RECEIVED 0x8000
|
||||
|
||||
/* Following are always on: */
|
||||
#define LOG_LEVEL_INFO 0x1000
|
||||
|
@ -70,7 +195,7 @@ extern void disable_logging(void);
|
|||
extern void init_log_module(void);
|
||||
extern void show_version(const char *prog_name);
|
||||
extern void log_error(int loglevel, const char *fmt, ...);
|
||||
extern const char *jb_err_to_string(int jb_error);
|
||||
extern const char *jb_err_to_string(int error);
|
||||
|
||||
/* Revision control strings from this header and associated .c file */
|
||||
extern const char errlog_rcs[];
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
#ifndef FILTERS_H_INCLUDED
|
||||
#define FILTERS_H_INCLUDED
|
||||
#define FILTERS_H_VERSION "$Id: filters.h,v 1.43 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define FILTERS_H_VERSION "$Id: filters.h,v 1.36 2008/05/21 15:35:08 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/filters.h,v $
|
||||
|
@ -12,7 +12,7 @@
|
|||
* `ij_untrusted_url', `intercept_url', `re_process_buffer',
|
||||
* `show_proxy_args', and `trust_url'
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2010 the
|
||||
* Copyright : Written by and Copyright (C) 2001, 2004 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -37,8 +37,244 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: filters.h,v $
|
||||
* Revision 1.36 2008/05/21 15:35:08 fabiankeil
|
||||
* - Mark csp as immutable for block_acl().
|
||||
* - Remove an obsolete complaint about filter_popups().
|
||||
*
|
||||
* Revision 1.35 2008/05/03 16:40:45 fabiankeil
|
||||
* Change content_filters_enabled()'s parameter from
|
||||
* csp->action to action so it can be also used in the
|
||||
* CGI code. Don't bother checking if there are filters
|
||||
* loaded, as that's somewhat besides the point.
|
||||
*
|
||||
* Revision 1.34 2008/03/02 12:25:25 fabiankeil
|
||||
* Also use shiny new connect_port_is_forbidden() in jcc.c.
|
||||
*
|
||||
* Revision 1.33 2008/02/23 16:57:12 fabiankeil
|
||||
* Rename url_actions() to get_url_actions() and let it
|
||||
* use the standard parameter ordering.
|
||||
*
|
||||
* Revision 1.32 2008/02/23 16:33:43 fabiankeil
|
||||
* Let forward_url() use the standard parameter ordering
|
||||
* and mark its second parameter immutable.
|
||||
*
|
||||
* Revision 1.31 2007/10/19 16:53:28 fabiankeil
|
||||
* Add helper function to check if any content filters are enabled.
|
||||
*
|
||||
* Revision 1.30 2007/09/29 10:21:16 fabiankeil
|
||||
* - Move get_filter_function() from jcc.c to filters.c
|
||||
* so the filter functions can be static.
|
||||
* - Don't bother filtering body-less responses.
|
||||
*
|
||||
* Revision 1.29 2007/09/28 16:38:55 fabiankeil
|
||||
* - Execute content filters through execute_content_filter().
|
||||
* - Add prepare_for_filtering() so filter functions don't have to
|
||||
* care about de-chunking and decompression. As a side effect this enables
|
||||
* decompression for gif_deanimate_response() and jpeg_inspect_response().
|
||||
* - Change remove_chunked_transfer_coding()'s return type to jb_err.
|
||||
* Some clowns feel like chunking empty responses in which case
|
||||
* (size == 0) is valid but previously would be interpreted as error.
|
||||
*
|
||||
* Revision 1.28 2007/09/02 15:31:20 fabiankeil
|
||||
* Move match_portlist() from filter.c to urlmatch.c.
|
||||
* It's used for url matching, not for filtering.
|
||||
*
|
||||
* Revision 1.27 2007/04/30 15:02:18 fabiankeil
|
||||
* Introduce dynamic pcrs jobs that can resolve variables.
|
||||
*
|
||||
* Revision 1.26 2007/03/13 11:28:43 fabiankeil
|
||||
* - Fix port handling in acl_addr() and use a temporary acl spec
|
||||
* copy so error messages don't contain a truncated version.
|
||||
* - Log size of iob before and after decompression.
|
||||
*
|
||||
* Revision 1.25 2007/01/12 15:36:44 fabiankeil
|
||||
* Mark *csp as immutable for is_untrusted_url()
|
||||
* and is_imageurl(). Closes FR 1237736.
|
||||
*
|
||||
* Revision 1.24 2006/12/29 18:30:46 fabiankeil
|
||||
* Fixed gcc43 conversion warnings,
|
||||
* changed sprintf calls to snprintf.
|
||||
*
|
||||
* Revision 1.23 2006/11/28 15:19:43 fabiankeil
|
||||
* Implemented +redirect{s@foo@bar@} to generate
|
||||
* a redirect based on a rewritten version of the
|
||||
* original URL.
|
||||
*
|
||||
* Revision 1.22 2006/07/18 14:48:46 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.20.2.2 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.20.2.1 2002/09/25 14:51:51 oes
|
||||
* Added basic support for OPTIONS and TRACE HTTP methods:
|
||||
* New function direct_response which handles OPTIONS and
|
||||
* TRACE requests whose Max-Forwards header field is zero.
|
||||
*
|
||||
* Revision 1.20 2002/04/02 14:56:16 oes
|
||||
* Bugfix: is_untrusted_url() and trust_url() now depend on FEATURE_TRUST, not FEATURE_COOKIE_JAR
|
||||
*
|
||||
* Revision 1.19 2002/03/26 22:29:54 swa
|
||||
* we have a new homepage!
|
||||
*
|
||||
* Revision 1.18 2002/03/25 22:12:45 oes
|
||||
* Added fix for undefined INADDR_NONE on Solaris by Bart Schelstraete
|
||||
*
|
||||
* Revision 1.17 2002/03/24 13:25:43 swa
|
||||
* name change related issues
|
||||
*
|
||||
* Revision 1.16 2002/01/17 21:01:02 jongfoster
|
||||
* Moving all our URL and URL pattern parsing code to urlmatch.c.
|
||||
*
|
||||
* Revision 1.15 2001/10/10 16:44:16 oes
|
||||
* Added match_portlist function
|
||||
*
|
||||
* Revision 1.14 2001/10/07 15:41:40 oes
|
||||
* Added prototype for remove_chunked_transfer_coding
|
||||
*
|
||||
* Revision 1.13 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.12 2001/07/29 19:01:11 jongfoster
|
||||
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
|
||||
* Added forward declarations for needed structures.
|
||||
*
|
||||
* Revision 1.11 2001/07/13 14:00:18 oes
|
||||
* - Introduced gif_deanimate_response
|
||||
* - Renamed re_process_buffer to pcrs_filter_response
|
||||
* - Removed all #ifdef PCRS
|
||||
*
|
||||
* Revision 1.10 2001/06/29 13:29:01 oes
|
||||
* Cleaned up and updated to reflect the changesin
|
||||
* filters.c
|
||||
*
|
||||
* Revision 1.9 2001/06/07 23:10:53 jongfoster
|
||||
* Replacing struct gateway with struct forward_spec
|
||||
*
|
||||
* Revision 1.8 2001/06/03 19:12:00 oes
|
||||
* extracted-CGI relevant stuff
|
||||
*
|
||||
* Revision 1.7 2001/05/31 21:21:30 jongfoster
|
||||
* Permissionsfile / actions file changes:
|
||||
* - Changed "permission" to "action" throughout
|
||||
* - changes to file format to allow string parameters
|
||||
* - Moved helper functions to actions.c
|
||||
*
|
||||
* Revision 1.6 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.5 2001/05/27 22:17:04 oes
|
||||
*
|
||||
* - re_process_buffer no longer writes the modified buffer
|
||||
* to the client, which was very ugly. It now returns the
|
||||
* buffer, which it is then written by chat.
|
||||
*
|
||||
* - content_length now adjusts the Content-Length: header
|
||||
* for modified documents rather than crunch()ing it.
|
||||
* (Length info in csp->content_length, which is 0 for
|
||||
* unmodified documents)
|
||||
*
|
||||
* - For this to work, sed() is called twice when filtering.
|
||||
*
|
||||
* Revision 1.4 2001/05/26 15:26:15 jongfoster
|
||||
* ACL feature now provides more security by immediately dropping
|
||||
* connections from untrusted hosts.
|
||||
*
|
||||
* Revision 1.3 2001/05/22 18:46:04 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
|
||||
*
|
||||
* - Some minor fixes
|
||||
*
|
||||
* - Removed some >400 CRs again (Jon, you really worked
|
||||
* a lot! ;-)
|
||||
*
|
||||
* Revision 1.2 2001/05/20 01:21:20 jongfoster
|
||||
* Version 2.9.4 checkin.
|
||||
* - Merged popupfile and cookiefile, and added control over PCRS
|
||||
* filtering, in new "permissionsfile".
|
||||
* - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
|
||||
* file error you now get a message box (in the Win32 GUI) rather
|
||||
* than the program exiting with no explanation.
|
||||
* - Made killpopup use the PCRS MIME-type checking and HTTP-header
|
||||
* skipping.
|
||||
* - Removed tabs from "config"
|
||||
* - Moved duplicated url parsing code in "loaders.c" to a new funcition.
|
||||
* - Bumped up version number.
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:52 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#include "project.h"
|
||||
|
||||
|
@ -101,22 +337,32 @@ extern const struct forward_spec *forward_url(struct client_state *csp,
|
|||
/*
|
||||
* Content modification
|
||||
*/
|
||||
extern char *execute_content_filters(struct client_state *csp);
|
||||
|
||||
typedef char *(*filter_function_ptr)();
|
||||
extern char *execute_content_filter(struct client_state *csp, filter_function_ptr content_filter);
|
||||
|
||||
extern filter_function_ptr get_filter_function(struct client_state *csp);
|
||||
extern char *execute_single_pcrs_command(char *subject, const char *pcrs_command, int *hits);
|
||||
extern char *rewrite_url(char *old_url, const char *pcrs_command);
|
||||
extern char *get_last_url(char *subject, const char *redirect_mode);
|
||||
|
||||
extern pcrs_job *compile_dynamic_pcrs_job_list(const struct client_state *csp, const struct re_filterfile_spec *b);
|
||||
|
||||
extern int content_requires_filtering(struct client_state *csp);
|
||||
extern int content_filters_enabled(const struct current_action_spec *action);
|
||||
extern int filters_available(const struct client_state *csp);
|
||||
|
||||
/*
|
||||
* Handling Max-Forwards:
|
||||
*/
|
||||
extern struct http_response *direct_response(struct client_state *csp);
|
||||
|
||||
|
||||
/*
|
||||
* Solaris fix:
|
||||
*/
|
||||
#ifndef INADDR_NONE
|
||||
#define INADDR_NONE -1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Revision control strings from this header and associated .c file
|
||||
*/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const char gateway_rcs[] = "$Id: gateway.c,v 1.83 2011/12/24 15:28:45 fabiankeil Exp $";
|
||||
const char gateway_rcs[] = "$Id: gateway.c,v 1.48 2009/02/13 17:20:36 fabiankeil Exp $";
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/gateway.c,v $
|
||||
|
@ -7,7 +7,7 @@ const char gateway_rcs[] = "$Id: gateway.c,v 1.83 2011/12/24 15:28:45 fabiankeil
|
|||
* using a "forwarder" (i.e. HTTP proxy and/or a SOCKS4
|
||||
* or SOCKS5 proxy).
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -32,8 +32,217 @@ const char gateway_rcs[] = "$Id: gateway.c,v 1.83 2011/12/24 15:28:45 fabiankeil
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: gateway.c,v $
|
||||
* Revision 1.48 2009/02/13 17:20:36 fabiankeil
|
||||
* Reword keep-alive support warning and only show
|
||||
* it #if !defined(HAVE_POLL) && !defined(_WIN32).
|
||||
*
|
||||
* Revision 1.47 2008/12/24 17:06:19 fabiankeil
|
||||
* Keep a thread around to timeout alive connections
|
||||
* even if no new requests are coming in.
|
||||
*
|
||||
* Revision 1.46 2008/12/13 11:07:23 fabiankeil
|
||||
* Remove duplicated debugging checks
|
||||
* in connection_destination_matches().
|
||||
*
|
||||
* Revision 1.45 2008/12/04 18:17:07 fabiankeil
|
||||
* Fix some cparser warnings.
|
||||
*
|
||||
* Revision 1.44 2008/11/22 11:54:04 fabiankeil
|
||||
* Move log message around to include the socket number.
|
||||
*
|
||||
* Revision 1.43 2008/11/13 09:15:51 fabiankeil
|
||||
* Make keep_alive_timeout static.
|
||||
*
|
||||
* Revision 1.42 2008/11/13 09:08:42 fabiankeil
|
||||
* Add new config option: keep-alive-timeout.
|
||||
*
|
||||
* Revision 1.41 2008/11/08 15:29:58 fabiankeil
|
||||
* Unify two debug messages.
|
||||
*
|
||||
* Revision 1.40 2008/11/08 15:14:05 fabiankeil
|
||||
* Fix duplicated debugging check.
|
||||
*
|
||||
* Revision 1.39 2008/10/25 11:33:01 fabiankeil
|
||||
* Remove already out-commented line left over from debugging.
|
||||
*
|
||||
* Revision 1.38 2008/10/24 17:33:00 fabiankeil
|
||||
* - Tone the "keep-alive support is experimental" warning
|
||||
* down a bit as hackish 0-chunk detection has been
|
||||
* implemented recently.
|
||||
* - Only show the "ndef HAVE_POLL" warning once on start-up.
|
||||
*
|
||||
* Revision 1.37 2008/10/23 17:40:53 fabiankeil
|
||||
* Fix forget_connection() and mark_connection_unused(),
|
||||
* which would both under certain circumstances access
|
||||
* reusable_connection[MAX_REUSABLE_CONNECTIONS]. Oops.
|
||||
*
|
||||
* Revision 1.36 2008/10/18 19:49:15 fabiankeil
|
||||
* - Factor close_unusable_connections() out of
|
||||
* get_reusable_connection() to make sure we really check
|
||||
* all the remembered connections, not just the ones before
|
||||
* the next reusable one.
|
||||
* - Plug two file descriptor leaks. Internally marking
|
||||
* connections as closed doesn't cut it.
|
||||
*
|
||||
* Revision 1.35 2008/10/17 17:12:01 fabiankeil
|
||||
* In socket_is_still_usable(), use select()
|
||||
* and FD_ISSET() if poll() isn't available.
|
||||
*
|
||||
* Revision 1.34 2008/10/17 17:07:13 fabiankeil
|
||||
* Add preliminary timeout support.
|
||||
*
|
||||
* Revision 1.33 2008/10/16 16:34:21 fabiankeil
|
||||
* Fix two gcc44 warnings.
|
||||
*
|
||||
* Revision 1.32 2008/10/16 16:27:22 fabiankeil
|
||||
* Fix compiler warning.
|
||||
*
|
||||
* Revision 1.31 2008/10/16 07:31:11 fabiankeil
|
||||
* - Factor socket_is_still_usable() out of get_reusable_connection().
|
||||
* - If poll() isn't available, show a warning and assume the socket
|
||||
* is still usable.
|
||||
*
|
||||
* Revision 1.30 2008/10/13 17:31:03 fabiankeil
|
||||
* If a remembered connection is no longer usable and
|
||||
* has been marked closed, don't bother checking if the
|
||||
* destination matches.
|
||||
*
|
||||
* Revision 1.29 2008/10/11 16:59:41 fabiankeil
|
||||
* Add missing dots for two log messages.
|
||||
*
|
||||
* Revision 1.28 2008/10/09 18:21:41 fabiankeil
|
||||
* Flush work-in-progress changes to keep outgoing connections
|
||||
* alive where possible. Incomplete and mostly #ifdef'd out.
|
||||
*
|
||||
* Revision 1.27 2008/09/27 15:05:51 fabiankeil
|
||||
* Return only once in forwarded_connect().
|
||||
*
|
||||
* Revision 1.26 2008/08/18 17:42:06 fabiankeil
|
||||
* Fix typo in macro name.
|
||||
*
|
||||
* Revision 1.25 2008/02/07 18:09:46 fabiankeil
|
||||
* In socks5_connect:
|
||||
* - make the buffers quite a bit smaller.
|
||||
* - properly report "socks5 server unreachable" failures.
|
||||
* - let strncpy() use the whole buffer. Using a length of 0xffu wasn't actually
|
||||
* wrong, but requires too much thinking as it doesn't depend on the buffer size.
|
||||
* - log a message if the socks5 server sends more data than expected.
|
||||
* - add some assertions and comments.
|
||||
*
|
||||
* Revision 1.24 2008/02/04 14:56:29 fabiankeil
|
||||
* - Fix a compiler warning.
|
||||
* - Stop assuming that htonl(INADDR_NONE) equals INADDR_NONE.
|
||||
*
|
||||
* Revision 1.23 2008/02/04 13:11:35 fabiankeil
|
||||
* Remember the cause of the SOCKS5 error for the CGI message.
|
||||
*
|
||||
* Revision 1.22 2008/02/03 13:46:15 fabiankeil
|
||||
* Add SOCKS5 support. Patch #1862863 by Eric M. Hopper with minor changes.
|
||||
*
|
||||
* Revision 1.21 2007/07/28 12:30:03 fabiankeil
|
||||
* Modified patch from Song Weijia (#1762559) to
|
||||
* fix socks requests on big-endian platforms.
|
||||
*
|
||||
* Revision 1.20 2007/05/14 10:23:48 fabiankeil
|
||||
* - Use strlcpy() instead of strcpy().
|
||||
* - Use the same buffer for socks requests and socks responses.
|
||||
* - Fix bogus warning about web_server_addr being used uninitialized.
|
||||
*
|
||||
* Revision 1.19 2007/01/25 14:09:45 fabiankeil
|
||||
* - Save errors in socks4_connect() to csp->error_message.
|
||||
* - Silence some gcc43 warnings, hopefully the right way.
|
||||
*
|
||||
* Revision 1.18 2006/07/18 14:48:46 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.16 2002/05/12 21:36:29 jongfoster
|
||||
* Correcting function comments
|
||||
*
|
||||
* Revision 1.15 2002/03/26 22:29:54 swa
|
||||
* we have a new homepage!
|
||||
*
|
||||
* Revision 1.14 2002/03/24 13:25:43 swa
|
||||
* name change related issues
|
||||
*
|
||||
* Revision 1.13 2002/03/13 00:29:59 jongfoster
|
||||
* Killing warnings
|
||||
*
|
||||
* Revision 1.12 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.11 2002/03/08 17:46:04 jongfoster
|
||||
* Fixing int/size_t warnings
|
||||
*
|
||||
* Revision 1.10 2002/03/07 03:50:19 oes
|
||||
* - Improved handling of failed DNS lookups
|
||||
* - Fixed compiler warnings
|
||||
*
|
||||
* Revision 1.9 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.8 2001/09/13 20:10:12 jongfoster
|
||||
* Fixing missing #include under Windows
|
||||
*
|
||||
* Revision 1.7 2001/09/12 17:58:26 steudten
|
||||
*
|
||||
* add #include <string.h>
|
||||
*
|
||||
* Revision 1.6 2001/09/10 10:41:16 oes
|
||||
* Added #include in.h
|
||||
*
|
||||
* Revision 1.5 2001/07/29 18:47:57 jongfoster
|
||||
* Adding missing #include project.h
|
||||
*
|
||||
* Revision 1.4 2001/07/24 12:47:06 oes
|
||||
* Applied BeOS support update by Eugenia
|
||||
*
|
||||
* Revision 1.3 2001/06/09 10:55:28 jongfoster
|
||||
* Changing BUFSIZ ==> BUFFER_SIZE
|
||||
*
|
||||
* Revision 1.2 2001/06/07 23:11:38 jongfoster
|
||||
* Removing gateways[] list - no longer used.
|
||||
* Replacing function pointer in struct gateway with a directly
|
||||
* called function forwarded_connect(), which can do the common
|
||||
* task of deciding whether to connect to the web server or HTTP
|
||||
* proxy.
|
||||
* Replacing struct gateway with struct forward_spec
|
||||
* Fixing bug with SOCKS4A and HTTP proxy server in combination.
|
||||
* It was a bug which led to the connection being made to the web
|
||||
* server rather than the HTTP proxy, and also a buffer overrun.
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:54 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#include "config.h"
|
||||
|
||||
|
@ -88,24 +297,21 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
|||
int target_port,
|
||||
struct client_state *csp);
|
||||
|
||||
enum {
|
||||
SOCKS4_REQUEST_GRANTED = 90,
|
||||
SOCKS4_REQUEST_REJECT = 91,
|
||||
SOCKS4_REQUEST_IDENT_FAILED = 92,
|
||||
SOCKS4_REQUEST_IDENT_CONFLICT = 93
|
||||
};
|
||||
|
||||
enum {
|
||||
SOCKS5_REQUEST_GRANTED = 0,
|
||||
SOCKS5_REQUEST_FAILED = 1,
|
||||
SOCKS5_REQUEST_DENIED = 2,
|
||||
SOCKS5_REQUEST_NETWORK_UNREACHABLE = 3,
|
||||
SOCKS5_REQUEST_HOST_UNREACHABLE = 4,
|
||||
SOCKS5_REQUEST_CONNECTION_REFUSED = 5,
|
||||
SOCKS5_REQUEST_TTL_EXPIRED = 6,
|
||||
SOCKS5_REQUEST_PROTOCOL_ERROR = 7,
|
||||
SOCKS5_REQUEST_BAD_ADDRESS_TYPE = 8
|
||||
};
|
||||
#define SOCKS_REQUEST_GRANTED 90
|
||||
#define SOCKS_REQUEST_REJECT 91
|
||||
#define SOCKS_REQUEST_IDENT_FAILED 92
|
||||
#define SOCKS_REQUEST_IDENT_CONFLICT 93
|
||||
|
||||
#define SOCKS5_REQUEST_GRANTED 0
|
||||
#define SOCKS5_REQUEST_FAILED 1
|
||||
#define SOCKS5_REQUEST_DENIED 2
|
||||
#define SOCKS5_REQUEST_NETWORK_UNREACHABLE 3
|
||||
#define SOCKS5_REQUEST_HOST_UNREACHABLE 4
|
||||
#define SOCKS5_REQUEST_CONNECTION_REFUSED 5
|
||||
#define SOCKS5_REQUEST_TTL_EXPIRED 6
|
||||
#define SOCKS5_REQUEST_PROTOCOL_ERROR 7
|
||||
#define SOCKS5_REQUEST_BAD_ADDRESS_TYPE 8
|
||||
|
||||
/* structure of a socks client operation */
|
||||
struct socks_op {
|
||||
|
@ -128,13 +334,32 @@ struct socks_reply {
|
|||
|
||||
static const char socks_userid[] = "anonymous";
|
||||
|
||||
#ifdef FEATURE_CONNECTION_SHARING
|
||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
|
||||
#define MAX_REUSABLE_CONNECTIONS 100
|
||||
static unsigned int keep_alive_timeout = DEFAULT_KEEP_ALIVE_TIMEOUT;
|
||||
static int keep_alive_timeout = DEFAULT_KEEP_ALIVE_TIMEOUT;
|
||||
|
||||
struct reusable_connection
|
||||
{
|
||||
jb_socket sfd;
|
||||
int in_use;
|
||||
char *host;
|
||||
int port;
|
||||
time_t timestamp;
|
||||
|
||||
int forwarder_type;
|
||||
char *gateway_host;
|
||||
int gateway_port;
|
||||
char *forward_host;
|
||||
int forward_port;
|
||||
};
|
||||
|
||||
static struct reusable_connection reusable_connection[MAX_REUSABLE_CONNECTIONS];
|
||||
static int mark_connection_unused(const struct reusable_connection *connection);
|
||||
|
||||
static int mark_connection_unused(jb_socket sfd);
|
||||
static void mark_connection_closed(struct reusable_connection *closed_connection);
|
||||
static int socket_is_still_usable(jb_socket sfd);
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
|
@ -172,23 +397,25 @@ extern void initialize_reusable_connections(void)
|
|||
*
|
||||
* Function : remember_connection
|
||||
*
|
||||
* Description : Remembers a server connection for reuse later on.
|
||||
* Description : Remembers a connection for reuse later on.
|
||||
*
|
||||
* Parameters :
|
||||
* 1 : connection = The server connection to remember.
|
||||
* 1 : sfd = Open socket to remember.
|
||||
* 2 : http = The destination for the connection.
|
||||
* 3 : fwd = The forwarder settings used.
|
||||
*
|
||||
* Returns : void
|
||||
*
|
||||
*********************************************************************/
|
||||
void remember_connection(const struct reusable_connection *connection)
|
||||
void remember_connection(jb_socket sfd, const struct http_request *http,
|
||||
const struct forward_spec *fwd)
|
||||
{
|
||||
unsigned int slot = 0;
|
||||
int free_slot_found = FALSE;
|
||||
|
||||
assert(NULL != connection);
|
||||
assert(connection->sfd != JB_INVALID_SOCKET);
|
||||
assert(sfd != JB_INVALID_SOCKET);
|
||||
|
||||
if (mark_connection_unused(connection))
|
||||
if (mark_connection_unused(sfd))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -203,7 +430,7 @@ void remember_connection(const struct reusable_connection *connection)
|
|||
assert(reusable_connection[slot].in_use == 0);
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"Remembering socket %d for %s:%d in slot %d.",
|
||||
connection->sfd, connection->host, connection->port, slot);
|
||||
sfd, http->host, http->port, slot);
|
||||
free_slot_found = TRUE;
|
||||
break;
|
||||
}
|
||||
|
@ -213,36 +440,34 @@ void remember_connection(const struct reusable_connection *connection)
|
|||
{
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"No free slots found to remembering socket for %s:%d. Last slot %d.",
|
||||
connection->host, connection->port, slot);
|
||||
http->host, http->port, slot);
|
||||
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||
close_socket(connection->sfd);
|
||||
close_socket(sfd);
|
||||
return;
|
||||
}
|
||||
|
||||
assert(NULL != connection->host);
|
||||
reusable_connection[slot].host = strdup(connection->host);
|
||||
assert(NULL != http->host);
|
||||
reusable_connection[slot].host = strdup(http->host);
|
||||
if (NULL == reusable_connection[slot].host)
|
||||
{
|
||||
log_error(LOG_LEVEL_FATAL, "Out of memory saving socket.");
|
||||
}
|
||||
reusable_connection[slot].sfd = connection->sfd;
|
||||
reusable_connection[slot].port = connection->port;
|
||||
reusable_connection[slot].sfd = sfd;
|
||||
reusable_connection[slot].port = http->port;
|
||||
reusable_connection[slot].in_use = 0;
|
||||
reusable_connection[slot].timestamp = connection->timestamp;
|
||||
reusable_connection->request_sent = connection->request_sent;
|
||||
reusable_connection->response_received = connection->response_received;
|
||||
reusable_connection[slot].keep_alive_timeout = connection->keep_alive_timeout;
|
||||
reusable_connection[slot].timestamp = time(NULL);
|
||||
|
||||
assert(NULL != fwd);
|
||||
assert(reusable_connection[slot].gateway_host == NULL);
|
||||
assert(reusable_connection[slot].gateway_port == 0);
|
||||
assert(reusable_connection[slot].forwarder_type == SOCKS_NONE);
|
||||
assert(reusable_connection[slot].forward_host == NULL);
|
||||
assert(reusable_connection[slot].forward_port == 0);
|
||||
|
||||
reusable_connection[slot].forwarder_type = connection->forwarder_type;
|
||||
if (NULL != connection->gateway_host)
|
||||
reusable_connection[slot].forwarder_type = fwd->type;
|
||||
if (NULL != fwd->gateway_host)
|
||||
{
|
||||
reusable_connection[slot].gateway_host = strdup(connection->gateway_host);
|
||||
reusable_connection[slot].gateway_host = strdup(fwd->gateway_host);
|
||||
if (NULL == reusable_connection[slot].gateway_host)
|
||||
{
|
||||
log_error(LOG_LEVEL_FATAL, "Out of memory saving gateway_host.");
|
||||
|
@ -252,11 +477,11 @@ void remember_connection(const struct reusable_connection *connection)
|
|||
{
|
||||
reusable_connection[slot].gateway_host = NULL;
|
||||
}
|
||||
reusable_connection[slot].gateway_port = connection->gateway_port;
|
||||
reusable_connection[slot].gateway_port = fwd->gateway_port;
|
||||
|
||||
if (NULL != connection->forward_host)
|
||||
if (NULL != fwd->forward_host)
|
||||
{
|
||||
reusable_connection[slot].forward_host = strdup(connection->forward_host);
|
||||
reusable_connection[slot].forward_host = strdup(fwd->forward_host);
|
||||
if (NULL == reusable_connection[slot].forward_host)
|
||||
{
|
||||
log_error(LOG_LEVEL_FATAL, "Out of memory saving forward_host.");
|
||||
|
@ -266,19 +491,18 @@ void remember_connection(const struct reusable_connection *connection)
|
|||
{
|
||||
reusable_connection[slot].forward_host = NULL;
|
||||
}
|
||||
reusable_connection[slot].forward_port = connection->forward_port;
|
||||
reusable_connection[slot].forward_port = fwd->forward_port;
|
||||
|
||||
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||
}
|
||||
#endif /* def FEATURE_CONNECTION_SHARING */
|
||||
|
||||
|
||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
/*********************************************************************
|
||||
*
|
||||
* Function : mark_connection_closed
|
||||
*
|
||||
* Description : Marks a reused connection closed.
|
||||
* Must be called with connection_reuse_mutex locked.
|
||||
*
|
||||
* Parameters :
|
||||
* 1 : closed_connection = The connection to mark as closed.
|
||||
|
@ -286,26 +510,21 @@ void remember_connection(const struct reusable_connection *connection)
|
|||
* Returns : void
|
||||
*
|
||||
*********************************************************************/
|
||||
void mark_connection_closed(struct reusable_connection *closed_connection)
|
||||
static void mark_connection_closed(struct reusable_connection *closed_connection)
|
||||
{
|
||||
closed_connection->in_use = FALSE;
|
||||
closed_connection->sfd = JB_INVALID_SOCKET;
|
||||
freez(closed_connection->host);
|
||||
closed_connection->port = 0;
|
||||
closed_connection->timestamp = 0;
|
||||
closed_connection->request_sent = 0;
|
||||
closed_connection->response_received = 0;
|
||||
closed_connection->keep_alive_timeout = 0;
|
||||
closed_connection->forwarder_type = SOCKS_NONE;
|
||||
freez(closed_connection->gateway_host);
|
||||
closed_connection->gateway_port = 0;
|
||||
freez(closed_connection->forward_host);
|
||||
closed_connection->forward_port = 0;
|
||||
}
|
||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
|
||||
|
||||
#ifdef FEATURE_CONNECTION_SHARING
|
||||
/*********************************************************************
|
||||
*
|
||||
* Function : forget_connection
|
||||
|
@ -338,17 +557,19 @@ void forget_connection(jb_socket sfd)
|
|||
sfd, reusable_connection[slot].host,
|
||||
reusable_connection[slot].port, slot);
|
||||
mark_connection_closed(&reusable_connection[slot]);
|
||||
break;
|
||||
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"Socket %d already forgotten or never remembered.", sfd);
|
||||
|
||||
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||
|
||||
}
|
||||
#endif /* def FEATURE_CONNECTION_SHARING */
|
||||
|
||||
|
||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
/*********************************************************************
|
||||
*
|
||||
* Function : connection_destination_matches
|
||||
|
@ -365,9 +586,9 @@ void forget_connection(jb_socket sfd)
|
|||
* Returns : TRUE for yes, FALSE otherwise.
|
||||
*
|
||||
*********************************************************************/
|
||||
int connection_destination_matches(const struct reusable_connection *connection,
|
||||
const struct http_request *http,
|
||||
const struct forward_spec *fwd)
|
||||
static int connection_destination_matches(const struct reusable_connection *connection,
|
||||
const struct http_request *http,
|
||||
const struct forward_spec *fwd)
|
||||
{
|
||||
if ((connection->forwarder_type != fwd->type)
|
||||
|| (connection->gateway_port != fwd->gateway_port)
|
||||
|
@ -382,9 +603,7 @@ int connection_destination_matches(const struct reusable_connection *connection,
|
|||
&& strcmpic(connection->gateway_host, fwd->gateway_host))
|
||||
&& (connection->gateway_host != fwd->gateway_host))
|
||||
{
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"Gateway mismatch. Previous gateway: %s. Current gateway: %s",
|
||||
connection->gateway_host, fwd->gateway_host);
|
||||
log_error(LOG_LEVEL_CONNECT, "Gateway mismatch.");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -393,19 +612,15 @@ int connection_destination_matches(const struct reusable_connection *connection,
|
|||
&& strcmpic(connection->forward_host, fwd->forward_host))
|
||||
&& (connection->forward_host != fwd->forward_host))
|
||||
{
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"Forwarding proxy mismatch. Previous proxy: %s. Current proxy: %s",
|
||||
connection->forward_host, fwd->forward_host);
|
||||
log_error(LOG_LEVEL_CONNECT, "Forwarding proxy mismatch.");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return (!strcmpic(connection->host, http->host));
|
||||
|
||||
}
|
||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
|
||||
|
||||
#ifdef FEATURE_CONNECTION_SHARING
|
||||
/*********************************************************************
|
||||
*
|
||||
* Function : close_unusable_connections
|
||||
|
@ -431,23 +646,19 @@ int close_unusable_connections(void)
|
|||
&& (JB_INVALID_SOCKET != reusable_connection[slot].sfd))
|
||||
{
|
||||
time_t time_open = time(NULL) - reusable_connection[slot].timestamp;
|
||||
time_t latency = (reusable_connection[slot].response_received -
|
||||
reusable_connection[slot].request_sent) / 2;
|
||||
|
||||
if (reusable_connection[slot].keep_alive_timeout < time_open + latency)
|
||||
if (keep_alive_timeout < time_open)
|
||||
{
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"The connection to %s:%d in slot %d timed out. "
|
||||
"Closing socket %d. Timeout is: %d. Assumed latency: %d.",
|
||||
"Closing socket %d. Timeout is: %d.",
|
||||
reusable_connection[slot].host,
|
||||
reusable_connection[slot].port, slot,
|
||||
reusable_connection[slot].sfd,
|
||||
reusable_connection[slot].keep_alive_timeout,
|
||||
latency);
|
||||
reusable_connection[slot].sfd, keep_alive_timeout);
|
||||
close_socket(reusable_connection[slot].sfd);
|
||||
mark_connection_closed(&reusable_connection[slot]);
|
||||
}
|
||||
else if (!socket_is_still_alive(reusable_connection[slot].sfd))
|
||||
else if (!socket_is_still_usable(reusable_connection[slot].sfd))
|
||||
{
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"The connection to %s:%d in slot %d is no longer usable. "
|
||||
|
@ -471,6 +682,66 @@ int close_unusable_connections(void)
|
|||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Function : socket_is_still_usable
|
||||
*
|
||||
* Description : Decides whether or not an open socket is still usable.
|
||||
*
|
||||
* Parameters :
|
||||
* 1 : sfd = The socket to check.
|
||||
*
|
||||
* Returns : TRUE for yes, otherwise FALSE.
|
||||
*
|
||||
*********************************************************************/
|
||||
static int socket_is_still_usable(jb_socket sfd)
|
||||
{
|
||||
#ifdef HAVE_POLL
|
||||
int poll_result;
|
||||
struct pollfd poll_fd[1];
|
||||
|
||||
memset(poll_fd, 0, sizeof(poll_fd));
|
||||
poll_fd[0].fd = sfd;
|
||||
poll_fd[0].events = POLLIN;
|
||||
|
||||
poll_result = poll(poll_fd, 1, 0);
|
||||
|
||||
if (-1 != poll_result)
|
||||
{
|
||||
return !(poll_fd[0].revents & POLLIN);
|
||||
}
|
||||
else
|
||||
{
|
||||
log_error(LOG_LEVEL_CONNECT, "Polling socket %d failed.", sfd);
|
||||
return FALSE;
|
||||
}
|
||||
#else
|
||||
fd_set readable_fds;
|
||||
struct timeval timeout;
|
||||
int ret;
|
||||
int socket_is_alive = 0;
|
||||
|
||||
memset(&timeout, '\0', sizeof(timeout));
|
||||
FD_ZERO(&readable_fds);
|
||||
FD_SET(sfd, &readable_fds);
|
||||
|
||||
ret = select((int)sfd+1, &readable_fds, NULL, NULL, &timeout);
|
||||
if (ret < 0)
|
||||
{
|
||||
log_error(LOG_LEVEL_ERROR, "select() failed!: %E");
|
||||
}
|
||||
|
||||
/*
|
||||
* XXX: I'm not sure why !FD_ISSET() works,
|
||||
* but apparently it does.
|
||||
*/
|
||||
socket_is_alive = !FD_ISSET(sfd, &readable_fds);
|
||||
|
||||
return socket_is_alive;
|
||||
#endif /* def HAVE_POLL */
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Function : get_reusable_connection
|
||||
|
@ -506,13 +777,8 @@ static jb_socket get_reusable_connection(const struct http_request *http,
|
|||
reusable_connection[slot].in_use = TRUE;
|
||||
sfd = reusable_connection[slot].sfd;
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"Found reusable socket %d for %s:%d in slot %d. "
|
||||
"Timestamp made %d seconds ago. Timeout: %d. Latency: %d.",
|
||||
sfd, reusable_connection[slot].host, reusable_connection[slot].port,
|
||||
slot, time(NULL) - reusable_connection[slot].timestamp,
|
||||
reusable_connection[slot].keep_alive_timeout,
|
||||
(int)(reusable_connection[slot].response_received -
|
||||
reusable_connection[slot].request_sent));
|
||||
"Found reusable socket %d for %s:%d in slot %d.",
|
||||
sfd, reusable_connection[slot].host, reusable_connection[slot].port, slot);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -532,33 +798,33 @@ static jb_socket get_reusable_connection(const struct http_request *http,
|
|||
* Description : Gives a remembered connection free for reuse.
|
||||
*
|
||||
* Parameters :
|
||||
* 1 : connection = The connection in question.
|
||||
* 1 : sfd = The socket belonging to the connection in question.
|
||||
*
|
||||
* Returns : TRUE => Socket found and marked as unused.
|
||||
* FALSE => Socket not found.
|
||||
*
|
||||
*********************************************************************/
|
||||
static int mark_connection_unused(const struct reusable_connection *connection)
|
||||
static int mark_connection_unused(jb_socket sfd)
|
||||
{
|
||||
unsigned int slot = 0;
|
||||
int socket_found = FALSE;
|
||||
|
||||
assert(connection->sfd != JB_INVALID_SOCKET);
|
||||
assert(sfd != JB_INVALID_SOCKET);
|
||||
|
||||
privoxy_mutex_lock(&connection_reuse_mutex);
|
||||
|
||||
for (slot = 0; slot < SZ(reusable_connection); slot++)
|
||||
{
|
||||
if (reusable_connection[slot].sfd == connection->sfd)
|
||||
if (reusable_connection[slot].sfd == sfd)
|
||||
{
|
||||
assert(reusable_connection[slot].in_use);
|
||||
socket_found = TRUE;
|
||||
log_error(LOG_LEVEL_CONNECT,
|
||||
"Marking open socket %d for %s:%d in slot %d as unused.",
|
||||
connection->sfd, reusable_connection[slot].host,
|
||||
sfd, reusable_connection[slot].host,
|
||||
reusable_connection[slot].port, slot);
|
||||
reusable_connection[slot].in_use = 0;
|
||||
reusable_connection[slot].timestamp = connection->timestamp;
|
||||
reusable_connection[slot].timestamp = time(NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -583,11 +849,11 @@ static int mark_connection_unused(const struct reusable_connection *connection)
|
|||
* Returns : void
|
||||
*
|
||||
*********************************************************************/
|
||||
void set_keep_alive_timeout(unsigned int timeout)
|
||||
void set_keep_alive_timeout(int timeout)
|
||||
{
|
||||
keep_alive_timeout = timeout;
|
||||
}
|
||||
#endif /* def FEATURE_CONNECTION_SHARING */
|
||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
|
@ -613,17 +879,13 @@ jb_socket forwarded_connect(const struct forward_spec * fwd,
|
|||
int dest_port;
|
||||
jb_socket sfd = JB_INVALID_SOCKET;
|
||||
|
||||
#ifdef FEATURE_CONNECTION_SHARING
|
||||
if ((csp->config->feature_flags & RUNTIME_FEATURE_CONNECTION_SHARING)
|
||||
&& !(csp->flags & CSP_FLAG_SERVER_SOCKET_TAINTED))
|
||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
sfd = get_reusable_connection(http, fwd);
|
||||
if (JB_INVALID_SOCKET != sfd)
|
||||
{
|
||||
sfd = get_reusable_connection(http, fwd);
|
||||
if (JB_INVALID_SOCKET != sfd)
|
||||
{
|
||||
return sfd;
|
||||
}
|
||||
return sfd;
|
||||
}
|
||||
#endif /* def FEATURE_CONNECTION_SHARING */
|
||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
|
||||
/* Figure out if we need to connect to the web server or a HTTP proxy. */
|
||||
if (fwd->forward_host)
|
||||
|
@ -655,7 +917,7 @@ jb_socket forwarded_connect(const struct forward_spec * fwd,
|
|||
default:
|
||||
/* Should never get here */
|
||||
log_error(LOG_LEVEL_FATAL,
|
||||
"Internal error in forwarded_connect(). Bad proxy type: %d", fwd->type);
|
||||
"SOCKS4 impossible internal error - bad SOCKS type.");
|
||||
}
|
||||
|
||||
if (JB_INVALID_SOCKET != sfd)
|
||||
|
@ -698,7 +960,7 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
|||
int target_port,
|
||||
struct client_state *csp)
|
||||
{
|
||||
unsigned long web_server_addr;
|
||||
unsigned int web_server_addr;
|
||||
char buf[BUFFER_SIZE];
|
||||
struct socks_op *c = (struct socks_op *)buf;
|
||||
struct socks_reply *s = (struct socks_reply *)buf;
|
||||
|
@ -805,8 +1067,12 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
|||
|
||||
if (sfd == JB_INVALID_SOCKET)
|
||||
{
|
||||
/* The error an its reason have already been logged by connect_to() */
|
||||
return(JB_INVALID_SOCKET);
|
||||
/*
|
||||
* XXX: connect_to should fill in the exact reason.
|
||||
* Most likely resolving the IP of the forwarder failed.
|
||||
*/
|
||||
errstr = "connect_to failed: see logfile for details";
|
||||
err = 1;
|
||||
}
|
||||
else if (write_socket(sfd, (char *)c, csiz))
|
||||
{
|
||||
|
@ -815,20 +1081,6 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
|||
err = 1;
|
||||
close_socket(sfd);
|
||||
}
|
||||
else if (!data_is_available(sfd, csp->config->socket_timeout))
|
||||
{
|
||||
if (socket_is_still_alive(sfd))
|
||||
{
|
||||
errstr = "SOCKS4 negotiation timed out";
|
||||
}
|
||||
else
|
||||
{
|
||||
errstr = "SOCKS4 negotiation got aborted by the server";
|
||||
}
|
||||
log_error(LOG_LEVEL_CONNECT, "socks4_connect: %s", errstr);
|
||||
err = 1;
|
||||
close_socket(sfd);
|
||||
}
|
||||
else if (read_socket(sfd, buf, sizeof(buf)) != sizeof(*s))
|
||||
{
|
||||
errstr = "SOCKS4 negotiation read failed.";
|
||||
|
@ -845,18 +1097,18 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
|||
|
||||
switch (s->cd)
|
||||
{
|
||||
case SOCKS4_REQUEST_GRANTED:
|
||||
case SOCKS_REQUEST_GRANTED:
|
||||
return(sfd);
|
||||
case SOCKS4_REQUEST_REJECT:
|
||||
case SOCKS_REQUEST_REJECT:
|
||||
errstr = "SOCKS request rejected or failed.";
|
||||
errno = EINVAL;
|
||||
break;
|
||||
case SOCKS4_REQUEST_IDENT_FAILED:
|
||||
case SOCKS_REQUEST_IDENT_FAILED:
|
||||
errstr = "SOCKS request rejected because "
|
||||
"SOCKS server cannot connect to identd on the client.";
|
||||
errno = EACCES;
|
||||
break;
|
||||
case SOCKS4_REQUEST_IDENT_CONFLICT:
|
||||
case SOCKS_REQUEST_IDENT_CONFLICT:
|
||||
errstr = "SOCKS request rejected because "
|
||||
"the client program and identd report "
|
||||
"different user-ids.";
|
||||
|
@ -943,7 +1195,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
|||
{
|
||||
int err = 0;
|
||||
char cbuf[300];
|
||||
char sbuf[10];
|
||||
char sbuf[30];
|
||||
size_t client_pos = 0;
|
||||
int server_size = 0;
|
||||
size_t hostlen = 0;
|
||||
|
@ -999,8 +1251,6 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
|||
{
|
||||
errstr = "socks5 server unreachable";
|
||||
log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s", errstr);
|
||||
/* Free the generic error message provided by connect_to() */
|
||||
freez(csp->error_message);
|
||||
csp->error_message = strdup(errstr);
|
||||
return(JB_INVALID_SOCKET);
|
||||
}
|
||||
|
@ -1019,20 +1269,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
|||
return(JB_INVALID_SOCKET);
|
||||
}
|
||||
|
||||
if (!data_is_available(sfd, csp->config->socket_timeout))
|
||||
{
|
||||
if (socket_is_still_alive(sfd))
|
||||
{
|
||||
errstr = "SOCKS5 negotiation timed out";
|
||||
}
|
||||
else
|
||||
{
|
||||
errstr = "SOCKS5 negotiation got aborted by the server";
|
||||
}
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if (!err && read_socket(sfd, sbuf, sizeof(sbuf)) != 2)
|
||||
if (read_socket(sfd, sbuf, sizeof(sbuf)) != 2)
|
||||
{
|
||||
errstr = "SOCKS5 negotiation read failed";
|
||||
err = 1;
|
||||
|
@ -1081,7 +1318,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
|||
|
||||
if (write_socket(sfd, cbuf, client_pos))
|
||||
{
|
||||
errstr = "SOCKS5 negotiation write failed";
|
||||
errstr = "SOCKS5 negotiation read failed";
|
||||
csp->error_message = strdup(errstr);
|
||||
log_error(LOG_LEVEL_CONNECT, "%s", errstr);
|
||||
close_socket(sfd);
|
||||
|
@ -1090,33 +1327,44 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
|||
}
|
||||
|
||||
server_size = read_socket(sfd, sbuf, sizeof(sbuf));
|
||||
if (server_size != sizeof(sbuf))
|
||||
if (server_size < 3)
|
||||
{
|
||||
errstr = "SOCKS5 negotiation read failed";
|
||||
err = 1;
|
||||
}
|
||||
else
|
||||
else if (server_size > 20)
|
||||
{
|
||||
if (sbuf[0] != '\x05')
|
||||
{
|
||||
errstr = "SOCKS5 negotiation protocol version error";
|
||||
}
|
||||
else if (sbuf[2] != '\x00')
|
||||
{
|
||||
errstr = "SOCKS5 negotiation protocol error";
|
||||
}
|
||||
else if (sbuf[1] != SOCKS5_REQUEST_GRANTED)
|
||||
{
|
||||
errstr = translate_socks5_error(sbuf[1]);
|
||||
}
|
||||
else
|
||||
/* This is somewhat unexpected but doesn't realy matter. */
|
||||
log_error(LOG_LEVEL_CONNECT, "socks5_connect: read %d bytes "
|
||||
"from socks server. Would have accepted up to %d.",
|
||||
server_size, sizeof(sbuf));
|
||||
}
|
||||
|
||||
if (!err && (sbuf[0] != '\x05'))
|
||||
{
|
||||
errstr = "SOCKS5 negotiation protocol version error";
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if (!err && (sbuf[2] != '\x00'))
|
||||
{
|
||||
errstr = "SOCKS5 negotiation protocol error";
|
||||
err = 1;
|
||||
}
|
||||
|
||||
if (!err)
|
||||
{
|
||||
if (sbuf[1] == SOCKS5_REQUEST_GRANTED)
|
||||
{
|
||||
return(sfd);
|
||||
}
|
||||
errstr = translate_socks5_error(sbuf[1]);
|
||||
err = 1;
|
||||
}
|
||||
|
||||
assert(errstr != NULL);
|
||||
csp->error_message = strdup(errstr);
|
||||
log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s: %N", errstr, server_size, sbuf);
|
||||
log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s", errstr);
|
||||
close_socket(sfd);
|
||||
errno = EINVAL;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef GATEWAY_H_INCLUDED
|
||||
#define GATEWAY_H_INCLUDED
|
||||
#define GATEWAY_H_VERSION "$Id: gateway.h,v 1.21 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define GATEWAY_H_VERSION "$Id: gateway.h,v 1.12 2008/12/24 17:06:19 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/gateway.h,v $
|
||||
|
@ -9,7 +9,7 @@
|
|||
* using a "gateway" (i.e. HTTP proxy and/or SOCKS4
|
||||
* proxy). Also contains the list of gateway types.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -34,8 +34,74 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: gateway.h,v $
|
||||
* Revision 1.12 2008/12/24 17:06:19 fabiankeil
|
||||
* Keep a thread around to timeout alive connections
|
||||
* even if no new requests are coming in.
|
||||
*
|
||||
* Revision 1.11 2008/11/13 09:08:42 fabiankeil
|
||||
* Add new config option: keep-alive-timeout.
|
||||
*
|
||||
* Revision 1.10 2008/10/09 18:21:41 fabiankeil
|
||||
* Flush work-in-progress changes to keep outgoing connections
|
||||
* alive where possible. Incomplete and mostly #ifdef'd out.
|
||||
*
|
||||
* Revision 1.9 2006/07/18 14:48:46 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 2002/03/26 22:29:54 swa
|
||||
* we have a new homepage!
|
||||
*
|
||||
* Revision 1.6 2002/03/25 22:12:45 oes
|
||||
* Added fix for undefined INADDR_NONE on Solaris by Bart Schelstraete
|
||||
*
|
||||
* Revision 1.5 2002/03/24 13:25:43 swa
|
||||
* name change related issues
|
||||
*
|
||||
* Revision 1.4 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.3 2001/07/29 18:58:15 jongfoster
|
||||
* Removing nested #includes, adding forward declarations for needed
|
||||
* structures, and changing the #define _FILENAME_H to FILENAME_H_INCLUDED.
|
||||
*
|
||||
* Revision 1.2 2001/06/07 23:12:14 jongfoster
|
||||
* Removing gateways[] list - no longer used.
|
||||
* Replacing function pointer in struct gateway with a directly
|
||||
* called function forwarded_connect(), which can do the common
|
||||
* task of deciding whether to connect to the web server or HTTP
|
||||
* proxy.
|
||||
* Replacing struct gateway with struct forward_spec
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:54 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -48,6 +114,7 @@ struct client_state;
|
|||
extern jb_socket forwarded_connect(const struct forward_spec * fwd,
|
||||
struct http_request *http,
|
||||
struct client_state *csp);
|
||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
|
||||
/*
|
||||
* Default number of seconds after which an
|
||||
|
@ -55,20 +122,22 @@ extern jb_socket forwarded_connect(const struct forward_spec * fwd,
|
|||
*/
|
||||
#define DEFAULT_KEEP_ALIVE_TIMEOUT 180
|
||||
|
||||
#ifdef FEATURE_CONNECTION_SHARING
|
||||
extern void set_keep_alive_timeout(unsigned int timeout);
|
||||
extern void set_keep_alive_timeout(int timeout);
|
||||
extern void initialize_reusable_connections(void);
|
||||
extern void forget_connection(jb_socket sfd);
|
||||
extern void remember_connection(const struct reusable_connection *connection);
|
||||
extern void remember_connection(jb_socket sfd,
|
||||
const struct http_request *http,
|
||||
const struct forward_spec *fwd);
|
||||
extern int close_unusable_connections(void);
|
||||
#endif /* FEATURE_CONNECTION_SHARING */
|
||||
#endif /* FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
|
||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||
extern void mark_connection_closed(struct reusable_connection *closed_connection);
|
||||
extern int connection_destination_matches(const struct reusable_connection *connection,
|
||||
const struct http_request *http,
|
||||
const struct forward_spec *fwd);
|
||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
||||
|
||||
/*
|
||||
* Solaris fix
|
||||
*/
|
||||
#ifndef INADDR_NONE
|
||||
#define INADDR_NONE -1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Revision control strings from this header and associated .c file
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 318 B |
Binary file not shown.
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 318 B |
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
#ifndef JBSOCKETS_H_INCLUDED
|
||||
#define JBSOCKETS_H_INCLUDED
|
||||
#define JBSOCKETS_H_VERSION "$Id: jbsockets.h,v 1.20 2011/09/04 11:10:56 fabiankeil Exp $"
|
||||
#define JBSOCKETS_H_VERSION "$Id: jbsockets.h,v 1.14 2008/12/20 14:53:55 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/jbsockets.h,v $
|
||||
|
@ -10,7 +10,7 @@
|
|||
* OS-independent. Contains #ifdefs to make this work
|
||||
* on many platforms.
|
||||
*
|
||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||
* Privoxy team. http://www.privoxy.org/
|
||||
*
|
||||
* Based on the Internet Junkbuster originally written
|
||||
|
@ -35,8 +35,78 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: jbsockets.h,v $
|
||||
* Revision 1.14 2008/12/20 14:53:55 fabiankeil
|
||||
* Add config option socket-timeout to control the time
|
||||
* Privoxy waits for data to arrive on a socket. Useful
|
||||
* in case of stale ssh tunnels or when fuzz-testing.
|
||||
*
|
||||
* Revision 1.13 2008/03/21 11:13:59 fabiankeil
|
||||
* Only gather host information if it's actually needed.
|
||||
* Also move the code out of accept_connection() so it's less likely
|
||||
* to delay other incoming connections if the host is misconfigured.
|
||||
*
|
||||
* Revision 1.12 2006/07/18 14:48:46 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.2.1 2002/05/26 23:41:27 joergs
|
||||
* AmigaOS: Fixed wrong type of len in write_socket()
|
||||
*
|
||||
* Revision 1.9 2002/04/08 20:31:41 swa
|
||||
* fixed JB spelling
|
||||
*
|
||||
* 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:05 jongfoster
|
||||
* Killing warnings
|
||||
*
|
||||
* Revision 1.5 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.4 2002/03/07 03:51:36 oes
|
||||
* - Improved handling of failed DNS lookups
|
||||
* - Fixed compiler warnings etc
|
||||
*
|
||||
* Revision 1.3 2001/07/29 19:01:11 jongfoster
|
||||
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
|
||||
* Added forward declarations for needed structures.
|
||||
*
|
||||
* Revision 1.2 2001/06/07 23:06:09 jongfoster
|
||||
* The host parameter to connect_to() is now const.
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:54 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#include "project.h"
|
||||
|
||||
|
@ -57,26 +127,15 @@ extern int data_is_available(jb_socket fd, int seconds_to_wait);
|
|||
extern void close_socket(jb_socket fd);
|
||||
|
||||
extern int bind_port(const char *hostnam, int portnum, jb_socket *pfd);
|
||||
extern int accept_connection(struct client_state * csp, jb_socket fds[]);
|
||||
extern void get_host_information(jb_socket afd, char **ip_address, char **port, char **hostname);
|
||||
extern int accept_connection(struct client_state * csp, jb_socket fd);
|
||||
extern void get_host_information(jb_socket afd, char **ip_address, char **hostname);
|
||||
|
||||
extern unsigned long resolve_hostname_to_ip(const char *host);
|
||||
|
||||
extern int socket_is_still_alive(jb_socket sfd);
|
||||
|
||||
/* Revision control strings from this header and associated .c file */
|
||||
extern const char jbsockets_rcs[];
|
||||
extern const char jbsockets_h_rcs[];
|
||||
|
||||
/*
|
||||
* Solaris workaround
|
||||
* XXX: still necessary?
|
||||
*/
|
||||
#ifndef INADDR_NONE
|
||||
#define INADDR_NONE -1
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
#ifndef JCC_H_INCLUDED
|
||||
#define JCC_H_INCLUDED
|
||||
#define JCC_H_VERSION "$Id: jcc.h,v 1.32 2011/11/06 11:48:23 fabiankeil Exp $"
|
||||
#define JCC_H_VERSION "$Id: jcc.h,v 1.25 2008/10/09 18:21:41 fabiankeil Exp $"
|
||||
/*********************************************************************
|
||||
*
|
||||
* File : $Source: /cvsroot/ijbswa/current/jcc.h,v $
|
||||
|
@ -33,8 +33,143 @@
|
|||
* or write to the Free Software Foundation, Inc., 59
|
||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Revisions :
|
||||
* $Log: jcc.h,v $
|
||||
* Revision 1.25 2008/10/09 18:21:41 fabiankeil
|
||||
* Flush work-in-progress changes to keep outgoing connections
|
||||
* alive where possible. Incomplete and mostly #ifdef'd out.
|
||||
*
|
||||
* Revision 1.24 2008/09/07 12:35:05 fabiankeil
|
||||
* Add mutex lock support for _WIN32.
|
||||
*
|
||||
* Revision 1.23 2008/09/04 08:13:58 fabiankeil
|
||||
* Prepare for critical sections on Windows by adding a
|
||||
* layer of indirection before the pthread mutex functions.
|
||||
*
|
||||
* Revision 1.22 2007/06/01 18:16:36 fabiankeil
|
||||
* Use the same mutex for gethostbyname() and gethostbyaddr() to prevent
|
||||
* deadlocks and crashes on OpenBSD and possibly other OS with neither
|
||||
* gethostbyname_r() nor gethostaddr_r(). Closes BR#1729174.
|
||||
* Thanks to Ralf Horstmann for report and solution.
|
||||
*
|
||||
* Revision 1.21 2007/04/22 13:18:06 fabiankeil
|
||||
* Keep the HTTP snippets local.
|
||||
*
|
||||
* Revision 1.20 2006/12/26 17:31:41 fabiankeil
|
||||
* Mutex protect rand() if POSIX threading
|
||||
* is used, warn the user if that's not possible
|
||||
* and stop using it on _WIN32 where it could
|
||||
* cause crashes.
|
||||
*
|
||||
* Revision 1.19 2006/12/06 19:41:39 fabiankeil
|
||||
* Privoxy is now able to run as intercepting
|
||||
* proxy in combination with any packet filter
|
||||
* that does the port redirection. The destination
|
||||
* is extracted from the "Host:" header which
|
||||
* should be available for nearly all requests.
|
||||
*
|
||||
* Moved HTTP snipplets into jcc.c.
|
||||
* Added error message for gopher proxy requests.
|
||||
*
|
||||
* Revision 1.18 2006/11/13 19:05:51 fabiankeil
|
||||
* Make pthread mutex locking more generic. Instead of
|
||||
* checking for OSX and OpenBSD, check for FEATURE_PTHREAD
|
||||
* and use mutex locking unless there is an _r function
|
||||
* available. Better safe than sorry.
|
||||
*
|
||||
* Fixes "./configure --disable-pthread" and should result
|
||||
* in less threading-related problems on pthread-using platforms,
|
||||
* but it still doesn't fix BR#1122404.
|
||||
*
|
||||
* Revision 1.17 2006/11/06 19:58:23 fabiankeil
|
||||
* Move pthread.h inclusion from jcc.c to jcc.h.
|
||||
* Fixes build on x86-freebsd1 (FreeBSD 5.4-RELEASE).
|
||||
*
|
||||
* Revision 1.16 2006/09/02 15:36:42 fabiankeil
|
||||
* Follow the OpenBSD port's lead and protect the resolve
|
||||
* functions on OpenBSD as well.
|
||||
*
|
||||
* Revision 1.15 2006/09/02 10:24:30 fabiankeil
|
||||
* Include pthread.h for OpenBSD to make Privoxy build again.
|
||||
*
|
||||
* Tested shortly on OpenBSD 3.9 without problems, but the OpenBSD
|
||||
* port has additional patches to use the mutexes OSX_DARWIN needs,
|
||||
* and it should be investigated if they are still required for
|
||||
* reliable operation.
|
||||
*
|
||||
* Revision 1.14 2006/07/18 14:48:46 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.3 2006/01/21 16:16:08 david__schmidt
|
||||
* Thanks to Edward Carrel for his patch to modernize OSX's
pthreads support. See bug #1409623.
|
||||
*
|
||||
* Revision 1.12.2.2 2005/04/03 20:10:50 david__schmidt
|
||||
* Thanks to Jindrich Makovicka for a race condition fix for the log
|
||||
* file. The race condition remains for non-pthread implementations.
|
||||
* Reference patch #1175720.
|
||||
*
|
||||
* Revision 1.12.2.1 2003/03/07 03:41:05 david__schmidt
|
||||
* 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.
|
||||
*
|
||||
* Revision 1.12 2002/03/26 22:29:55 swa
|
||||
* we have a new homepage!
|
||||
*
|
||||
* Revision 1.11 2002/03/24 13:25:43 swa
|
||||
* name change related issues
|
||||
*
|
||||
* Revision 1.10 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.9 2002/03/07 03:52:44 oes
|
||||
* Set logging to tty for --no-daemon mode
|
||||
*
|
||||
* Revision 1.8 2002/03/04 18:19:49 oes
|
||||
* Added extern const char *pidfile
|
||||
*
|
||||
* Revision 1.7 2001/11/05 21:41:43 steudten
|
||||
* Add changes to be a real daemon just for unix os.
|
||||
* (change cwd to /, detach from controlling tty, set
|
||||
* process group and session leader to the own process.
|
||||
* Add DBG() Macro.
|
||||
* Add some fatal-error log message for failed malloc().
|
||||
* Add '-d' if compiled with 'configure --with-debug' to
|
||||
* enable debug output.
|
||||
*
|
||||
* Revision 1.6 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.5 2001/07/29 19:32:00 jongfoster
|
||||
* Renaming _main() [mingw32 only] to real_main(), for ANSI compliance.
|
||||
*
|
||||
* Revision 1.4 2001/07/29 18:58:15 jongfoster
|
||||
* Removing nested #includes, adding forward declarations for needed
|
||||
* structures, and changing the #define _FILENAME_H to FILENAME_H_INCLUDED.
|
||||
*
|
||||
* Revision 1.3 2001/07/18 12:31:58 oes
|
||||
* moved #define freez from jcc.h to project.h
|
||||
*
|
||||
* Revision 1.2 2001/05/31 21:24:47 jongfoster
|
||||
* Changed "permission" to "action" throughout.
|
||||
* Removed DEFAULT_USER_AGENT - it must now be specified manually.
|
||||
* Moved vanilla wafer check into chat(), since we must now
|
||||
* decide whether or not to add it based on the URL.
|
||||
*
|
||||
* Revision 1.1.1.1 2001/05/15 13:58:56 oes
|
||||
* Initial import of version 2.9.3 source tree
|
||||
*
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -50,13 +185,13 @@ extern int urls_read;
|
|||
extern int urls_rejected;
|
||||
#endif /*def FEATURE_STATISTICS*/
|
||||
|
||||
extern struct client_states clients[1];
|
||||
extern struct client_state clients[1];
|
||||
extern struct file_list files[1];
|
||||
|
||||
#ifdef unix
|
||||
extern const char *pidfile;
|
||||
#endif
|
||||
extern int daemon_mode;
|
||||
extern int no_daemon;
|
||||
|
||||
#ifdef FEATURE_GRACEFUL_TERMINATION
|
||||
extern int g_terminate;
|
||||
|
@ -104,9 +239,9 @@ extern privoxy_mutex_t rand_mutex;
|
|||
/* Functions */
|
||||
|
||||
#ifdef __MINGW32__
|
||||
int real_main(int argc, char **argv);
|
||||
int real_main(int argc, const char *argv[]);
|
||||
#else
|
||||
int main(int argc, char **argv);
|
||||
int main(int argc, const char *argv[]);
|
||||
#endif
|
||||
|
||||
/* Revision control strings from this header and associated .c file */
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue