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
|
David Schmidt, developer
|
||||||
|
|
||||||
Hal Burgiss
|
Hal Burgiss
|
||||||
|
Mark Miller
|
||||||
|
Gerry Murphy
|
||||||
Lee Rian
|
Lee Rian
|
||||||
Roland Rosenfeld
|
Roland Rosenfeld
|
||||||
|
Jörg Strohmayer
|
||||||
|
|
||||||
Former Privoxy Team Members:
|
Former Privoxy Team Members:
|
||||||
|
|
||||||
|
@ -25,13 +28,10 @@ Former Privoxy Team Members:
|
||||||
Adam Lock
|
Adam Lock
|
||||||
Guy Laroche
|
Guy Laroche
|
||||||
Justin McMurtry
|
Justin McMurtry
|
||||||
Mark Miller
|
|
||||||
Gerry Murphy
|
|
||||||
Andreas Oesterhelt
|
Andreas Oesterhelt
|
||||||
Haroon Rafique
|
Haroon Rafique
|
||||||
Georg Sauthoff
|
Georg Sauthoff
|
||||||
Thomas Steudten
|
Thomas Steudten
|
||||||
Jörg Strohmayer
|
|
||||||
Rodney Stromlund
|
Rodney Stromlund
|
||||||
Sviatoslav Sviridov
|
Sviatoslav Sviridov
|
||||||
Sarantis Paskalis
|
Sarantis Paskalis
|
||||||
|
@ -43,15 +43,11 @@ alphabetical order):
|
||||||
|
|
||||||
Ken Arromdee
|
Ken Arromdee
|
||||||
Devin Bayer
|
Devin Bayer
|
||||||
Havard Berland
|
|
||||||
Gergely Bor
|
Gergely Bor
|
||||||
Francois Botha
|
|
||||||
Reiner Buehl
|
Reiner Buehl
|
||||||
Andrew J. Caines
|
Andrew J. Caines
|
||||||
Clifford Caoile
|
Clifford Caoile
|
||||||
Wan-Teh Chang
|
|
||||||
Frédéric Crozat
|
Frédéric Crozat
|
||||||
Billy Crook
|
|
||||||
Michael T. Davis
|
Michael T. Davis
|
||||||
Mattes Dolak
|
Mattes Dolak
|
||||||
Matthias Drochner
|
Matthias Drochner
|
||||||
|
@ -62,7 +58,6 @@ alphabetical order):
|
||||||
Stephen Gildea
|
Stephen Gildea
|
||||||
Daniel Griscom
|
Daniel Griscom
|
||||||
Felix Gröbert
|
Felix Gröbert
|
||||||
Jeff H.
|
|
||||||
Aaron Hamid
|
Aaron Hamid
|
||||||
Darel Henman
|
Darel Henman
|
||||||
Magnus Holmgren
|
Magnus Holmgren
|
||||||
|
@ -76,17 +71,13 @@ alphabetical order):
|
||||||
Bert van Leeuwen
|
Bert van Leeuwen
|
||||||
Don Libes
|
Don Libes
|
||||||
Paul Lieverse
|
Paul Lieverse
|
||||||
Han Liu
|
|
||||||
Toby Lyward
|
Toby Lyward
|
||||||
Wil Mahan
|
Wil Mahan
|
||||||
Jindrich Makovicka
|
Jindrich Makovicka
|
||||||
Raphael Marichez
|
|
||||||
Francois Marier
|
|
||||||
David Mediavilla
|
David Mediavilla
|
||||||
Raphael Moll
|
Raphael Moll
|
||||||
Amuro Namie
|
Amuro Namie
|
||||||
Adam Piggott
|
Adam Piggott
|
||||||
Petr Písar
|
|
||||||
Dan Price
|
Dan Price
|
||||||
Roberto Ragusa
|
Roberto Ragusa
|
||||||
Félix Rauch
|
Félix Rauch
|
||||||
|
@ -94,7 +85,6 @@ alphabetical order):
|
||||||
Chung-chieh Shan
|
Chung-chieh Shan
|
||||||
Spinor S.
|
Spinor S.
|
||||||
Bart Schelstraete
|
Bart Schelstraete
|
||||||
Dan Stahlke
|
|
||||||
Oliver Stoeneberg
|
Oliver Stoeneberg
|
||||||
Peter Thoenen
|
Peter Thoenen
|
||||||
Martin Thomas
|
Martin Thomas
|
||||||
|
@ -124,4 +114,3 @@ If we've missed you off this list, please let us know!
|
||||||
|
|
||||||
Privoxy team. http://www.privoxy.org/
|
Privoxy team. http://www.privoxy.org/
|
||||||
<ijbswa-developers@lists.sourceforge.net>
|
<ijbswa-developers@lists.sourceforge.net>
|
||||||
|
|
||||||
|
|
|
@ -1,713 +1,7 @@
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
ChangeLog for Privoxy
|
ChangeLog for Privoxy
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
*** Version 3.0.19 Stable ***
|
*** Version 3.0.12 (UNRELEASED) ***
|
||||||
|
|
||||||
- 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 ***
|
|
||||||
|
|
||||||
- The socket-timeout option now also works on platforms whose
|
- The socket-timeout option now also works on platforms whose
|
||||||
select() implementation modifies the timeout structure.
|
select() implementation modifies the timeout structure.
|
||||||
|
@ -1276,13 +570,13 @@ ChangeLog for Privoxy
|
||||||
*** Version 2.9.11 Beta Changes ***
|
*** Version 2.9.11 Beta Changes ***
|
||||||
|
|
||||||
- Add "session" cookie concept where cookies exist for the life
|
- Add "session" cookie concept where cookies exist for the life
|
||||||
of that browser session only (ie never goes to disk).
|
of that browser session only (ie never goes to disk).
|
||||||
- Checks for correct header length.
|
- Checks for correct header length.
|
||||||
- Fix user:pass@host.domain.com auth bug.
|
- Fix user:pass@host.domain.com auth bug.
|
||||||
- Better signal handling on *nix.
|
- Better signal handling on *nix.
|
||||||
- Fix CFLAGS hard-coded in configure.in
|
- Fix CFLAGS hard-coded in configure.in
|
||||||
- Fix threading bug re: gethostbyname() that caused random
|
- Fix threading bug re: gethostbyname() that caused random
|
||||||
URLs to fail in some cases.
|
URLs to fail in some cases.
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.11 Alpha Changes ***
|
*** Version 2.9.11 Alpha Changes ***
|
||||||
|
@ -1395,8 +689,9 @@ being a mix of "U.S. English", "U.K. English" and "Irish English".
|
||||||
- Version number changes to 2.9.0
|
- Version number changes to 2.9.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
Copyright : Written by and Copyright (C) 2001-2010 the
|
Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||||
Privoxy team. http://www.privoxy.org/
|
Privoxy team. http://www.privoxy.org/
|
||||||
|
|
||||||
Based on the Internet Junkbuster originally written
|
Based on the Internet Junkbuster originally written
|
||||||
|
|
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:
|
When building from a source tarball, first unpack the source:
|
||||||
|
|
||||||
tar xzvf privoxy-3.0.19-stable-src.tar.gz
|
tar xzvf privoxy-3.0.12-stable-src.tar.gz
|
||||||
cd privoxy-3.0.19-stable
|
cd privoxy-3.0.12-stable
|
||||||
|
|
||||||
|
|
||||||
For retrieving the current CVS sources, you'll need a CVS client installed.
|
For retrieving the current CVS sources, you'll need a CVS client installed.
|
||||||
Note that sources from CVS are typically development quality, and may not be
|
Note that sources from CVS are typically development quality, and may not be
|
||||||
|
@ -52,6 +53,7 @@ documentation, which might give commands like:
|
||||||
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
||||||
cd current
|
cd current
|
||||||
|
|
||||||
|
|
||||||
This will create a directory named current/, which will contain the source
|
This will create a directory named current/, which will contain the source
|
||||||
tree.
|
tree.
|
||||||
|
|
||||||
|
@ -68,10 +70,12 @@ adduser, but the command syntax may vary from platform to platform).
|
||||||
|
|
||||||
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
|
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
|
||||||
|
|
||||||
|
|
||||||
And then /etc/group, like:
|
And then /etc/group, like:
|
||||||
|
|
||||||
privoxy:*:7777:
|
privoxy:*:7777:
|
||||||
|
|
||||||
|
|
||||||
Some binary packages may do this for you.
|
Some binary packages may do this for you.
|
||||||
|
|
||||||
Then, to build from either unpacked tarball or CVS source:
|
Then, to build from either unpacked tarball or CVS source:
|
||||||
|
@ -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 -n install # (to see where all the files will go)
|
||||||
make -s install # (to really install, -s to silence output)
|
make -s install # (to really install, -s to silence output)
|
||||||
|
|
||||||
|
|
||||||
Using GNU make, you can have the first four steps automatically done for you by
|
Using GNU make, you can have the first four steps automatically done for you by
|
||||||
just typing:
|
just typing:
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
|
|
||||||
in the freshly downloaded or unpacked source directory.
|
in the freshly downloaded or unpacked source directory.
|
||||||
|
|
||||||
To build an executable with security enhanced features so that users cannot
|
To build an executable with security enhanced features so that users cannot
|
||||||
|
@ -97,6 +103,7 @@ configurations, configure like this:
|
||||||
|
|
||||||
./configure --disable-toggle --disable-editor --disable-force
|
./configure --disable-toggle --disable-editor --disable-force
|
||||||
|
|
||||||
|
|
||||||
Then build as above. In Privoxy 3.0.7 and later, all of these options can also
|
Then build as above. In Privoxy 3.0.7 and later, all of these options can also
|
||||||
be disabled through the configuration file.
|
be disabled through the configuration file.
|
||||||
|
|
||||||
|
@ -117,6 +124,7 @@ sure both already exist:
|
||||||
|
|
||||||
make -s install USER=privoxy GROUP=privoxy
|
make -s install USER=privoxy GROUP=privoxy
|
||||||
|
|
||||||
|
|
||||||
The default installation path for make install is /usr/local. This may of
|
The default installation path for make install is /usr/local. This may of
|
||||||
course be customized with the various ./configure path options. If you are
|
course be customized with the various ./configure path options. If you are
|
||||||
doing an install to anywhere besides /usr/local, be sure to set the appropriate
|
doing an install to anywhere besides /usr/local, be sure to set the appropriate
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* Purpose : README file to give a short intro.
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* 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".
|
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
|
tastes. It has application for both stand-alone systems and multi-user
|
||||||
networks.
|
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).
|
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
Donations are welcome.
|
||||||
Helping hands and donations are welcome:
|
|
||||||
|
|
||||||
* http://www.privoxy.org/faq/general.html#PARTICIPATE
|
|
||||||
|
|
||||||
* http://www.privoxy.org/faq/general.html#DONATE
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
1. CHANGES
|
1. IMPORTANT CHANGES
|
||||||
|
|
||||||
For a list of changes in this release, please have a look at the "ChangeLog",
|
March 2009, Privoxy 3.0.12 is released.
|
||||||
the "What's New" section or the "Upgrader's Notes" in the User Manual.
|
|
||||||
|
This is primarily a bug fix release. See the "ChangeLog", and the "What's New"
|
||||||
|
section and the "Upgrader's Notes" in the User Manual for details.
|
||||||
|
|
||||||
|
February 2009, Privoxy 3.0.11 is released.
|
||||||
|
|
||||||
|
As usual there are changes that effect the configuration. See the "ChangeLog",
|
||||||
|
and the "What's New" section and the "Upgrader's Notes" in the User Manual for
|
||||||
|
details and specifics.
|
||||||
|
|
||||||
|
This is a stable release, and marks a departure for Privoxy development.
|
||||||
|
|
||||||
|
Previously, odd numbered releases were considered beta versions and were only
|
||||||
|
released at the end of the development cycle when the code was already believed
|
||||||
|
to be stable. Usually it was, so the stable release contained pretty much the
|
||||||
|
same code, but got a higher version number. In the future we intend to release
|
||||||
|
several snapshots between stable releases. There will probably still be about
|
||||||
|
two stable releases per year, but hopefully about six snapshots instead of the
|
||||||
|
two betas we have now. The intentions is to make testing without CVS access
|
||||||
|
easier.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -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
|
file named 'config' in the current directory (except Win32 which will look for
|
||||||
'config.txt'). If no config_file is found, Privoxy will fail to start.
|
'config.txt'). If no config_file is found, Privoxy will fail to start.
|
||||||
|
|
||||||
|
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
|
||||||
|
|
||||||
|
Or Debian and Ubuntu: /etc/init.d/privoxy start
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
4. CONFIGURATION
|
4. CONFIGURATION
|
||||||
|
@ -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
|
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
|
||||||
you specify in the config file under 'listen-address'. DEFAULT is
|
you specify in the config file under 'listen-address'. DEFAULT is
|
||||||
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.
|
try it with FTP or other protocols for the simple reason it does not work.
|
||||||
|
|
||||||
The actions list can be configured via the web interface accessed via http://
|
The actions list can be configured via the web interface accessed via http://
|
||||||
|
@ -140,13 +158,6 @@ list, where the developers also hang around.
|
||||||
Please don't sent private support requests to individual Privoxy developers,
|
Please don't sent private support requests to individual Privoxy developers,
|
||||||
either use the mailing lists or the support trackers.
|
either use the mailing lists or the support trackers.
|
||||||
|
|
||||||
If you have to contact a Privoxy developer directly for other reasons, please
|
|
||||||
send a real mail and do not bother with SourceForge's messaging system. Answers
|
|
||||||
to SourceForge messages are usually bounced by SourceForge's mail server in
|
|
||||||
which case the developer wasted time writing a response you don't get. From
|
|
||||||
your point of view it will look like your message has been completely ignored,
|
|
||||||
so this is frustrating for all parties involved.
|
|
||||||
|
|
||||||
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
addresses have to be accepted manually by a moderator. This may cause a delay
|
addresses have to be accepted manually by a moderator. This may cause a delay
|
||||||
of several days and if you use a subject that doesn't clearly mention Privoxy
|
of several days and if you use a subject that doesn't clearly mention Privoxy
|
||||||
|
@ -235,49 +246,16 @@ Please be sure to provide the following information:
|
||||||
|
|
||||||
* Any other pertinent information to help identify the problem such as config
|
* Any other pertinent information to help identify the problem such as config
|
||||||
or log file excerpts (yes, you should have log file entries for each action
|
or log file excerpts (yes, you should have log file entries for each action
|
||||||
taken). To get a meaningful logfile, please make sure that the logfile
|
taken).
|
||||||
directive is being used and the following debug options are enabled:
|
|
||||||
|
|
||||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.
|
You don't have to tell us your actual name when filing a problem report, but
|
||||||
debug 2 # show each connection status
|
please use a nickname so we can differentiate between your messages and the
|
||||||
debug 4 # show I/O status
|
ones entered by other "anonymous" users that may respond to your request if
|
||||||
debug 8 # show header parsing
|
they have the same problem or already found a solution.
|
||||||
debug 128 # debug redirects
|
|
||||||
debug 256 # debug GIF de-animation
|
|
||||||
debug 512 # Common Log Format
|
|
||||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
|
|
||||||
debug 4096 # Startup banner and warnings.
|
|
||||||
debug 8192 # Non-fatal errors
|
|
||||||
|
|
||||||
If you are having trouble with a filter, please additionally enable
|
|
||||||
|
|
||||||
debug 64 # debug regular expression filters
|
|
||||||
|
|
||||||
If you are using Privoxy 3.0.17 or later and suspect that it interprets the
|
|
||||||
request or the response incorrectly, please enable
|
|
||||||
|
|
||||||
debug 32768 # log all data read from the network
|
|
||||||
|
|
||||||
Note that Privoxy log files may contain sensitive information so please
|
|
||||||
don't submit any logfiles you didn't read first. You can mask sensitive
|
|
||||||
information as long as it's clear that you removed something.
|
|
||||||
|
|
||||||
You don't have to tell us your actual name when filing a problem report, but if
|
|
||||||
you don't, please use a nickname so we can differentiate between your messages
|
|
||||||
and the ones entered by other "anonymous" users that may respond to your
|
|
||||||
request if they have the same problem or already found a solution. Note that
|
|
||||||
due to spam the trackers may not always allow to post without being logged into
|
|
||||||
SourceForge. If that's the case, you are still free to create a login that
|
|
||||||
isn't directly linked to your name, though.
|
|
||||||
|
|
||||||
Please also check the status of your request a few days after submitting it, as
|
Please also check the status of your request a few days after submitting it, as
|
||||||
we may request additional information. If you use a SF id, you should
|
we may request additional information. If you use a SF id, you should
|
||||||
automatically get a mail when someone responds to your request. Please don't
|
automatically get a mail when someone responds to your request.
|
||||||
bother to add an email address when using the tracker. If you prefer to
|
|
||||||
communicate through email, just use one of the mailing lists directly.
|
|
||||||
|
|
||||||
If you are new to reporting problems, you might be interested in How to Report
|
|
||||||
Bugs Effectively.
|
|
||||||
|
|
||||||
The appendix of the Privoxy User Manual also has helpful information on
|
The appendix of the Privoxy User Manual also has helpful information on
|
||||||
understanding actions, and action debugging.
|
understanding actions, and action debugging.
|
||||||
|
@ -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,
|
For any other issues, feel free to use the mailing lists. Technically
|
||||||
feel free to use one of the mailing lists. To discuss issues that haven't been
|
interested users and people who wish to contribute to the project are also
|
||||||
completely diagnosed yet, please use the Privoxy users list. Technically
|
welcome on the developers list! You can find an overview of all Privoxy-related
|
||||||
interested users and people who wish to contribute to the project are always
|
|
||||||
welcome on the developers list. You can find an overview of all Privoxy-related
|
|
||||||
mailing lists, including list archives, at: http://sourceforge.net/mail/?
|
mailing lists, including list archives, at: http://sourceforge.net/mail/?
|
||||||
group_id=11118.
|
group_id=11118.
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* introduced because the compile command line started
|
* introduced because the compile command line started
|
||||||
* getting ludicrously long with feature defines.
|
* getting ludicrously long with feature defines.
|
||||||
*
|
*
|
||||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
* Privoxy team. http://www.privoxy.org/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -35,8 +35,211 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: acconfig.h,v $
|
||||||
|
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
|
||||||
|
* Connection keep-alive support is ready for testing,
|
||||||
|
* allow enabling it through the configure script.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
|
||||||
|
* Oh well, rename the --enable-pcre-host-patterns option to
|
||||||
|
* --enable-extended-host-patterns as it's not really PCRE syntax.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
|
||||||
|
* Use PCRE syntax in host patterns when configured
|
||||||
|
* with --enable-pcre-host-patterns.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
|
||||||
|
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
|
||||||
|
* Cosmetics
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
|
||||||
|
* Another shot at Bug #707467
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
|
||||||
|
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
|
||||||
|
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
|
||||||
|
* are located in a pcre/ subdir to the include path.
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/25 19:13:57 morcego
|
||||||
|
* Removed RPM release number declaration on configure.in
|
||||||
|
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
|
||||||
|
* targets (will produce an error, explaining who to do it, if no value
|
||||||
|
* if provided).
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/04/11 11:00:21 oes
|
||||||
|
* Applied Moritz' fix for socklen_t on Solaris
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/04/06 20:38:01 jongfoster
|
||||||
|
* Renaming VC++ versions of config.h
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/04/04 00:36:36 gliptak
|
||||||
|
* always use pcre for matching
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/04/03 22:28:03 gliptak
|
||||||
|
* Removed references to gnu_regex
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/24 14:31:08 swa
|
||||||
|
* remove more crappy files. set RPM
|
||||||
|
* release version correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/24 13:46:44 swa
|
||||||
|
* name change related issue.
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/03/24 13:25:42 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.18 2002/03/08 16:40:28 oes
|
||||||
|
* Added FEATURE_NO_GIFS
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/03/04 17:52:44 oes
|
||||||
|
* Deleted PID_FILE_PATH
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/01/10 12:36:18 oes
|
||||||
|
* Moved HAVE_*_R to acconfig.h, where they belong.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2001/12/30 14:07:31 steudten
|
||||||
|
* - Add signal handling (unix)
|
||||||
|
* - Add SIGHUP handler (unix)
|
||||||
|
* - Add creation of pidfile (unix)
|
||||||
|
* - Add action 'top' in rc file (RH)
|
||||||
|
* - Add entry 'SIGNALS' to manpage
|
||||||
|
* - Add exit message to logfile (unix)
|
||||||
|
*
|
||||||
|
* Revision 1.14 2001/10/23 21:24:09 jongfoster
|
||||||
|
* Support for FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.13 2001/10/07 15:30:41 oes
|
||||||
|
* Removed FEATURE_DENY_GZIP
|
||||||
|
*
|
||||||
|
* Revision 1.12 2001/09/13 19:56:37 jongfoster
|
||||||
|
* Reverting to revision 1.10 - previous checking was majorly broken.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2001/07/30 22:08:36 jongfoster
|
||||||
|
* Tidying up #defines:
|
||||||
|
* - All feature #defines are now of the form FEATURE_xxx
|
||||||
|
* - Permanently turned off WIN_GUI_EDIT
|
||||||
|
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/07/29 19:08:52 jongfoster
|
||||||
|
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
|
||||||
|
* Also added protection against using a MinGW32 or CygWin version of
|
||||||
|
* config.h from within MS Visual C++
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/07/29 17:09:17 jongfoster
|
||||||
|
* Major changes to build system in order to fix these bugs:
|
||||||
|
* - pthreads under Linux was broken - changed -lpthread to -pthread
|
||||||
|
* - Compiling in MinGW32 mode under CygWin now correctly detects
|
||||||
|
* which shared libraries are available
|
||||||
|
* - Solaris support (?) (Not tested under Solaris yet)
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/07/25 22:53:59 jongfoster
|
||||||
|
* Will #error if pthreads is enabled under BeOs
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/07/15 17:54:29 jongfoster
|
||||||
|
* Renaming #define STATIC to STATIC_PCRE
|
||||||
|
* Adding new #define FEATURE_PTHREAD that will be used to enable
|
||||||
|
* POSIX threads support.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/13 13:48:37 oes
|
||||||
|
* - (Fix:) Copied CODE_STATUS #define from config.h.in
|
||||||
|
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
|
||||||
|
* and removed PCRE.
|
||||||
|
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
|
||||||
|
* - Moved STATIC (for pcre) here from Makefile.in
|
||||||
|
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
|
||||||
|
* libpcrs
|
||||||
|
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/05/29 09:50:24 jongfoster
|
||||||
|
* Unified blocklist/imagelist/permissionslist.
|
||||||
|
* File format is still under discussion, but the internal changes
|
||||||
|
* are (mostly) done.
|
||||||
|
*
|
||||||
|
* Also modified interceptor behaviour:
|
||||||
|
* - We now intercept all URLs beginning with one of the following
|
||||||
|
* prefixes (and *only* these prefixes):
|
||||||
|
* * http://i.j.b/
|
||||||
|
* * http://ijbswa.sf.net/config/
|
||||||
|
* * http://ijbswa.sourceforge.net/config/
|
||||||
|
* - New interceptors "home page" - go to http://i.j.b/ to see it.
|
||||||
|
* - Internal changes so that intercepted and fast redirect pages
|
||||||
|
* are not replaced with an image.
|
||||||
|
* - Interceptors now have the option to send a binary page direct
|
||||||
|
* to the client. (i.e. ijb-send-banner uses this)
|
||||||
|
* - Implemented show-url-info interceptor. (Which is why I needed
|
||||||
|
* the above interceptors changes - a typical URL is
|
||||||
|
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
|
||||||
|
* The previous mechanism would not have intercepted that, and
|
||||||
|
* if it had been intercepted then it then it would have replaced
|
||||||
|
* it with an image.)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/05/26 01:26:34 jongfoster
|
||||||
|
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
|
||||||
|
* This #define cannot be set from ./configure - there's no point, it
|
||||||
|
* doesn't work yet. See feature request # 425722
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/22 17:43:35 oes
|
||||||
|
*
|
||||||
|
* - Enabled filtering banners by size rather than URL
|
||||||
|
* by adding patterns that replace all standard banner
|
||||||
|
* sizes with the "Junkbuster" gif to the re_filterfile
|
||||||
|
*
|
||||||
|
* - Enabled filtering WebBugs by providing a pattern
|
||||||
|
* which kills all 1x1 images
|
||||||
|
*
|
||||||
|
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
|
||||||
|
* which is selected by the (nonstandard and therefore
|
||||||
|
* capital) letter 'U' in the option string.
|
||||||
|
* It causes the quantifiers to be ungreedy by default.
|
||||||
|
* Appending a ? turns back to greedy (!).
|
||||||
|
*
|
||||||
|
* - Added a new interceptor ijb-send-banner, which
|
||||||
|
* sends back the "Junkbuster" gif. Without imagelist or
|
||||||
|
* MSIE detection support, or if tinygif = 1, or the
|
||||||
|
* URL isn't recognized as an imageurl, a lame HTML
|
||||||
|
* explanation is sent instead.
|
||||||
|
*
|
||||||
|
* - Added new feature, which permits blocking remote
|
||||||
|
* script redirects and firing back a local redirect
|
||||||
|
* to the browser.
|
||||||
|
* The feature is conditionally compiled, i.e. it
|
||||||
|
* can be disabled with --disable-fast-redirects,
|
||||||
|
* plus it must be activated by a "fast-redirects"
|
||||||
|
* line in the config file, has its own log level
|
||||||
|
* and of course wants to be displayed by show-proxy-args
|
||||||
|
* Note: Boy, all the #ifdefs in 1001 locations and
|
||||||
|
* all the fumbling with configure.in and acconfig.h
|
||||||
|
* were *way* more work than the feature itself :-(
|
||||||
|
*
|
||||||
|
* - Because a generic redirect template was needed for
|
||||||
|
* this, tinygif = 3 now uses the same.
|
||||||
|
*
|
||||||
|
* - Moved GIFs, and other static HTTP response templates
|
||||||
|
* to project.h
|
||||||
|
*
|
||||||
|
* - Many minor fixes
|
||||||
|
*
|
||||||
|
* - Removed some >400 CRs again (Jon, you really worked
|
||||||
|
* a lot! ;-)
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
@TOP@
|
@TOP@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -85,11 +288,6 @@
|
||||||
*/
|
*/
|
||||||
#undef FEATURE_ACL
|
#undef FEATURE_ACL
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow Privoxy to use accf_http(9) if supported.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_ACCEPT_FILTER
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enables the web-based configuration (actionsfile) editor. If you
|
* Enables the web-based configuration (actionsfile) editor. If you
|
||||||
* have a shared proxy, you might want to turn this off.
|
* have a shared proxy, you might want to turn this off.
|
||||||
|
@ -136,7 +334,7 @@
|
||||||
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
|
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
|
||||||
*
|
*
|
||||||
* And no, I haven't got that backwards - IE is being weird.
|
* And no, I haven't got that backwards - IE is being wierd.
|
||||||
*
|
*
|
||||||
* Known limitations:
|
* Known limitations:
|
||||||
* 1) If you press shift-reload on a blocked HTML page, you get
|
* 1) If you press shift-reload on a blocked HTML page, you get
|
||||||
|
@ -151,6 +349,11 @@
|
||||||
*/
|
*/
|
||||||
#undef FEATURE_IMAGE_DETECT_MSIE
|
#undef FEATURE_IMAGE_DETECT_MSIE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Kills JavaScript popups - window.open, onunload, etc.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_KILL_POPUPS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use PNG instead of GIF for built-in images
|
* Use PNG instead of GIF for built-in images
|
||||||
*/
|
*/
|
||||||
|
@ -167,15 +370,10 @@
|
||||||
#undef FEATURE_EXTENDED_HOST_PATTERNS
|
#undef FEATURE_EXTENDED_HOST_PATTERNS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Keep connections alive if possible.
|
* Keep outgoing connections alive if possible.
|
||||||
*/
|
*/
|
||||||
#undef FEATURE_CONNECTION_KEEP_ALIVE
|
#undef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow to share outgoing connections between incoming connections.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_CONNECTION_SHARING
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use POSIX threads instead of native threads.
|
* Use POSIX threads instead of native threads.
|
||||||
*/
|
*/
|
||||||
|
@ -287,7 +485,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
||||||
* under VC++, and it usually gives many 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.
|
* the error messages understandable, by bailing out now.
|
||||||
*/
|
*/
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* DEFINE_ACTION_BOOL()
|
* DEFINE_ACTION_BOOL()
|
||||||
* DEFINE_ACTION_ALIAS
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -37,8 +37,156 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: actionlist.h,v $
|
||||||
|
* Revision 1.36 2008/09/20 10:04:33 fabiankeil
|
||||||
|
* Remove hide-forwarded-for-headers action which has
|
||||||
|
* been obsoleted by change-x-forwarded-for{block}.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2008/09/19 15:43:54 fabiankeil
|
||||||
|
* Fix sorting.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/09/19 15:26:28 fabiankeil
|
||||||
|
* Add change-x-forwarded-for{} action to block or add
|
||||||
|
* X-Forwarded-For headers. Mostly based on code removed
|
||||||
|
* before 3.0.7.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2008/03/29 12:13:45 fabiankeil
|
||||||
|
* Remove send-wafer and send-vanilla-wafer actions.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2008/03/28 15:13:42 fabiankeil
|
||||||
|
* Remove inspect-jpegs action.
|
||||||
|
*
|
||||||
|
* Revision 1.31 2008/03/27 18:27:20 fabiankeil
|
||||||
|
* Remove kill-popups action.
|
||||||
|
*
|
||||||
|
* Revision 1.30 2008/03/04 18:30:34 fabiankeil
|
||||||
|
* Remove the treat-forbidden-connects-like-blocks action. We now
|
||||||
|
* use the "blocked" page for forbidden CONNECT requests by default.
|
||||||
|
*
|
||||||
|
* Revision 1.29 2008/03/01 14:00:43 fabiankeil
|
||||||
|
* Let the block action take the reason for the block
|
||||||
|
* as argument and show it on the "blocked" page.
|
||||||
|
*
|
||||||
|
* Revision 1.28 2007/12/11 21:08:29 fabiankeil
|
||||||
|
* Let the CGI editor suggest a forward-override
|
||||||
|
* parameter whose syntax is actually valid.
|
||||||
|
*
|
||||||
|
* Revision 1.27 2007/11/10 15:04:08 fabiankeil
|
||||||
|
* Tell the CGI editor about +hide-referrer{conditional-forge}.
|
||||||
|
*
|
||||||
|
* Revision 1.26 2007/06/01 16:54:28 fabiankeil
|
||||||
|
* Add forward-override{} to change the forwarding settings through
|
||||||
|
* action sections. This is mainly interesting to forward different
|
||||||
|
* clients differently (for example based on User-Agent or request
|
||||||
|
* origin).
|
||||||
|
*
|
||||||
|
* Revision 1.25 2007/04/15 16:39:20 fabiankeil
|
||||||
|
* Introduce tags as alternative way to specify which
|
||||||
|
* actions apply to a request. At the moment tags can be
|
||||||
|
* created based on client and server headers.
|
||||||
|
*
|
||||||
|
* Revision 1.24 2007/03/20 15:16:34 fabiankeil
|
||||||
|
* Use dedicated header filter actions instead of abusing "filter".
|
||||||
|
* Replace "filter-client-headers" and "filter-client-headers"
|
||||||
|
* with "server-header-filter" and "client-header-filter".
|
||||||
|
*
|
||||||
|
* Revision 1.23 2006/10/09 10:26:18 fabiankeil
|
||||||
|
* Changed the path in set-image-blocker's redirection default to
|
||||||
|
* "send-banner?type=pattern" instead of "show-banner?type=pattern"
|
||||||
|
* which isn't caught by Privoxy. Fixes BR 1573468.
|
||||||
|
*
|
||||||
|
* Changed hide-user-agent's default value to "Privoxy VERSION".
|
||||||
|
*
|
||||||
|
* Changed hide-referrer's default fake value to "http://www.privoxy.org/".
|
||||||
|
* A static referrer is obviously fake anyway, so we might as well
|
||||||
|
* advertise ourselves.
|
||||||
|
*
|
||||||
|
* Revision 1.22 2006/09/01 17:14:18 hal9
|
||||||
|
* Re-ordered the actions list so that they display in the actions editor in
|
||||||
|
* alphabetical order. Some of the new actions were "out of order".
|
||||||
|
*
|
||||||
|
* Revision 1.21 2006/08/14 08:25:19 fabiankeil
|
||||||
|
* Split filter-headers{} into filter-client-headers{}
|
||||||
|
* and filter-server-headers{}.
|
||||||
|
* Added parse_header_time() to share some code.
|
||||||
|
* Replaced timegm() with mktime().
|
||||||
|
*
|
||||||
|
* Revision 1.20 2006/08/03 02:46:41 david__schmidt
|
||||||
|
* Incorporate Fabian Keil's patch work:
http://www.fabiankeil.de/sourcecode/privoxy/
|
||||||
|
*
|
||||||
|
* Revision 1.19 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.17.2.3 2004/10/03 12:53:32 david__schmidt
|
||||||
|
* Add the ability to check jpeg images for invalid
|
||||||
|
* lengths of comment blocks. Defensive strategy
|
||||||
|
* against the exploit:
|
||||||
|
* Microsoft Security Bulletin MS04-028
|
||||||
|
* Buffer Overrun in JPEG Processing (GDI+) Could
|
||||||
|
* Allow Code Execution (833987)
|
||||||
|
* Enabled with +inspect-jpegs in actions files.
|
||||||
|
*
|
||||||
|
* Revision 1.17.2.2 2002/09/25 15:25:25 oes
|
||||||
|
* Added more aliases for prehistoric action names
|
||||||
|
*
|
||||||
|
* Revision 1.17.2.1 2002/08/02 12:50:47 oes
|
||||||
|
* Consistency with docs: Change default name for action from hide-referer to hide-referrer
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/05/14 21:25:55 oes
|
||||||
|
* Renamed prevent-(setting/reading)-cookies to crunch-(incoming/outgoing)-cookies
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/04/24 02:15:18 oes
|
||||||
|
* Renamed actions as discussed, Aliased old action names to new ones.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.14 2002/03/24 16:32:08 jongfoster
|
||||||
|
* Removing logo option
|
||||||
|
*
|
||||||
|
* Revision 1.13 2002/03/24 15:23:33 jongfoster
|
||||||
|
* Name changes
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/03/12 01:42:49 oes
|
||||||
|
* Introduced modular filters
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/03/08 18:19:14 jongfoster
|
||||||
|
* Adding +image-blocker{pattern} option to edit interface
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/11/22 21:58:41 jongfoster
|
||||||
|
* Adding action +no-cookies-keep
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/10/10 16:42:52 oes
|
||||||
|
* Fixed a bug, Added +limit-connect string action
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/10/07 15:33:59 oes
|
||||||
|
* Introduced a +no-compression action
|
||||||
|
* Introduced a +downgrade action
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/09/16 15:47:37 jongfoster
|
||||||
|
* First version of CGI-based edit interface. This is very much a
|
||||||
|
* work-in-progress, and you can't actually use it to edit anything
|
||||||
|
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
||||||
|
* to have any effect.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/18 12:27:03 oes
|
||||||
|
* Changed deanimate-gifs to string action
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/07/13 13:52:12 oes
|
||||||
|
* - Formatting
|
||||||
|
* - Introduced new action ACTION_DEANIMATE
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/06/07 23:03:56 jongfoster
|
||||||
|
* Added standard comment at top of file.
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING))
|
#if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING))
|
||||||
#error Please define lots of macros before including "actionlist.h".
|
#error Please define lots of macros before including "actionlist.h".
|
||||||
|
@ -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, "first", 0)
|
||||||
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1)
|
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1)
|
||||||
DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE)
|
DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE)
|
||||||
#ifdef FEATURE_FAST_REDIRECTS
|
|
||||||
DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS)
|
DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS)
|
||||||
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0)
|
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0)
|
||||||
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1)
|
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1)
|
||||||
#endif /* def FEATURE_FAST_REDIRECTS */
|
|
||||||
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
|
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
|
||||||
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
|
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
|
||||||
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
|
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
|
||||||
|
|
|
@ -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 $
|
* 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
|
* Purpose : Declares functions to work with actions files
|
||||||
* Functions declared include: FIXME
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: actions.c,v $
|
||||||
|
* Revision 1.56 2009/03/08 14:19:21 fabiankeil
|
||||||
|
* Fix justified (but harmless) compiler warnings
|
||||||
|
* on platforms where sizeof(int) < sizeof(long).
|
||||||
|
*
|
||||||
|
* Revision 1.55 2008/12/04 18:18:56 fabiankeil
|
||||||
|
* Fix some cparser warnings.
|
||||||
|
*
|
||||||
|
* Revision 1.54 2008/09/20 10:04:33 fabiankeil
|
||||||
|
* Remove hide-forwarded-for-headers action which has
|
||||||
|
* been obsoleted by change-x-forwarded-for{block}.
|
||||||
|
*
|
||||||
|
* Revision 1.53 2008/05/26 16:04:04 fabiankeil
|
||||||
|
* s@memorey@memory@
|
||||||
|
*
|
||||||
|
* Revision 1.52 2008/04/27 16:26:59 fabiankeil
|
||||||
|
* White space fix for the last commit.
|
||||||
|
*
|
||||||
|
* Revision 1.51 2008/04/27 16:20:19 fabiankeil
|
||||||
|
* Complain about every block action without reason found.
|
||||||
|
*
|
||||||
|
* Revision 1.50 2008/03/30 14:52:00 fabiankeil
|
||||||
|
* Rename load_actions_file() and load_re_filterfile()
|
||||||
|
* as they load multiple files "now".
|
||||||
|
*
|
||||||
|
* Revision 1.49 2008/03/29 12:13:45 fabiankeil
|
||||||
|
* Remove send-wafer and send-vanilla-wafer actions.
|
||||||
|
*
|
||||||
|
* Revision 1.48 2008/03/28 18:17:14 fabiankeil
|
||||||
|
* In action_used_to_be_valid(), loop through an array of formerly
|
||||||
|
* valid actions instead of using an OR-chain of strcmpic() calls.
|
||||||
|
*
|
||||||
|
* Revision 1.47 2008/03/28 15:13:37 fabiankeil
|
||||||
|
* Remove inspect-jpegs action.
|
||||||
|
*
|
||||||
|
* Revision 1.46 2008/03/27 18:27:20 fabiankeil
|
||||||
|
* Remove kill-popups action.
|
||||||
|
*
|
||||||
|
* Revision 1.45 2008/03/24 11:21:02 fabiankeil
|
||||||
|
* Share the action settings for multiple patterns in the same
|
||||||
|
* section so we waste less memory for gigantic block lists
|
||||||
|
* (and load them slightly faster). Reported by Franz Schwartau.
|
||||||
|
*
|
||||||
|
* Revision 1.44 2008/03/04 18:30:34 fabiankeil
|
||||||
|
* Remove the treat-forbidden-connects-like-blocks action. We now
|
||||||
|
* use the "blocked" page for forbidden CONNECT requests by default.
|
||||||
|
*
|
||||||
|
* Revision 1.43 2008/03/01 14:00:43 fabiankeil
|
||||||
|
* Let the block action take the reason for the block
|
||||||
|
* as argument and show it on the "blocked" page.
|
||||||
|
*
|
||||||
|
* Revision 1.42 2008/02/09 15:15:38 fabiankeil
|
||||||
|
* List active and inactive actions in the show-url-info's
|
||||||
|
* "Final results" section separately. Patch submitted by Lee
|
||||||
|
* in #1830056, modified to list active actions first.
|
||||||
|
*
|
||||||
|
* Revision 1.41 2008/01/28 20:17:40 fabiankeil
|
||||||
|
* - Mark some parameters as immutable.
|
||||||
|
* - Hide update_action_bits_for_all_tags() while it's unused.
|
||||||
|
*
|
||||||
|
* Revision 1.40 2007/05/21 10:26:50 fabiankeil
|
||||||
|
* - Use strlcpy() instead of strcpy().
|
||||||
|
* - Provide a reason why loading the actions
|
||||||
|
* file might have failed.
|
||||||
|
*
|
||||||
|
* Revision 1.39 2007/04/17 18:21:45 fabiankeil
|
||||||
|
* Split update_action_bits() into
|
||||||
|
* update_action_bits_for_all_tags()
|
||||||
|
* and update_action_bits_for_tag().
|
||||||
|
*
|
||||||
|
* Revision 1.38 2007/04/15 16:39:20 fabiankeil
|
||||||
|
* Introduce tags as alternative way to specify which
|
||||||
|
* actions apply to a request. At the moment tags can be
|
||||||
|
* created based on client and server headers.
|
||||||
|
*
|
||||||
|
* Revision 1.37 2007/03/11 15:56:12 fabiankeil
|
||||||
|
* Add kludge to log unknown aliases and actions before exiting.
|
||||||
|
*
|
||||||
|
* Revision 1.36 2006/12/28 17:15:42 fabiankeil
|
||||||
|
* Fix gcc43 conversion warning.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.32.2.6 2006/01/29 23:10:56 david__schmidt
|
||||||
|
* Multiple filter file support
|
||||||
|
*
|
||||||
|
* Revision 1.32.2.5 2005/06/09 01:18:41 david__schmidt
|
||||||
|
* Tweaks to conditionally include pthread.h if FEATURE_PTHREAD is enabled -
|
||||||
|
* this becomes important when jcc.h gets included later down the line.
|
||||||
|
*
|
||||||
|
* Revision 1.32.2.4 2003/12/03 10:33:11 oes
|
||||||
|
* - Implemented Privoxy version requirement through
|
||||||
|
* for-privoxy-version= statement in {{settings}}
|
||||||
|
* block
|
||||||
|
* - Fix for unchecked out-of-memory condition
|
||||||
|
*
|
||||||
|
* Revision 1.32.2.3 2003/02/28 12:52:10 oes
|
||||||
|
* Fixed memory leak reported by Dan Price in Bug #694713
|
||||||
|
*
|
||||||
|
* Revision 1.32.2.2 2002/11/20 14:36:55 oes
|
||||||
|
* Extended unload_current_actions_file() to multiple AFs.
|
||||||
|
* Thanks to Oliver Stoeneberg for the hint.
|
||||||
|
*
|
||||||
|
* Revision 1.32.2.1 2002/05/26 12:13:16 roro
|
||||||
|
* Change unsigned to unsigned long in actions_name struct. This closes
|
||||||
|
* SourceForge Bug #539284.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2002/05/12 21:36:29 jongfoster
|
||||||
|
* Correcting function comments
|
||||||
|
*
|
||||||
|
* Revision 1.31 2002/05/06 07:56:50 oes
|
||||||
|
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.30 2002/04/30 11:14:52 oes
|
||||||
|
* Made csp the first parameter in *action_to_html
|
||||||
|
*
|
||||||
|
* Revision 1.29 2002/04/26 19:30:54 jongfoster
|
||||||
|
* - current_action_to_html(): Adding help link for the "-" form of
|
||||||
|
* one-string actions.
|
||||||
|
* - Some actions had "<br>-", some "<br> -" (note the space).
|
||||||
|
* Standardizing on no space.
|
||||||
|
* - Greatly simplifying some of the code by using string_join()
|
||||||
|
* where appropriate.
|
||||||
|
*
|
||||||
|
* Revision 1.28 2002/04/26 12:53:15 oes
|
||||||
|
* - CGI AF editor now writes action lines split into
|
||||||
|
* single lines with line continuation
|
||||||
|
* - actions_to_html now embeds each action name in
|
||||||
|
* link to chapter
|
||||||
|
* - current_action_to_text is now called current_action_to_html
|
||||||
|
* and acts like actions_to_html
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/24 02:10:31 oes
|
||||||
|
* - Jon's patch for multiple AFs:
|
||||||
|
* - split load_actions_file, add load_one_actions_file
|
||||||
|
* - make csp->actions_list files an array
|
||||||
|
* - remember file id with each action
|
||||||
|
* - Copy_action now frees dest action before copying
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/03/16 23:54:06 jongfoster
|
||||||
|
* Adding graceful termination feature, to help look for memory leaks.
|
||||||
|
* If you enable this (which, by design, has to be done by hand
|
||||||
|
* editing config.h) and then go to http://i.j.b/die, then the program
|
||||||
|
* will exit cleanly after the *next* request. It should free all the
|
||||||
|
* memory that was used.
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/03/07 03:46:16 oes
|
||||||
|
* Fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/01/21 00:27:02 jongfoster
|
||||||
|
* Allowing free_action(NULL).
|
||||||
|
* Moving the functions that #include actionlist.h to the end of the file,
|
||||||
|
* because the Visual C++ 97 debugger gets extremely confused if you try
|
||||||
|
* to debug any code that comes after them in the file.
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/01/17 20:54:44 jongfoster
|
||||||
|
* Renaming free_url to free_url_spec, since it frees a struct url_spec.
|
||||||
|
*
|
||||||
|
* Revision 1.20 2001/11/22 21:56:49 jongfoster
|
||||||
|
* Making action_spec->flags into an unsigned long rather than just an
|
||||||
|
* unsigned int.
|
||||||
|
* Fixing a bug in the display of -add-header and -wafer
|
||||||
|
*
|
||||||
|
* Revision 1.19 2001/11/13 00:14:07 jongfoster
|
||||||
|
* Fixing stupid bug now I've figured out what || means.
|
||||||
|
* (It always returns 0 or 1, not one of it's paramaters.)
|
||||||
|
*
|
||||||
|
* Revision 1.18 2001/11/07 00:06:06 steudten
|
||||||
|
* Add line number in error output for lineparsing for
|
||||||
|
* actionsfile.
|
||||||
|
*
|
||||||
|
* Revision 1.17 2001/10/25 03:40:47 david__schmidt
|
||||||
|
* Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
|
||||||
|
* threads to call select() simultaneously. So, it's time to do a real, live,
|
||||||
|
* native OS/2 port. See defines for __EMX__ (the porting layer) vs. __OS2__
|
||||||
|
* (native). Both versions will work, but using __OS2__ offers multi-threading.
|
||||||
|
*
|
||||||
|
* Revision 1.16 2001/10/23 21:30:30 jongfoster
|
||||||
|
* Adding error-checking to selected functions.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2001/10/14 21:58:22 jongfoster
|
||||||
|
* Adding support for the CGI-based editor:
|
||||||
|
* - Exported get_actions()
|
||||||
|
* - Added new function free_alias_list()
|
||||||
|
* - Added support for {{settings}} and {{description}} blocks
|
||||||
|
* in the actions file. They are currently ignored.
|
||||||
|
* - Added restriction to only one {{alias}} block which must appear
|
||||||
|
* first in the file, to simplify the editor's rewriting rules.
|
||||||
|
* - Note that load_actions_file() is no longer used by the CGI-based
|
||||||
|
* editor, but some of the other routines in this file are.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2001/09/22 16:36:59 jongfoster
|
||||||
|
* Removing unused parameter fs from read_config_line()
|
||||||
|
*
|
||||||
|
* Revision 1.13 2001/09/16 15:47:37 jongfoster
|
||||||
|
* First version of CGI-based edit interface. This is very much a
|
||||||
|
* work-in-progress, and you can't actually use it to edit anything
|
||||||
|
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
||||||
|
* to have any effect.
|
||||||
|
*
|
||||||
|
* Revision 1.12 2001/09/16 13:21:27 jongfoster
|
||||||
|
* Changes to use new list functions.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2001/09/14 00:17:32 jongfoster
|
||||||
|
* Tidying up memory allocation. New function init_action().
|
||||||
|
*
|
||||||
|
* Revision 1.10 2001/09/10 10:14:34 oes
|
||||||
|
* Removing unused variable
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/07/30 22:08:36 jongfoster
|
||||||
|
* Tidying up #defines:
|
||||||
|
* - All feature #defines are now of the form FEATURE_xxx
|
||||||
|
* - Permanently turned off WIN_GUI_EDIT
|
||||||
|
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/06/29 13:19:52 oes
|
||||||
|
* Removed logentry from cancelled commit
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/06/09 10:55:28 jongfoster
|
||||||
|
* Changing BUFSIZ ==> BUFFER_SIZE
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/06/07 23:04:34 jongfoster
|
||||||
|
* Made get_actions() static.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/06/03 19:11:48 oes
|
||||||
|
* adapted to new enlist_unique arg format
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/06/01 20:03:42 jongfoster
|
||||||
|
* Better memory management - current_action->strings[] now
|
||||||
|
* contains copies of the strings, not the original.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/06/01 18:49:17 jongfoster
|
||||||
|
* Replaced "list_share" with "list" - the tiny memory gain was not
|
||||||
|
* worth the extra complexity.
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/31 21:40:00 jongfoster
|
||||||
|
* Removing some commented out, obsolete blocks of code.
|
||||||
|
*
|
||||||
|
* Revision 1.1 2001/05/31 21:16:46 jongfoster
|
||||||
|
* Moved functions to process the action list into this new file.
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
@ -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 int action_used_to_be_valid(const char *action)
|
||||||
{
|
{
|
||||||
static const char * const formerly_valid_actions[] = {
|
static const char *formerly_valid_actions[] = {
|
||||||
"inspect-jpegs",
|
"inspect-jpegs",
|
||||||
"kill-popups",
|
"kill-popups",
|
||||||
"send-vanilla-wafer",
|
"send-vanilla-wafer",
|
||||||
|
@ -522,7 +773,7 @@ jb_err get_actions(char *line,
|
||||||
|
|
||||||
if ((value == NULL) || (*value == '\0'))
|
if ((value == NULL) || (*value == '\0'))
|
||||||
{
|
{
|
||||||
if (0 == strcmpic(action->name, "+block"))
|
if (0 != strcmpic(action->name, "block"))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* XXX: Temporary backwards compatibility hack.
|
* XXX: Temporary backwards compatibility hack.
|
||||||
|
@ -879,7 +1130,7 @@ int update_action_bits_for_tag(struct client_state *csp, const char *tag)
|
||||||
* Returns : N/A
|
* Returns : N/A
|
||||||
*
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
void free_current_action(struct current_action_spec *src)
|
void free_current_action (struct current_action_spec *src)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1033,108 +1284,6 @@ int load_action_files(struct client_state *csp)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : referenced_filters_are_missing
|
|
||||||
*
|
|
||||||
* Description : Checks if any filters of a certain type referenced
|
|
||||||
* in an action spec are missing.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : csp = Current client state (buffers, headers, etc...)
|
|
||||||
* 2 : cur_action = The action spec to check.
|
|
||||||
* 3 : multi_index = The index where to look for the filter.
|
|
||||||
* 4 : filter_type = The filter type the caller is interested in.
|
|
||||||
*
|
|
||||||
* Returns : 0 => All referenced filters exists, everything else is an error.
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static int referenced_filters_are_missing(const struct client_state *csp,
|
|
||||||
const struct action_spec *cur_action, int multi_index, enum filter_type filter_type)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
struct file_list *fl;
|
|
||||||
struct re_filterfile_spec *b;
|
|
||||||
struct list_entry *filtername;
|
|
||||||
|
|
||||||
for (filtername = cur_action->multi_add[multi_index]->first;
|
|
||||||
filtername; filtername = filtername->next)
|
|
||||||
{
|
|
||||||
int filter_found = 0;
|
|
||||||
for (i = 0; i < MAX_AF_FILES; i++)
|
|
||||||
{
|
|
||||||
fl = csp->rlist[i];
|
|
||||||
if ((NULL == fl) || (NULL == fl->f))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (b = fl->f; b; b = b->next)
|
|
||||||
{
|
|
||||||
if (b->type != filter_type)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (strcmp(b->name, filtername->str) == 0)
|
|
||||||
{
|
|
||||||
filter_found = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!filter_found)
|
|
||||||
{
|
|
||||||
log_error(LOG_LEVEL_ERROR, "Missing filter '%s'", filtername->str);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : action_spec_is_valid
|
|
||||||
*
|
|
||||||
* Description : Should eventually figure out if an action spec
|
|
||||||
* is valid, but currently only checks that the
|
|
||||||
* referenced filters are accounted for.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : csp = Current client state (buffers, headers, etc...)
|
|
||||||
* 2 : cur_action = The action spec to check.
|
|
||||||
*
|
|
||||||
* Returns : 0 => No problems detected, everything else is an error.
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static int action_spec_is_valid(struct client_state *csp, const struct action_spec *cur_action)
|
|
||||||
{
|
|
||||||
struct {
|
|
||||||
int multi_index;
|
|
||||||
enum filter_type filter_type;
|
|
||||||
} filter_map[] = {
|
|
||||||
{ACTION_MULTI_FILTER, FT_CONTENT_FILTER},
|
|
||||||
{ACTION_MULTI_CLIENT_HEADER_FILTER, FT_CLIENT_HEADER_FILTER},
|
|
||||||
{ACTION_MULTI_SERVER_HEADER_FILTER, FT_SERVER_HEADER_FILTER},
|
|
||||||
{ACTION_MULTI_CLIENT_HEADER_TAGGER, FT_CLIENT_HEADER_TAGGER},
|
|
||||||
{ACTION_MULTI_SERVER_HEADER_TAGGER, FT_SERVER_HEADER_TAGGER}
|
|
||||||
};
|
|
||||||
int errors = 0;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < SZ(filter_map); i++)
|
|
||||||
{
|
|
||||||
errors += referenced_filters_are_missing(csp, cur_action,
|
|
||||||
filter_map[i].multi_index, filter_map[i].filter_type);
|
|
||||||
}
|
|
||||||
|
|
||||||
return errors;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
* Function : load_one_actions_file
|
* Function : load_one_actions_file
|
||||||
|
@ -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
|
* Note: Keep these in the order they occur in the file, they are
|
||||||
* sometimes tested with <=
|
* sometimes tested with <=
|
||||||
*/
|
*/
|
||||||
enum {
|
#define MODE_START_OF_FILE 1
|
||||||
MODE_START_OF_FILE = 1,
|
#define MODE_SETTINGS 2
|
||||||
MODE_SETTINGS = 2,
|
#define MODE_DESCRIPTION 3
|
||||||
MODE_DESCRIPTION = 3,
|
#define MODE_ALIAS 4
|
||||||
MODE_ALIAS = 4,
|
#define MODE_ACTIONS 5
|
||||||
MODE_ACTIONS = 5
|
|
||||||
} mode;
|
int mode = MODE_START_OF_FILE;
|
||||||
|
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
struct url_actions *last_perm;
|
struct url_actions *last_perm;
|
||||||
struct url_actions *perm;
|
struct url_actions *perm;
|
||||||
char *buf;
|
char buf[BUFFER_SIZE];
|
||||||
struct file_list *fs;
|
struct file_list *fs;
|
||||||
struct action_spec * cur_action = NULL;
|
struct action_spec * cur_action = NULL;
|
||||||
int cur_action_used = 0;
|
int cur_action_used = 0;
|
||||||
struct action_alias * alias_list = NULL;
|
struct action_alias * alias_list = NULL;
|
||||||
unsigned long linenum = 0;
|
unsigned long linenum = 0;
|
||||||
mode = MODE_START_OF_FILE;
|
|
||||||
|
|
||||||
if (!check_file_changed(current_actions_file[fileid], csp->config->actions_file[fileid], &fs))
|
if (!check_file_changed(current_actions_file[fileid], csp->config->actions_file[fileid], &fs))
|
||||||
{
|
{
|
||||||
|
@ -1205,9 +1353,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
return 1; /* never get here */
|
return 1; /* never get here */
|
||||||
}
|
}
|
||||||
|
|
||||||
log_error(LOG_LEVEL_INFO, "Loading actions file: %s", csp->config->actions_file[fileid]);
|
while (read_config_line(buf, sizeof(buf), fp, &linenum) != NULL)
|
||||||
|
|
||||||
while (read_config_line(fp, &linenum, &buf) != NULL)
|
|
||||||
{
|
{
|
||||||
if (*buf == '{')
|
if (*buf == '{')
|
||||||
{
|
{
|
||||||
|
@ -1324,11 +1470,11 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
{
|
{
|
||||||
/* It's an actions block */
|
/* It's an actions block */
|
||||||
|
|
||||||
char *actions_buf;
|
char actions_buf[BUFFER_SIZE];
|
||||||
char * end;
|
char * end;
|
||||||
|
|
||||||
/* set mode */
|
/* set mode */
|
||||||
mode = MODE_ACTIONS;
|
mode = MODE_ACTIONS;
|
||||||
|
|
||||||
/* free old action */
|
/* free old action */
|
||||||
if (cur_action)
|
if (cur_action)
|
||||||
|
@ -1351,23 +1497,8 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
}
|
}
|
||||||
init_action(cur_action);
|
init_action(cur_action);
|
||||||
|
|
||||||
/*
|
/* trim { */
|
||||||
* Copy the buffer before messing with it as we may need the
|
strlcpy(actions_buf, buf + 1, sizeof(actions_buf));
|
||||||
* unmodified version in for the fatal error messages. Given
|
|
||||||
* that this is not a common event, we could instead simply
|
|
||||||
* read the line again.
|
|
||||||
*
|
|
||||||
* buf + 1 to skip the leading '{'
|
|
||||||
*/
|
|
||||||
actions_buf = strdup(buf + 1);
|
|
||||||
if (actions_buf == NULL)
|
|
||||||
{
|
|
||||||
fclose(fp);
|
|
||||||
log_error(LOG_LEVEL_FATAL,
|
|
||||||
"can't load actions file '%s': out of memory",
|
|
||||||
csp->config->actions_file[fileid]);
|
|
||||||
return 1; /* never get here */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* check we have a trailing } and then trim it */
|
/* check we have a trailing } and then trim it */
|
||||||
end = actions_buf + strlen(actions_buf) - 1;
|
end = actions_buf + strlen(actions_buf) - 1;
|
||||||
|
@ -1375,9 +1506,8 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
{
|
{
|
||||||
/* No closing } */
|
/* No closing } */
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
freez(actions_buf);
|
log_error(LOG_LEVEL_FATAL,
|
||||||
log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': "
|
"can't load actions file '%s': invalid line (%lu): %s",
|
||||||
"Missing trailing '}' in action section starting at line (%lu): %s",
|
|
||||||
csp->config->actions_file[fileid], linenum, buf);
|
csp->config->actions_file[fileid], linenum, buf);
|
||||||
return 1; /* never get here */
|
return 1; /* never get here */
|
||||||
}
|
}
|
||||||
|
@ -1390,21 +1520,11 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
{
|
{
|
||||||
/* error */
|
/* error */
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
freez(actions_buf);
|
log_error(LOG_LEVEL_FATAL,
|
||||||
log_error(LOG_LEVEL_FATAL, "can't load actions file '%s': "
|
"can't load actions file '%s': invalid line (%lu): %s",
|
||||||
"can't completely parse the action section starting at line (%lu): %s",
|
|
||||||
csp->config->actions_file[fileid], linenum, buf);
|
csp->config->actions_file[fileid], linenum, buf);
|
||||||
return 1; /* never get here */
|
return 1; /* never get here */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action_spec_is_valid(csp, cur_action))
|
|
||||||
{
|
|
||||||
log_error(LOG_LEVEL_ERROR, "Invalid action section in file '%s', "
|
|
||||||
"starting at line %lu: %s",
|
|
||||||
csp->config->actions_file[fileid], linenum, buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
freez(actions_buf);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (mode == MODE_SETTINGS)
|
else if (mode == MODE_SETTINGS)
|
||||||
|
@ -1429,7 +1549,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
return 1; /* never get here */
|
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)
|
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)
|
else if (mode == MODE_ACTIONS)
|
||||||
{
|
{
|
||||||
/* it's an URL pattern */
|
/* it's a URL pattern */
|
||||||
|
|
||||||
/* allocate a new node */
|
/* allocate a new node */
|
||||||
if ((perm = zalloc(sizeof(*perm))) == NULL)
|
if ((perm = zalloc(sizeof(*perm))) == NULL)
|
||||||
|
@ -1558,7 +1678,7 @@ static int load_one_actions_file(struct client_state *csp, int fileid)
|
||||||
{
|
{
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
log_error(LOG_LEVEL_FATAL,
|
log_error(LOG_LEVEL_FATAL,
|
||||||
"can't load actions file '%s': line %lu: cannot create URL 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);
|
csp->config->actions_file[fileid], linenum, buf);
|
||||||
return 1; /* never get here */
|
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. */
|
/* oops - please have a {} line as 1st line in file. */
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
log_error(LOG_LEVEL_FATAL,
|
log_error(LOG_LEVEL_FATAL,
|
||||||
"can't load actions file '%s': 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);
|
csp->config->actions_file[fileid], linenum, buf);
|
||||||
return 1; /* never get here */
|
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);
|
csp->config->actions_file[fileid], mode);
|
||||||
return 1; /* never get here */
|
return 1; /* never get here */
|
||||||
}
|
}
|
||||||
freez(buf);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
@ -1704,7 +1823,7 @@ char * actions_to_text(const struct action_spec *action)
|
||||||
* Function : actions_to_html
|
* Function : actions_to_html
|
||||||
*
|
*
|
||||||
* Description : Converts a actionsfile entry from numeric form
|
* Description : Converts a actionsfile entry from numeric form
|
||||||
* ("mask" and "add") to a <br>-separated HTML string
|
* ("mask" and "add") to a <br>-seperated HTML string
|
||||||
* in which each action is linked to its chapter in
|
* in which each action is linked to its chapter in
|
||||||
* the user manual.
|
* the user manual.
|
||||||
*
|
*
|
||||||
|
@ -1810,7 +1929,7 @@ char * actions_to_html(const struct client_state *csp,
|
||||||
*
|
*
|
||||||
* Function : current_actions_to_html
|
* Function : current_actions_to_html
|
||||||
*
|
*
|
||||||
* Description : Converts a curren action spec to a <br> separated HTML
|
* Description : Converts a curren action spec to a <br> seperated HTML
|
||||||
* text in which each action is linked to its chapter in
|
* text in which each action is linked to its chapter in
|
||||||
* the user manual.
|
* the user manual.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef ACTIONS_H_INCLUDED
|
#ifndef ACTIONS_H_INCLUDED
|
||||||
#define ACTIONS_H_INCLUDED
|
#define ACTIONS_H_INCLUDED
|
||||||
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/actions.h,v $
|
||||||
|
@ -33,8 +33,87 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: actions.h,v $
|
||||||
|
* Revision 1.18 2008/03/30 14:52:00 fabiankeil
|
||||||
|
* Rename load_actions_file() and load_re_filterfile()
|
||||||
|
* as they load multiple files "now".
|
||||||
|
*
|
||||||
|
* Revision 1.17 2008/01/28 20:17:40 fabiankeil
|
||||||
|
* - Mark some parameters as immutable.
|
||||||
|
* - Hide update_action_bits_for_all_tags() while it's unused.
|
||||||
|
*
|
||||||
|
* Revision 1.16 2007/04/17 18:21:45 fabiankeil
|
||||||
|
* Split update_action_bits() into
|
||||||
|
* update_action_bits_for_all_tags()
|
||||||
|
* and update_action_bits_for_tag().
|
||||||
|
*
|
||||||
|
* Revision 1.15 2007/04/15 16:39:20 fabiankeil
|
||||||
|
* Introduce tags as alternative way to specify which
|
||||||
|
* actions apply to a request. At the moment tags can be
|
||||||
|
* created based on client and server headers.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/05/06 07:56:50 oes
|
||||||
|
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/04/30 11:14:52 oes
|
||||||
|
* Made csp the first parameter in *action_to_html
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/04/26 12:53:33 oes
|
||||||
|
* - actions_to_html signature change
|
||||||
|
* - current_action_to_text: renamed to current_action_to_html
|
||||||
|
* and signature change
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/16 23:54:06 jongfoster
|
||||||
|
* Adding graceful termination feature, to help look for memory leaks.
|
||||||
|
* If you enable this (which, by design, has to be done by hand
|
||||||
|
* editing config.h) and then go to http://i.j.b/die, then the program
|
||||||
|
* will exit cleanly after the *next* request. It should free all the
|
||||||
|
* memory that was used.
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/10/23 21:30:30 jongfoster
|
||||||
|
* Adding error-checking to selected functions.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/10/14 21:58:22 jongfoster
|
||||||
|
* Adding support for the CGI-based editor:
|
||||||
|
* - Exported get_actions()
|
||||||
|
* - Added new function free_alias_list()
|
||||||
|
* - Added support for {{settings}} and {{description}} blocks
|
||||||
|
* in the actions file. They are currently ignored.
|
||||||
|
* - Added restriction to only one {{alias}} block which must appear
|
||||||
|
* first in the file, to simplify the editor's rewriting rules.
|
||||||
|
* - Note that load_actions_file() is no longer used by the CGI-based
|
||||||
|
* editor, but some of the other routines in this file are.
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/09/16 15:47:37 jongfoster
|
||||||
|
* First version of CGI-based edit interface. This is very much a
|
||||||
|
* work-in-progress, and you can't actually use it to edit anything
|
||||||
|
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
||||||
|
* to have any effect.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/09/14 00:17:32 jongfoster
|
||||||
|
* Tidying up memory allocation. New function init_action().
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/29 19:01:11 jongfoster
|
||||||
|
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
|
||||||
|
* Added forward declarations for needed structures.
|
||||||
|
*
|
||||||
|
* Revision 1.1 2001/05/31 21:16:46 jongfoster
|
||||||
|
* Moved functions to process the action list into this new file.
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
|
@ -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 $
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: amiga.c,v $
|
||||||
|
* Revision 1.12 2007/01/07 07:40:52 joergs
|
||||||
|
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/25 19:32:15 joergs
|
||||||
|
* Name in version string changed from junkbuster to Privoxy.
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/09 20:03:52 jongfoster
|
||||||
|
* - Making various functions return int rather than size_t.
|
||||||
|
* (Undoing a recent change). Since size_t is unsigned on
|
||||||
|
* Windows, functions like read_socket that return -1 on
|
||||||
|
* error cannot return a size_t.
|
||||||
|
*
|
||||||
|
* THIS WAS A MAJOR BUG - it caused frequent, unpredictable
|
||||||
|
* crashes, and also frequently caused JB to jump to 100%
|
||||||
|
* CPU and stay there. (Because it thought it had just
|
||||||
|
* read ((unsigned)-1) == 4Gb of data...)
|
||||||
|
*
|
||||||
|
* - The signature of write_socket has changed, it now simply
|
||||||
|
* returns success=0/failure=nonzero.
|
||||||
|
*
|
||||||
|
* - Trying to get rid of a few warnings --with-debug on
|
||||||
|
* Windows, I've introduced a new type "jb_socket". This is
|
||||||
|
* used for the socket file descriptors. On Windows, this
|
||||||
|
* is SOCKET (a typedef for unsigned). Everywhere else, it's
|
||||||
|
* an int. The error value can't be -1 any more, so it's
|
||||||
|
* now JB_INVALID_SOCKET (which is -1 on UNIX, and in
|
||||||
|
* Windows it maps to the #define INVALID_SOCKET.)
|
||||||
|
*
|
||||||
|
* - The signature of bind_port has changed.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/03/03 09:18:03 joergs
|
||||||
|
* Made jumbjuster work on AmigaOS again.
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/10/07 15:35:13 oes
|
||||||
|
* Replaced 6 boolean members of csp with one bitmap (csp->flags)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/09/12 22:54:51 joergs
|
||||||
|
* Stacksize of main thread increased.
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/23 00:13:58 joergs
|
||||||
|
* AmigaOS support fixed.
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifdef AMIGA
|
#ifdef AMIGA
|
||||||
#ifndef AMIGA_H_INCLUDED
|
#ifndef AMIGA_H_INCLUDED
|
||||||
#define AMIGA_H_INCLUDED
|
#define AMIGA_H_INCLUDED
|
||||||
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
|
||||||
|
@ -29,8 +29,47 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: amiga.h,v $
|
||||||
|
* Revision 1.12 2007/01/07 07:40:52 joergs
|
||||||
|
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/03 09:18:03 joergs
|
||||||
|
* Made jumbjuster work on AmigaOS again.
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/10/13 12:46:08 joergs
|
||||||
|
* Added #undef EINTR to avoid warnings
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/29 18:43:08 jongfoster
|
||||||
|
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
||||||
|
* ANSI C rules.
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/05/29 20:05:06 joergs
|
||||||
|
* Fixed exit() macro not exiting if called before InitAmiga()
|
||||||
|
* (junkbuster --help and --version).
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/05/25 21:53:27 jongfoster
|
||||||
|
* Fixing indentation
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/23 00:13:58 joergs
|
||||||
|
* AmigaOS support fixed.
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#define _KERNEL
|
#define _KERNEL
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
||||||
#ifndef CGI_H_INCLUDED
|
#ifndef CGI_H_INCLUDED
|
||||||
#define CGI_H_INCLUDED
|
#define CGI_H_INCLUDED
|
||||||
#define CGI_H_VERSION "$Id: cgi.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/cgi.h,v $
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
* Functions declared include:
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -36,8 +36,161 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: cgi.h,v $
|
||||||
|
* Revision 1.35 2008/05/21 15:24:37 fabiankeil
|
||||||
|
* Mark csp as immutable for a bunch of functions.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/04/17 14:40:48 fabiankeil
|
||||||
|
* Provide get_http_time() with the buffer size so it doesn't
|
||||||
|
* have to blindly assume that the buffer is big enough.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2007/01/28 13:41:17 fabiankeil
|
||||||
|
* - Add HEAD support to finish_http_response.
|
||||||
|
* - Add error favicon to internal HTML error messages.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2006/12/17 17:53:39 fabiankeil
|
||||||
|
* Suppress the toggle link if remote toggling is disabled.
|
||||||
|
*
|
||||||
|
* Revision 1.31 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.29.2.2 2004/02/17 13:30:23 oes
|
||||||
|
* Moved cgi_error_disabled() from cgiedit.c to
|
||||||
|
* cgi.c to re-enable build with --disable-editor.
|
||||||
|
* Fixes Bug #892744. Thanks to Matthew Fischer
|
||||||
|
* for spotting.
|
||||||
|
*
|
||||||
|
* Revision 1.29.2.1 2003/12/17 16:33:28 oes
|
||||||
|
* Added prototype of new function cgi_redirect
|
||||||
|
*
|
||||||
|
* Revision 1.29 2002/05/19 11:33:21 jongfoster
|
||||||
|
* If a CGI error was not handled, and propogated back to
|
||||||
|
* dispatch_known_cgi(), then it was assumed to be "out of memory".
|
||||||
|
* This gave a very misleading error message.
|
||||||
|
*
|
||||||
|
* Now other errors will cause a simple message giving the error
|
||||||
|
* number and asking the user to report a bug.
|
||||||
|
*
|
||||||
|
* Bug report:
|
||||||
|
* http://sourceforge.net/tracker/index.php?func=detail
|
||||||
|
* &aid=557905&group_id=11118&atid=111118
|
||||||
|
*
|
||||||
|
* Revision 1.28 2002/04/26 12:54:03 oes
|
||||||
|
* New function add_help_link
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/24 02:16:51 oes
|
||||||
|
* Moved get_char_param, get_string_param and get_number_param here from cgiedit.c
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/04/10 13:38:35 oes
|
||||||
|
* load_template signature changed
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/04/08 20:50:25 swa
|
||||||
|
* fixed JB spelling
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/03/24 16:18:15 jongfoster
|
||||||
|
* Removing old logo
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/07 03:48:38 oes
|
||||||
|
* - Changed built-in images from GIF to PNG
|
||||||
|
* (with regard to Unisys patent issue)
|
||||||
|
* - Added a 4x4 pattern PNG which is less intrusive
|
||||||
|
* than the logo but also clearly marks the deleted banners
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/04 17:53:22 oes
|
||||||
|
* Fixed compiled warning
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/01/21 00:33:52 jongfoster
|
||||||
|
* Adding map_block_keep() to save a few bytes in the edit-actions-list HTML.
|
||||||
|
*
|
||||||
|
* Revision 1.18 2001/11/16 00:46:31 jongfoster
|
||||||
|
* Fixing compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.17 2001/10/23 21:48:19 jongfoster
|
||||||
|
* Cleaning up error handling in CGI functions - they now send back
|
||||||
|
* a HTML error page and should never cause a FATAL error. (Fixes one
|
||||||
|
* potential source of "denial of service" attacks).
|
||||||
|
*
|
||||||
|
* CGI actions file editor that works and is actually useful.
|
||||||
|
*
|
||||||
|
* Ability to toggle Junkbuster remotely using a CGI call.
|
||||||
|
*
|
||||||
|
* You can turn off both the above features in the main configuration
|
||||||
|
* file, e.g. if you are running a multi-user proxy.
|
||||||
|
*
|
||||||
|
* Revision 1.16 2001/09/16 17:08:54 jongfoster
|
||||||
|
* Moving simple CGI functions from cgi.c to new file cgisimple.c
|
||||||
|
*
|
||||||
|
* Revision 1.15 2001/09/16 15:02:35 jongfoster
|
||||||
|
* Adding i.j.b/robots.txt.
|
||||||
|
* Inlining add_stats() since it's only ever called from one place.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2001/09/16 11:38:02 jongfoster
|
||||||
|
* Splitting fill_template() into 2 functions:
|
||||||
|
* template_load() loads the file
|
||||||
|
* template_fill() performs the PCRS regexps.
|
||||||
|
* This is because the CGI edit interface has a "table row"
|
||||||
|
* template which is used many times in the page - this
|
||||||
|
* change means it's only loaded from disk once.
|
||||||
|
*
|
||||||
|
* Revision 1.13 2001/09/16 11:00:10 jongfoster
|
||||||
|
* New function alloc_http_response, for symmetry with free_http_response
|
||||||
|
*
|
||||||
|
* Revision 1.12 2001/09/13 23:31:25 jongfoster
|
||||||
|
* Moving image data to cgi.c rather than cgi.h.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2001/08/05 16:06:20 jongfoster
|
||||||
|
* Modifiying "struct map" so that there are now separate header and
|
||||||
|
* "map_entry" structures. This means that functions which modify a
|
||||||
|
* map no longer need to return a pointer to the modified map.
|
||||||
|
* Also, it no longer reverses the order of the entries (which may be
|
||||||
|
* important with some advanced template substitutions).
|
||||||
|
*
|
||||||
|
* Revision 1.10 2001/08/01 21:19:22 jongfoster
|
||||||
|
* Moving file version information to a separate CGI page.
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/08/01 00:17:54 jongfoster
|
||||||
|
* Adding prototype for map_conditional
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/07/30 22:08:36 jongfoster
|
||||||
|
* Tidying up #defines:
|
||||||
|
* - All feature #defines are now of the form FEATURE_xxx
|
||||||
|
* - Permanently turned off WIN_GUI_EDIT
|
||||||
|
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/07/29 18:43:08 jongfoster
|
||||||
|
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
||||||
|
* ANSI C rules.
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/06/29 21:45:41 oes
|
||||||
|
* Indentation, CRLF->LF, Tab-> Space
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/06/29 13:22:44 oes
|
||||||
|
* - Cleaned up
|
||||||
|
* - Added new functions: default_exports(), make_menu(),
|
||||||
|
* error_response() etc, ranamed others and changed
|
||||||
|
* param and return types.
|
||||||
|
* - Removed HTTP/HTML snipplets
|
||||||
|
* - Removed logentry from cancelled commit
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/06/09 10:50:58 jongfoster
|
||||||
|
* Changing "show URL info" handler to new style.
|
||||||
|
* Adding "extern" to some function prototypes.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/06/03 19:12:16 oes
|
||||||
|
* introduced new cgi handling
|
||||||
|
*
|
||||||
|
* No revisions before 1.3
|
||||||
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
|
|
||||||
|
@ -51,8 +204,9 @@ extern "C" {
|
||||||
extern struct http_response *dispatch_cgi(struct client_state *csp);
|
extern struct http_response *dispatch_cgi(struct client_state *csp);
|
||||||
|
|
||||||
/* Not exactly a CGI */
|
/* Not exactly a CGI */
|
||||||
extern struct http_response *error_response(struct client_state *csp,
|
extern struct http_response * error_response(struct client_state *csp,
|
||||||
const char *templatename);
|
const char *templatename,
|
||||||
|
int err);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CGI support functions
|
* CGI support functions
|
||||||
|
@ -101,14 +255,6 @@ extern jb_err get_string_param(const struct map *parameters,
|
||||||
const char **pparam);
|
const char **pparam);
|
||||||
extern char get_char_param(const struct map *parameters,
|
extern char get_char_param(const struct map *parameters,
|
||||||
const char *param_name);
|
const char *param_name);
|
||||||
#ifdef FEATURE_COMPRESSION
|
|
||||||
/*
|
|
||||||
* Minimum length which a buffer has to reach before
|
|
||||||
* we bother to (re-)compress it. Completely arbitrary.
|
|
||||||
*/
|
|
||||||
extern const size_t LOWER_LENGTH_LIMIT_FOR_COMPRESSION;
|
|
||||||
extern char *compress_buffer(char *buffer, size_t *buffer_length, int compression_level);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Text generators
|
* Text generators
|
||||||
|
|
|
@ -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 $
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: cgiedit.c,v $
|
||||||
|
* Revision 1.65 2009/03/08 14:19:22 fabiankeil
|
||||||
|
* Fix justified (but harmless) compiler warnings
|
||||||
|
* on platforms where sizeof(int) < sizeof(long).
|
||||||
|
*
|
||||||
|
* Revision 1.64 2009/03/01 18:43:09 fabiankeil
|
||||||
|
* Fix cparser warnings.
|
||||||
|
*
|
||||||
|
* Revision 1.63 2008/12/04 18:15:38 fabiankeil
|
||||||
|
* Fix some cparser warnings.
|
||||||
|
*
|
||||||
|
* Revision 1.62 2008/08/31 15:59:02 fabiankeil
|
||||||
|
* There's no reason to let remote toggling support depend
|
||||||
|
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
|
||||||
|
*
|
||||||
|
* Revision 1.61 2008/03/24 18:12:52 fabiankeil
|
||||||
|
* Use sizeof() more often.
|
||||||
|
*
|
||||||
|
* Revision 1.60 2008/03/15 14:52:35 fabiankeil
|
||||||
|
* Add CGI editor support for the "disable all filters of this type"
|
||||||
|
* directives "-client-header-filter", "-server-header-filter",
|
||||||
|
* "-client-header-tagger" and "-server-header-tagger".
|
||||||
|
*
|
||||||
|
* Revision 1.59 2008/03/08 16:25:56 fabiankeil
|
||||||
|
* After three file modification time mismatches, turn the CGI editor off.
|
||||||
|
*
|
||||||
|
* Revision 1.58 2007/11/28 17:57:01 fabiankeil
|
||||||
|
* Fix double free in cgi_edit_actions_list().
|
||||||
|
* Reported by adlab in BR#1840145.
|
||||||
|
*
|
||||||
|
* Revision 1.57 2007/10/27 13:32:23 fabiankeil
|
||||||
|
* Plug minor 5-year-old memory leak. Spotted by
|
||||||
|
* Valgrind and triggered by Privoxy-Regression-Test.
|
||||||
|
*
|
||||||
|
* Revision 1.56 2007/08/05 13:47:03 fabiankeil
|
||||||
|
* #1763173 from Stefan Huehner: s@const static@static const@.
|
||||||
|
*
|
||||||
|
* Revision 1.55 2007/05/31 11:50:20 fabiankeil
|
||||||
|
* Re-enable support for old-school URLs like
|
||||||
|
* http://config.privoxy.org/edit-actions-list?f=default
|
||||||
|
* in the action editor.
|
||||||
|
*
|
||||||
|
* They are no longer used by the CGI pages, but make it easier
|
||||||
|
* to reach the editor directly, without knowing the requested
|
||||||
|
* file's index in csp->config->actions_file[].
|
||||||
|
*
|
||||||
|
* Revision 1.54 2007/05/14 10:33:51 fabiankeil
|
||||||
|
* - Use strlcpy() and strlcat() instead of strcpy() and strcat().
|
||||||
|
*
|
||||||
|
* Revision 1.53 2007/04/15 16:39:20 fabiankeil
|
||||||
|
* Introduce tags as alternative way to specify which
|
||||||
|
* actions apply to a request. At the moment tags can be
|
||||||
|
* created based on client and server headers.
|
||||||
|
*
|
||||||
|
* Revision 1.52 2007/04/12 10:41:23 fabiankeil
|
||||||
|
* - Don't mistake VC++'s _snprintf() for a snprintf() replacement.
|
||||||
|
* - Move some cgi_edit_actions_for_url() variables into structs.
|
||||||
|
* - Remove bogus comment.
|
||||||
|
*
|
||||||
|
* Revision 1.51 2007/04/08 13:21:05 fabiankeil
|
||||||
|
* Reference action files in CGI URLs by id instead
|
||||||
|
* of using the first part of the file name.
|
||||||
|
* Fixes BR 1694250 and BR 1590556.
|
||||||
|
*
|
||||||
|
* Revision 1.50 2007/03/29 11:40:34 fabiankeil
|
||||||
|
* Divide @filter-params@ into @client-header-filter-params@
|
||||||
|
* @content-filter-params@ and @server-header-filter-params@.
|
||||||
|
*
|
||||||
|
* Revision 1.49 2007/03/20 15:16:34 fabiankeil
|
||||||
|
* Use dedicated header filter actions instead of abusing "filter".
|
||||||
|
* Replace "filter-client-headers" and "filter-client-headers"
|
||||||
|
* with "server-header-filter" and "client-header-filter".
|
||||||
|
*
|
||||||
|
* Revision 1.48 2007/02/13 14:35:25 fabiankeil
|
||||||
|
* Replace hash escaping code to prevent
|
||||||
|
* crashes, memory and file corruption.
|
||||||
|
*
|
||||||
|
* Revision 1.47 2006/12/28 18:04:25 fabiankeil
|
||||||
|
* Fixed gcc43 conversion warnings.
|
||||||
|
*
|
||||||
|
* Revision 1.46 2006/12/27 18:44:52 fabiankeil
|
||||||
|
* Stop shadowing string.h's index().
|
||||||
|
*
|
||||||
|
* Revision 1.45 2006/12/21 12:57:48 fabiankeil
|
||||||
|
* Add config option "split-large-forms"
|
||||||
|
* to work around the browser bug reported
|
||||||
|
* in BR #1570678.
|
||||||
|
*
|
||||||
|
* Revision 1.44 2006/12/09 13:49:16 fabiankeil
|
||||||
|
* Fix configure option --disable-toggle.
|
||||||
|
* Thanks to Peter Thoenen for reporting this.
|
||||||
|
*
|
||||||
|
* Revision 1.43 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.12 2006/01/30 15:16:25 david__schmidt
|
||||||
|
* Remove a little residual debugging info
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.11 2006/01/29 23:10:56 david__schmidt
|
||||||
|
* Multiple filter file support
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.10 2005/07/04 03:13:43 david__schmidt
|
||||||
|
* Undo some damaging memory leak patches
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.9 2005/07/04 00:31:04 david__schmidt
|
||||||
|
* Removing a double free
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.8 2005/05/07 21:50:54 david__schmidt
|
||||||
|
* A few memory leaks plugged (mostly on error paths)
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.7 2004/02/17 13:30:23 oes
|
||||||
|
* Moved cgi_error_disabled() from cgiedit.c to
|
||||||
|
* cgi.c to re-enable build with --disable-editor.
|
||||||
|
* Fixes Bug #892744. Thanks to Matthew Fischer
|
||||||
|
* for spotting.
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.6 2003/12/18 08:13:48 oes
|
||||||
|
* One line lost in last commit
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.5 2003/12/17 16:33:47 oes
|
||||||
|
* - All edit functions that redirect back to the list page
|
||||||
|
* now use cgi_redirect
|
||||||
|
* - All redirects now contain useless parameter "foo", whose
|
||||||
|
* value are raw seconds since epoch, in order to force
|
||||||
|
* Opera and Konqueror to properly reload the list. Closes
|
||||||
|
* bug #859993
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.4 2003/03/11 11:53:59 oes
|
||||||
|
* Cosmetic: Renamed cryptic variable
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.3 2002/11/12 15:01:41 oes
|
||||||
|
* Fix: Don't free uninitialized struct editable_file
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.2 2002/08/05 20:02:59 oes
|
||||||
|
* Bugfix: "Insert new section at top" did not work properly if first non-comment line in file was of type FILE_LINE_ACTION
|
||||||
|
*
|
||||||
|
* Revision 1.41.2.1 2002/08/02 12:43:14 oes
|
||||||
|
* Fixed bug #588514: first_time now set on a per-string basis in actions_from_radio; javascriptify now called on copies
|
||||||
|
*
|
||||||
|
* Revision 1.41 2002/05/21 19:09:45 oes
|
||||||
|
* - Made Add/Edit/Remove URL Submit and Cancel
|
||||||
|
* buttons jump back to relevant section in eal
|
||||||
|
* - Bugfix: remove-url-form needs p export
|
||||||
|
*
|
||||||
|
* Revision 1.40 2002/05/19 11:34:35 jongfoster
|
||||||
|
* Handling read-only actions files better - report the actual
|
||||||
|
* error, not "Out of memory"!
|
||||||
|
*
|
||||||
|
* Bug report:
|
||||||
|
* http://sourceforge.net/tracker/index.php?func=detail
|
||||||
|
* &aid=557905&group_id=11118&atid=111118
|
||||||
|
*
|
||||||
|
* Revision 1.39 2002/05/12 21:39:15 jongfoster
|
||||||
|
* - Adding Doxygen-style comments to structures and #defines.
|
||||||
|
* - Correcting function comments
|
||||||
|
*
|
||||||
|
* Revision 1.38 2002/05/03 23:00:38 jongfoster
|
||||||
|
* Support for templates for "standard actions" buttons.
|
||||||
|
* See bug #549871
|
||||||
|
*
|
||||||
|
* Revision 1.37 2002/04/30 11:14:52 oes
|
||||||
|
* Made csp the first parameter in *action_to_html
|
||||||
|
*
|
||||||
|
* Revision 1.36 2002/04/26 21:53:30 jongfoster
|
||||||
|
* Fixing a memory leak. (Near, but not caused by, my earlier commit).
|
||||||
|
*
|
||||||
|
* Revision 1.35 2002/04/26 21:50:02 jongfoster
|
||||||
|
* Honouring default exports in edit-actions-for-url-filter template.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2002/04/26 12:54:17 oes
|
||||||
|
* Adaptions to changes in actions.c
|
||||||
|
*
|
||||||
|
* Revision 1.33 2002/04/24 02:17:47 oes
|
||||||
|
* - Moved get_char_param, get_string_param and get_number_param to cgi.c
|
||||||
|
* - Comments
|
||||||
|
* - Activated Jon's code for editing multiple AFs
|
||||||
|
* - cgi_edit_list_actions now provides context-sensitive
|
||||||
|
* help, looks up all action sets from standard.action and
|
||||||
|
* makes buttons for them in the catchall section
|
||||||
|
* - cgi_edit_action_submit now honors a p parameter, looks up
|
||||||
|
* the corresponding action set, and sets the catchall pattern's
|
||||||
|
* actions accordingly.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2002/04/19 16:55:31 jongfoster
|
||||||
|
* Fixing newline problems. If we do our own text file newline
|
||||||
|
* mangling, we don't want the library to do any, so we need to
|
||||||
|
* open the files in *binary* mode.
|
||||||
|
*
|
||||||
|
* Revision 1.31 2002/04/18 19:21:08 jongfoster
|
||||||
|
* Added code to detect "conventional" action files, that start
|
||||||
|
* with a set of actions for all URLs (the pattern "/").
|
||||||
|
* These are special-cased in the "edit-actions-list" CGI, so
|
||||||
|
* that a special UI can be written for them.
|
||||||
|
*
|
||||||
|
* Revision 1.30 2002/04/10 13:38:35 oes
|
||||||
|
* load_template signature changed
|
||||||
|
*
|
||||||
|
* Revision 1.29 2002/04/08 16:59:08 oes
|
||||||
|
* Fixed comment
|
||||||
|
*
|
||||||
|
* Revision 1.28 2002/03/27 12:30:29 oes
|
||||||
|
* Deleted unsused variable
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/03/26 23:06:04 jongfoster
|
||||||
|
* Removing duplicate @ifs on the toggle page
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/03/26 22:59:17 jongfoster
|
||||||
|
* Fixing /toggle to display status consistently.
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/03/24 15:23:33 jongfoster
|
||||||
|
* Name changes
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/03/24 13:32:41 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/22 18:02:48 jongfoster
|
||||||
|
* Fixing remote toggle
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/16 20:28:34 oes
|
||||||
|
* Added descriptions to the filters so users will know what they select in the cgi editor
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/03/16 18:38:14 jongfoster
|
||||||
|
* Stopping stupid or malicious users from breaking the actions
|
||||||
|
* file using the web-based editor.
|
||||||
|
*
|
||||||
|
* Revision 1.18 2002/03/16 14:57:44 jongfoster
|
||||||
|
* Full support for enabling/disabling modular filters.
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/03/16 14:26:42 jongfoster
|
||||||
|
* First version of modular filters support - READ ONLY!
|
||||||
|
* Fixing a double-free bug in the out-of-memory handling in map_radio().
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/03/07 03:46:17 oes
|
||||||
|
* Fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.15 2002/03/06 22:54:35 jongfoster
|
||||||
|
* Automated function-comment nitpicking.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2002/03/05 00:24:51 jongfoster
|
||||||
|
* Patch to always edit the current actions file.
|
||||||
|
*
|
||||||
|
* Revision 1.13 2002/03/04 02:07:59 david__schmidt
|
||||||
|
* Enable web editing of actions file on OS/2 (it had been broken all this time!)
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/03/03 09:18:03 joergs
|
||||||
|
* Made jumbjuster work on AmigaOS again.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/01/23 01:03:31 jongfoster
|
||||||
|
* Fixing gcc [CygWin] compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/01/23 00:22:59 jongfoster
|
||||||
|
* Adding new function cgi_edit_actions_section_swap(), to reorder
|
||||||
|
* the actions file.
|
||||||
|
*
|
||||||
|
* Adding get_url_spec_param() to get a validated URL pattern.
|
||||||
|
*
|
||||||
|
* Moving edit_read_line() out of this file and into loaders.c.
|
||||||
|
*
|
||||||
|
* Adding missing html_encode() to many CGI functions.
|
||||||
|
*
|
||||||
|
* Moving the functions that #include actionlist.h to the end of the file,
|
||||||
|
* because the Visual C++ 97 debugger gets extremely confused if you try
|
||||||
|
* to debug any code that comes after them in the file.
|
||||||
|
*
|
||||||
|
* Major optimizations in cgi_edit_actions_list() to reduce the size of
|
||||||
|
* the generated HTML (down 40% from 550k to 304k), with major side-effects
|
||||||
|
* throughout the editor and templates. In particular, the length of the
|
||||||
|
* URLs throughout the editor has been drastically reduced, by cutting
|
||||||
|
* paramater names down to 1 character and CGI names down to 3-4
|
||||||
|
* characters, by removing all non-essential CGI paramaters even at the
|
||||||
|
* expense of having to re-read the actions file for the most trivial
|
||||||
|
* page, and by using relative rather than absolute URLs. This means
|
||||||
|
* that this (typical example):
|
||||||
|
*
|
||||||
|
* <a href="http://ijbswa.sourceforge.net/config/edit-actions-url-form?
|
||||||
|
* filename=ijb&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"
|
#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,
|
static jb_err map_copy_parameter_html(struct map *out,
|
||||||
const struct map *in,
|
const struct map *in,
|
||||||
const char *name);
|
const char *name);
|
||||||
|
#if 0 /* unused function */
|
||||||
|
static jb_err map_copy_parameter_url(struct map *out,
|
||||||
|
const struct map *in,
|
||||||
|
const char *name);
|
||||||
|
#endif /* unused function */
|
||||||
|
|
||||||
static jb_err get_file_name_param(struct client_state *csp,
|
static jb_err get_file_name_param(struct client_state *csp,
|
||||||
const struct map *parameters,
|
const struct map *parameters,
|
||||||
|
@ -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
|
* 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)
|
if (rval)
|
||||||
{
|
{
|
||||||
/* Out of memory or empty file. */
|
/* 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);
|
free(cur_line);
|
||||||
return ((rval == JB_ERR_FILE) ? JB_ERR_OK : rval);
|
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
|
* Probably an old-school URL like
|
||||||
* http://config.privoxy.org/edit-actions-list?f=default
|
* 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)
|
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,
|
log_error(LOG_LEVEL_INFO,
|
||||||
"Timestamp mismatch limit reached, turning CGI editor off. "
|
"Timestamp mismatch limit reached, turning CGI editor off. "
|
||||||
"Reload the configuration file to re-enable it.");
|
"Reload the configuration file to reenable it.");
|
||||||
csp->config->feature_flags &= ~RUNTIME_FEATURE_CGI_EDIT_ACTIONS;
|
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);
|
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
|
* length limitation and ignore clicks on the Submit buttons if
|
||||||
* the resulting GET URL would be longer than their limit.
|
* the resulting GET URL would be longer than their limit.
|
||||||
*
|
*
|
||||||
|
@ -2827,7 +3235,7 @@ jb_err cgi_edit_actions_for_url(struct client_state *csp,
|
||||||
* browsers (BR #1570678).
|
* browsers (BR #1570678).
|
||||||
*
|
*
|
||||||
* The config option split-large-forms works around this browser
|
* The config option split-large-forms works around this browser
|
||||||
* bug (HTTP has no URL 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
|
* list form into multiple smaller ones. It means the URLs are shorter
|
||||||
* and work in broken browsers as well, but the user can no longer change
|
* and work in broken browsers as well, but the user can no longer change
|
||||||
* all actions with one submit.
|
* all actions with one submit.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef CGIEDIT_H_INCLUDED
|
#ifndef CGIEDIT_H_INCLUDED
|
||||||
#define CGIEDIT_H_INCLUDED
|
#define CGIEDIT_H_INCLUDED
|
||||||
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $
|
||||||
|
@ -35,8 +35,72 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: cgiedit.h,v $
|
||||||
|
* Revision 1.10 2008/08/31 15:59:03 fabiankeil
|
||||||
|
* There's no reason to let remote toggling support depend
|
||||||
|
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
|
||||||
|
*
|
||||||
|
* Revision 1.9 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.7.2.2 2004/02/17 13:30:23 oes
|
||||||
|
* Moved cgi_error_disabled() from cgiedit.c to
|
||||||
|
* cgi.c to re-enable build with --disable-editor.
|
||||||
|
* Fixes Bug #892744. Thanks to Matthew Fischer
|
||||||
|
* for spotting.
|
||||||
|
*
|
||||||
|
* Revision 1.7.2.1 2002/11/28 18:15:17 oes
|
||||||
|
* Added cgi_error_disabled
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/01/22 23:24:48 jongfoster
|
||||||
|
* Adding edit-actions-section-swap
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/11/13 00:28:51 jongfoster
|
||||||
|
* Adding new CGIs for use by non-JavaScript browsers:
|
||||||
|
* edit-actions-url-form
|
||||||
|
* edit-actions-add-url-form
|
||||||
|
* edit-actions-remove-url-form
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/10/23 21:48:19 jongfoster
|
||||||
|
* Cleaning up error handling in CGI functions - they now send back
|
||||||
|
* a HTML error page and should never cause a FATAL error. (Fixes one
|
||||||
|
* potential source of "denial of service" attacks).
|
||||||
|
*
|
||||||
|
* CGI actions file editor that works and is actually useful.
|
||||||
|
*
|
||||||
|
* Ability to toggle JunkBuster remotely using a CGI call.
|
||||||
|
*
|
||||||
|
* You can turn off both the above features in the main configuration
|
||||||
|
* file, e.g. if you are running a multi-user proxy.
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/10/14 22:12:49 jongfoster
|
||||||
|
* New version of CGI-based actionsfile editor.
|
||||||
|
* Major changes, including:
|
||||||
|
* - Completely new file parser and file output routines
|
||||||
|
* - edit-actions CGI renamed edit-actions-for-url
|
||||||
|
* - All CGIs now need a filename parameter, except for...
|
||||||
|
* - New CGI edit-actions which doesn't need a filename,
|
||||||
|
* to allow you to start the editor up.
|
||||||
|
* - edit-actions-submit now works, and now automatically
|
||||||
|
* redirects you back to the main edit-actions-list handler.
|
||||||
|
*
|
||||||
|
* Revision 1.1 2001/09/16 15:47:37 jongfoster
|
||||||
|
* First version of CGI-based edit interface. This is very much a
|
||||||
|
* work-in-progress, and you can't actually use it to edit anything
|
||||||
|
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
||||||
|
* to have any effect.
|
||||||
|
*
|
||||||
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
|
|
||||||
|
|
|
@ -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 $
|
* 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:
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: cgisimple.c,v $
|
||||||
|
* Revision 1.91 2009/03/08 14:19:23 fabiankeil
|
||||||
|
* Fix justified (but harmless) compiler warnings
|
||||||
|
* on platforms where sizeof(int) < sizeof(long).
|
||||||
|
*
|
||||||
|
* Revision 1.90 2009/03/01 18:43:09 fabiankeil
|
||||||
|
* Fix cparser warnings.
|
||||||
|
*
|
||||||
|
* Revision 1.89 2008/10/11 11:31:14 fabiankeil
|
||||||
|
* Add FEATURE_CONNECTION_KEEP_ALIVE to the list
|
||||||
|
* of conditional defines on the show-status page.
|
||||||
|
*
|
||||||
|
* Revision 1.88 2008/08/30 12:03:07 fabiankeil
|
||||||
|
* Remove FEATURE_COOKIE_JAR.
|
||||||
|
*
|
||||||
|
* Revision 1.87 2008/08/29 15:59:22 fabiankeil
|
||||||
|
* Fix two comments.
|
||||||
|
*
|
||||||
|
* Revision 1.86 2008/06/28 14:19:05 fabiankeil
|
||||||
|
* Protocol detection is done case-insensitive, fix assertion
|
||||||
|
* to do the same. Yay for Privoxy-Regression-Test and zzuf.
|
||||||
|
*
|
||||||
|
* Revision 1.85 2008/05/26 17:30:55 fabiankeil
|
||||||
|
* Provide an OpenSearch Description to access the
|
||||||
|
* show-url-info page through "search engine plugins".
|
||||||
|
*
|
||||||
|
* Revision 1.84 2008/05/26 16:16:55 fabiankeil
|
||||||
|
* Spell error correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.83 2008/05/12 14:51:30 fabiankeil
|
||||||
|
* Don't complain about an invalid URL if show-url-info is requested
|
||||||
|
* without parameters. Regression introduced in 1.81 by yours truly.
|
||||||
|
*
|
||||||
|
* Revision 1.82 2008/05/10 20:01:47 fabiankeil
|
||||||
|
* Fix an assertion that could erroneously
|
||||||
|
* trigger in case of memory shortage.
|
||||||
|
*
|
||||||
|
* Revision 1.81 2008/05/05 09:54:39 fabiankeil
|
||||||
|
* In cgi_show_url_info(), make sure ftp URLs are
|
||||||
|
* declared invalid. Also simplify the code that adds
|
||||||
|
* "http://" if no protocol has been specified.
|
||||||
|
*
|
||||||
|
* Revision 1.80 2008/05/04 16:18:32 fabiankeil
|
||||||
|
* Provide parse_http_url() with a third parameter to specify
|
||||||
|
* whether or not URLs without protocol are acceptable.
|
||||||
|
*
|
||||||
|
* Revision 1.79 2008/05/04 13:30:56 fabiankeil
|
||||||
|
* Streamline parse_http_url()'s prototype.
|
||||||
|
*
|
||||||
|
* Revision 1.78 2008/05/03 16:50:11 fabiankeil
|
||||||
|
* Leverage content_filters_enabled() in cgi_show_url_info().
|
||||||
|
*
|
||||||
|
* Revision 1.77 2008/05/02 09:47:48 fabiankeil
|
||||||
|
* In cgi_show_url_info, pass an initialized http structure
|
||||||
|
* to parse_http_url() as that will be required soonish and
|
||||||
|
* assert that https URLs are recognized correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.76 2008/04/28 09:13:30 fabiankeil
|
||||||
|
* In load_file(), remember the error reason and fclose()
|
||||||
|
* and return later on instead of right away.
|
||||||
|
*
|
||||||
|
* Revision 1.75 2008/04/27 13:52:52 fabiankeil
|
||||||
|
* Move CGI file loading code into load_file() and
|
||||||
|
* add checks for unexpected errors.
|
||||||
|
*
|
||||||
|
* Revision 1.74 2008/04/26 15:50:56 fabiankeil
|
||||||
|
* Fix macro name in cgi_show_file() error path.
|
||||||
|
*
|
||||||
|
* Revision 1.73 2008/04/26 12:21:55 fabiankeil
|
||||||
|
* Forget about JB_ERR_PARSE. JB_ERR_CGI_PARAMS to the rescue.
|
||||||
|
*
|
||||||
|
* Revision 1.72 2008/04/26 10:34:15 fabiankeil
|
||||||
|
* If zlib support is unavailable and there are content filters active
|
||||||
|
* but the prevent-compression action is disabled, include a warning
|
||||||
|
* on the show-url-info page that compression might prevent filtering.
|
||||||
|
*
|
||||||
|
* Revision 1.71 2008/04/25 13:33:56 fabiankeil
|
||||||
|
* - Factor cgi_show_file() out of cgi_show_status().
|
||||||
|
* - Adjust cgi_show_status()'s parameter description to match reality.
|
||||||
|
*
|
||||||
|
* Revision 1.70 2008/04/24 16:12:38 fabiankeil
|
||||||
|
* In cgi_show_status(), load the requested file at once.
|
||||||
|
* Using string_join() for every line really doesn't scale.
|
||||||
|
*
|
||||||
|
* Revision 1.69 2008/04/17 14:40:48 fabiankeil
|
||||||
|
* Provide get_http_time() with the buffer size so it doesn't
|
||||||
|
* have to blindly assume that the buffer is big enough.
|
||||||
|
*
|
||||||
|
* Revision 1.68 2008/03/27 18:27:21 fabiankeil
|
||||||
|
* Remove kill-popups action.
|
||||||
|
*
|
||||||
|
* Revision 1.67 2008/03/27 17:00:05 fabiankeil
|
||||||
|
* Turn the favicon blobs into locals.
|
||||||
|
*
|
||||||
|
* Revision 1.66 2008/02/23 16:57:12 fabiankeil
|
||||||
|
* Rename url_actions() to get_url_actions() and let it
|
||||||
|
* use the standard parameter ordering.
|
||||||
|
*
|
||||||
|
* Revision 1.65 2008/02/23 16:33:43 fabiankeil
|
||||||
|
* Let forward_url() use the standard parameter ordering
|
||||||
|
* and mark its second parameter immutable.
|
||||||
|
*
|
||||||
|
* Revision 1.64 2008/02/03 13:56:07 fabiankeil
|
||||||
|
* Add SOCKS5 support for show-url-info CGI page.
|
||||||
|
*
|
||||||
|
* Revision 1.63 2008/02/01 06:04:31 fabiankeil
|
||||||
|
* If edit buttons on the show-url-info CGI page are hidden, explain why.
|
||||||
|
*
|
||||||
|
* Revision 1.62 2008/02/01 05:52:40 fabiankeil
|
||||||
|
* Hide edit buttons on the show-url-info CGI page if enable-edit-action
|
||||||
|
* is disabled. Patch by Lee with additional white space adjustments.
|
||||||
|
*
|
||||||
|
* Revision 1.61 2008/01/26 11:13:25 fabiankeil
|
||||||
|
* If enable-edit-actions is disabled, hide the edit buttons and explain why.
|
||||||
|
*
|
||||||
|
* Revision 1.60 2007/10/27 13:12:13 fabiankeil
|
||||||
|
* Finish 1.49 and check write access before
|
||||||
|
* showing edit buttons on show-url-info page.
|
||||||
|
*
|
||||||
|
* Revision 1.59 2007/10/19 16:42:36 fabiankeil
|
||||||
|
* Plug memory leak I introduced five months ago.
|
||||||
|
* Yay Valgrind and Privoxy-Regression-Test.
|
||||||
|
*
|
||||||
|
* Revision 1.58 2007/07/21 12:19:50 fabiankeil
|
||||||
|
* If show-url-info is called with an URL that Privoxy
|
||||||
|
* would reject as invalid, don't show unresolved forwarding
|
||||||
|
* variables, "final matches" or claim the site's secure.
|
||||||
|
*
|
||||||
|
* Revision 1.57 2007/06/01 16:53:05 fabiankeil
|
||||||
|
* Adjust cgi_show_url_info() to show what forward-override{}
|
||||||
|
* would do with the requested URL (instead of showing how the
|
||||||
|
* request for the CGI page would be forwarded if it wasn't a
|
||||||
|
* CGI request).
|
||||||
|
*
|
||||||
|
* Revision 1.56 2007/05/21 10:50:35 fabiankeil
|
||||||
|
* - Use strlcpy() instead of strcpy().
|
||||||
|
* - Stop treating actions files special. Expect a complete file name
|
||||||
|
* (with or without path) like it's done for the rest of the files.
|
||||||
|
* Closes FR#588084.
|
||||||
|
* - Don't rerun sed() in cgi_show_request().
|
||||||
|
*
|
||||||
|
* Revision 1.55 2007/04/13 13:36:46 fabiankeil
|
||||||
|
* Reference action files in CGI URLs by id instead
|
||||||
|
* of using the first part of the file name.
|
||||||
|
* Fixes BR 1694250 and BR 1590556.
|
||||||
|
*
|
||||||
|
* Revision 1.54 2007/04/09 18:11:35 fabiankeil
|
||||||
|
* Don't mistake VC++'s _snprintf() for a snprintf() replacement.
|
||||||
|
*
|
||||||
|
* Revision 1.53 2007/04/08 13:21:04 fabiankeil
|
||||||
|
* Reference action files in CGI URLs by id instead
|
||||||
|
* of using the first part of the file name.
|
||||||
|
* Fixes BR 1694250 and BR 1590556.
|
||||||
|
*
|
||||||
|
* Revision 1.52 2007/02/13 15:10:26 fabiankeil
|
||||||
|
* Apparently fopen()ing in "binary" mode doesn't require
|
||||||
|
* #ifdefs, it's already done without them in cgiedit.c.
|
||||||
|
*
|
||||||
|
* Revision 1.51 2007/02/10 16:55:22 fabiankeil
|
||||||
|
* - Show forwarding settings on the show-url-info page
|
||||||
|
* - Fix some HTML syntax errors.
|
||||||
|
*
|
||||||
|
* Revision 1.50 2007/01/23 15:51:17 fabiankeil
|
||||||
|
* Add favicon delivery functions.
|
||||||
|
*
|
||||||
|
* Revision 1.49 2007/01/20 16:29:38 fabiankeil
|
||||||
|
* Suppress edit buttons for action files if Privoxy has
|
||||||
|
* no write access. Suggested by Roland in PR 1564026.
|
||||||
|
*
|
||||||
|
* Revision 1.48 2007/01/20 15:31:31 fabiankeil
|
||||||
|
* Display warning if show-url-info CGI page
|
||||||
|
* is used while Privoxy is toggled off.
|
||||||
|
*
|
||||||
|
* Revision 1.47 2007/01/12 15:07:10 fabiankeil
|
||||||
|
* Use zalloc in cgi_send_user_manual.
|
||||||
|
*
|
||||||
|
* Revision 1.46 2007/01/02 12:49:46 fabiankeil
|
||||||
|
* Add FEATURE_ZLIB to the list of conditional
|
||||||
|
* defines at the show-status page.
|
||||||
|
*
|
||||||
|
* Revision 1.45 2006/12/28 18:16:41 fabiankeil
|
||||||
|
* Fixed gcc43 compiler warnings, zero out cgi_send_user_manual's
|
||||||
|
* body memory before using it, replaced sprintf calls with snprintf.
|
||||||
|
*
|
||||||
|
* Revision 1.44 2006/12/22 14:19:27 fabiankeil
|
||||||
|
* Removed checks whether or not AF_FILES have
|
||||||
|
* data structures associated with them in cgi_show_status.
|
||||||
|
* It doesn't matter as we're only interested in the file names.
|
||||||
|
*
|
||||||
|
* For the action files the checks were always true,
|
||||||
|
* but they prevented empty filter files from being
|
||||||
|
* listed. Fixes parts of BR 1619208.
|
||||||
|
*
|
||||||
|
* Revision 1.43 2006/12/17 17:57:56 fabiankeil
|
||||||
|
* - Added FEATURE_GRACEFUL_TERMINATION to the
|
||||||
|
* "conditional #defines" section
|
||||||
|
* - Escaped ampersands in generated HTML.
|
||||||
|
* - Renamed re-filter-filename to re-filter-filenames
|
||||||
|
*
|
||||||
|
* Revision 1.42 2006/11/21 15:43:12 fabiankeil
|
||||||
|
* Add special treatment for WIN32 to make sure
|
||||||
|
* cgi_send_user_manual opens the files in binary mode.
|
||||||
|
* Fixes BR 1600411 and unbreaks image delivery.
|
||||||
|
*
|
||||||
|
* Remove outdated comment.
|
||||||
|
*
|
||||||
|
* Revision 1.41 2006/10/09 19:18:28 roro
|
||||||
|
* Redirect http://p.p/user-manual (without trailing slash) to
|
||||||
|
* http://p.p/user-manual/ (with trailing slash), otherwise links will be broken.
|
||||||
|
*
|
||||||
|
* Revision 1.40 2006/09/09 13:05:33 fabiankeil
|
||||||
|
* Modified cgi_send_user_manual to serve binary
|
||||||
|
* content without destroying it first. Should also be
|
||||||
|
* faster now. Added ".jpg" check for Content-Type guessing.
|
||||||
|
*
|
||||||
|
* Revision 1.39 2006/09/08 09:49:23 fabiankeil
|
||||||
|
* Deliver documents in the user-manual directory
|
||||||
|
* with "Content-Type text/css" if their filename
|
||||||
|
* ends with ".css".
|
||||||
|
*
|
||||||
|
* Revision 1.38 2006/09/06 18:45:03 fabiankeil
|
||||||
|
* Incorporate modified version of Roland Rosenfeld's patch to
|
||||||
|
* optionally access the user-manual via Privoxy. Closes patch 679075.
|
||||||
|
*
|
||||||
|
* Formatting changed to Privoxy style, added call to
|
||||||
|
* cgi_error_no_template if the requested file doesn't
|
||||||
|
* exist and modified check whether or not Privoxy itself
|
||||||
|
* should serve the manual. Should work cross-platform now.
|
||||||
|
*
|
||||||
|
* Revision 1.37 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.7 2006/01/29 23:10:56 david__schmidt
|
||||||
|
* Multiple filter file support
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.6 2005/07/04 03:13:43 david__schmidt
|
||||||
|
* Undo some damaging memory leak patches
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.5 2005/05/07 21:50:55 david__schmidt
|
||||||
|
* A few memory leaks plugged (mostly on error paths)
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.4 2005/04/04 02:21:24 david__schmidt
|
||||||
|
* Another instance of:
|
||||||
|
* Don't show "Edit" buttons #ifndef FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
* Thanks to Magnus Holmgren for the patch
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.3 2003/12/17 16:34:15 oes
|
||||||
|
* - Prevent line wrap beween "View/Edit" link buttons on status page
|
||||||
|
* - Some (mostly irrelevant) fixes for Out-of-mem-case handling
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.2 2003/04/03 13:48:28 oes
|
||||||
|
* Don't show "Edit" buttons #ifndef FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.1 2002/07/04 15:02:38 oes
|
||||||
|
* Added ability to send redirects to send-banner CGI, so that it can completely mimic the image blocking action if called with type=auto
|
||||||
|
*
|
||||||
|
* Revision 1.35.2.1 2002/07/01 17:32:04 morcego
|
||||||
|
* Applying patch from Andreas as provided by Hal on the list.
|
||||||
|
* Message-ID: <20020701121218.V1606@feenix.burgiss.net>
|
||||||
|
*
|
||||||
|
* Revision 1.35 2002/05/12 21:44:44 jongfoster
|
||||||
|
* Adding amiga.[ch] revision information, if on an amiga.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2002/04/30 12:06:12 oes
|
||||||
|
* Deleted unused code from default_cgi
|
||||||
|
*
|
||||||
|
* Revision 1.33 2002/04/30 11:14:52 oes
|
||||||
|
* Made csp the first parameter in *action_to_html
|
||||||
|
*
|
||||||
|
* Revision 1.32 2002/04/26 18:29:13 jongfoster
|
||||||
|
* Fixing this Visual C++ warning:
|
||||||
|
* cgisimple.c(775) : warning C4018: '<' : signed/unsigned mismatch
|
||||||
|
*
|
||||||
|
* Revision 1.31 2002/04/26 12:54:36 oes
|
||||||
|
* - Kill obsolete REDIRECT_URL code
|
||||||
|
* - Error handling fixes
|
||||||
|
* - Style sheet related HTML snipplet changes
|
||||||
|
* - cgi_show_url_info:
|
||||||
|
* - Matches now in table, actions on single lines,
|
||||||
|
* linked to help
|
||||||
|
* - standard.action suppressed
|
||||||
|
* - Buttons to View and Edit AFs
|
||||||
|
*
|
||||||
|
* Revision 1.30 2002/04/24 02:18:08 oes
|
||||||
|
* - show-status is now the starting point for editing
|
||||||
|
* the actions files, generate list of all AFs with buttons
|
||||||
|
* for viewing and editing, new look for file list (Jon:
|
||||||
|
* buttons now aligned ;-P ), view mode now supports multiple
|
||||||
|
* AFs, name changes, no view links for unspecified files,
|
||||||
|
* no edit link for standard.action.
|
||||||
|
*
|
||||||
|
* - Jon's multiple AF patch: cgi_show_url_info now uses all
|
||||||
|
* AFs and marks the output accordingly
|
||||||
|
*
|
||||||
|
* Revision 1.29 2002/04/10 13:38:35 oes
|
||||||
|
* load_template signature changed
|
||||||
|
*
|
||||||
|
* Revision 1.28 2002/04/07 15:42:12 jongfoster
|
||||||
|
* Fixing send-banner?type=auto when the image-blocker is
|
||||||
|
* a redirect to send-banner
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/05 15:50:48 oes
|
||||||
|
* added send-stylesheet CGI
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/04/04 00:36:36 gliptak
|
||||||
|
* always use pcre for matching
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/04/03 22:28:03 gliptak
|
||||||
|
* Removed references to gnu_regex
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/04/02 16:12:47 oes
|
||||||
|
* Fix: moving misplaced lines into #ifdef FEATURE_FORCE
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/24 16:18:15 jongfoster
|
||||||
|
* Removing old logo
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/24 15:23:33 jongfoster
|
||||||
|
* Name changes
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/03/16 23:54:06 jongfoster
|
||||||
|
* Adding graceful termination feature, to help look for memory leaks.
|
||||||
|
* If you enable this (which, by design, has to be done by hand
|
||||||
|
* editing config.h) and then go to http://i.j.b/die, then the program
|
||||||
|
* will exit cleanly after the *next* request. It should free all the
|
||||||
|
* memory that was used.
|
||||||
|
*
|
||||||
|
* Revision 1.18 2002/03/12 01:44:49 oes
|
||||||
|
* Changed default for "blocked" image from jb logo to checkboard pattern
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/03/08 16:43:18 oes
|
||||||
|
* Added choice beween GIF and PNG built-in images
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/03/07 03:48:38 oes
|
||||||
|
* - Changed built-in images from GIF to PNG
|
||||||
|
* (with regard to Unisys patent issue)
|
||||||
|
* - Added a 4x4 pattern PNG which is less intrusive
|
||||||
|
* than the logo but also clearly marks the deleted banners
|
||||||
|
*
|
||||||
|
* Revision 1.15 2002/03/06 22:54:35 jongfoster
|
||||||
|
* Automated function-comment nitpicking.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2002/03/02 04:14:50 david__schmidt
|
||||||
|
* Clean up a little CRLF unpleasantness that suddenly appeared
|
||||||
|
*
|
||||||
|
* Revision 1.13 2002/02/21 00:10:37 jongfoster
|
||||||
|
* Adding send-banner?type=auto option
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/01/23 01:03:32 jongfoster
|
||||||
|
* Fixing gcc [CygWin] compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/01/23 00:01:04 jongfoster
|
||||||
|
* Adding cgi_transparent_gif() for http://i.j.b/t
|
||||||
|
* Adding missing html_encode() to many CGI functions.
|
||||||
|
* Adding urlmatch.[ch] to http://i.j.b/show-version
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/01/17 21:10:37 jongfoster
|
||||||
|
* Changes to cgi_show_url_info to use new matching code from urlmatch.c.
|
||||||
|
* Also fixing a problem in the same function with improperly quoted URLs
|
||||||
|
* in output HTML, and adding code to handle https:// URLs correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/11/30 23:09:15 jongfoster
|
||||||
|
* Now reports on FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
* Removing FEATURE_DENY_GZIP from template
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/11/13 00:14:07 jongfoster
|
||||||
|
* Fixing stupid bug now I've figured out what || means.
|
||||||
|
* (It always returns 0 or 1, not one of it's paramaters.)
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/10/23 21:48:19 jongfoster
|
||||||
|
* Cleaning up error handling in CGI functions - they now send back
|
||||||
|
* a HTML error page and should never cause a FATAL error. (Fixes one
|
||||||
|
* potential source of "denial of service" attacks).
|
||||||
|
*
|
||||||
|
* CGI actions file editor that works and is actually useful.
|
||||||
|
*
|
||||||
|
* Ability to toggle JunkBuster remotely using a CGI call.
|
||||||
|
*
|
||||||
|
* You can turn off both the above features in the main configuration
|
||||||
|
* file, e.g. if you are running a multi-user proxy.
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/10/14 22:00:32 jongfoster
|
||||||
|
* Adding support for a 404 error when an invalid CGI page is requested.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/10/07 15:30:41 oes
|
||||||
|
* Removed FEATURE_DENY_GZIP
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/10/02 15:31:12 oes
|
||||||
|
* Introduced show-request cgi
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/09/22 16:34:44 jongfoster
|
||||||
|
* Removing unneeded #includes
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/09/19 18:01:11 oes
|
||||||
|
* Fixed comments; cosmetics
|
||||||
|
*
|
||||||
|
* Revision 1.1 2001/09/16 17:08:54 jongfoster
|
||||||
|
* Moving simple CGI functions from cgi.c to new file cgisimple.c
|
||||||
|
*
|
||||||
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
@ -181,20 +588,6 @@ jb_err cgi_die (struct client_state *csp,
|
||||||
struct http_response *rsp,
|
struct http_response *rsp,
|
||||||
const struct map *parameters)
|
const struct map *parameters)
|
||||||
{
|
{
|
||||||
static const char status[] = "200 OK Privoxy shutdown request received";
|
|
||||||
static const char body[] =
|
|
||||||
"<html>\n"
|
|
||||||
"<head>\n"
|
|
||||||
" <title>Privoxy shutdown request received</title>\n"
|
|
||||||
" <link rel=\"shortcut icon\" href=\"" CGI_PREFIX "error-favicon.ico\" type=\"image/x-icon\">\n"
|
|
||||||
" <link rel=\"stylesheet\" type=\"text/css\" href=\"http://config.privoxy.org/send-stylesheet\">\n"
|
|
||||||
"</head>\n"
|
|
||||||
"<body>\n"
|
|
||||||
"<h1>Privoxy shutdown request received</h1>\n"
|
|
||||||
"<p>Privoxy is going to shut down after the next request.</p>\n"
|
|
||||||
"</body>\n"
|
|
||||||
"</html>\n";
|
|
||||||
|
|
||||||
assert(csp);
|
assert(csp);
|
||||||
assert(rsp);
|
assert(rsp);
|
||||||
assert(parameters);
|
assert(parameters);
|
||||||
|
@ -202,21 +595,12 @@ jb_err cgi_die (struct client_state *csp,
|
||||||
/* quit */
|
/* quit */
|
||||||
g_terminate = 1;
|
g_terminate = 1;
|
||||||
|
|
||||||
csp->flags &= ~CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE;
|
/*
|
||||||
|
* I don't really care what gets sent back to the browser.
|
||||||
|
* Take the easy option - "out of memory" page.
|
||||||
|
*/
|
||||||
|
|
||||||
rsp->content_length = 0;
|
return JB_ERR_MEMORY;
|
||||||
rsp->head_length = 0;
|
|
||||||
rsp->is_static = 0;
|
|
||||||
|
|
||||||
rsp->body = strdup(body);
|
|
||||||
rsp->status = strdup(status);
|
|
||||||
|
|
||||||
if ((rsp->body == NULL) || (rsp->status == NULL))
|
|
||||||
{
|
|
||||||
return JB_ERR_MEMORY;
|
|
||||||
}
|
|
||||||
|
|
||||||
return JB_ERR_OK;
|
|
||||||
}
|
}
|
||||||
#endif /* def FEATURE_GRACEFUL_TERMINATION */
|
#endif /* def FEATURE_GRACEFUL_TERMINATION */
|
||||||
|
|
||||||
|
@ -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
|
* Function : cgi_send_user_manual
|
||||||
|
@ -746,22 +1088,15 @@ jb_err cgi_send_user_manual(struct client_state *csp,
|
||||||
struct http_response *rsp,
|
struct http_response *rsp,
|
||||||
const struct map *parameters)
|
const struct map *parameters)
|
||||||
{
|
{
|
||||||
const char *filename;
|
const char * filename;
|
||||||
char *full_path;
|
char *full_path;
|
||||||
jb_err err = JB_ERR_OK;
|
jb_err err = JB_ERR_OK;
|
||||||
const char *content_type;
|
size_t length;
|
||||||
|
|
||||||
assert(csp);
|
assert(csp);
|
||||||
assert(rsp);
|
assert(rsp);
|
||||||
assert(parameters);
|
assert(parameters);
|
||||||
|
|
||||||
if (0 == strncmpic(csp->config->usermanual, "http://", 7))
|
|
||||||
{
|
|
||||||
log_error(LOG_LEVEL_CGI, "Request for local user-manual "
|
|
||||||
"received while user-manual delivery is disabled.");
|
|
||||||
return cgi_error_404(csp, rsp, parameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!parameters->first)
|
if (!parameters->first)
|
||||||
{
|
{
|
||||||
/* requested http://p.p/user-manual (without trailing slash) */
|
/* requested http://p.p/user-manual (without trailing slash) */
|
||||||
|
@ -769,24 +1104,17 @@ jb_err cgi_send_user_manual(struct client_state *csp,
|
||||||
}
|
}
|
||||||
|
|
||||||
get_string_param(parameters, "file", &filename);
|
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. */
|
return JB_ERR_CGI_PARAMS;
|
||||||
filename = "index.html";
|
|
||||||
}
|
}
|
||||||
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;
|
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)
|
if (full_path == NULL)
|
||||||
{
|
{
|
||||||
return JB_ERR_MEMORY;
|
return JB_ERR_MEMORY;
|
||||||
|
@ -805,12 +1133,29 @@ jb_err cgi_send_user_manual(struct client_state *csp,
|
||||||
}
|
}
|
||||||
freez(full_path);
|
freez(full_path);
|
||||||
|
|
||||||
content_type = get_content_type(filename);
|
/* Guess correct Content-Type based on the filename's ending */
|
||||||
log_error(LOG_LEVEL_CGI,
|
if (filename)
|
||||||
"Content-Type guessed for %s: %s", filename, content_type);
|
{
|
||||||
|
length = strlen(filename);
|
||||||
return enlist_unique_header(rsp->headers, "Content-Type", content_type);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
length = 0;
|
||||||
|
}
|
||||||
|
if((length>=4) && !strcmp(&filename[length-4], ".css"))
|
||||||
|
{
|
||||||
|
err = enlist(rsp->headers, "Content-Type: text/css");
|
||||||
|
}
|
||||||
|
else if((length>=4) && !strcmp(&filename[length-4], ".jpg"))
|
||||||
|
{
|
||||||
|
err = enlist(rsp->headers, "Content-Type: image/jpeg");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
err = enlist(rsp->headers, "Content-Type: text/html");
|
||||||
|
}
|
||||||
|
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
* 1) "http://" or "https://" prefix present and followed by URL - OK
|
||||||
* 2) Only the "http://" or "https://" part is present, no URL - change
|
* 2) Only the "http://" or "https://" part is present, no URL - change
|
||||||
* to empty string so it will be detected later as "no URL".
|
* to empty string so it will be detected later as "no URL".
|
||||||
* 3) Parameter specified but doesn't start with "http(s?)://" - add a
|
* 3) Parameter specified but doesn't contain "http(s?)://" - add a
|
||||||
* "http://" prefix.
|
* "http://" prefix.
|
||||||
* 4) Parameter not specified or is empty string - let this fall through
|
* 4) Parameter not specified or is empty string - let this fall through
|
||||||
* for now, next block of code will handle it.
|
* for now, next block of code will handle it.
|
||||||
|
@ -1160,14 +1505,9 @@ jb_err cgi_show_url_info(struct client_state *csp,
|
||||||
url_param[0] = '\0';
|
url_param[0] = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((url_param[0] != '\0')
|
else if ((url_param[0] != '\0') && (NULL == strstr(url_param, "://")))
|
||||||
&& ((NULL == strstr(url_param, "://")
|
|
||||||
|| (strstr(url_param, "://") > strstr(url_param, "/")))))
|
|
||||||
{
|
{
|
||||||
/*
|
/* No prefix - assume http:// */
|
||||||
* No prefix or at least no prefix before
|
|
||||||
* the first slash - assume http://
|
|
||||||
*/
|
|
||||||
char *url_param_prefixed = strdup("http://");
|
char *url_param_prefixed = strdup("http://");
|
||||||
|
|
||||||
if (JB_ERR_OK != string_join(&url_param_prefixed, url_param))
|
if (JB_ERR_OK != string_join(&url_param_prefixed, url_param))
|
||||||
|
@ -1558,12 +1898,6 @@ static jb_err show_defines(struct map *exports)
|
||||||
{
|
{
|
||||||
jb_err err = JB_ERR_OK;
|
jb_err err = JB_ERR_OK;
|
||||||
|
|
||||||
#ifdef FEATURE_ACCEPT_FILTER
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_ACCEPT_FILTER", 1);
|
|
||||||
#else /* ifndef FEATURE_ACCEPT_FILTER */
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_ACCEPT_FILTER", 0);
|
|
||||||
#endif /* ndef FEATURE_ACCEPT_FILTER */
|
|
||||||
|
|
||||||
#ifdef FEATURE_ACL
|
#ifdef FEATURE_ACL
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_ACL", 1);
|
if (!err) err = map_conditional(exports, "FEATURE_ACL", 1);
|
||||||
#else /* ifndef FEATURE_ACL */
|
#else /* ifndef FEATURE_ACL */
|
||||||
|
@ -1576,24 +1910,12 @@ static jb_err show_defines(struct map *exports)
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0);
|
if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0);
|
||||||
#endif /* ndef FEATURE_CGI_EDIT_ACTIONS */
|
#endif /* ndef FEATURE_CGI_EDIT_ACTIONS */
|
||||||
|
|
||||||
#ifdef FEATURE_COMPRESSION
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_COMPRESSION", 1);
|
|
||||||
#else /* ifndef FEATURE_COMPRESSION */
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_COMPRESSION", 0);
|
|
||||||
#endif /* ndef FEATURE_COMPRESSION */
|
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1);
|
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1);
|
||||||
#else /* ifndef FEATURE_CONNECTION_KEEP_ALIVE */
|
#else /* ifndef FEATURE_CGI_EDIT_ACTIONS */
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 0);
|
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 0);
|
||||||
#endif /* ndef FEATURE_CONNECTION_KEEP_ALIVE */
|
#endif /* ndef FEATURE_CONNECTION_KEEP_ALIVE */
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_SHARING
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_SHARING", 1);
|
|
||||||
#else /* ifndef FEATURE_CONNECTION_SHARING */
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_SHARING", 0);
|
|
||||||
#endif /* ndef FEATURE_CONNECTION_SHARING */
|
|
||||||
|
|
||||||
#ifdef FEATURE_FAST_REDIRECTS
|
#ifdef FEATURE_FAST_REDIRECTS
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_FAST_REDIRECTS", 1);
|
if (!err) err = map_conditional(exports, "FEATURE_FAST_REDIRECTS", 1);
|
||||||
#else /* ifndef FEATURE_FAST_REDIRECTS */
|
#else /* ifndef FEATURE_FAST_REDIRECTS */
|
||||||
|
@ -1626,12 +1948,6 @@ static jb_err show_defines(struct map *exports)
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0);
|
if (!err) err = map_conditional(exports, "FEATURE_IMAGE_DETECT_MSIE", 0);
|
||||||
#endif /* ndef FEATURE_IMAGE_DETECT_MSIE */
|
#endif /* ndef FEATURE_IMAGE_DETECT_MSIE */
|
||||||
|
|
||||||
#ifdef HAVE_RFC2553
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_IPV6_SUPPORT", 1);
|
|
||||||
#else /* ifndef HAVE_RFC2553 */
|
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_IPV6_SUPPORT", 0);
|
|
||||||
#endif /* ndef HAVE_RFC2553 */
|
|
||||||
|
|
||||||
#ifdef FEATURE_NO_GIFS
|
#ifdef FEATURE_NO_GIFS
|
||||||
if (!err) err = map_conditional(exports, "FEATURE_NO_GIFS", 1);
|
if (!err) err = map_conditional(exports, "FEATURE_NO_GIFS", 1);
|
||||||
#else /* ifndef FEATURE_NO_GIFS */
|
#else /* ifndef FEATURE_NO_GIFS */
|
||||||
|
@ -1922,7 +2238,6 @@ static jb_err load_file(const char *filename, char **buffer, size_t *length)
|
||||||
fp = fopen(filename, "rb");
|
fp = fopen(filename, "rb");
|
||||||
if (NULL == fp)
|
if (NULL == fp)
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_ERROR, "Failed to open %s: %E", filename);
|
|
||||||
return JB_ERR_FILE;
|
return JB_ERR_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef CGISIMPLE_H_INCLUDED
|
#ifndef CGISIMPLE_H_INCLUDED
|
||||||
#define CGISIMPLE_H_INCLUDED
|
#define CGISIMPLE_H_INCLUDED
|
||||||
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
|
||||||
|
@ -36,8 +36,78 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: cgisimple.h,v $
|
||||||
|
* Revision 1.16 2008/05/26 17:30:55 fabiankeil
|
||||||
|
* Provide an OpenSearch Description to access the
|
||||||
|
* show-url-info page through "search engine plugins".
|
||||||
|
*
|
||||||
|
* Revision 1.15 2007/01/23 15:51:17 fabiankeil
|
||||||
|
* Add favicon delivery functions.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2006/09/06 18:45:03 fabiankeil
|
||||||
|
* Incorporate modified version of Roland Rosenfeld's patch to
|
||||||
|
* optionally access the user-manual via Privoxy. Closes patch 679075.
|
||||||
|
*
|
||||||
|
* Formatting changed to Privoxy style, added call to
|
||||||
|
* cgi_error_no_template if the requested file doesn't
|
||||||
|
* exist and modified check whether or not Privoxy itself
|
||||||
|
* should serve the manual. Should work cross-platform now.
|
||||||
|
*
|
||||||
|
* Revision 1.13 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/04/05 15:50:53 oes
|
||||||
|
* added send-stylesheet CGI
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/16 23:54:06 jongfoster
|
||||||
|
* Adding graceful termination feature, to help look for memory leaks.
|
||||||
|
* If you enable this (which, by design, has to be done by hand
|
||||||
|
* editing config.h) and then go to http://i.j.b/die, then the program
|
||||||
|
* will exit cleanly after the *next* request. It should free all the
|
||||||
|
* memory that was used.
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/08 16:43:59 oes
|
||||||
|
* Renamed cgi_transparent_png to cgi_transparent_image
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/07 03:48:59 oes
|
||||||
|
* - Changed built-in images from GIF to PNG
|
||||||
|
* (with regard to Unisys patent issue)
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/01/22 23:26:03 jongfoster
|
||||||
|
* Adding cgi_transparent_gif() for http://i.j.b/t
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/10/23 21:48:19 jongfoster
|
||||||
|
* Cleaning up error handling in CGI functions - they now send back
|
||||||
|
* a HTML error page and should never cause a FATAL error. (Fixes one
|
||||||
|
* potential source of "denial of service" attacks).
|
||||||
|
*
|
||||||
|
* CGI actions file editor that works and is actually useful.
|
||||||
|
*
|
||||||
|
* Ability to toggle JunkBuster remotely using a CGI call.
|
||||||
|
*
|
||||||
|
* You can turn off both the above features in the main configuration
|
||||||
|
* file, e.g. if you are running a multi-user proxy.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/10/14 22:00:32 jongfoster
|
||||||
|
* Adding support for a 404 error when an invalid CGI page is requested.
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/10/02 15:31:20 oes
|
||||||
|
* Introduced show-request cgi
|
||||||
|
*
|
||||||
|
* Revision 1.1 2001/09/16 17:08:54 jongfoster
|
||||||
|
* Moving simple CGI functions from cgi.c to new file cgisimple.c
|
||||||
|
*
|
||||||
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "project.h"
|
#include "project.h"
|
||||||
|
|
||||||
|
|
|
@ -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
|
# user-manual /usr/share/doc/privoxy/user-manual
|
||||||
#
|
#
|
||||||
|
#
|
||||||
# The User Manual is then available to anyone with
|
# The User Manual is then available to anyone with
|
||||||
# access to Privoxy, by following the built-in URL:
|
# access to Privoxy, by following the built-in URL:
|
||||||
# http://config.privoxy.org/user-manual/ (or the shortcut:
|
# http://config.privoxy.org/user-manual/ (or the shortcut:
|
||||||
|
@ -123,6 +124,7 @@
|
||||||
#
|
#
|
||||||
# user-manual http://example.com/privoxy/user-manual/
|
# user-manual http://example.com/privoxy/user-manual/
|
||||||
#
|
#
|
||||||
|
#
|
||||||
# WARNING!!!
|
# WARNING!!!
|
||||||
#
|
#
|
||||||
# If set, this option should be the first option in the config
|
# If set, this option should be the first option in the config
|
||||||
|
@ -414,7 +416,7 @@ actionsfile user.action # User customizations
|
||||||
# separate file, such as user.filter.
|
# separate file, such as user.filter.
|
||||||
#
|
#
|
||||||
filterfile default.filter
|
filterfile default.filter
|
||||||
filterfile user.filter # User customizations
|
#filterfile user.filter # User customizations
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 2.6. logfile
|
# 2.6. logfile
|
||||||
|
@ -558,7 +560,7 @@ logfile logfile
|
||||||
# debug 2 # show each connection status
|
# debug 2 # show each connection status
|
||||||
# debug 4 # show I/O status
|
# debug 4 # show I/O status
|
||||||
# debug 8 # show header parsing
|
# debug 8 # show header parsing
|
||||||
# debug 16 # log all data written to the network
|
# debug 16 # log all data written to the network into the logfile
|
||||||
# debug 32 # debug force feature
|
# debug 32 # debug force feature
|
||||||
# debug 64 # debug regular expression filters
|
# debug 64 # debug regular expression filters
|
||||||
# debug 128 # debug redirects
|
# debug 128 # debug redirects
|
||||||
|
@ -568,16 +570,15 @@ logfile logfile
|
||||||
# debug 2048 # CGI user interface
|
# debug 2048 # CGI user interface
|
||||||
# debug 4096 # Startup banner and warnings.
|
# debug 4096 # Startup banner and warnings.
|
||||||
# debug 8192 # Non-fatal errors
|
# debug 8192 # Non-fatal errors
|
||||||
# debug 32768 # log all data read from the network
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# To select multiple debug levels, you can either add them or
|
# To select multiple debug levels, you can either add them or
|
||||||
# use multiple debug lines.
|
# use multiple debug lines.
|
||||||
#
|
#
|
||||||
# A debug level of 1 is informative because it will show you each
|
# A debug level of 1 is informative because it will show you each
|
||||||
# request as it happens. 1, 1024, 4096 and 8192 are recommended
|
# request as it happens. 1, 4096 and 8192 are recommended so that
|
||||||
# so that you will notice when things go wrong. The other levels
|
# you will notice when things go wrong. The other levels are
|
||||||
# are probably only of interest if you are hunting down a specific
|
# probably only of interest if you are hunting down a specific
|
||||||
# problem. They can produce a hell of an output (especially 16).
|
# problem. They can produce a hell of an output (especially 16).
|
||||||
#
|
#
|
||||||
# Privoxy used to ship with the debug levels recommended above
|
# Privoxy used to ship with the debug levels recommended above
|
||||||
|
@ -681,24 +682,22 @@ logfile logfile
|
||||||
#
|
#
|
||||||
# Specifies:
|
# 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.
|
# client requests.
|
||||||
#
|
#
|
||||||
# Type of value:
|
# Type of value:
|
||||||
#
|
#
|
||||||
# [IP-Address]:Port
|
# [IP-Address]:Port
|
||||||
#
|
#
|
||||||
# [Hostname]:Port
|
|
||||||
#
|
|
||||||
# Default value:
|
# Default value:
|
||||||
#
|
#
|
||||||
# 127.0.0.1:8118
|
# 127.0.0.1:8118
|
||||||
#
|
#
|
||||||
# Effect if unset:
|
# Effect if unset:
|
||||||
#
|
#
|
||||||
# Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable
|
# Bind to 127.0.0.1 (localhost), port 8118. This is suitable and
|
||||||
# and recommended for home users who run Privoxy on the same
|
# recommended for home users who run Privoxy on the same machine
|
||||||
# machine as their browser.
|
# as their browser.
|
||||||
#
|
#
|
||||||
# Notes:
|
# Notes:
|
||||||
#
|
#
|
||||||
|
@ -709,56 +708,15 @@ logfile logfile
|
||||||
# if you want to serve requests from other machines (e.g. on your
|
# if you want to serve requests from other machines (e.g. on your
|
||||||
# local network) as well, you will need to override the default.
|
# local network) as well, you will need to override the default.
|
||||||
#
|
#
|
||||||
# You can use this statement multiple times to make Privoxy listen
|
# If you leave out the IP address, Privoxy will bind to all
|
||||||
# on more ports or more IP addresses. Suitable if your operating
|
|
||||||
# system does not support sharing IPv6 and IPv4 protocols on the
|
|
||||||
# same socket.
|
|
||||||
#
|
|
||||||
# If a hostname is used instead of an IP address, Privoxy will
|
|
||||||
# try to resolve it to an IP address and if there are multiple,
|
|
||||||
# use the first one returned.
|
|
||||||
#
|
|
||||||
# If the address for the hostname isn't already known on the
|
|
||||||
# system (for example because it's in /etc/hostname), this may
|
|
||||||
# result in DNS traffic.
|
|
||||||
#
|
|
||||||
# If the specified address isn't available on the system, or if
|
|
||||||
# the hostname can't be resolved, Privoxy will fail to start.
|
|
||||||
#
|
|
||||||
# IPv6 addresses containing colons have to be quoted by
|
|
||||||
# brackets. They can only be used if Privoxy has been compiled
|
|
||||||
# with IPv6 support. If you aren't sure if your version supports
|
|
||||||
# it, have a look at http://config.privoxy.org/ show-status.
|
|
||||||
#
|
|
||||||
# Some operating systems will prefer IPv6 to IPv4 addresses even if
|
|
||||||
# the system has no IPv6 connectivity which is usually not expected
|
|
||||||
# by the user. Some even rely on DNS to resolve localhost which
|
|
||||||
# mean the "localhost" address used may not actually be local.
|
|
||||||
#
|
|
||||||
# It is therefore recommended to explicitly configure the intended
|
|
||||||
# IP address instead of relying on the operating system, unless
|
|
||||||
# there's a strong reason not to.
|
|
||||||
#
|
|
||||||
# If you leave out the address, Privoxy will bind to all IPv4
|
|
||||||
# interfaces (addresses) on your machine and may become reachable
|
# interfaces (addresses) on your machine and may become reachable
|
||||||
# from the Internet and/ or the local network. Be aware that
|
# from the Internet. In that case, consider using access control
|
||||||
# some GNU/Linux distributions modify that behaviour without
|
# lists (ACL's, see below), and/or a firewall.
|
||||||
# updating the documentation. Check for non-standard patches if
|
|
||||||
# your Privoxyversion behaves differently.
|
|
||||||
#
|
|
||||||
# If you configure Privoxyto be reachable from the network,
|
|
||||||
# consider using access control lists (ACL's, see below), and/or
|
|
||||||
# a firewall.
|
|
||||||
#
|
#
|
||||||
# If you open Privoxy to untrusted users, you will also
|
# If you open Privoxy to untrusted users, you will also
|
||||||
# want to make sure that the following actions are disabled:
|
# want to make sure that the following actions are disabled:
|
||||||
# enable-edit-actions and enable-remote-toggle
|
# enable-edit-actions and enable-remote-toggle
|
||||||
#
|
#
|
||||||
# With the exception noted above, listening on multiple addresses
|
|
||||||
# is currently not supported by Privoxy directly. It can be done
|
|
||||||
# on most operating systems by letting a packet filter redirect
|
|
||||||
# request for certain addresses to Privoxy, though.
|
|
||||||
#
|
|
||||||
# Example:
|
# Example:
|
||||||
#
|
#
|
||||||
# Suppose you are running Privoxy on a machine which has the
|
# Suppose you are running Privoxy on a machine which has the
|
||||||
|
@ -768,10 +726,6 @@ logfile logfile
|
||||||
#
|
#
|
||||||
# listen-address 192.168.0.1:8118
|
# listen-address 192.168.0.1:8118
|
||||||
#
|
#
|
||||||
# Suppose you are running Privoxy on an IPv6-capable machine and
|
|
||||||
# you want it to listen on the IPv6 address of the loopback device:
|
|
||||||
#
|
|
||||||
# listen-address [::1]:8118
|
|
||||||
#
|
#
|
||||||
listen-address 127.0.0.1:8118
|
listen-address 127.0.0.1:8118
|
||||||
#
|
#
|
||||||
|
@ -988,28 +942,18 @@ enforce-blocks 0
|
||||||
#
|
#
|
||||||
# Type of value:
|
# 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
|
# Where src_addr and dst_addr are IP addresses in dotted decimal
|
||||||
# decimal notation or valid DNS names, port is a port number, and
|
# notation or valid DNS names, and src_masklen and dst_masklen are
|
||||||
# src_masklen and dst_masklen are subnet masks in CIDR notation,
|
# subnet masks in CIDR notation, i.e. integer values from 2 to 30
|
||||||
# i.e. integer values from 2 to 30 representing the length
|
# representing the length (in bits) of the network address. The
|
||||||
# (in bits) of the network address. The masks and the whole
|
# masks and the whole destination part are optional.
|
||||||
# destination part are optional.
|
|
||||||
#
|
|
||||||
# If your system implements RFC 3493, then src_addr and dst_addr
|
|
||||||
# can be IPv6 addresses delimeted by brackets, port can be a
|
|
||||||
# number or a service name, and src_masklen and dst_masklen can
|
|
||||||
# be a number from 0 to 128.
|
|
||||||
#
|
#
|
||||||
# Default value:
|
# Default value:
|
||||||
#
|
#
|
||||||
# Unset
|
# Unset
|
||||||
#
|
#
|
||||||
# If no port is specified, any port will match. If no src_masklen
|
|
||||||
# or src_masklen is given, the complete IP address has to match
|
|
||||||
# (i.e. 32 bits for IPv4 and 128 bits for IPv6).
|
|
||||||
#
|
|
||||||
# Effect if unset:
|
# Effect if unset:
|
||||||
#
|
#
|
||||||
# Don't restrict access further than implied by listen-address
|
# Don't restrict access further than implied by listen-address
|
||||||
|
@ -1045,12 +989,6 @@ enforce-blocks 0
|
||||||
# names. If a DNS name resolves to multiple IP addresses, only
|
# names. If a DNS name resolves to multiple IP addresses, only
|
||||||
# the first one is used.
|
# the first one is used.
|
||||||
#
|
#
|
||||||
# Some systems allow IPv4 clients to connect to IPv6 server
|
|
||||||
# sockets. Then the client's IPv4 address will be translated by the
|
|
||||||
# system into IPv6 address space with special prefix ::ffff:0:0/96
|
|
||||||
# (so called IPv4 mapped IPv6 address). Privoxy can handle it
|
|
||||||
# and maps such ACL addresses automatically.
|
|
||||||
#
|
|
||||||
# Denying access to particular sites by ACL may have undesired
|
# Denying access to particular sites by ACL may have undesired
|
||||||
# side effects if the site in question is hosted on a machine
|
# side effects if the site in question is hosted on a machine
|
||||||
# which also hosts other sites (most sites are).
|
# which also hosts other sites (most sites are).
|
||||||
|
@ -1078,16 +1016,6 @@ enforce-blocks 0
|
||||||
# permit-access 192.168.45.64/26
|
# permit-access 192.168.45.64/26
|
||||||
# deny-access 192.168.45.73 www.dirty-stuff.example.com
|
# deny-access 192.168.45.73 www.dirty-stuff.example.com
|
||||||
#
|
#
|
||||||
# Allow access from the IPv4 network 192.0.2.0/24 even if listening
|
|
||||||
# on an IPv6 wild card address (not supported on all platforms):
|
|
||||||
#
|
|
||||||
# permit-access 192.0.2.0/24
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# This is equivalent to the following line even if listening on
|
|
||||||
# an IPv4 address (not supported on all platforms):
|
|
||||||
#
|
|
||||||
# permit-access [::ffff:192.0.2.0]/120
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 4.8. buffer-limit
|
# 4.8. buffer-limit
|
||||||
|
@ -1165,7 +1093,7 @@ buffer-limit 4096
|
||||||
# to denote "all URLs". http_parent[:port] is the DNS name or
|
# to denote "all URLs". http_parent[:port] is the DNS name or
|
||||||
# IP address of the parent HTTP proxy through which the requests
|
# IP address of the parent HTTP proxy through which the requests
|
||||||
# should be forwarded, optionally followed by its listening port
|
# should be forwarded, optionally followed by its listening port
|
||||||
# (default: 8000). Use a single dot (.) to denote "no forwarding".
|
# (default: 8080). Use a single dot (.) to denote "no forwarding".
|
||||||
#
|
#
|
||||||
# Default value:
|
# Default value:
|
||||||
#
|
#
|
||||||
|
@ -1180,13 +1108,6 @@ buffer-limit 4096
|
||||||
# If http_parent is ".", then requests are not forwarded to
|
# If http_parent is ".", then requests are not forwarded to
|
||||||
# another HTTP proxy but are made directly to the web servers.
|
# another HTTP proxy but are made directly to the web servers.
|
||||||
#
|
#
|
||||||
# http_parent can be a numerical IPv6 address (if RFC 3493 is
|
|
||||||
# implemented). To prevent clashes with the port delimiter,
|
|
||||||
# the whole IP address has to be put into brackets. On the other
|
|
||||||
# hand a target_pattern containing an IPv6 address has to be put
|
|
||||||
# into angle brackets (normal brackets are reserved for regular
|
|
||||||
# expressions already).
|
|
||||||
#
|
|
||||||
# Multiple lines are OK, they are checked in sequence, and the
|
# Multiple lines are OK, they are checked in sequence, and the
|
||||||
# last match wins.
|
# last match wins.
|
||||||
#
|
#
|
||||||
|
@ -1206,16 +1127,6 @@ buffer-limit 4096
|
||||||
# forward .isp.example.net .
|
# forward .isp.example.net .
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Parent proxy specified by an IPv6 address:
|
|
||||||
#
|
|
||||||
# forward / [2001:DB8::1]:8000
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Suppose your parent proxy doesn't support IPv6:
|
|
||||||
#
|
|
||||||
# forward / parent-proxy.example.org:8000
|
|
||||||
# forward ipv6-server.example.org .
|
|
||||||
# forward <[2-3][0-9a-f][0-9a-f][0-9a-f]:*> .
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 5.2. forward-socks4, forward-socks4a and forward-socks5
|
# 5.2. forward-socks4, forward-socks4a and forward-socks5
|
||||||
|
@ -1258,13 +1169,6 @@ buffer-limit 4096
|
||||||
# With forward-socks5 the DNS resolution will happen on the remote
|
# With forward-socks5 the DNS resolution will happen on the remote
|
||||||
# server as well.
|
# server as well.
|
||||||
#
|
#
|
||||||
# socks_proxy and http_parent can be a numerical IPv6 address
|
|
||||||
# (if RFC 3493 is implemented). To prevent clashes with the port
|
|
||||||
# delimiter, the whole IP address has to be put into brackets. On
|
|
||||||
# the other hand a target_pattern containing an IPv6 address has
|
|
||||||
# to be put into angle brackets (normal brackets are reserved
|
|
||||||
# for regular expressions already).
|
|
||||||
#
|
|
||||||
# If http_parent is ".", then requests are not forwarded to another
|
# If http_parent is ".", then requests are not forwarded to another
|
||||||
# HTTP proxy but are made (HTTP-wise) directly to the web servers,
|
# HTTP proxy but are made (HTTP-wise) directly to the web servers,
|
||||||
# albeit through a SOCKS proxy.
|
# albeit through a SOCKS proxy.
|
||||||
|
@ -1289,7 +1193,7 @@ buffer-limit 4096
|
||||||
# To chain Privoxy and Tor, both running on the same system,
|
# To chain Privoxy and Tor, both running on the same system,
|
||||||
# you would use something like:
|
# you would use something like:
|
||||||
#
|
#
|
||||||
# forward-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,
|
# 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
|
# 5.3. forwarded-connect-retries
|
||||||
# ===============================
|
# ===============================
|
||||||
#
|
#
|
||||||
|
@ -1355,9 +1260,6 @@ buffer-limit 4096
|
||||||
# manually. Start with a small value and check Privoxy's logfile
|
# manually. Start with a small value and check Privoxy's logfile
|
||||||
# from time to time, to see how many retries are usually needed.
|
# from time to time, to see how many retries are usually needed.
|
||||||
#
|
#
|
||||||
# Due to a bug, this option currently also causes Privoxy to
|
|
||||||
# retry in case of certain problems with direct connections.
|
|
||||||
#
|
|
||||||
# Examples:
|
# Examples:
|
||||||
#
|
#
|
||||||
# forwarded-connect-retries 1
|
# forwarded-connect-retries 1
|
||||||
|
@ -1365,10 +1267,7 @@ buffer-limit 4096
|
||||||
forwarded-connect-retries 0
|
forwarded-connect-retries 0
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 6. MISCELLANEOUS
|
# 5.4. accept-intercepted-requests
|
||||||
# =================
|
|
||||||
#
|
|
||||||
# 6.1. accept-intercepted-requests
|
|
||||||
# =================================
|
# =================================
|
||||||
#
|
#
|
||||||
# Specifies:
|
# Specifies:
|
||||||
|
@ -1407,7 +1306,7 @@ forwarded-connect-retries 0
|
||||||
accept-intercepted-requests 0
|
accept-intercepted-requests 0
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 6.2. allow-cgi-request-crunching
|
# 5.5. allow-cgi-request-crunching
|
||||||
# =================================
|
# =================================
|
||||||
#
|
#
|
||||||
# Specifies:
|
# Specifies:
|
||||||
|
@ -1445,7 +1344,7 @@ accept-intercepted-requests 0
|
||||||
allow-cgi-request-crunching 0
|
allow-cgi-request-crunching 0
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 6.3. split-large-forms
|
# 5.6. split-large-forms
|
||||||
# =======================
|
# =======================
|
||||||
#
|
#
|
||||||
# Specifies:
|
# Specifies:
|
||||||
|
@ -1487,7 +1386,7 @@ allow-cgi-request-crunching 0
|
||||||
split-large-forms 0
|
split-large-forms 0
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 6.4. keep-alive-timeout
|
# 5.7. keep-alive-timeout
|
||||||
# ========================
|
# ========================
|
||||||
#
|
#
|
||||||
# Specifies:
|
# Specifies:
|
||||||
|
@ -1505,168 +1404,36 @@ split-large-forms 0
|
||||||
#
|
#
|
||||||
# Effect if unset:
|
# Effect if unset:
|
||||||
#
|
#
|
||||||
# Connections are not kept alive.
|
# Connections are not reused.
|
||||||
#
|
#
|
||||||
# Notes:
|
# 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
|
# This option has no effect if Privoxy has been compiled without
|
||||||
# keep-alive support.
|
# 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:
|
# Notes:
|
||||||
#
|
#
|
||||||
# Note that reusing connections doesn't necessary cause
|
# Note that reusing connections doesn't necessary cause
|
||||||
# speedups. There are also a few privacy implications you should
|
# speedups. There are also a few privacy implications you should
|
||||||
# be aware of.
|
# be aware of.
|
||||||
#
|
#
|
||||||
# If this option is effective, outgoing connections are shared
|
# Outgoing connections are shared between clients (if there are
|
||||||
# between clients (if there are more than one) and closing the
|
# more than one) and closing the client that initiated the outgoing
|
||||||
# browser that initiated the outgoing connection does no longer
|
# connection does not affect the connection between Privoxy and
|
||||||
# affect the connection between Privoxy and the server unless
|
# the server unless the client's request hasn't been completed
|
||||||
# the client's request hasn't been completed yet.
|
# yet. If the outgoing connection is idle, it will not be closed
|
||||||
#
|
# until either Privoxy's or the server's timeout is reached. While
|
||||||
# If the outgoing connection is idle, it will not be closed until
|
|
||||||
# either Privoxy's or the server's timeout is reached. While
|
|
||||||
# it's open, the server knows that the system running Privoxy is
|
# it's open, the server knows that the system running Privoxy is
|
||||||
# still there.
|
# still there.
|
||||||
#
|
#
|
||||||
# If there are more than one client (maybe even belonging to
|
|
||||||
# multiple users), they will be able to reuse each others
|
|
||||||
# connections. This is potentially dangerous in case of
|
|
||||||
# authentication schemes like NTLM where only the connection
|
|
||||||
# is authenticated, instead of requiring authentication for
|
|
||||||
# each request.
|
|
||||||
#
|
|
||||||
# If there is only a single client, and if said client can keep
|
|
||||||
# connections alive on its own, enabling this option has next to
|
|
||||||
# no effect. If the client doesn't support connection keep-alive,
|
|
||||||
# enabling this option may make sense as it allows Privoxy to keep
|
|
||||||
# outgoing connections alive even if the client itself doesn't
|
|
||||||
# support it.
|
|
||||||
#
|
|
||||||
# You should also be aware that enabling this option increases
|
|
||||||
# the likelihood of getting the "No server or forwarder data"
|
|
||||||
# error message, especially if you are using a slow connection
|
|
||||||
# to the Internet.
|
|
||||||
#
|
|
||||||
# This option should only be used by experienced users who
|
|
||||||
# understand the risks and can weight them against the benefits.
|
|
||||||
#
|
|
||||||
# Examples:
|
# Examples:
|
||||||
#
|
#
|
||||||
# connection-sharing 1
|
# keep-alive-timeout 300
|
||||||
#
|
#
|
||||||
#connection-sharing 1
|
keep-alive-timeout 300
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 6.7. socket-timeout
|
# 5.8. socket-timeout
|
||||||
# ====================
|
# ====================
|
||||||
#
|
#
|
||||||
# Specifies:
|
# Specifies:
|
||||||
|
@ -1699,187 +1466,7 @@ keep-alive-timeout 5
|
||||||
socket-timeout 300
|
socket-timeout 300
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# 6.8. max-client-connections
|
# 6. WINDOWS GUI OPTIONS
|
||||||
# ============================
|
|
||||||
#
|
|
||||||
# Specifies:
|
|
||||||
#
|
|
||||||
# Maximum number of client connections that will be served.
|
|
||||||
#
|
|
||||||
# Type of value:
|
|
||||||
#
|
|
||||||
# Positive number.
|
|
||||||
#
|
|
||||||
# Default value:
|
|
||||||
#
|
|
||||||
# None
|
|
||||||
#
|
|
||||||
# Effect if unset:
|
|
||||||
#
|
|
||||||
# Connections are served until a resource limit is reached.
|
|
||||||
#
|
|
||||||
# Notes:
|
|
||||||
#
|
|
||||||
# Privoxy creates one thread (or process) for every incoming
|
|
||||||
# client connection that isn't rejected based on the access
|
|
||||||
# control settings.
|
|
||||||
#
|
|
||||||
# If the system is powerful enough, Privoxy can theoretically deal
|
|
||||||
# with several hundred (or thousand) connections at the same time,
|
|
||||||
# but some operating systems enforce resource limits by shutting
|
|
||||||
# down offending processes and their default limits may be below
|
|
||||||
# the ones Privoxy would require under heavy load.
|
|
||||||
#
|
|
||||||
# Configuring Privoxy to enforce a connection limit below the
|
|
||||||
# thread or process limit used by the operating system makes
|
|
||||||
# sure this doesn't happen. Simply increasing the operating
|
|
||||||
# system's limit would work too, but if Privoxy isn't the only
|
|
||||||
# application running on the system, you may actually want to
|
|
||||||
# limit the resources used by Privoxy.
|
|
||||||
#
|
|
||||||
# If Privoxy is only used by a single trusted user, limiting the
|
|
||||||
# number of client connections is probably unnecessary. If there
|
|
||||||
# are multiple possibly untrusted users you probably still want
|
|
||||||
# to additionally use a packet filter to limit the maximal number
|
|
||||||
# of incoming connections per client. Otherwise a malicious user
|
|
||||||
# could intentionally create a high number of connections to
|
|
||||||
# prevent other users from using Privoxy.
|
|
||||||
#
|
|
||||||
# Obviously using this option only makes sense if you choose a
|
|
||||||
# limit below the one enforced by the operating system.
|
|
||||||
#
|
|
||||||
# Examples:
|
|
||||||
#
|
|
||||||
# max-client-connections 256
|
|
||||||
#
|
|
||||||
#max-client-connections 256
|
|
||||||
|
|
||||||
#
|
|
||||||
# 6.9. handle-as-empty-doc-returns-ok
|
|
||||||
# ====================================
|
|
||||||
#
|
|
||||||
# Specifies:
|
|
||||||
#
|
|
||||||
# The status code Privoxy returns for pages blocked with
|
|
||||||
# +handle-as-empty-document.
|
|
||||||
#
|
|
||||||
# Type of value:
|
|
||||||
#
|
|
||||||
# 0 or 1
|
|
||||||
#
|
|
||||||
# Default value:
|
|
||||||
#
|
|
||||||
# 0
|
|
||||||
#
|
|
||||||
# Effect if unset:
|
|
||||||
#
|
|
||||||
# Privoxy returns a status 403(forbidden) for all blocked pages.
|
|
||||||
#
|
|
||||||
# Effect if set:
|
|
||||||
#
|
|
||||||
# Privoxy returns a status 200(OK) for pages blocked with
|
|
||||||
# +handle-as-empty-document and a status 403(Forbidden) for all
|
|
||||||
# other blocked pages.
|
|
||||||
#
|
|
||||||
# Notes:
|
|
||||||
#
|
|
||||||
# This is a work-around for Firefox bug 492459: " Websites are no
|
|
||||||
# longer rendered if SSL requests for JavaScripts are blocked by a
|
|
||||||
# proxy. " (https:/ /bugzilla.mozilla.org/show_bug.cgi?id=492459)
|
|
||||||
# As the bug has been fixed for quite some time this option
|
|
||||||
# should no longer be needed and will be removed in a future
|
|
||||||
# release. Please speak up if you have a reason why the option
|
|
||||||
# should be kept around.
|
|
||||||
#
|
|
||||||
#handle-as-empty-doc-returns-ok 1
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# 1.6.10. enable-compression
|
|
||||||
#
|
|
||||||
# Specifies:
|
|
||||||
#
|
|
||||||
# Whether or not buffered content is compressed before delivery.
|
|
||||||
#
|
|
||||||
# Type of value:
|
|
||||||
#
|
|
||||||
# 0 or 1
|
|
||||||
#
|
|
||||||
# Default value:
|
|
||||||
#
|
|
||||||
# 0
|
|
||||||
#
|
|
||||||
# Effect if unset:
|
|
||||||
#
|
|
||||||
# Privoxy does not compress buffered content.
|
|
||||||
#
|
|
||||||
# Effect if set:
|
|
||||||
#
|
|
||||||
# Privoxy compresses buffered content before delivering it to
|
|
||||||
# the client, provided the client supports it.
|
|
||||||
#
|
|
||||||
# Notes:
|
|
||||||
#
|
|
||||||
# This directive is only supported if Privoxy has been compiled
|
|
||||||
# with FEATURE_COMPRESSION, which should not to be confused
|
|
||||||
# with FEATURE_ZLIB.
|
|
||||||
#
|
|
||||||
# Compressing buffered content is mainly useful if Privoxy and the
|
|
||||||
# client are running on different systems. If they are running on
|
|
||||||
# the same system, enabling compression is likely to slow things
|
|
||||||
# down. If you didn't measure otherwise, you should assume that
|
|
||||||
# it does and keep this option disabled.
|
|
||||||
#
|
|
||||||
# Privoxy will not compress buffered content below a certain
|
|
||||||
# length.
|
|
||||||
#
|
|
||||||
#enable-compression 1
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# 1.6.11. compression-level
|
|
||||||
#
|
|
||||||
# Specifies:
|
|
||||||
#
|
|
||||||
# The compression level that is passed to the zlib library when
|
|
||||||
# compressing buffered content.
|
|
||||||
#
|
|
||||||
# Type of value:
|
|
||||||
#
|
|
||||||
# Positive number ranging from 0 to 9.
|
|
||||||
#
|
|
||||||
# Default value:
|
|
||||||
#
|
|
||||||
# 1
|
|
||||||
#
|
|
||||||
# Notes:
|
|
||||||
#
|
|
||||||
# Compressing the data more takes usually longer than compressing
|
|
||||||
# it less or not compressing it at all. Which level is best
|
|
||||||
# depends on the connection between Privoxy and the client. If
|
|
||||||
# you can't be bothered to benchmark it for yourself, you should
|
|
||||||
# stick with the default and keep compression disabled.
|
|
||||||
#
|
|
||||||
# If compression is disabled, the compression level is irrelevant.
|
|
||||||
#
|
|
||||||
# Examples:
|
|
||||||
#
|
|
||||||
# # Best speed (compared to the other levels)
|
|
||||||
# compression-level 1
|
|
||||||
#
|
|
||||||
# # Best compression
|
|
||||||
# compression-level 9
|
|
||||||
#
|
|
||||||
# # No compression. Only useful for testing as the added header
|
|
||||||
# # slightly increases the amount of data that has to be sent.
|
|
||||||
# # If your benchmark shows that using this compression level
|
|
||||||
# # is superior to using no compression at all, the benchmark
|
|
||||||
# # is likely to be flawed.
|
|
||||||
# compression-level 0
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#compression-level 1
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# 7. WINDOWS GUI OPTIONS
|
|
||||||
# =======================
|
# =======================
|
||||||
#
|
#
|
||||||
# Privoxy has a number of options specific to the Windows GUI
|
# Privoxy has a number of options specific to the Windows GUI
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||||
# 2011 Free Software Foundation, Inc.
|
# 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
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
|
@ -27,16 +27,16 @@ timestamp='2011-11-11'
|
||||||
# the same distribution terms that you use for the rest of that program.
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
|
||||||
# Originally written by Per Bothner. Please send patches (context
|
# Originally written by Per Bothner <per@bothner.com>.
|
||||||
# diff format) to <config-patches@gnu.org> and include a ChangeLog
|
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||||
# entry.
|
# diff and a properly formatted ChangeLog entry.
|
||||||
#
|
#
|
||||||
# This script attempts to guess a canonical system name similar to
|
# This script attempts to guess a canonical system name similar to
|
||||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||||
# exits with 0. Otherwise, it exits with 1.
|
# exits with 0. Otherwise, it exits with 1.
|
||||||
#
|
#
|
||||||
# You can get the latest version of this script from:
|
# The plan is that this can be called by configure scripts if you
|
||||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
# don't specify an explicit build system type.
|
||||||
|
|
||||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||||
|
|
||||||
|
@ -56,9 +56,8 @@ version="\
|
||||||
GNU config.guess ($timestamp)
|
GNU config.guess ($timestamp)
|
||||||
|
|
||||||
Originally written by Per Bothner.
|
Originally written by Per Bothner.
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
Software Foundation, Inc.
|
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
@ -171,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
| grep -q __ELF__
|
| grep __ELF__ >/dev/null
|
||||||
then
|
then
|
||||||
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
||||||
# Return netbsd for either. FIX?
|
# Return netbsd for either. FIX?
|
||||||
|
@ -181,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
os=netbsd
|
os=netbsd
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# The OS release
|
# 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}'`
|
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||||
;;
|
;;
|
||||||
*5.*)
|
*5.*)
|
||||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# According to Compaq, /usr/sbin/psrinfo has been available on
|
# 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.
|
# A Xn.n version is an unreleased experimental baselevel.
|
||||||
# 1.2 uses "1.2" for uname -r.
|
# 1.2 uses "1.2" for uname -r.
|
||||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
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.
|
exit ;;
|
||||||
exitcode=$?
|
|
||||||
trap '' 0
|
|
||||||
exit $exitcode ;;
|
|
||||||
Alpha\ *:Windows_NT*:*)
|
Alpha\ *:Windows_NT*:*)
|
||||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
# 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
|
# 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
|
echo s390-ibm-zvmoe
|
||||||
exit ;;
|
exit ;;
|
||||||
*:OS400:*:*)
|
*:OS400:*:*)
|
||||||
echo powerpc-ibm-os400
|
echo powerpc-ibm-os400
|
||||||
exit ;;
|
exit ;;
|
||||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
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
|
case `/usr/bin/uname -p` in
|
||||||
sparc) echo sparc-icl-nx7; exit ;;
|
sparc) echo sparc-icl-nx7; exit ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
s390x:SunOS:*:*)
|
|
||||||
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
|
||||||
exit ;;
|
|
||||||
sun4H:SunOS:5.*:*)
|
sun4H:SunOS:5.*:*)
|
||||||
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
|
|
||||||
echo i386-pc-auroraux${UNAME_RELEASE}
|
|
||||||
exit ;;
|
|
||||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||||
eval $set_cc_for_build
|
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
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/[^.]*//'`
|
|
||||||
exit ;;
|
exit ;;
|
||||||
sun4*:SunOS:6*:*)
|
sun4*:SunOS:6*:*)
|
||||||
# According to config.sub, this is the proper way to canonicalize
|
# 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
|
# MiNT. But MiNT is downward compatible to TOS, so this should
|
||||||
# be no problem.
|
# be no problem.
|
||||||
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
||||||
echo m68k-milan-mint${UNAME_RELEASE}
|
echo m68k-milan-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
||||||
echo m68k-hades-mint${UNAME_RELEASE}
|
echo m68k-hades-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
||||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
m68k:machten:*:*)
|
m68k:machten:*:*)
|
||||||
echo m68k-apple-machten${UNAME_RELEASE}
|
echo m68k-apple-machten${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -484,8 +461,8 @@ EOF
|
||||||
echo m88k-motorola-sysv3
|
echo m88k-motorola-sysv3
|
||||||
exit ;;
|
exit ;;
|
||||||
AViiON:dgux:*:*)
|
AViiON:dgux:*:*)
|
||||||
# DG/UX returns AViiON for all architectures
|
# DG/UX returns AViiON for all architectures
|
||||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||||
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
||||||
then
|
then
|
||||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
||||||
|
@ -498,7 +475,7 @@ EOF
|
||||||
else
|
else
|
||||||
echo i586-dg-dgux${UNAME_RELEASE}
|
echo i586-dg-dgux${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||||
echo m88k-dolphin-sysv3
|
echo m88k-dolphin-sysv3
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -555,7 +532,7 @@ EOF
|
||||||
echo rs6000-ibm-aix3.2
|
echo rs6000-ibm-aix3.2
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
*:AIX:*:[4567])
|
*:AIX:*:[456])
|
||||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
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
|
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||||
IBM_ARCH=rs6000
|
IBM_ARCH=rs6000
|
||||||
|
@ -598,52 +575,52 @@ EOF
|
||||||
9000/[678][0-9][0-9])
|
9000/[678][0-9][0-9])
|
||||||
if [ -x /usr/bin/getconf ]; then
|
if [ -x /usr/bin/getconf ]; then
|
||||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||||
case "${sc_cpu_version}" in
|
case "${sc_cpu_version}" in
|
||||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||||
532) # CPU_PA_RISC2_0
|
532) # CPU_PA_RISC2_0
|
||||||
case "${sc_kernel_bits}" in
|
case "${sc_kernel_bits}" in
|
||||||
32) HP_ARCH="hppa2.0n" ;;
|
32) HP_ARCH="hppa2.0n" ;;
|
||||||
64) HP_ARCH="hppa2.0w" ;;
|
64) HP_ARCH="hppa2.0w" ;;
|
||||||
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
||||||
esac ;;
|
esac ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if [ "${HP_ARCH}" = "" ]; then
|
if [ "${HP_ARCH}" = "" ]; then
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
|
|
||||||
#define _HPUX_SOURCE
|
#define _HPUX_SOURCE
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int main ()
|
int main ()
|
||||||
{
|
{
|
||||||
#if defined(_SC_KERNEL_BITS)
|
#if defined(_SC_KERNEL_BITS)
|
||||||
long bits = sysconf(_SC_KERNEL_BITS);
|
long bits = sysconf(_SC_KERNEL_BITS);
|
||||||
#endif
|
#endif
|
||||||
long cpu = sysconf (_SC_CPU_VERSION);
|
long cpu = sysconf (_SC_CPU_VERSION);
|
||||||
|
|
||||||
switch (cpu)
|
switch (cpu)
|
||||||
{
|
{
|
||||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||||
case CPU_PA_RISC2_0:
|
case CPU_PA_RISC2_0:
|
||||||
#if defined(_SC_KERNEL_BITS)
|
#if defined(_SC_KERNEL_BITS)
|
||||||
switch (bits)
|
switch (bits)
|
||||||
{
|
{
|
||||||
case 64: puts ("hppa2.0w"); break;
|
case 64: puts ("hppa2.0w"); break;
|
||||||
case 32: puts ("hppa2.0n"); break;
|
case 32: puts ("hppa2.0n"); break;
|
||||||
default: puts ("hppa2.0"); break;
|
default: puts ("hppa2.0"); break;
|
||||||
} break;
|
} break;
|
||||||
#else /* !defined(_SC_KERNEL_BITS) */
|
#else /* !defined(_SC_KERNEL_BITS) */
|
||||||
puts ("hppa2.0"); break;
|
puts ("hppa2.0"); break;
|
||||||
#endif
|
#endif
|
||||||
default: puts ("hppa1.0"); break;
|
default: puts ("hppa1.0"); break;
|
||||||
}
|
}
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||||
test -z "$HP_ARCH" && HP_ARCH=hppa
|
test -z "$HP_ARCH" && HP_ARCH=hppa
|
||||||
|
@ -663,7 +640,7 @@ EOF
|
||||||
# => hppa64-hp-hpux11.23
|
# => hppa64-hp-hpux11.23
|
||||||
|
|
||||||
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||||
grep -q __LP64__
|
grep __LP64__ >/dev/null
|
||||||
then
|
then
|
||||||
HP_ARCH="hppa2.0w"
|
HP_ARCH="hppa2.0w"
|
||||||
else
|
else
|
||||||
|
@ -734,22 +711,22 @@ EOF
|
||||||
exit ;;
|
exit ;;
|
||||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||||
echo c1-convex-bsd
|
echo c1-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||||
if getsysinfo -f scalar_acc
|
if getsysinfo -f scalar_acc
|
||||||
then echo c32-convex-bsd
|
then echo c32-convex-bsd
|
||||||
else echo c2-convex-bsd
|
else echo c2-convex-bsd
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||||
echo c34-convex-bsd
|
echo c34-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||||
echo c38-convex-bsd
|
echo c38-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||||
echo c4-convex-bsd
|
echo c4-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
CRAY*Y-MP:*:*:*)
|
CRAY*Y-MP:*:*:*)
|
||||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -773,14 +750,14 @@ EOF
|
||||||
exit ;;
|
exit ;;
|
||||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit ;;
|
exit ;;
|
||||||
5000:UNIX_System_V:4.*:*)
|
5000:UNIX_System_V:4.*:*)
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||||
|
@ -792,12 +769,13 @@ EOF
|
||||||
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:FreeBSD:*:*)
|
*:FreeBSD:*:*)
|
||||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
case ${UNAME_MACHINE} in
|
||||||
case ${UNAME_PROCESSOR} in
|
pc98)
|
||||||
|
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
||||||
amd64)
|
amd64)
|
||||||
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
|
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
|
esac
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:CYGWIN*:*)
|
i*:CYGWIN*:*)
|
||||||
|
@ -806,22 +784,19 @@ EOF
|
||||||
*:MINGW*:*)
|
*:MINGW*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-mingw32
|
echo ${UNAME_MACHINE}-pc-mingw32
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:MSYS*:*)
|
|
||||||
echo ${UNAME_MACHINE}-pc-msys
|
|
||||||
exit ;;
|
|
||||||
i*:windows32*:*)
|
i*:windows32*:*)
|
||||||
# uname -m includes "-pc" on this system.
|
# uname -m includes "-pc" on this system.
|
||||||
echo ${UNAME_MACHINE}-mingw32
|
echo ${UNAME_MACHINE}-mingw32
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:PW*:*)
|
i*:PW*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-pw32
|
echo ${UNAME_MACHINE}-pc-pw32
|
||||||
exit ;;
|
exit ;;
|
||||||
*:Interix*:*)
|
*:Interix*:[3456]*)
|
||||||
case ${UNAME_MACHINE} in
|
case ${UNAME_MACHINE} in
|
||||||
x86)
|
x86)
|
||||||
echo i586-pc-interix${UNAME_RELEASE}
|
echo i586-pc-interix${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
authenticamd | genuineintel | EM64T)
|
EM64T | authenticamd)
|
||||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
IA64)
|
IA64)
|
||||||
|
@ -831,9 +806,6 @@ EOF
|
||||||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||||
echo i${UNAME_MACHINE}-pc-mks
|
echo i${UNAME_MACHINE}-pc-mks
|
||||||
exit ;;
|
exit ;;
|
||||||
8664:Windows_NT:*)
|
|
||||||
echo x86_64-pc-mks
|
|
||||||
exit ;;
|
|
||||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
# 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
|
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||||
|
@ -863,20 +835,6 @@ EOF
|
||||||
i*86:Minix:*:*)
|
i*86:Minix:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-minix
|
echo ${UNAME_MACHINE}-pc-minix
|
||||||
exit ;;
|
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:*:*)
|
arm*:Linux:*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
|
@ -884,13 +842,7 @@ EOF
|
||||||
then
|
then
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
else
|
else
|
||||||
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||||
| grep -q __ARM_PCS_VFP
|
|
||||||
then
|
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
|
||||||
else
|
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
avr32*:Linux:*:*)
|
avr32*:Linux:*:*)
|
||||||
|
@ -903,21 +855,7 @@ EOF
|
||||||
echo crisv32-axis-linux-gnu
|
echo crisv32-axis-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
frv:Linux:*:*)
|
frv:Linux:*:*)
|
||||||
echo frv-unknown-linux-gnu
|
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}"
|
|
||||||
exit ;;
|
exit ;;
|
||||||
ia64:Linux:*:*)
|
ia64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
|
@ -928,33 +866,74 @@ EOF
|
||||||
m68*:Linux:*:*)
|
m68*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
mips:Linux:*:* | mips64:Linux:*:*)
|
mips:Linux:*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#undef CPU
|
#undef CPU
|
||||||
#undef ${UNAME_MACHINE}
|
#undef mips
|
||||||
#undef ${UNAME_MACHINE}el
|
#undef mipsel
|
||||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||||
CPU=${UNAME_MACHINE}el
|
CPU=mipsel
|
||||||
#else
|
#else
|
||||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||||
CPU=${UNAME_MACHINE}
|
CPU=mips
|
||||||
#else
|
#else
|
||||||
CPU=
|
CPU=
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
EOF
|
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; }
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||||
;;
|
;;
|
||||||
or32:Linux:*:*)
|
or32:Linux:*:*)
|
||||||
echo or32-unknown-linux-gnu
|
echo or32-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
padre:Linux:*:*)
|
ppc:Linux:*:*)
|
||||||
echo sparc-unknown-linux-gnu
|
echo powerpc-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
ppc64:Linux:*:*)
|
||||||
echo hppa64-unknown-linux-gnu
|
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 ;;
|
exit ;;
|
||||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||||
# Look for CPU level
|
# Look for CPU level
|
||||||
|
@ -964,17 +943,14 @@ EOF
|
||||||
*) echo hppa-unknown-linux-gnu ;;
|
*) echo hppa-unknown-linux-gnu ;;
|
||||||
esac
|
esac
|
||||||
exit ;;
|
exit ;;
|
||||||
ppc64:Linux:*:*)
|
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||||
echo powerpc64-unknown-linux-gnu
|
echo hppa64-unknown-linux-gnu
|
||||||
exit ;;
|
|
||||||
ppc:Linux:*:*)
|
|
||||||
echo powerpc-unknown-linux-gnu
|
|
||||||
exit ;;
|
exit ;;
|
||||||
s390:Linux:*:* | s390x:Linux:*:*)
|
s390:Linux:*:* | s390x:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-ibm-linux
|
echo ${UNAME_MACHINE}-ibm-linux
|
||||||
exit ;;
|
exit ;;
|
||||||
sh64*:Linux:*:*)
|
sh64*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
sh*:Linux:*:*)
|
sh*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
|
@ -982,9 +958,6 @@ EOF
|
||||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
tile*:Linux:*:*)
|
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
|
||||||
exit ;;
|
|
||||||
vax:Linux:*:*)
|
vax:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -992,8 +965,71 @@ EOF
|
||||||
echo x86_64-unknown-linux-gnu
|
echo x86_64-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
xtensa*:Linux:*:*)
|
xtensa*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
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*:*)
|
i*86:DYNIX/ptx:4*:*)
|
||||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||||
# earlier versions are messed up and put the nodename in both
|
# earlier versions are messed up and put the nodename in both
|
||||||
|
@ -1001,11 +1037,11 @@ EOF
|
||||||
echo i386-sequent-sysv4
|
echo i386-sequent-sysv4
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:UNIX_SV:4.2MP:2.*)
|
i*86:UNIX_SV:4.2MP:2.*)
|
||||||
# Unixware is an offshoot of SVR4, but it has its own version
|
# Unixware is an offshoot of SVR4, but it has its own version
|
||||||
# number series starting with 2...
|
# number series starting with 2...
|
||||||
# I am not positive that other SVR4 systems won't match this,
|
# I am not positive that other SVR4 systems won't match this,
|
||||||
# I just have to hope. -- rms.
|
# 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}
|
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:OS/2:*:*)
|
i*86:OS/2:*:*)
|
||||||
|
@ -1022,7 +1058,7 @@ EOF
|
||||||
i*86:syllable:*:*)
|
i*86:syllable:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-syllable
|
echo ${UNAME_MACHINE}-pc-syllable
|
||||||
exit ;;
|
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}
|
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:*DOS:*:*)
|
i*86:*DOS:*:*)
|
||||||
|
@ -1037,7 +1073,7 @@ EOF
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:*:5:[678]*)
|
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
|
case `/bin/uname -X | grep "^Machine"` in
|
||||||
*486*) UNAME_MACHINE=i486 ;;
|
*486*) UNAME_MACHINE=i486 ;;
|
||||||
*Pentium) UNAME_MACHINE=i586 ;;
|
*Pentium) UNAME_MACHINE=i586 ;;
|
||||||
|
@ -1065,13 +1101,10 @@ EOF
|
||||||
exit ;;
|
exit ;;
|
||||||
pc:*:*:*)
|
pc:*:*:*)
|
||||||
# Left here for compatibility:
|
# Left here for compatibility:
|
||||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||||
# the processor, so we play safe by assuming i586.
|
# the processor, so we play safe by assuming i386.
|
||||||
# Note: whatever this is, it MUST be the same as what config.sub
|
echo i386-pc-msdosdjgpp
|
||||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
exit ;;
|
||||||
# this is a cross-build.
|
|
||||||
echo i586-pc-msdosdjgpp
|
|
||||||
exit ;;
|
|
||||||
Intel:Mach:3*:*)
|
Intel:Mach:3*:*)
|
||||||
echo i386-pc-mach3
|
echo i386-pc-mach3
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -1106,18 +1139,8 @@ EOF
|
||||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
&& { 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; } ;;
|
|
||||||
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
||||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -1130,7 +1153,7 @@ EOF
|
||||||
rs6000:LynxOS:2.*:*)
|
rs6000:LynxOS:2.*:*)
|
||||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
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}
|
echo powerpc-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
SM[BE]S:UNIX_SV:*:*)
|
SM[BE]S:UNIX_SV:*:*)
|
||||||
|
@ -1150,10 +1173,10 @@ EOF
|
||||||
echo ns32k-sni-sysv
|
echo ns32k-sni-sysv
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||||
echo i586-unisys-sysv4
|
echo i586-unisys-sysv4
|
||||||
exit ;;
|
exit ;;
|
||||||
*:UNIX_System_V:4*:FTX*)
|
*:UNIX_System_V:4*:FTX*)
|
||||||
# From Gerald Hewes <hewes@openmarket.com>.
|
# From Gerald Hewes <hewes@openmarket.com>.
|
||||||
# How about differentiating between stratus architectures? -djm
|
# How about differentiating between stratus architectures? -djm
|
||||||
|
@ -1179,11 +1202,11 @@ EOF
|
||||||
exit ;;
|
exit ;;
|
||||||
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
||||||
if [ -d /usr/nec ]; then
|
if [ -d /usr/nec ]; then
|
||||||
echo mips-nec-sysv${UNAME_RELEASE}
|
echo mips-nec-sysv${UNAME_RELEASE}
|
||||||
else
|
else
|
||||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
||||||
echo powerpc-be-beos
|
echo powerpc-be-beos
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -1193,9 +1216,6 @@ EOF
|
||||||
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
|
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
|
||||||
echo i586-pc-beos
|
echo i586-pc-beos
|
||||||
exit ;;
|
exit ;;
|
||||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
|
||||||
echo i586-pc-haiku
|
|
||||||
exit ;;
|
|
||||||
SX-4:SUPER-UX:*:*)
|
SX-4:SUPER-UX:*:*)
|
||||||
echo sx4-nec-superux${UNAME_RELEASE}
|
echo sx4-nec-superux${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -1223,16 +1243,6 @@ EOF
|
||||||
*:Darwin:*:*)
|
*:Darwin:*:*)
|
||||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||||
case $UNAME_PROCESSOR in
|
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 ;;
|
unknown) UNAME_PROCESSOR=powerpc ;;
|
||||||
esac
|
esac
|
||||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||||
|
@ -1248,9 +1258,6 @@ EOF
|
||||||
*:QNX:*:4*)
|
*:QNX:*:4*)
|
||||||
echo i386-pc-qnx
|
echo i386-pc-qnx
|
||||||
exit ;;
|
exit ;;
|
||||||
NEO-?:NONSTOP_KERNEL:*:*)
|
|
||||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
|
||||||
exit ;;
|
|
||||||
NSE-?:NONSTOP_KERNEL:*:*)
|
NSE-?:NONSTOP_KERNEL:*:*)
|
||||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
|
@ -1296,13 +1303,13 @@ EOF
|
||||||
echo pdp10-unknown-its
|
echo pdp10-unknown-its
|
||||||
exit ;;
|
exit ;;
|
||||||
SEI:*:*:SEIUX)
|
SEI:*:*:SEIUX)
|
||||||
echo mips-sei-seiux${UNAME_RELEASE}
|
echo mips-sei-seiux${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:DragonFly:*:*)
|
*:DragonFly:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
*:*VMS:*:*)
|
*:*VMS:*:*)
|
||||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||||
case "${UNAME_MACHINE}" in
|
case "${UNAME_MACHINE}" in
|
||||||
A*) echo alpha-dec-vms ; exit ;;
|
A*) echo alpha-dec-vms ; exit ;;
|
||||||
I*) echo ia64-dec-vms ; exit ;;
|
I*) echo ia64-dec-vms ; exit ;;
|
||||||
|
@ -1317,9 +1324,6 @@ EOF
|
||||||
i*86:rdos:*:*)
|
i*86:rdos:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-rdos
|
echo ${UNAME_MACHINE}-pc-rdos
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:AROS:*:*)
|
|
||||||
echo ${UNAME_MACHINE}-pc-aros
|
|
||||||
exit ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||||
|
@ -1342,11 +1346,11 @@ main ()
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
printf ("m68k-sony-newsos%s\n",
|
printf ("m68k-sony-newsos%s\n",
|
||||||
#ifdef NEWSOS4
|
#ifdef NEWSOS4
|
||||||
"4"
|
"4"
|
||||||
#else
|
#else
|
||||||
""
|
""
|
||||||
#endif
|
#endif
|
||||||
); exit (0);
|
); exit (0);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||||
# 2011 Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2011-11-11'
|
timestamp='2008-02-05'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
|
@ -32,16 +32,13 @@ timestamp='2011-11-11'
|
||||||
|
|
||||||
|
|
||||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
# 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.
|
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||||
# Supply the specified configuration type as an argument.
|
# Supply the specified configuration type as an argument.
|
||||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
# 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.
|
# 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
|
# This file is supposed to be the same for all GNU packages
|
||||||
# and recognize all the CPU types, system types and aliases
|
# and recognize all the CPU types, system types and aliases
|
||||||
# that are meaningful with *any* GNU software.
|
# that are meaningful with *any* GNU software.
|
||||||
|
@ -75,9 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
Software Foundation, Inc.
|
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
@ -124,10 +120,8 @@ esac
|
||||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||||
case $maybe_os in
|
case $maybe_os in
|
||||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||||
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
|
||||||
kopensolaris*-gnu* | \
|
|
||||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||||
os=-$maybe_os
|
os=-$maybe_os
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
|
@ -154,13 +148,10 @@ case $os in
|
||||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||||
-apple | -axis | -knuth | -cray | -microblaze)
|
-apple | -axis | -knuth | -cray)
|
||||||
os=
|
os=
|
||||||
basic_machine=$1
|
basic_machine=$1
|
||||||
;;
|
;;
|
||||||
-bluegene*)
|
|
||||||
os=-cnk
|
|
||||||
;;
|
|
||||||
-sim | -cisco | -oki | -wec | -winbond)
|
-sim | -cisco | -oki | -wec | -winbond)
|
||||||
os=
|
os=
|
||||||
basic_machine=$1
|
basic_machine=$1
|
||||||
|
@ -175,10 +166,10 @@ case $os in
|
||||||
os=-chorusos
|
os=-chorusos
|
||||||
basic_machine=$1
|
basic_machine=$1
|
||||||
;;
|
;;
|
||||||
-chorusrdb)
|
-chorusrdb)
|
||||||
os=-chorusrdb
|
os=-chorusrdb
|
||||||
basic_machine=$1
|
basic_machine=$1
|
||||||
;;
|
;;
|
||||||
-hiux*)
|
-hiux*)
|
||||||
os=-hiuxwe2
|
os=-hiuxwe2
|
||||||
;;
|
;;
|
||||||
|
@ -251,20 +242,15 @@ case $basic_machine in
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||||
| am33_2.0 \
|
| am33_2.0 \
|
||||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||||
| be32 | be64 \
|
|
||||||
| bfin \
|
| bfin \
|
||||||
| c4x | clipper \
|
| c4x | clipper \
|
||||||
| d10v | d30v | dlx | dsp16xx \
|
| d10v | d30v | dlx | dsp16xx \
|
||||||
| epiphany \
|
|
||||||
| fido | fr30 | frv \
|
| fido | fr30 | frv \
|
||||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| hexagon \
|
|
||||||
| i370 | i860 | i960 | ia64 \
|
| i370 | i860 | i960 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
| le32 | le64 \
|
|
||||||
| lm32 \
|
|
||||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||||
| maxq | mb | microblaze | mcore | mep | metag \
|
| maxq | mb | microblaze | mcore | mep \
|
||||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||||
| mips16 \
|
| mips16 \
|
||||||
| mips64 | mips64el \
|
| mips64 | mips64el \
|
||||||
|
@ -284,42 +270,28 @@ case $basic_machine in
|
||||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||||
| mipstx39 | mipstx39el \
|
| mipstx39 | mipstx39el \
|
||||||
| mn10200 | mn10300 \
|
| mn10200 | mn10300 \
|
||||||
| moxie \
|
|
||||||
| mt \
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
| nds32 | nds32le | nds32be \
|
|
||||||
| nios | nios2 \
|
| nios | nios2 \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| open8 \
|
|
||||||
| or32 \
|
| or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
| rl78 | rx \
|
|
||||||
| score \
|
| 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 \
|
| sh64 | sh64le \
|
||||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||||
| spu \
|
| spu | strongarm \
|
||||||
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
| tahoe | thumb | tic4x | tic80 | tron \
|
||||||
| ubicom32 \
|
| v850 | v850e \
|
||||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xc16x | xstormy16 | xtensa \
|
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||||
| z8k | z80)
|
| z8k)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
c54x)
|
m6811 | m68hc11 | m6812 | m68hc12)
|
||||||
basic_machine=tic54x-unknown
|
|
||||||
;;
|
|
||||||
c55x)
|
|
||||||
basic_machine=tic55x-unknown
|
|
||||||
;;
|
|
||||||
c6x)
|
|
||||||
basic_machine=tic6x-unknown
|
|
||||||
;;
|
|
||||||
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
|
|
||||||
# Motorola 68HC11/12.
|
# Motorola 68HC11/12.
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
os=-none
|
os=-none
|
||||||
|
@ -330,18 +302,6 @@ case $basic_machine in
|
||||||
basic_machine=mt-unknown
|
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'
|
# We use `pc' rather than `unknown'
|
||||||
# because (1) that's what they normally are, and
|
# because (1) that's what they normally are, and
|
||||||
# (2) the word "unknown" tends to confuse beginning users.
|
# (2) the word "unknown" tends to confuse beginning users.
|
||||||
|
@ -361,23 +321,19 @@ case $basic_machine in
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||||
| avr-* | avr32-* \
|
| avr-* | avr32-* \
|
||||||
| be32-* | be64-* \
|
|
||||||
| bfin-* | bs2000-* \
|
| bfin-* | bs2000-* \
|
||||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||||
| clipper-* | craynv-* | cydra-* \
|
| clipper-* | craynv-* | cydra-* \
|
||||||
| d10v-* | d30v-* | dlx-* \
|
| d10v-* | d30v-* | dlx-* \
|
||||||
| elxsi-* \
|
| elxsi-* \
|
||||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||||
| h8300-* | h8500-* \
|
| h8300-* | h8500-* \
|
||||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||||
| hexagon-* \
|
|
||||||
| i*86-* | i860-* | i960-* | ia64-* \
|
| i*86-* | i860-* | i960-* | ia64-* \
|
||||||
| ip2k-* | iq2000-* \
|
| ip2k-* | iq2000-* \
|
||||||
| le32-* | le64-* \
|
|
||||||
| lm32-* \
|
|
||||||
| m32c-* | m32r-* | m32rle-* \
|
| m32c-* | m32r-* | m32rle-* \
|
||||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
| m88110-* | m88k-* | maxq-* | mcore-* \
|
||||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||||
| mips16-* \
|
| mips16-* \
|
||||||
| mips64-* | mips64el-* \
|
| mips64-* | mips64el-* \
|
||||||
|
@ -399,32 +355,27 @@ case $basic_machine in
|
||||||
| mmix-* \
|
| mmix-* \
|
||||||
| mt-* \
|
| mt-* \
|
||||||
| msp430-* \
|
| msp430-* \
|
||||||
| nds32-* | nds32le-* | nds32be-* \
|
|
||||||
| nios-* | nios2-* \
|
| nios-* | nios2-* \
|
||||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||||
| open8-* \
|
|
||||||
| orion-* \
|
| orion-* \
|
||||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||||
| pyramid-* \
|
| pyramid-* \
|
||||||
| rl78-* | romp-* | rs6000-* | rx-* \
|
| romp-* | rs6000-* \
|
||||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||||
| sparclite-* \
|
| sparclite-* \
|
||||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
|
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||||
| tahoe-* \
|
| tahoe-* | thumb-* \
|
||||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||||
| tile*-* \
|
|
||||||
| tron-* \
|
| tron-* \
|
||||||
| ubicom32-* \
|
| v850-* | v850e-* | vax-* \
|
||||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
|
||||||
| vax-* \
|
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||||
| xstormy16-* | xtensa*-* \
|
| xstormy16-* | xtensa*-* \
|
||||||
| ymp-* \
|
| ymp-* \
|
||||||
| z8k-* | z80-*)
|
| z8k-*)
|
||||||
;;
|
;;
|
||||||
# Recognize the basic CPU types without company name, with glob match.
|
# Recognize the basic CPU types without company name, with glob match.
|
||||||
xtensa*)
|
xtensa*)
|
||||||
|
@ -446,7 +397,7 @@ case $basic_machine in
|
||||||
basic_machine=a29k-amd
|
basic_machine=a29k-amd
|
||||||
os=-udi
|
os=-udi
|
||||||
;;
|
;;
|
||||||
abacus)
|
abacus)
|
||||||
basic_machine=abacus-unknown
|
basic_machine=abacus-unknown
|
||||||
;;
|
;;
|
||||||
adobe68k)
|
adobe68k)
|
||||||
|
@ -492,10 +443,6 @@ case $basic_machine in
|
||||||
basic_machine=m68k-apollo
|
basic_machine=m68k-apollo
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
aros)
|
|
||||||
basic_machine=i386-pc
|
|
||||||
os=-aros
|
|
||||||
;;
|
|
||||||
aux)
|
aux)
|
||||||
basic_machine=m68k-apple
|
basic_machine=m68k-apple
|
||||||
os=-aux
|
os=-aux
|
||||||
|
@ -512,27 +459,10 @@ case $basic_machine in
|
||||||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
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)
|
c90)
|
||||||
basic_machine=c90-cray
|
basic_machine=c90-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
cegcc)
|
|
||||||
basic_machine=arm-unknown
|
|
||||||
os=-cegcc
|
|
||||||
;;
|
|
||||||
convex-c1)
|
convex-c1)
|
||||||
basic_machine=c1-convex
|
basic_machine=c1-convex
|
||||||
os=-bsd
|
os=-bsd
|
||||||
|
@ -561,7 +491,7 @@ case $basic_machine in
|
||||||
basic_machine=craynv-cray
|
basic_machine=craynv-cray
|
||||||
os=-unicosmp
|
os=-unicosmp
|
||||||
;;
|
;;
|
||||||
cr16 | cr16-*)
|
cr16)
|
||||||
basic_machine=cr16-unknown
|
basic_machine=cr16-unknown
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
|
@ -600,10 +530,6 @@ case $basic_machine in
|
||||||
basic_machine=m88k-motorola
|
basic_machine=m88k-motorola
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
dicos)
|
|
||||||
basic_machine=i686-pc
|
|
||||||
os=-dicos
|
|
||||||
;;
|
|
||||||
djgpp)
|
djgpp)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
os=-msdosdjgpp
|
os=-msdosdjgpp
|
||||||
|
@ -777,9 +703,6 @@ case $basic_machine in
|
||||||
basic_machine=ns32k-utek
|
basic_machine=ns32k-utek
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
microblaze)
|
|
||||||
basic_machine=microblaze-xilinx
|
|
||||||
;;
|
|
||||||
mingw32)
|
mingw32)
|
||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
os=-mingw32
|
os=-mingw32
|
||||||
|
@ -816,18 +739,10 @@ case $basic_machine in
|
||||||
ms1-*)
|
ms1-*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||||
;;
|
;;
|
||||||
msys)
|
|
||||||
basic_machine=i386-pc
|
|
||||||
os=-msys
|
|
||||||
;;
|
|
||||||
mvs)
|
mvs)
|
||||||
basic_machine=i370-ibm
|
basic_machine=i370-ibm
|
||||||
os=-mvs
|
os=-mvs
|
||||||
;;
|
;;
|
||||||
nacl)
|
|
||||||
basic_machine=le32-unknown
|
|
||||||
os=-nacl
|
|
||||||
;;
|
|
||||||
ncr3000)
|
ncr3000)
|
||||||
basic_machine=i486-ncr
|
basic_machine=i486-ncr
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
|
@ -892,12 +807,6 @@ case $basic_machine in
|
||||||
np1)
|
np1)
|
||||||
basic_machine=np1-gould
|
basic_machine=np1-gould
|
||||||
;;
|
;;
|
||||||
neo-tandem)
|
|
||||||
basic_machine=neo-tandem
|
|
||||||
;;
|
|
||||||
nse-tandem)
|
|
||||||
basic_machine=nse-tandem
|
|
||||||
;;
|
|
||||||
nsr-tandem)
|
nsr-tandem)
|
||||||
basic_machine=nsr-tandem
|
basic_machine=nsr-tandem
|
||||||
;;
|
;;
|
||||||
|
@ -980,10 +889,9 @@ case $basic_machine in
|
||||||
;;
|
;;
|
||||||
power) basic_machine=power-ibm
|
power) basic_machine=power-ibm
|
||||||
;;
|
;;
|
||||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
ppc) basic_machine=powerpc-unknown
|
||||||
;;
|
;;
|
||||||
ppc-* | ppcbe-*)
|
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
|
||||||
;;
|
;;
|
||||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||||
basic_machine=powerpcle-unknown
|
basic_machine=powerpcle-unknown
|
||||||
|
@ -1077,9 +985,6 @@ case $basic_machine in
|
||||||
basic_machine=i860-stratus
|
basic_machine=i860-stratus
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
strongarm-* | thumb-*)
|
|
||||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
|
||||||
;;
|
|
||||||
sun2)
|
sun2)
|
||||||
basic_machine=m68000-sun
|
basic_machine=m68000-sun
|
||||||
;;
|
;;
|
||||||
|
@ -1136,8 +1041,20 @@ case $basic_machine in
|
||||||
basic_machine=t90-cray
|
basic_machine=t90-cray
|
||||||
os=-unicos
|
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*)
|
tile*)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=tile-unknown
|
||||||
os=-linux-gnu
|
os=-linux-gnu
|
||||||
;;
|
;;
|
||||||
tx39)
|
tx39)
|
||||||
|
@ -1207,9 +1124,6 @@ case $basic_machine in
|
||||||
xps | xps100)
|
xps | xps100)
|
||||||
basic_machine=xps100-honeywell
|
basic_machine=xps100-honeywell
|
||||||
;;
|
;;
|
||||||
xscale-* | xscalee[bl]-*)
|
|
||||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
|
||||||
;;
|
|
||||||
ymp)
|
ymp)
|
||||||
basic_machine=ymp-cray
|
basic_machine=ymp-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
|
@ -1218,10 +1132,6 @@ case $basic_machine in
|
||||||
basic_machine=z8k-unknown
|
basic_machine=z8k-unknown
|
||||||
os=-sim
|
os=-sim
|
||||||
;;
|
;;
|
||||||
z80-*-coff)
|
|
||||||
basic_machine=z80-unknown
|
|
||||||
os=-sim
|
|
||||||
;;
|
|
||||||
none)
|
none)
|
||||||
basic_machine=none-none
|
basic_machine=none-none
|
||||||
os=-none
|
os=-none
|
||||||
|
@ -1260,7 +1170,7 @@ case $basic_machine in
|
||||||
we32k)
|
we32k)
|
||||||
basic_machine=we32k-att
|
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
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||||
|
@ -1307,12 +1217,9 @@ esac
|
||||||
if [ x"$os" != x"" ]
|
if [ x"$os" != x"" ]
|
||||||
then
|
then
|
||||||
case $os in
|
case $os in
|
||||||
# First match some system type aliases
|
# First match some system type aliases
|
||||||
# that might get confused with valid system types.
|
# that might get confused with valid system types.
|
||||||
# -solaris* is a basic system type, with this one exception.
|
# -solaris* is a basic system type, with this one exception.
|
||||||
-auroraux)
|
|
||||||
os=-auroraux
|
|
||||||
;;
|
|
||||||
-solaris1 | -solaris1.*)
|
-solaris1 | -solaris1.*)
|
||||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
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.
|
# Each alternative MUST END IN A *, to match a version number.
|
||||||
# -sysv* is not here because it comes later, after sysvr4.
|
# -sysv* is not here because it comes later, after sysvr4.
|
||||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||||
| -sym* | -kopensolaris* \
|
|
||||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||||
| -aos* | -aros* \
|
| -aos* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
|
@ -1346,10 +1252,9 @@ case $os in
|
||||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
| -chorusos* | -chorusrdb* \
|
||||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -mingw32* | -linux-gnu* | -linux-android* \
|
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
||||||
| -linux-newlib* | -linux-uclibc* \
|
|
||||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
|
@ -1357,7 +1262,7 @@ case $os in
|
||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
| -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.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
|
@ -1396,7 +1301,7 @@ case $os in
|
||||||
-opened*)
|
-opened*)
|
||||||
os=-openedition
|
os=-openedition
|
||||||
;;
|
;;
|
||||||
-os400*)
|
-os400*)
|
||||||
os=-os400
|
os=-os400
|
||||||
;;
|
;;
|
||||||
-wince*)
|
-wince*)
|
||||||
|
@ -1445,7 +1350,7 @@ case $os in
|
||||||
-sinix*)
|
-sinix*)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
-tpf*)
|
-tpf*)
|
||||||
os=-tpf
|
os=-tpf
|
||||||
;;
|
;;
|
||||||
-triton*)
|
-triton*)
|
||||||
|
@ -1487,11 +1392,6 @@ case $os in
|
||||||
-zvmoe)
|
-zvmoe)
|
||||||
os=-zvmoe
|
os=-zvmoe
|
||||||
;;
|
;;
|
||||||
-dicos*)
|
|
||||||
os=-dicos
|
|
||||||
;;
|
|
||||||
-nacl*)
|
|
||||||
;;
|
|
||||||
-none)
|
-none)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -1514,10 +1414,10 @@ else
|
||||||
# system, and we'll never get to this point.
|
# system, and we'll never get to this point.
|
||||||
|
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
score-*)
|
score-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
spu-*)
|
spu-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
*-acorn)
|
*-acorn)
|
||||||
|
@ -1529,17 +1429,8 @@ case $basic_machine in
|
||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
c4x-* | tic4x-*)
|
c4x-* | tic4x-*)
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
|
||||||
tic54x-*)
|
|
||||||
os=-coff
|
|
||||||
;;
|
|
||||||
tic55x-*)
|
|
||||||
os=-coff
|
|
||||||
;;
|
|
||||||
tic6x-*)
|
|
||||||
os=-coff
|
|
||||||
;;
|
;;
|
||||||
# This must come before the *-dec entry.
|
# This must come before the *-dec entry.
|
||||||
pdp10-*)
|
pdp10-*)
|
||||||
|
@ -1566,7 +1457,7 @@ case $basic_machine in
|
||||||
m68*-cisco)
|
m68*-cisco)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
mep-*)
|
mep-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
mips*-cisco)
|
mips*-cisco)
|
||||||
|
@ -1593,7 +1484,7 @@ case $basic_machine in
|
||||||
*-ibm)
|
*-ibm)
|
||||||
os=-aix
|
os=-aix
|
||||||
;;
|
;;
|
||||||
*-knuth)
|
*-knuth)
|
||||||
os=-mmixware
|
os=-mmixware
|
||||||
;;
|
;;
|
||||||
*-wec)
|
*-wec)
|
||||||
|
@ -1698,7 +1589,7 @@ case $basic_machine in
|
||||||
-sunos*)
|
-sunos*)
|
||||||
vendor=sun
|
vendor=sun
|
||||||
;;
|
;;
|
||||||
-cnk*|-aix*)
|
-aix*)
|
||||||
vendor=ibm
|
vendor=ibm
|
||||||
;;
|
;;
|
||||||
-beos*)
|
-beos*)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
dnl
|
dnl
|
||||||
dnl $Id: configure.in,v 1.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
|
||||||
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 Privoxy team. http://www.privoxy.org/
|
||||||
dnl
|
dnl
|
||||||
dnl Based on the Internet Junkbuster originally written
|
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 or write to the Free Software Foundation, Inc., 59
|
||||||
dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
dnl
|
dnl
|
||||||
|
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 =================================================================
|
||||||
dnl AutoConf Initialization
|
dnl AutoConf Initialization
|
||||||
dnl =================================================================
|
dnl =================================================================
|
||||||
|
|
||||||
AC_REVISION($Revision: 1.166 $)
|
AC_REVISION($Revision: 1.126 $)
|
||||||
AC_INIT(jcc.c)
|
AC_INIT(jcc.c)
|
||||||
|
|
||||||
if test ! -f config.h.in; then
|
if test ! -f config.h.in; then
|
||||||
|
@ -78,13 +612,12 @@ dnl =================================================================
|
||||||
|
|
||||||
VERSION_MAJOR=3
|
VERSION_MAJOR=3
|
||||||
VERSION_MINOR=0
|
VERSION_MINOR=0
|
||||||
VERSION_POINT=19
|
VERSION_POINT=12
|
||||||
CODE_STATUS="stable"
|
CODE_STATUS="stable"
|
||||||
|
|
||||||
dnl CODE_STATUS can be "alpha", "beta", "stable" or "UNRELEASED",
|
dnl CODE_STATUS can be "alpha", "beta", or "stable", and will be
|
||||||
dnl and will be used for CGI output. Increment version number and
|
dnl used for CGI output. Set version to 0.0.0 and status to "UNRELEASED"
|
||||||
dnl set status to "UNRELEASED" whenever CVS differs from the last
|
dnl whenever CVS in a stable branch differs from the last release.
|
||||||
dnl release and no new release is near.
|
|
||||||
|
|
||||||
dnl =================================================================
|
dnl =================================================================
|
||||||
dnl Substitute the version numbers
|
dnl Substitute the version numbers
|
||||||
|
@ -119,8 +652,8 @@ AC_PROG_MAKE_SET
|
||||||
AC_PROG_AWK
|
AC_PROG_AWK
|
||||||
|
|
||||||
AC_CHECK_PROG(GDB,gdb,yes,no)
|
AC_CHECK_PROG(GDB,gdb,yes,no)
|
||||||
AC_PATH_PROG(BGROUPS,groups,no,$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,$PATH:/bin:/usr/bin:/usr/local/bin)
|
AC_PATH_PROG(ID,id,no,/bin:/usr/bin:/usr/local/bin)
|
||||||
AC_SUBST(ID)
|
AC_SUBST(ID)
|
||||||
AC_SUBST(BGROUPS)
|
AC_SUBST(BGROUPS)
|
||||||
|
|
||||||
|
@ -299,7 +832,6 @@ fi])
|
||||||
|
|
||||||
if test $target_type = mingw; then
|
if test $target_type = mingw; then
|
||||||
WIN_ONLY=
|
WIN_ONLY=
|
||||||
CFLAGS="$CFLAGS -DWINVER=0x501"
|
|
||||||
SPECIAL_CFLAGS="-mwindows -mno-cygwin"
|
SPECIAL_CFLAGS="-mwindows -mno-cygwin"
|
||||||
PTHREAD_LIB=-lpthreadGC
|
PTHREAD_LIB=-lpthreadGC
|
||||||
echo "Using mingw32 (Win32 GUI)"
|
echo "Using mingw32 (Win32 GUI)"
|
||||||
|
@ -316,7 +848,7 @@ else
|
||||||
fi
|
fi
|
||||||
AC_SUBST(WIN_ONLY)
|
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
|
if test $dodk != no; then
|
||||||
AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
|
AC_CHECK_PROGS(WDUMP,w3m lynx links,false)
|
||||||
if test "$WDUMP" = false; then
|
if test "$WDUMP" = false; then
|
||||||
|
@ -400,13 +932,6 @@ fi
|
||||||
AC_SUBST(JADECAT)
|
AC_SUBST(JADECAT)
|
||||||
AC_SUBST(DKPREFIX)
|
AC_SUBST(DKPREFIX)
|
||||||
|
|
||||||
AC_ARG_ENABLE(large-file-support,
|
|
||||||
[ --enable-large-file-support Define _LARGE_FILES and friends.
|
|
||||||
Required by some systems to support files larger then 2GB.],
|
|
||||||
[if test $enableval = yes; then
|
|
||||||
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1"
|
|
||||||
fi])
|
|
||||||
|
|
||||||
dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
|
dnl Save old CFLAGS so we can restore them later, then add SPECIAL_CFLAGS
|
||||||
old_CFLAGS_nospecial=$CFLAGS
|
old_CFLAGS_nospecial=$CFLAGS
|
||||||
CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
|
CFLAGS="$CFLAGS $SPECIAL_CFLAGS"
|
||||||
|
@ -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])
|
AC_CHECK_HEADERS([OS.h arpa/inet.h errno.h fcntl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h sys/wait.h unistd.h])
|
||||||
|
|
||||||
dnl Checks for library functions.
|
dnl Checks for library functions.
|
||||||
dnl bcopy is for PCRE
|
dnl AC_TYPE_SIGNAL
|
||||||
AC_CHECK_FUNCS([bcopy])
|
dnl AC_CHECK_FUNC(strstr)
|
||||||
|
dnl bcopy and memmove are for PCRE
|
||||||
|
AC_CHECK_FUNCS([strerror bcopy memmove])
|
||||||
AC_PROG_GCC_TRADITIONAL
|
AC_PROG_GCC_TRADITIONAL
|
||||||
|
dnl uncommenting does not work for swa. suse linux
|
||||||
|
dnl AC_FUNC_MALLOC
|
||||||
|
AC_FUNC_SETPGRP
|
||||||
AC_TYPE_SIGNAL
|
AC_TYPE_SIGNAL
|
||||||
|
dnl uncommenting does not work for swa. suse linux
|
||||||
|
dnl AC_FUNC_STAT
|
||||||
AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset])
|
AC_CHECK_FUNCS([access atexit getcwd gethostbyaddr gethostbyaddr_r gethostbyname gethostbyname_r gettimeofday inet_ntoa localtime_r memchr memmove memset poll putenv random regcomp select setlocale snprintf socket strchr strdup strerror strftime strlcat strlcpy strptime strstr strtoul timegm tzset])
|
||||||
|
|
||||||
dnl Checks for RFC 2553 resolver and socket functions
|
|
||||||
AC_ARG_ENABLE(ipv6-support,
|
|
||||||
[ --disable-ipv6-support Disable IPv6 support and other RFC-2554-related improvements],
|
|
||||||
[if test $enableval = yes; then
|
|
||||||
enable_ipv6_support=yes
|
|
||||||
fi], enable_ipv6_support=yes)
|
|
||||||
|
|
||||||
if test $enable_ipv6_support != yes; then
|
|
||||||
AC_MSG_WARN([Skipping checks for IPv6 support and other RFC-2554-related improvements.
|
|
||||||
Due to lock contention, this may result in slower DNS resolution for IPv4 setups, too.])
|
|
||||||
elif test $target_type = mingw; then
|
|
||||||
AC_CHECK_LIB(ws2_32, main)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(getaddrinfo in ws2_32)
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[
|
|
||||||
#include<windows.h>
|
|
||||||
#include<ws2tcpip.h>
|
|
||||||
],
|
|
||||||
[getaddrinfo(0,0,0,0)],
|
|
||||||
have_ws2_32_getaddrinfo=yes
|
|
||||||
)
|
|
||||||
AC_MSG_RESULT($have_ws2_32_getaddrinfo)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(getnameinfo in ws2_32)
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[
|
|
||||||
#include<windows.h>
|
|
||||||
#include<ws2tcpip.h>
|
|
||||||
],
|
|
||||||
[getnameinfo(0,0,0,0,0,0,0)],
|
|
||||||
have_ws2_32_getnameinfo=yes
|
|
||||||
)
|
|
||||||
AC_MSG_RESULT($have_ws2_32_getnameinfo)
|
|
||||||
|
|
||||||
if test $have_ws2_32_getaddrinfo ; then
|
|
||||||
if test $have_ws2_32_getnameinfo ; then
|
|
||||||
AC_DEFINE([HAVE_RFC2553], [1],
|
|
||||||
[Define if RFC 2553 resolver functions like getaddrinfo(3) and
|
|
||||||
getnameinfo(3) present])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
AC_CHECK_FUNC([getaddrinfo],
|
|
||||||
[AC_CHECK_FUNC([getnameinfo],
|
|
||||||
[AC_DEFINE([HAVE_RFC2553], [1],
|
|
||||||
[Define if RFC 2553 resolver functions like getaddrinfo(3) and
|
|
||||||
getnameinfo(3) present])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl =================================================================
|
dnl =================================================================
|
||||||
dnl Checks for libraries.
|
dnl Checks for libraries.
|
||||||
|
@ -845,8 +1326,8 @@ AC_ARG_ENABLE(image-blocking,
|
||||||
fi],
|
fi],
|
||||||
AC_DEFINE(FEATURE_IMAGE_BLOCKING))
|
AC_DEFINE(FEATURE_IMAGE_BLOCKING))
|
||||||
|
|
||||||
AC_ARG_ENABLE(acl-support,
|
AC_ARG_ENABLE(acl-files,
|
||||||
[ --disable-acl-support Prevents the use of ACLs to control access to
|
[ --disable-acl-files Prevents the use of ACL files to control access to
|
||||||
Privoxy by IP address.],
|
Privoxy by IP address.],
|
||||||
[if test $enableval = yes; then
|
[if test $enableval = yes; then
|
||||||
AC_DEFINE(FEATURE_ACL)
|
AC_DEFINE(FEATURE_ACL)
|
||||||
|
@ -882,23 +1363,11 @@ AC_ARG_ENABLE(graceful-termination,
|
||||||
fi])
|
fi])
|
||||||
|
|
||||||
AC_ARG_ENABLE(extended-host-patterns,
|
AC_ARG_ENABLE(extended-host-patterns,
|
||||||
[ --enable-extended-host-patterns Enable and require PCRE syntax in host patterns. This feature hasn't
|
[ --enable-extended-host-patterns Allow extended regular expressions in host patterns.],
|
||||||
been announced yet and it's not clear if it's a good idea. It's expected
|
|
||||||
to work, but undocumented. You should only enable it if you know what
|
|
||||||
PCRE is and are sure that you need it for your host patterns. You can
|
|
||||||
use tools/url-pattern-translator.pl to convert existing action files to
|
|
||||||
use PCRE host patterns. Please don't enable this option when creating
|
|
||||||
packages for others that may not be expecting it.],
|
|
||||||
[if test $enableval = yes; then
|
[if test $enableval = yes; then
|
||||||
AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
|
AC_DEFINE(FEATURE_EXTENDED_HOST_PATTERNS)
|
||||||
fi])
|
fi])
|
||||||
|
|
||||||
AC_ARG_ENABLE(accept-filter,
|
|
||||||
[ --enable-accept-filter Try to use accf_http(9) if supported.],
|
|
||||||
[if test $enableval = yes; then
|
|
||||||
AC_DEFINE(FEATURE_ACCEPT_FILTER)
|
|
||||||
fi])
|
|
||||||
|
|
||||||
dnl pcre/pcrs is needed for CGI anyway, so
|
dnl pcre/pcrs is needed for CGI anyway, so
|
||||||
dnl the choice is only between static and
|
dnl the choice is only between static and
|
||||||
dnl dynamic:
|
dnl dynamic:
|
||||||
|
@ -928,7 +1397,7 @@ if test $enableval2 = yes; then
|
||||||
AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
|
AC_CHECK_LIB(z, zlibVersion, [have_zlib="yes"], [have_zlib="no"])
|
||||||
if test $have_zlib = "yes"; then
|
if test $have_zlib = "yes"; then
|
||||||
LIBS="$LIBS -lz"
|
LIBS="$LIBS -lz"
|
||||||
AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use zlib to decompress data before filtering.])
|
AC_DEFINE(FEATURE_ZLIB,1,[Define to 1 to use compression through the zlib library.])
|
||||||
else
|
else
|
||||||
AC_MSG_WARN([No zlib found.
|
AC_MSG_WARN([No zlib found.
|
||||||
Privoxy will not be able to filter compressed content.
|
Privoxy will not be able to filter compressed content.
|
||||||
|
@ -936,19 +1405,6 @@ if test $enableval2 = yes; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_ENABLE(compression,
|
|
||||||
[ --enable-compression Allow Privoxy to compress buffered content if the client supports it. Requires zlib support.],
|
|
||||||
[enableval2=$enableval],
|
|
||||||
[enableval2=no])
|
|
||||||
if test $enableval2 = yes; then
|
|
||||||
if test $have_zlib = "yes"; then
|
|
||||||
echo Enabling compression support.
|
|
||||||
AC_DEFINE(FEATURE_COMPRESSION,1,[Define to 1 to use compression through the zlib library.])
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([No zlib found. Privoxy will not be able to (re-)compressed buffered content.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# If we have libpcre and either we also have pcreposix or
|
# If we have libpcre and either we also have pcreposix or
|
||||||
# we don't need pcreposix, then link pcre dynamically; else
|
# we don't need pcreposix, then link pcre dynamically; else
|
||||||
|
@ -960,18 +1416,16 @@ if test $have_pcre = "yes"; then
|
||||||
STATIC_PCRE_ONLY=#
|
STATIC_PCRE_ONLY=#
|
||||||
LIBS="$LIBS -lpcre -lpcreposix"
|
LIBS="$LIBS -lpcre -lpcreposix"
|
||||||
else
|
else
|
||||||
AC_MSG_WARN([You are using the static PCRE code which is out of date and scheduled for removal, for details see:
|
AC_MSG_WARN([You are using the static PCRE code which is scheduled for removal, for details see:
|
||||||
http://sourceforge.net/mailarchive/forum.php?thread_name=20080511195555.2dc6cfdc%40fabiankeil.de&forum_name=ijbswa-developers])
|
https://sourceforge.net/mailarchive/message.php?msg_id=20080511195555.2dc6cfdc%40fabiankeil.de])
|
||||||
pcre_dyn=no
|
pcre_dyn=no
|
||||||
AC_DEFINE(STATIC_PCRE)
|
AC_DEFINE(STATIC_PCRE)
|
||||||
STATIC_PCRE_ONLY=
|
STATIC_PCRE_ONLY=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
|
|
||||||
|
|
||||||
if test $have_pthread = "yes" -o $target_type = "mingw"; then
|
if test $have_pthread = "yes" -o $target_type = "mingw"; then
|
||||||
echo Enabling connection-sharing support.
|
echo Enabling keep-alive support for outgoing connections.
|
||||||
AC_DEFINE(FEATURE_CONNECTION_SHARING)
|
AC_DEFINE(FEATURE_CONNECTION_KEEP_ALIVE)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl =================================================
|
dnl =================================================
|
||||||
|
@ -999,7 +1453,7 @@ dnl =================================================================
|
||||||
dnl Final cleanup and output
|
dnl Final cleanup and output
|
||||||
dnl =================================================================
|
dnl =================================================================
|
||||||
|
|
||||||
dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it separately
|
dnl Remove the SPECIAL_CFLAGS stuff from CFLAGS, and add it seperately
|
||||||
dnl in the Makefile
|
dnl in the Makefile
|
||||||
CFLAGS=$old_CFLAGS_nospecial
|
CFLAGS=$old_CFLAGS_nospecial
|
||||||
AC_SUBST(SPECIAL_CFLAGS)
|
AC_SUBST(SPECIAL_CFLAGS)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef CYGWIN_H_INCLUDED
|
#ifndef CYGWIN_H_INCLUDED
|
||||||
#define CYGWIN_H_INCLUDED
|
#define CYGWIN_H_INCLUDED
|
||||||
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $
|
||||||
|
@ -34,6 +34,26 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: cygwin.h,v $
|
||||||
|
* Revision 1.6 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.4 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.3 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/29 18:43:08 jongfoster
|
||||||
|
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
||||||
|
* ANSI C rules.
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
/* Conditionally include this whole file. */
|
/* Conditionally include this whole file. */
|
||||||
|
|
|
@ -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 $
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: deanimate.c,v $
|
||||||
|
* Revision 1.19 2008/05/21 15:29:35 fabiankeil
|
||||||
|
* Fix gcc43 warnings.
|
||||||
|
*
|
||||||
|
* Revision 1.18 2008/03/28 15:13:38 fabiankeil
|
||||||
|
* Remove inspect-jpegs action.
|
||||||
|
*
|
||||||
|
* Revision 1.17 2007/08/05 13:42:22 fabiankeil
|
||||||
|
* #1763173 from Stefan Huehner: declare some more functions static.
|
||||||
|
*
|
||||||
|
* Revision 1.16 2007/07/14 08:01:58 fabiankeil
|
||||||
|
* s@failiure@failure@
|
||||||
|
*
|
||||||
|
* Revision 1.15 2007/01/03 14:39:19 fabiankeil
|
||||||
|
* Fix a gcc43 warning and mark the binbuffer
|
||||||
|
* as immutable for buf_getbyte().
|
||||||
|
*
|
||||||
|
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.12.2.1 2004/10/03 12:53:32 david__schmidt
|
||||||
|
* Add the ability to check jpeg images for invalid
|
||||||
|
* lengths of comment blocks. Defensive strategy
|
||||||
|
* against the exploit:
|
||||||
|
* Microsoft Security Bulletin MS04-028
|
||||||
|
* Buffer Overrun in JPEG Processing (GDI+) Could
|
||||||
|
* Allow Code Execution (833987)
|
||||||
|
* Enabled with +inspect-jpegs in actions files.
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/05/12 21:36:29 jongfoster
|
||||||
|
* Correcting function comments
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/13 00:27:04 jongfoster
|
||||||
|
* Killing warnings
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/09 19:42:47 jongfoster
|
||||||
|
* Fixing more warnings
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/08 17:46:04 jongfoster
|
||||||
|
* Fixing int/size_t warnings
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/07 03:46:17 oes
|
||||||
|
* Fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/09/10 10:16:06 oes
|
||||||
|
* Silenced compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/07/18 12:28:49 oes
|
||||||
|
* - Added feature for extracting the first frame
|
||||||
|
* to gif_deanimate
|
||||||
|
* - Separated image buffer extension into buf_extend
|
||||||
|
* - Extended gif deanimation to GIF87a (untested!)
|
||||||
|
* - Cosmetics
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/07/15 13:57:50 jongfoster
|
||||||
|
* Adding #includes string.h and miscutil.h
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/13 13:46:20 oes
|
||||||
|
* Introduced GIF deanimation feature
|
||||||
|
*
|
||||||
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef DEANIMATE_H_INCLUDED
|
#ifndef DEANIMATE_H_INCLUDED
|
||||||
#define DEANIMATE_H_INCLUDED
|
#define DEANIMATE_H_INCLUDED
|
||||||
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $
|
||||||
|
@ -40,8 +40,51 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: deanimate.h,v $
|
||||||
|
* Revision 1.12 2008/03/28 15:13:39 fabiankeil
|
||||||
|
* Remove inspect-jpegs action.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2007/01/12 15:41:00 fabiankeil
|
||||||
|
* Remove some white space at EOL.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.8.2.1 2004/10/03 12:53:32 david__schmidt
|
||||||
|
* Add the ability to check jpeg images for invalid
|
||||||
|
* lengths of comment blocks. Defensive strategy
|
||||||
|
* against the exploit:
|
||||||
|
* Microsoft Security Bulletin MS04-028
|
||||||
|
* Buffer Overrun in JPEG Processing (GDI+) Could
|
||||||
|
* Allow Code Execution (833987)
|
||||||
|
* Enabled with +inspect-jpegs in actions files.
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/08 17:46:04 jongfoster
|
||||||
|
* Fixing int/size_t warnings
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/03/07 03:46:17 oes
|
||||||
|
* Fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/07/29 18:50:04 jongfoster
|
||||||
|
* Fixing "extern C" block, and renaming #define _DEANIMATE_H
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/07/18 12:29:05 oes
|
||||||
|
* Updated prototype for gif_deanimate
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/13 13:46:20 oes
|
||||||
|
* Introduced GIF deanimation feature
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# File : $Source: /cvsroot/ijbswa/current/default.action.master,v $
|
# File : $Source: /cvsroot/ijbswa/current/default.action.master,v $
|
||||||
#
|
#
|
||||||
# $Id: default.action.master,v 1.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
|
# Requires : This version requires Privoxy v3.0.11 or later due to
|
||||||
# syntax changes.
|
# syntax changes.
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
# and enhancements are better placed in user.action,
|
# and enhancements are better placed in user.action,
|
||||||
# the match-all section has been moved to match-all.action.
|
# the match-all section has been moved to match-all.action.
|
||||||
#
|
#
|
||||||
# Copyright : Written by and Copyright (C) 2001-2010 the
|
# Copyright : Written by and Copyright (C) 2001-2009 the
|
||||||
# Privoxy team. http://www.privoxy.org/
|
# Privoxy team. http://www.privoxy.org/
|
||||||
#
|
#
|
||||||
# Note: Updated versions of this file will be made available from time
|
# Note: Updated versions of this file will be made available from time
|
||||||
|
@ -545,7 +545,7 @@ for-privoxy-version=3.0.11
|
||||||
# These aliases define combinations of actions
|
# These aliases define combinations of actions
|
||||||
# that are useful for certain types of sites:
|
# that are useful for certain types of sites:
|
||||||
#
|
#
|
||||||
fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer
|
fragile = -block -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression
|
||||||
shop = -crunch-all-cookies allow-popups
|
shop = -crunch-all-cookies allow-popups
|
||||||
|
|
||||||
# Your favourite blend of filters:
|
# 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} \
|
+change-x-forwarded-for{block} \
|
||||||
+client-header-tagger{css-requests} \
|
|
||||||
+client-header-tagger{image-requests} \
|
|
||||||
+hide-from-header{block} \
|
+hide-from-header{block} \
|
||||||
+set-image-blocker{pattern} \
|
+set-image-blocker{pattern} \
|
||||||
}
|
}
|
||||||
|
@ -576,8 +574,6 @@ standard.Cautious
|
||||||
#
|
#
|
||||||
{ \
|
{ \
|
||||||
+change-x-forwarded-for{block} \
|
+change-x-forwarded-for{block} \
|
||||||
+client-header-tagger{css-requests} \
|
|
||||||
+client-header-tagger{image-requests} \
|
|
||||||
+deanimate-gifs{last} \
|
+deanimate-gifs{last} \
|
||||||
+filter{refresh-tags} \
|
+filter{refresh-tags} \
|
||||||
+filter{img-reorder} \
|
+filter{img-reorder} \
|
||||||
|
@ -644,16 +640,6 @@ standard.Advanced
|
||||||
{-handle-as-image}
|
{-handle-as-image}
|
||||||
/.*\.(js|php|css|.?html?)
|
/.*\.(js|php|css|.?html?)
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
# These belong to multimedia files of which Firefox occasionally only
|
|
||||||
# requests parts. #2816708
|
|
||||||
#############################################################################
|
|
||||||
{-filter -deanimate-gifs}
|
|
||||||
# Sticky Actions = -filter -deanimate-gifs
|
|
||||||
# URL = http://www.example.org/foo/bar.ogg
|
|
||||||
# URL = http://www.example.net/bar.ogv
|
|
||||||
/.*\.og[gv]$
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Generic block patterns by host:
|
# Generic block patterns by host:
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -681,7 +667,6 @@ metrics.
|
||||||
# Generic unblockers by host:
|
# Generic unblockers by host:
|
||||||
#############################################################################
|
#############################################################################
|
||||||
{-block}
|
{-block}
|
||||||
# Sticky Actions = -block
|
|
||||||
adsl.
|
adsl.
|
||||||
ad[udmw]*.
|
ad[udmw]*.
|
||||||
adbl*.
|
adbl*.
|
||||||
|
@ -698,11 +683,6 @@ adventure*.
|
||||||
.*[epu]ad*.
|
.*[epu]ad*.
|
||||||
county*.
|
county*.
|
||||||
countr*.
|
countr*.
|
||||||
#MASTER# REMARKS: We still like tor
|
|
||||||
# URL = http://metrics.torproject.org/consensus-graphs.html
|
|
||||||
metrics.torproject.org/
|
|
||||||
# URL = http://linuxcounter.net/
|
|
||||||
linuxcounter.net/
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Generic block patterns by path:
|
# Generic block patterns by path:
|
||||||
|
@ -728,8 +708,6 @@ linuxcounter.net/
|
||||||
/.*(lo|thre|he|d|gr|l|ro|re|squ|class(ified)?)ads
|
/.*(lo|thre|he|d|gr|l|ro|re|squ|class(ified)?)ads
|
||||||
/.*account
|
/.*account
|
||||||
support./(.*/)?track
|
support./(.*/)?track
|
||||||
# URL = http://repo.or.cz/r/vlc.git/objects/ad/1d316efd83157217fdf9b5d417dddca54bbf41
|
|
||||||
/.*\.git/objects/
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Exceptions for academia and non-profits
|
# Exceptions for academia and non-profits
|
||||||
|
@ -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
|
#MASTER# REMARKS: Added "text" 20070730 as per http://www.pcworld.com/textad?Keywords=System Resources Tune-Up.&type=pcworld_downloads_search&count=3&ord=906010128&serveUrl=http%3A%2F%2Fwww.pcworld.com%2Fdownloads%2Ffile%2Ffid%2C7661-order%2C1-page%2C1-c%2Csystemresourcestuneup%2Fdescription.html Adam Piggott
|
||||||
/.*(top|bottom|left|right|text)_?ad
|
/.*(top|bottom|left|right|text)_?ad
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
# Catch-all exceptions
|
|
||||||
#############################################################################
|
|
||||||
{-block}
|
|
||||||
# Sticky Actions = -block
|
|
||||||
|
|
||||||
#MASTER# REMARKS: Actionsfile feedback item #2933856 2010-01-17 16:59
|
|
||||||
#MASTER# REMARKS: Allow URLs containing DektopAdmin (matches .*top_?ad)
|
|
||||||
# URL = http://support.apple.com/downloads/DL985/en_US/RemoteDesktopAdmin332.dmg
|
|
||||||
/.*desktopadmin
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
|
||||||
# Misc Web-bugs, JS and just plain Junk. Images here aren't normal images.
|
|
||||||
#----------------------------------------------------------------------------
|
|
||||||
{+block{Might be a web-bug.} +handle-as-empty-document -handle-as-image}
|
|
||||||
#MASTER# REMARKS: signature for user tracking nytimes, cnn.com,latimes.com and many others. 10/06/06
|
|
||||||
/b/ss/.+
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.thesun.co.uk/article/0,,11071-10784,00.html
|
|
||||||
#MASTER# REMARKS: widespread hitbox signature 10/06/06
|
|
||||||
/HG\?hc=
|
|
||||||
#MASTER# BLOCK-REFERRER: http://macaddict.com 10/06/06
|
|
||||||
.visistat.com
|
|
||||||
#MASTER# REMARKS: See <http://www.google.com/analytics/> for user tracking.
|
|
||||||
#MASTER# REMARKS: There is a ssl.google-analytics as well.
|
|
||||||
.google-analytics./
|
|
||||||
#MASTER# REMARKS: Below Moved here from -handle-as-image 10/16/06 ##########
|
|
||||||
#MASTER# BLOCK-REFERRER: http://forums2.gardenweb.com/forums/orchids/ 09/25/06
|
|
||||||
#MASTER# REMARKS: Mostly JS and plain text stuff
|
|
||||||
.overture.
|
|
||||||
#MASTER# PROBLEM-URL: http://www.linuxtoday.com/
|
|
||||||
#MASTER# REMARKS: /adi has HTML snipplets for use in IFRAMEs 10/15/06
|
|
||||||
.doubleclick.net/adi
|
|
||||||
.doubleclick.net/(.*/)?adj/
|
|
||||||
#MASTER# PROBLEM-URL: http://maps.yahoo.com/
|
|
||||||
#MASTER# REMARKS: /AVE/iview has HTML snipplets for use in IFRAMEs 10/15/06
|
|
||||||
view.atdmt.com/(.*/)?iview/
|
|
||||||
#MASTER# REMARKS: Above Moved here from -handle-as-image 10/16/06 ##########
|
|
||||||
#MASTER# REMARKS: Generic, re: tracking.foxnews.com/HG? 10/01/06
|
|
||||||
tracking.
|
|
||||||
#MASTER# BLOCK-REFERRER: http://netcraft.com and many others 10/22/06
|
|
||||||
/(.*/)?adjs\.php\?
|
|
||||||
#MASTER# BLOCK-REFERRER: http://groups.yahoo.com/group/epdf/ 10/08/06
|
|
||||||
.bc.yahoo.com/b\?P=
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.motherboard.cz 10/30/06
|
|
||||||
x*.alexa.com
|
|
||||||
#MASTER# BLOCK-REFERRER: http://mplayernetwork.com 11/07/06
|
|
||||||
#MASTER# BLOCK-REFERRER: http://eetimes.com 09/26/06
|
|
||||||
/event.ng/
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.homedepot.com/ 11/08/06
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.williams-sonoma.com/ 11/08/06
|
|
||||||
/cm\?[tc]
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.snapfiles.com/feedback/ 12/13/06 SF tracker
|
|
||||||
.snapfiles.net/rotation/.*\.asp
|
|
||||||
#MASTER# BLOCK-REFERRER: not provided. SF tracker #1616034 12/16/06
|
|
||||||
#MASTER# COMMENT: JS pop-ups
|
|
||||||
spa.snap.com/
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html 12/18/06
|
|
||||||
#MASTER# COMMENT: user tracking, and run-away assorted 'junk'
|
|
||||||
#MASTER# BLOCK-REFERRER: http://formwood.com 2007-11-12
|
|
||||||
.insitemetrics.com/
|
|
||||||
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
|
||||||
#MASTER# BLOCK-REFERRER: http://blogblog.com 2007-11-12
|
|
||||||
.extreme-dm.com/
|
|
||||||
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.schillmania.com 2007-11-12
|
|
||||||
stats.reinvigorate.net/
|
|
||||||
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
|
||||||
#MASTER# BLOCK-REFERRER: http://wordpress.com 2007-11-12
|
|
||||||
.getclicky.com/
|
|
||||||
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
|
||||||
#MASTER# BLOCK-REFERRER: http://infoworld.com 2007-11-12
|
|
||||||
.quantserve.com
|
|
||||||
# Blocked URL = http://media.adrevolver.com/adrevolver/trace?sip=123&cpy=123
|
|
||||||
media.adrevolver.com/
|
|
||||||
#MASTER# REMARKS: Actionsfile feedback item #2975895 2010-03-24
|
|
||||||
# Blocked URL = http://static.chartbeat.com/js/chartbeat.js
|
|
||||||
.chartbeat.com/(.*/)?chartbeat\.js$
|
|
||||||
# Blocked URL = http://js.adlink.net/js?lang=de&s=duesseldorf-international.de&z=home&d=1274103403564
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.duesseldorf-international.de/
|
|
||||||
js.adlink.net/
|
|
||||||
# Blocked URL = nl.sitestat.com/rdw/rdw/s?www.nl.voertuigeigenaar.voertuigeigenaar&ns__t=1274099350343
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.rdw.nl/nl/voertuigeigenaar/
|
|
||||||
.sitestat.com/
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.chip.de/artikel/c_artikelunterseite_10423683.html
|
|
||||||
# Blocked URL = http://pagead.googlesyndication.example.com/foo/bar/baz.js
|
|
||||||
pagead*.googlesyndication./.*\.js
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.pcmag.com/ 11/22/06 per SF Tracker # 1601148
|
|
||||||
/js/slider\.js
|
|
||||||
#MASTER# BLOCK-REFERRER: http://floodle.net 2007-01-21 SF tracker
|
|
||||||
scripts.chitika.net/.*\.js
|
|
||||||
#MASTER# BLOCK-REFERRER: via Yahoo groups
|
|
||||||
#MASTER# REMARKS: Actionsfile tracker 1645513 2007-01-26
|
|
||||||
.adinterax.com/.*\.js
|
|
||||||
#MASTER# BLOCK-REFERRER: http://dictionary.reference.com/search?q=privacy&db=*
|
|
||||||
#MASTER# REMARKS: Actionsfile tracker 1650798 2007-02-02
|
|
||||||
# Blocked URL = http://partner.googleadservices.com/gampad/google_service.js
|
|
||||||
# Blocked URL = http://partner.googleadservices.com/gampad/google_ads.js
|
|
||||||
# Blocked URL = http://partner.googleadservices.com/gampad/slotdata.js?callback=_GA_googleAdData.setAdSlotAttributes&client=ca-gam-lexico
|
|
||||||
.googleadservices.com/gampad/.*\.js
|
|
||||||
# Blocked URL = http://richmedia.yimg.com/js/123/personnals_banners/PER_happy_sara1_4_425x600/ad.js?q=123
|
|
||||||
/.*/ad\.js\?
|
|
||||||
# Blocked URL = http://i.cmpnet.com/shared/omniture/s_code_remote.js
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.informationweek.de/
|
|
||||||
/.*omniture.*\.js
|
|
||||||
# Blocked URL = http://gadk.hit.gemius.pl/*/_1274097577014/rexdot.gif?l=30&id=..DlR.vCLZGB56RmfkYNSWZVLSqB3ueYOP.Oec5WWiv.h7&fr=1&fv=WIN%2010%2C0%2C45%2C2&tz=-120&href=http%3A//www.baadgalleri.dk/&ref=&screen=1440x900&col=32
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.baadgalleri.dk/
|
|
||||||
.gemius.pl/
|
|
||||||
|
|
||||||
|
|
||||||
{+block{Might be a web-bug.} -handle-as-empty-document +handle-as-image}
|
|
||||||
#MASTER# BLOCK-REFERRER: http://versiontracker.com and many others. 10/20/06
|
|
||||||
/(.*/)?__utm.gif\?
|
|
||||||
#MASTER# BLOCK-REFERRER: http://washingpost.com and others 10/25/06
|
|
||||||
/.*\.gif\?D=DM
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.washingtonpost.com/
|
|
||||||
#stats.surfaid.ihost.com/(crc/)?images/(bounce/)?uc.GIF
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.ibm.com 10/09/06
|
|
||||||
#MASTER# REMARKS: Similar hostname and paths appear in multiple locations.
|
|
||||||
# Blocked URL = http://stats.surfaid.ihost.com/crc/images/bounce/uc.GIF
|
|
||||||
# Blocked URL = http://stats.surfaid.ihost.com/rc/images/bounce/uc.GIF
|
|
||||||
stats./c?rc/.*/uc.gif
|
|
||||||
#MASTER# BLOCK-REFERRER: http://priceline.com 10/20/06
|
|
||||||
#MASTER# REMARKS: User tracking, webbug stuff
|
|
||||||
/(.*/)?dcs.gif\?&?dcs
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.msnbc.com 10/07/06
|
|
||||||
#MASTER# REMARKS: And MANY others. Webbug stuff.
|
|
||||||
/(.*/)?c(lear)?\.gif\?.
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.investorguide.com 10/08/06
|
|
||||||
#MASTER# BLOCK-REFERRER: http://foodnetwork.com, http://gardenweb.com 10/20/06
|
|
||||||
#MASTER# REMARK: webbug type gif used in MANY places.
|
|
||||||
#MASTER# REMARK: Too many false positives
|
|
||||||
#/(.*/)?(clear|(trans_?1x|blank)?1).gif
|
|
||||||
#MASTER# REMARK: Let's try this way.
|
|
||||||
/(.*/)?(clear|blank|(trans_?|1x)?1).gif\?.
|
|
||||||
#MASTER# BLOCK-REFERRER: http://actorstheatre.org 11/02/06
|
|
||||||
stats./.*\.gif\?
|
|
||||||
# Blocked URL = http://ad.yieldmanager.com/pixel?id=123456&t=2
|
|
||||||
.yieldmanager.com/pixel\?
|
|
||||||
# Blocked URL = http://a.analytics.yahoo.com/p.pl?a=1000226660965&js=no
|
|
||||||
# Blocked URL = http://s.analytics.yahoo.com/fpc.pl?a=1000461640983&v=4.43&enc=utf-8&f=http%3A//www.zoover.nl/nederland/limburg/maasbracht/weer%23tabs&b=Het%20Weer%20in%20Maasbracht.%20Bekijk%20Weersverwachting%20van%20Maasbracht%20%7C%20Zoover%23tabs&flv=WIN%2010%2C0%2C45%2C2&d=Mon%2C%2017%20May%202010%2014%3A09%3A26%20UTC&n=-2&g=nl&h=Y&j=1440x900&k=32&l=true&ittidx=0&fpc=uP04C7j4%7ClaDQjglKaa%7Cfses1000461640983%3D%7CkbSSgv6Jaa%7CuP04C7j4%7Cfvis1000461640983%3DZj1odHRwJTNBLy93d3cuem9vdmVyLm5sLyZiPVpvb3ZlciUyMCU3QyUyMFZha2FudGllYmVvb3JkZWxpbmdlbiUyMHZvb3IlMjBlbiUyMGRvb3IlMjByZWl6aWdlcnM%3D%7C8sHTYo10oM%7C8sHTYo10oM%7C8sHTYo10oM%7CT%7C8sHTYo10oM%7C8sHTYo10oM
|
|
||||||
.analytics.yahoo.com
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.aktivist.pl/
|
|
||||||
# Blocked URL = http://go.idmnet.bbelements.com/please/showit/46/1/1/1/?typkodu=img&keywords=
|
|
||||||
go.idmnet.bbelements.com/please/showit/
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Site-specific block patterns;
|
# Site-specific block patterns;
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -916,10 +748,6 @@ go.idmnet.bbelements.com/please/showit/
|
||||||
landing.trafficz.com/
|
landing.trafficz.com/
|
||||||
# Blocked URL = http://www.searchnut.com/?domain=www.inetcat.org
|
# Blocked URL = http://www.searchnut.com/?domain=www.inetcat.org
|
||||||
.searchnut.com/\?domain
|
.searchnut.com/\?domain
|
||||||
#MASTER# REMARKS: Verizon should know better
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.qwetyhjkl.com
|
|
||||||
# Blocked URL = http://wwwz.websearch.verizon.net/search?qo=www.qwetyhjkl.com
|
|
||||||
wwwz.websearch.verizon.net/search\?qo=
|
|
||||||
|
|
||||||
{+block{Site-specific block pattern matches.}}
|
{+block{Site-specific block pattern matches.}}
|
||||||
#MASTER# BLOCK-REFERRER: http://www.brooksbrothers.com/ 10/18/06
|
#MASTER# BLOCK-REFERRER: http://www.brooksbrothers.com/ 10/18/06
|
||||||
|
@ -1059,52 +887,128 @@ static.lycos-europe.net
|
||||||
#MASTER# BLOCK-REFERRER: http://hitta.se
|
#MASTER# BLOCK-REFERRER: http://hitta.se
|
||||||
# Blocked URL = http://82.99.18.195/media.1/112/9460/146016/150x175_Hitta_FV_Feb08.gif
|
# Blocked URL = http://82.99.18.195/media.1/112/9460/146016/150x175_Hitta_FV_Feb08.gif
|
||||||
82.99.18.195
|
82.99.18.195
|
||||||
#MASTER# REMARKS: Actionsfile feedback item #1888197 and #2975927.
|
#MASTER# REMARKS: Actionsfile feedback item #1888197 2008-02-06
|
||||||
#MASTER# REMARKS: Have a "go there anyway" link for clk.atdmt.com and view.atdmt.com.
|
#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
|
#MASTER# BLOCK-REFERRER: http://www.networkworld.com/resourcelibrary/?tid=4&type=special%20report
|
||||||
# Blocked URL = http://clk.atdmt.com/
|
# Blocked URL = http://clk.atdmt.com/
|
||||||
# Blocked URL = http://view.atdmt.com/action/mrtiwy_FY10Office2010BetaHomeandBiz1_1
|
|
||||||
.atdmt.com/
|
.atdmt.com/
|
||||||
#MASTER# REMARKS: Actionsfile feedback item #2723873 2009-04-01
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.news.software.coop/paralysed-perl-package-problem/602/
|
|
||||||
# Blocked URL = http://www.awin1.com/cread.php?s=123049&v=1983&q=80970&r=79561
|
|
||||||
.awin1.com
|
|
||||||
#MASTER# BLOCK-REFERRER: http://crooksandliars.com/
|
|
||||||
# Blocked URL = http://rotator.adjuggler.com/servlet/ajrotator/616245/0/vh?z=csm&dim=616028
|
|
||||||
.adjuggler.com/servlet/ajrotator/
|
|
||||||
#MASTER# Remark: nothing but "sponsored listings"
|
|
||||||
# Blocked URL = http://bcc.co.uk/
|
|
||||||
bcc.co.uk/
|
|
||||||
# Blocked URL = http://fusion.adtoma.com:80/125AFFE801/1DC59C7801.swf
|
|
||||||
# Blocked URL = http://fusion.adtoma.com/1254D5CC01/1E43C76801.jpg
|
|
||||||
fusion.adtoma.com/
|
|
||||||
#MASTER# Remark: Actionsfile feedback item #2975895 2010-03-24
|
|
||||||
# Blocked URL = http://ping.chartbeat.net/ping?h=uservoice.com&p=%2Fsuggestions%2Fping-chartbeat-net-sucks&u=3
|
|
||||||
.chartbeat.net/(.*/)?ping\?
|
|
||||||
# Blocked URL = http://s.atemda.com/Admeta.js
|
|
||||||
# Blocked URL = http://atemda.com/ClickThrough.ashx?pId=9616&mId=14484&tId=634102151426089505&opS=1&admetac=mR3sJ3%2b9yleq%2bHowITh0hw%3d%3d
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.startpagina.nl
|
|
||||||
.atemda.com/
|
|
||||||
#MASTER# Remark: 2o7.net, omtrdc.net and www91.intel.com are domains used by Omniture
|
|
||||||
# Blocked URL = http://ciscosystemsinc.tt.omtrdc.net/m2/ciscosystemsinc/mbox/standard?mboxHost=www.cisco.com&mboxSession=12
|
|
||||||
.omtrdc.net/
|
|
||||||
# Blocked URL = http://www91.intel.com/b/ss/intelcorp,intelcorpdc/...ONDataProvider.aspx%3FDownloadType%3DDrivers&ot=A&AQE=1
|
|
||||||
www91.intel.com/
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Misc Web-bugs, JS and just plain Junk. Images here aren't normal images.
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
{+block{Might be a web-bug.} +handle-as-empty-document -handle-as-image}
|
||||||
|
#MASTER# REMARKS: signature for user tracking nytimes, cnn.com,latimes.com and many others. 10/06/06
|
||||||
|
/b/ss/.+
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.thesun.co.uk/article/0,,11071-10784,00.html
|
||||||
|
#MASTER# REMARKS: widespread hitbox signature 10/06/06
|
||||||
|
/HG\?hc=
|
||||||
|
#MASTER# BLOCK-REFERRER: http://macaddict.com 10/06/06
|
||||||
|
.visistat.com
|
||||||
|
#MASTER# REMARKS: See <http://www.google.com/analytics/> for user tracking.
|
||||||
|
#MASTER# REMARKS: There is a ssl.google-analytics as well.
|
||||||
|
.google-analytics./
|
||||||
|
#MASTER# BLOCK-REFERRER: http://versiontracker.com and many others. 10/20/06
|
||||||
|
/(.*/)?__utm.gif\?
|
||||||
|
#MASTER# REMARKS: Below Moved here from -handle-as-image 10/16/06 ##########
|
||||||
|
#MASTER# BLOCK-REFERRER: http://forums2.gardenweb.com/forums/orchids/ 09/25/06
|
||||||
|
#MASTER# REMARKS: Mostly JS and plain text stuff
|
||||||
|
.overture.
|
||||||
|
#MASTER# PROBLEM-URL: http://www.linuxtoday.com/
|
||||||
|
#MASTER# REMARKS: /adi has HTML snipplets for use in IFRAMEs 10/15/06
|
||||||
|
.doubleclick.net/adi
|
||||||
|
.doubleclick.net/(.*/)?adj/
|
||||||
|
#MASTER# PROBLEM-URL: http://maps.yahoo.com/
|
||||||
|
#MASTER# REMARKS: /AVE/iview has HTML snipplets for use in IFRAMEs 10/15/06
|
||||||
|
view.atdmt.com/(.*/)?iview/
|
||||||
|
#MASTER# REMARKS: Above Moved here from -handle-as-image 10/16/06 ##########
|
||||||
|
#MASTER# REMARKS: Generic, re: tracking.foxnews.com/HG? 10/01/06
|
||||||
|
tracking.
|
||||||
|
#MASTER# BLOCK-REFERRER: http://netcraft.com and many others 10/22/06
|
||||||
|
/(.*/)?adjs\.php\?
|
||||||
|
#MASTER# BLOCK-REFERRER: http://washingpost.com and others 10/25/06
|
||||||
|
/.*\.gif\?D=DM
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.washingtonpost.com/
|
||||||
|
#stats.surfaid.ihost.com/(crc/)?images/(bounce/)?uc.GIF
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.ibm.com 10/09/06
|
||||||
|
#MASTER# REMARKS: Similar hostname and paths appear in multiple locations.
|
||||||
|
# Blocked URL = http://stats.surfaid.ihost.com/crc/images/bounce/uc.GIF
|
||||||
|
# Blocked URL = http://stats.surfaid.ihost.com/rc/images/bounce/uc.GIF
|
||||||
|
stats./c?rc/.*/uc.gif
|
||||||
|
#MASTER# BLOCK-REFERRER: http://priceline.com 10/20/06
|
||||||
|
#MASTER# REMARKS: User tracking, webbug stuff
|
||||||
|
/(.*/)?dcs.gif\?&?dcs
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.msnbc.com 10/07/06
|
||||||
|
#MASTER# REMARKS: And MANY others. Webbug stuff.
|
||||||
|
/(.*/)?c(lear)?\.gif\?.
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.investorguide.com 10/08/06
|
||||||
|
#MASTER# BLOCK-REFERRER: http://foodnetwork.com, http://gardenweb.com 10/20/06
|
||||||
|
#MASTER# REMARK: webbug type gif used in MANY places.
|
||||||
|
#MASTER# REMARK: Too many false positives
|
||||||
|
#/(.*/)?(clear|(trans_?1x|blank)?1).gif
|
||||||
|
#MASTER# REMARK: Let's try this way.
|
||||||
|
/(.*/)?(clear|blank|(trans_?|1x)?1).gif\?.
|
||||||
|
#MASTER# BLOCK-REFERRER: http://groups.yahoo.com/group/epdf/ 10/08/06
|
||||||
|
.bc.yahoo.com/b\?P=
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.motherboard.cz 10/30/06
|
||||||
|
x*.alexa.com
|
||||||
|
#MASTER# BLOCK-REFERRER: http://actorstheatre.org 11/02/06
|
||||||
|
stats./.*\.gif\?
|
||||||
|
#MASTER# BLOCK-REFERRER: http://mplayernetwork.com 11/07/06
|
||||||
|
#MASTER# BLOCK-REFERRER: http://eetimes.com 09/26/06
|
||||||
|
/event.ng/
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.homedepot.com/ 11/08/06
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.williams-sonoma.com/ 11/08/06
|
||||||
|
/cm\?[tc]
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.snapfiles.com/feedback/ 12/13/06 SF tracker
|
||||||
|
.snapfiles.net/rotation/.*\.asp
|
||||||
|
#MASTER# BLOCK-REFERRER: not provided. SF tracker #1616034 12/16/06
|
||||||
|
#MASTER# COMMENT: JS pop-ups
|
||||||
|
spa.snap.com/
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html 12/18/06
|
||||||
|
#MASTER# COMMENT: user tracking, and run-away assorted 'junk'
|
||||||
|
#MASTER# BLOCK-REFERRER: http://formwood.com 2007-11-12
|
||||||
|
.insitemetrics.com/
|
||||||
|
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
||||||
|
#MASTER# BLOCK-REFERRER: http://blogblog.com 2007-11-12
|
||||||
|
.extreme-dm.com/
|
||||||
|
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.schillmania.com 2007-11-12
|
||||||
|
stats.reinvigorate.net/
|
||||||
|
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
||||||
|
#MASTER# BLOCK-REFERRER: http://wordpress.com 2007-11-12
|
||||||
|
.getclicky.com/
|
||||||
|
#MASTER# COMMENT: user tracking, and assorted 'junk'
|
||||||
|
#MASTER# BLOCK-REFERRER: http://infoworld.com 2007-11-12
|
||||||
|
.quantserve.com
|
||||||
|
# Blocked URL = http://media.adrevolver.com/adrevolver/trace?sip=123&cpy=123
|
||||||
|
media.adrevolver.com/
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# JavaScripts and Texts for ad and popup generation
|
# JavaScripts and Texts for ad and popup generation
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.chip.de/artikel/c_artikelunterseite_10423683.html
|
||||||
|
# Blocked URL = http://pagead.googlesyndication.example.com/foo/bar/baz.js
|
||||||
|
pagead*.googlesyndication./.*\.js
|
||||||
#MASTER# REMARKS: broadening scope from a.tfag.de/js.ng/ 10/23/06
|
#MASTER# REMARKS: broadening scope from a.tfag.de/js.ng/ 10/23/06
|
||||||
# Blocked URL = http://a.tfag.de/js.ng/
|
# Blocked URL = http://a.tfag.de/js.ng/
|
||||||
/js\.ng/
|
/js\.ng/
|
||||||
#MASTER# BLOCK-REFERRER: http://www.britannica.com/ 10/23/06
|
#MASTER# BLOCK-REFERRER: http://www.britannica.com/ 10/23/06
|
||||||
/popunder
|
/popunder
|
||||||
|
#MASTER# BLOCK-REFERRER: http://www.pcmag.com/ 11/22/06 per SF Tracker # 1601148
|
||||||
|
/js/slider\.js
|
||||||
#MASTER# BLOCK-REFERRER: http://www.earthcore.com/ feedback item #1605385 12/14/06
|
#MASTER# BLOCK-REFERRER: http://www.earthcore.com/ feedback item #1605385 12/14/06
|
||||||
/t\.php\?cat=.*&kw=.*&sc=
|
/t\.php\?cat=.*&kw=.*&sc=
|
||||||
|
#MASTER# BLOCK-REFERRER: http://floodle.net 2007-01-21 SF tracker
|
||||||
|
scripts.chitika.net/.*\.js
|
||||||
#MASTER# REMARKS: Actionsfile tracker #1674363 2007-03-05, text ads
|
#MASTER# REMARKS: Actionsfile tracker #1674363 2007-03-05, text ads
|
||||||
#MASTER# BLOCK-REFERRER: http://www.securityfocus.com/archive/1/461489/30/0/threaded
|
#MASTER# BLOCK-REFERRER: http://www.securityfocus.com/archive/1/461489/30/0/threaded
|
||||||
jlinks.industrybrains.com/
|
jlinks.industrybrains.com/
|
||||||
|
#MASTER# BLOCK-REFERRER: via Yahoo groups
|
||||||
|
#MASTER# REMARKS: Actionsfile tracker 1645513 2007-01-26
|
||||||
|
.adinterax.com/.*\.js
|
||||||
|
#MASTER# BLOCK-REFERRER: http://dictionary.reference.com/search?q=privacy&db=*
|
||||||
|
#MASTER# REMARKS: Actionsfile tracker 1650798 2007-02-02
|
||||||
|
.googleadservices.com/gampad/.*\.js
|
||||||
#MASTER# BLOCK-REFERRER: http://www.linuxworld.com/news/2007/061307-brian-aker-interview.html
|
#MASTER# BLOCK-REFERRER: http://www.linuxworld.com/news/2007/061307-brian-aker-interview.html
|
||||||
#MASTER# REMARKS: Actionsfile feedback item #1736794 2007-06-13
|
#MASTER# REMARKS: Actionsfile feedback item #1736794 2007-06-13
|
||||||
js.adsonar.
|
js.adsonar.
|
||||||
|
@ -1114,7 +1018,10 @@ js.adsonar.
|
||||||
bwp.
|
bwp.
|
||||||
# Blocked URL = http://us.mc123.mail.yahoo.com/mc/stampNonJs
|
# Blocked URL = http://us.mc123.mail.yahoo.com/mc/stampNonJs
|
||||||
.yahoo.com/mc/stampNonJs
|
.yahoo.com/mc/stampNonJs
|
||||||
|
# Blocked URL = http://richmedia.yimg.com/js/123/personnals_banners/PER_happy_sara1_4_425x600/ad.js?q=123
|
||||||
|
/.*/ad\.js\?
|
||||||
|
# Blocked URL = http://ad.yieldmanager.com/st?ad_type=iframe&ad_size=728x90&site=123§ion_code=123
|
||||||
|
/.*\?ad_(type|size)=
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Generic block-as-image patterns:
|
# Generic block-as-image patterns:
|
||||||
|
@ -1145,8 +1052,6 @@ bwp.
|
||||||
# Blocked URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
|
# Blocked URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
|
||||||
# URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
|
# URL = http://icons-aa.wunderground.com/ads/images/TripAdvisor-Blinky.gif
|
||||||
/(.*/)?ads/images/
|
/(.*/)?ads/images/
|
||||||
# Blocked URL = http://ad.yieldmanager.com/st?ad_type=iframe&ad_size=728x90&site=123§ion_code=123
|
|
||||||
/.*\?ad_(type|size)=
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Site-specific block-as-image patterns:
|
# Site-specific block-as-image patterns:
|
||||||
|
@ -1175,20 +1080,15 @@ bwp.
|
||||||
#.yimg.com/a/.*/flash/
|
#.yimg.com/a/.*/flash/
|
||||||
#MASTER# REMARKS: The above replaced with below. Actions file tracker #1645616 2007-01-27
|
#MASTER# REMARKS: The above replaced with below. Actions file tracker #1645616 2007-01-27
|
||||||
.yimg.com/.*\.yimg\.com/a/
|
.yimg.com/.*\.yimg\.com/a/
|
||||||
#MASTER# REMARKS: Yahoo doesn't always have ".yimg.com/a/" in the URL for ads now 2010-02-28
|
|
||||||
#MASTER# BLOCK-REFERRER: various yahoo pages
|
|
||||||
# Blocked URL = http://l.yimg.com/a/a/1-/flash/promotions/l3/intl/100214/300x250mfeyap.jpg
|
|
||||||
# Blocked URL = http://l.yimg.com/a/a/1-/flash/promotions/l3/intl/100219/300x250mfeya.gif
|
|
||||||
.yimg.com/.*/flash/promotions/.*\.(gif|jpg)$
|
|
||||||
bs*.gsanet.com
|
bs*.gsanet.com
|
||||||
bs*.einets.com
|
bs*.einets.com
|
||||||
.qkimg.net
|
.qkimg.net
|
||||||
#MASTER# BLOCK-REFERRER: http://salon.com/ 10/19/06
|
#MASTER# BLOCK-REFERRER: http://salon.com/ 10/19/06
|
||||||
#MASTER# BLOCK-REFERRER: http://maps.yahoo.com/
|
#MASTER# BLOCK-REFERRER: http://maps.yahoo.com/
|
||||||
#MASTER# REMARKS: Banner farms; just exclude their corp. info
|
#MASTER# REMARKS: Banner farms; just exclude their corp. info
|
||||||
#MASTER# REMARKS: and have a "go there anyway" link for clk.atdmt.com and view.atdmt.com
|
#MASTER# REMARKS: and have a "go there anyway" link for clk.atdmt.com
|
||||||
#MASTER# REMARKS: (Actionsfile feedback item #1888197 and #2975927)
|
#MASTER# REMARKS: (Actionsfile feedback item #1888197)
|
||||||
[abd-ux-z]*.atdmt.com/
|
[abd-vx-z]*.atdmt.com/
|
||||||
#MASTER# BLOCK-REFERRER: http://www.exactaudiocopy.de/ 09/11/06
|
#MASTER# BLOCK-REFERRER: http://www.exactaudiocopy.de/ 09/11/06
|
||||||
#MASTER# BLOCK-REFERRER: http://stanford.facebook.com/home.php
|
#MASTER# BLOCK-REFERRER: http://stanford.facebook.com/home.php
|
||||||
# URL = http://www.fastclick.net/
|
# URL = http://www.fastclick.net/
|
||||||
|
@ -1215,7 +1115,7 @@ a.tribalfusion.com/
|
||||||
#MASTER# REMARKS: Pointdexter
|
#MASTER# REMARKS: Pointdexter
|
||||||
.ru4.com/
|
.ru4.com/
|
||||||
#MASTER# BLOCK-REFERRER: http://www.boursorama.com/infos/actualites/detail_actu_marches.phtml?news=1510287
|
#MASTER# BLOCK-REFERRER: http://www.boursorama.com/infos/actualites/detail_actu_marches.phtml?news=1510287
|
||||||
.smartadserver.com/
|
www.smartadserver.com/
|
||||||
#MASTER# BLOCK-REFERRER: http://www.chez.tiscali.fr/ 10/07/06
|
#MASTER# BLOCK-REFERRER: http://www.chez.tiscali.fr/ 10/07/06
|
||||||
admedia.
|
admedia.
|
||||||
#MASTER# REMARKS: Bannerfarm used by Morpheus file sharing software
|
#MASTER# REMARKS: Bannerfarm used by Morpheus file sharing software
|
||||||
|
@ -1305,15 +1205,6 @@ img.directtrack.com
|
||||||
.pclick.yahoo.com/images/
|
.pclick.yahoo.com/images/
|
||||||
# Blocked URL = http://rover.ebay.com/ar/1/2/3?mpt=123&adtype=1&size=728x90
|
# Blocked URL = http://rover.ebay.com/ar/1/2/3?mpt=123&adtype=1&size=728x90
|
||||||
/.*\&adtype=
|
/.*\&adtype=
|
||||||
# Blocked URL = http://resources.parfym.se/tradedoubler/250x360.swf
|
|
||||||
/tradedoubler/.*\.swf
|
|
||||||
# Blocked URL = http://hstse.tradedoubler.com/file/142609/440x220.swf
|
|
||||||
hstse.tradedoubler.com/.*\.swf
|
|
||||||
# Blocked URL = http://www.zdnetasia.com/2007/techguide/network/sponsor/i/logmein_mpu_whitepaper.gif
|
|
||||||
# Blocked URL = http://www.zdnetasia.com/2007/techguide/network/sponsor/sidebar.gif
|
|
||||||
www.zdnetasia.com/.*/sponsor/.*\.gif$
|
|
||||||
# Blocked URL = http://pagead2.googlesyndication.com/pagead/imgad?id=CPjtipDs9taquQEQoAEYwgQyCIvo2PNnQywb
|
|
||||||
.googlesyndication.com/.*/imgad\?
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Cross-site user tracking
|
# Cross-site user tracking
|
||||||
|
@ -1406,19 +1297,6 @@ feeds.feedburner.com/~a/DilbertDailyStrip\?
|
||||||
#MASTER# BLOCK-REFERER: http://www.buch.de/
|
#MASTER# BLOCK-REFERER: http://www.buch.de/
|
||||||
# URL = http://track.webtrekk.de/471497967328727/wt.pl?p=177,de.buch.show.home,1,1024x768,24,1,1218816426275,0,884x653,0&enc1=%FC&enc2=iso-8859-1&st=view&la=en-US&np=Default%20Plugi
|
# URL = http://track.webtrekk.de/471497967328727/wt.pl?p=177,de.buch.show.home,1,1024x768,24,1,1218816426275,0,884x653,0&enc1=%FC&enc2=iso-8859-1&st=view&la=en-US&np=Default%20Plugi
|
||||||
track.webtrekk.de/
|
track.webtrekk.de/
|
||||||
#MASTER# BLOCK-REFERER: https://sourceforge.net/
|
|
||||||
# URL = http://b.scorecardresearch.com/p2?c1=2&c2=6035546&c3=&c4=&c5=&c6=&c15=&cj=1
|
|
||||||
b.scorecardresearch.com/
|
|
||||||
# URL = https://sb.scorecardresearch.com/
|
|
||||||
sb.scorecardresearch.com/
|
|
||||||
#MASTER# BLOCK-REFERRER: http://sourceforge.net/projects/ijbswa/
|
|
||||||
# Blocked URL = http://b.collective-media.net/seg/cm/cm_aa_gn1
|
|
||||||
b.collective-media.net/
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.spiegel.de/
|
|
||||||
# Blocked URL = http://spiegel.ivwbox.de/cgi-bin/ivw/CP/1001;/home/c-18/be-PB64-aG9tZXBhZ2UvY2VudGVy/szwprofil-1001
|
|
||||||
#MASTER# BLOCK-REFERRER: http://www.heise.de/
|
|
||||||
# Blocked URL = http://heise.ivwbox.de/2004/01/survey.js
|
|
||||||
.ivwbox.de/
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Specific counters (see above for generic patterns)
|
# Specific counters (see above for generic patterns)
|
||||||
|
@ -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/
|
#MASTER# UNBLOCK-REFERRER: http://idonthateyouall.imeem.com/video/8zH0_f9i/kiley_rilo_pull_me_in_tighter_art_video/
|
||||||
# URL = http://ad.doubleclick.net/crossdomain.xml
|
# URL = http://ad.doubleclick.net/crossdomain.xml
|
||||||
ad.doubleclick.net/crossdomain\.xml
|
ad.doubleclick.net/crossdomain\.xml
|
||||||
#MASTER# REMARKS: Support request 2838390: 2009-08-16: nfl.com videos not working
|
|
||||||
#MASTER# REMARKS: bbc.co.uk videos references ad.uk.doubleclick.net
|
|
||||||
# URL = http://ad.doubleclick.net/879366/DartShell9_8.swf?adServerHost=http://ad.doubleclick.net
|
|
||||||
# URL = http://ad.doubleclick.net/pfadx/DARTSHELLCONFIGXML;dcmt=text/xml;
|
|
||||||
# URL = http://ad.doubleclick.net/879366/DartShellPlayer9_8_01_00.swf
|
|
||||||
# URL = http://ad.uk.doubleclick.net/879366/DartShell7_7.swf?adServerHost=http://ad.uk.doubleclick.net
|
|
||||||
.doubleclick.net/.*/DartShell.*\.swf
|
|
||||||
.doubleclick.net/.*/DARTSHELLCONFIGXML
|
|
||||||
#MASTER# REMARKS: Actionsfile feedback item #2021509 2008-07-18
|
#MASTER# REMARKS: Actionsfile feedback item #2021509 2008-07-18
|
||||||
#MASTER# REMARKS: Allow realplayer site help popup windows
|
#MASTER# REMARKS: Allow realplayer site help popup windows
|
||||||
#MASTER# UNBLOCK-REFERRER: http://real.custhelp.com/cgi-bin/real.cfg/php/enduser/std_adp.php?p_faqid=4512
|
#MASTER# UNBLOCK-REFERRER: http://real.custhelp.com/cgi-bin/real.cfg/php/enduser/std_adp.php?p_faqid=4512
|
||||||
|
@ -1724,8 +1594,7 @@ fritz.box/
|
||||||
# URL = http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402747&sliceId=1
|
# URL = http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402747&sliceId=1
|
||||||
.adobe.com
|
.adobe.com
|
||||||
# URL = http://qa.debian.org/popcon.php
|
# URL = http://qa.debian.org/popcon.php
|
||||||
# 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\.php
|
||||||
qa.debian.org/popcon
|
|
||||||
#MASTER# REMARKS: Support Requests item #2432535 2008-12-16
|
#MASTER# REMARKS: Support Requests item #2432535 2008-12-16
|
||||||
# URL = http://www.mta.info/bandt/traffic/advmain.htm
|
# URL = http://www.mta.info/bandt/traffic/advmain.htm
|
||||||
.mta.info/.*advmain.htm$
|
.mta.info/.*advmain.htm$
|
||||||
|
@ -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/common/ads.css
|
||||||
# URL = http://graphics8.nytimes.com/css/0.1/screen/homepage/ads.css
|
# URL = http://graphics8.nytimes.com/css/0.1/screen/homepage/ads.css
|
||||||
.nytimes.com/.*/ads\.css$
|
.nytimes.com/.*/ads\.css$
|
||||||
#MASTER# REMARKS: All hosted videos seemingly require this file.
|
|
||||||
#MASTER# UNBLOCK-REFERRER: http://www.cnn.com/video/#/video/showbiz/2009/04/14/dcl.boyle.british.talent.show.cnn
|
|
||||||
# URL = http://i.cdn.turner.com/cnn/.element/js/2.0/video/xmp/AdServiceAdapter.swf
|
|
||||||
.turner.com/cnn/.*/AdServiceAdapter.swf
|
|
||||||
#MASTER# REMARKS: Tracker 2786745 : MySpace music player doesn't work
|
|
||||||
#MASTER# UNBLOCK-REFERRER: www.myspace.com/bandofskulls
|
|
||||||
# URL = http://lads.myspacecdn.com/videos/musicPlayerAssets.swf
|
|
||||||
lads.myspacecdn.com/
|
|
||||||
#MASTER# REMARKS: AF#2789653 iTunes download blocked
|
|
||||||
# URL = http://a957.phobos.apple.com/us/r1000/000/Music/ad/47/56/mzi.gnjsyarh.aac.a.m4p
|
|
||||||
.phobos.apple.com/
|
|
||||||
# URL = http://eas8.emediate.eu/eas?camp=114;ty=ct;EASLink=http://www.jp.dk
|
|
||||||
.emediate.eu/.*EASLink=
|
|
||||||
#MASTER# REMARKS: Actionfile tracker ID: 2838501: 2009-08-16
|
|
||||||
# URL = http://new.meteo.pl/advajax.js
|
|
||||||
.meteo.pl/advajax\.js
|
|
||||||
# URL = http://www.adressa.no/
|
|
||||||
# URL = http://adressa.no/
|
|
||||||
adressa.no/
|
|
||||||
# URL = http://www.adresseavisen.no/
|
|
||||||
# URL = http://adresseavisen.no/
|
|
||||||
adresseavisen.no/
|
|
||||||
# URL = http://apps.facebook.com/onthefarm/track.php?creative=&cat=friendvisit&subcat=weeds&key=a789a971dc687bee4c20c044834fabdd&next=index.php%3Fref%3Dnotif%26visitId%3D898835505
|
|
||||||
.facebook.com/.*/track.php
|
|
||||||
# URL = http://www.ifdb.tads.org/
|
|
||||||
# URL = http://www.tads.org/
|
|
||||||
.tads.org/
|
|
||||||
# URL = http://adtoma.com/
|
|
||||||
adtoma.com/
|
|
||||||
#MASTER# REMARKS: Actionsfile feedback 2859872 2009-09-16 09:58
|
|
||||||
# URL = http://adactio.com/
|
|
||||||
adactio.com/
|
|
||||||
# URL = http://www.peereboom.us/adsuck/
|
|
||||||
www.peereboom.us/adsuck/
|
|
||||||
# URL = http://www.svd.se/template/ver1-0/css/ads.css?v=194
|
|
||||||
.svd.se/.*\.css($|\?)
|
|
||||||
#MASTER# REMARKS: [privoxy-users] Privoxy blocking Ebay item pictures Jan 31, 2010
|
|
||||||
#MASTER# REMARKS: Ebay enlarge picture function doesn't work.
|
|
||||||
# URL = http://include.ebaystatic.com/v4js/en_GB/e637i/SYS-LIGER_Omniture_e637i10177164_5_en_GB.js
|
|
||||||
include.ebaystatic.com/.*omniture.*\.js
|
|
||||||
#MASTER# REMARKS: Allow Yahoo news and mail javascipt pages
|
|
||||||
# URL = http://l.yimg.com/d/combo?news/p/common/generic/news/p/common/generic/popular-searches-min-12622.js&news/p/common/generic/ads-min-11050.js&news/p/common/generic/foundation/popup-min-12622.js
|
|
||||||
.yimg.com/d/combo\?
|
|
||||||
#MASTER# REMARKS: Page formatting problems when .css files are blocked
|
|
||||||
# URL = http://www.networkworld.com/includes/styles/adstyles.css
|
|
||||||
# URL = http://www.sj.se/common/css/pop.css
|
|
||||||
# URL = http://l.yimg.com/d/combo?news/p/common/generic/ads-min-24248.css&news/p/common/generic/widgets-min-10270.css
|
|
||||||
# URL = http://news.zdnet.com/css/z/ads/hs.css
|
|
||||||
/.*\.css$
|
|
||||||
#MASTER# REMARKS:Actionsfile feedback item #2974204 2010-03-21
|
|
||||||
# URL = http://adesklets.sourceforge.net/
|
|
||||||
adesklets.sourceforge.net/
|
|
||||||
#MASTER# REMARKS: Mostly-french political blog
|
|
||||||
# URL = http://adassier.wordpress.com/
|
|
||||||
adassier.wordpress.com/
|
|
||||||
# URL = http://adassier.files.wordpress.com/2010/05/road-to-economic-recovery2.jpg?w=630&h=451
|
|
||||||
adassier.files.wordpress.com
|
|
||||||
# URL = http://adainitiative.org/about-us/
|
|
||||||
adainitiative.org/
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -1831,7 +1641,17 @@ images.apple.com
|
||||||
#MASTER# REMARKS: Actions Tracker 1293057 09/02/06
|
#MASTER# REMARKS: Actions Tracker 1293057 09/02/06
|
||||||
.update.microsoft.com
|
.update.microsoft.com
|
||||||
#MASTER# REMARKS: Various reports 09/16/06. This site also requires pop-ups.
|
#MASTER# REMARKS: Various reports 09/16/06. This site also requires pop-ups.
|
||||||
mail.google.*
|
mail.google.
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Semi-fragile, allow for blocks.
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
{ -crunch-all-cookies -filter -fast-redirects -hide-referer -prevent-compression }
|
||||||
|
#MASTER# REMARKS: Problem URL: adserver.yahoo.com 10/01/06
|
||||||
|
#MASTER# REMARKS: This is much too broad for my taste. It forces me to add
|
||||||
|
#MASTER# REMARKS: a special yahoo section in my user.action file, just to
|
||||||
|
#MASTER# REMARKS: confirm my defaults in default.action. fk 2007-01-19
|
||||||
|
.yahoo.com
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Shopping and banking sites - allow cookies and pop-ups
|
# Shopping and banking sites - allow cookies and pop-ups
|
||||||
|
@ -1844,7 +1664,7 @@ mail.google.*
|
||||||
.dabs.com
|
.dabs.com
|
||||||
.overclockers.co.uk
|
.overclockers.co.uk
|
||||||
.db24.de
|
.db24.de
|
||||||
.ebay.*
|
.ebay.
|
||||||
.mobile.de
|
.mobile.de
|
||||||
www.fondationlejeu.com
|
www.fondationlejeu.com
|
||||||
www.techtv.com
|
www.techtv.com
|
||||||
|
@ -1893,21 +1713,21 @@ i.cnn.net/cnn/.*/clickability/button
|
||||||
# Sticky Actions = -fast-redirects
|
# Sticky Actions = -fast-redirects
|
||||||
www.ukc.ac.uk/cgi-bin/wac\.cgi\?
|
www.ukc.ac.uk/cgi-bin/wac\.cgi\?
|
||||||
#MASTER# PROBLEM-URL: http://www.google.com/search?q=foo
|
#MASTER# PROBLEM-URL: http://www.google.com/search?q=foo
|
||||||
# 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
|
#MASTER# PROBLEM-URL: http://de.altavista.com/q?pg=q&q=foo&kl=XX&search.x=28&search.y=8&what=web
|
||||||
.altavista.com/(.*(like|url|link):|trans.*urltext=)http
|
.altavista.com/(.*(like|url|link):|trans.*urltext=)http
|
||||||
#MASTER# PROBLEM-URL: http://www.speedfind.de/cgi-bin/search?q=foo&t=STANDARD
|
#MASTER# PROBLEM-URL: http://www.speedfind.de/cgi-bin/search?q=foo&t=STANDARD
|
||||||
.speedfind.de
|
.speedfind.de
|
||||||
#MASTER# PROBLEM-URL: http://www.nytimes.com/
|
#MASTER# PROBLEM-URL: http://www.nytimes.com/
|
||||||
.nytimes.com
|
.nytimes.com
|
||||||
#MASTER# REMARKS: Disable fast-redirects for all of yahoo.com/.
|
#MASTER# REMARKS: Yahoo logout URL after first redirect. fk 2007-01-19
|
||||||
#MASTER# REMARKS: Apparently we can't keep up with maintaining more precise exceptions.
|
#MASTER# REMARKS: Logout fails if we fast-redirect to the URL after "done=".
|
||||||
# URL = http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
|
|
||||||
#MASTER# REMARKS: Reported in support request #1635354.
|
#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.
|
#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
|
# URL = http://validator.w3.org/check
|
||||||
.w3.org
|
.w3.org
|
||||||
#MASTER# PROBLEM-URL: http://www.ask.com/
|
#MASTER# PROBLEM-URL: http://www.ask.com/
|
||||||
|
@ -1974,23 +1794,6 @@ view.samurajdata.se/ps\.php\?url=
|
||||||
.landsend.de/
|
.landsend.de/
|
||||||
# URL = http://www.youtube.com/swf/l.swf?swf=http%3A//s.ytimg.com/yt/swf/cps-vfl68942.swf&video_id=2cpd6rHIfyA&rel=1&showsearch=1&eurl=&iurl=http%3A//i3.ytimg.com/vi/2cpd6rHIfyA/hqdefault.jpg&sk=5E3I2RCcOLknk1qyI_JgVVnb8FKwgpHzC&use_get_video_info=1&load_modules=1&fs=1&hl=en
|
# URL = http://www.youtube.com/swf/l.swf?swf=http%3A//s.ytimg.com/yt/swf/cps-vfl68942.swf&video_id=2cpd6rHIfyA&rel=1&showsearch=1&eurl=&iurl=http%3A//i3.ytimg.com/vi/2cpd6rHIfyA/hqdefault.jpg&sk=5E3I2RCcOLknk1qyI_JgVVnb8FKwgpHzC&use_get_video_info=1&load_modules=1&fs=1&hl=en
|
||||||
.youtube.com/swf/.*swf=
|
.youtube.com/swf/.*swf=
|
||||||
# URL = http://redbot.org/?uri=http%3A//apache.org/
|
|
||||||
.redbot.org/
|
|
||||||
# URL = http://webcache.googleusercontent.com/custom?hl=en&domains=library.gnome.org&sitesearch=library.gnome.org&q=cache:8yGDJ1YpefcJ:http://library.gnome.org/devel//gtk/2.20/GtkLabel.html+gtk_label_set_text+escape&ct=clnk
|
|
||||||
webcache.googleusercontent.com/
|
|
||||||
# URL = http://webcache.googleusercontent.com/search?q=cache:kZYcDFibjHcJ:https://grepular.com/Abusing_HTTP_Status_Codes_to_Expose_Private_Information+inurl:https://grepular.com/Abusing_HTTP_Status_Codes_to_Expose_Private_Information&hl=en&strip=1
|
|
||||||
.googleusercontent.com/.*=cache:
|
|
||||||
|
|
||||||
{+redirect{s@.*url=@http://@} -block}
|
|
||||||
# Sticky Actions = +redirect -block
|
|
||||||
# URL = http://go.eniro.dk/lg/ni/http:/eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
|
|
||||||
# URL = http://eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
|
|
||||||
# Redirected URL = http://go.eniro.dk/lg/ni/http:/eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
|
|
||||||
# Redirect Destination = http://www.bt.dk
|
|
||||||
# Redirected URL = http://eas8.emediate.eu/eas?camp=79;ty=ct;EASLink=http://www.bt.dk?http://redirect.metropol.dk/cgi-bin/redir.pl?url=www.bt.dk
|
|
||||||
# Redirect Destination = http://www.bt.dk
|
|
||||||
go.eniro.dk/.*EASLink=http://.*url=(?!<=http:)
|
|
||||||
.emediate.eu/.*EASLink=http://.*url=(?!<=http:)
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# No filtering for sourcecode or other automatically parsed content
|
# No filtering for sourcecode or other automatically parsed content
|
||||||
|
@ -2135,10 +1938,6 @@ javabog.dk/ijk/
|
||||||
.fsfe.org/
|
.fsfe.org/
|
||||||
# URL = http://www.couchsurfing.com/mapsurf.html
|
# URL = http://www.couchsurfing.com/mapsurf.html
|
||||||
.couchsurfing.com/
|
.couchsurfing.com/
|
||||||
# URL = http://www.couchsurfing.org/mapsurf.html
|
|
||||||
.couchsurfing.org/
|
|
||||||
# URL = http://www.thinkgeek.com/tshirts-apparel/unisex/generic/
|
|
||||||
.thinkgeek.com/
|
|
||||||
|
|
||||||
{-filter{banners-by-link}}
|
{-filter{banners-by-link}}
|
||||||
# Sticky Actions = -filter{banners-by-link}
|
# Sticky Actions = -filter{banners-by-link}
|
||||||
|
@ -2153,6 +1952,9 @@ javabog.dk/ijk/
|
||||||
#MASTER# REMARKS: This section NOT checked 10/18/06 HB
|
#MASTER# REMARKS: This section NOT checked 10/18/06 HB
|
||||||
#MASTER# REMARKS: These are movie clips, linked from http://us.imdb.com
|
#MASTER# REMARKS: These are movie clips, linked from http://us.imdb.com
|
||||||
.totaleclips.com
|
.totaleclips.com
|
||||||
|
#MASTER# REMARKS: Link to download page breaks
|
||||||
|
# URL = http://www.mandrakelinux.com/en/ftp.php3
|
||||||
|
.mandrakelinux.com/en/ftp.php3
|
||||||
#MASTER# REMARKS: Actions Tracker 1313157
|
#MASTER# REMARKS: Actions Tracker 1313157
|
||||||
# URL = http://validator.w3.org/check?uri=referer
|
# URL = http://validator.w3.org/check?uri=referer
|
||||||
validator.w3.org/check\?uri=referer
|
validator.w3.org/check\?uri=referer
|
||||||
|
@ -2271,37 +2073,22 @@ blogs.msdn.com
|
||||||
# URL = http://blogs.msdn.com/wga/archive/2006/07/16/667063.aspx
|
# URL = http://blogs.msdn.com/wga/archive/2006/07/16/667063.aspx
|
||||||
blogs.msdn.com
|
blogs.msdn.com
|
||||||
|
|
||||||
{-filter{jumping-windows}}
|
|
||||||
# Sticky Actions = -filter{jumping-windows}
|
|
||||||
# URL = http://www.openstreetmap.org
|
|
||||||
.openstreetmap.org
|
|
||||||
|
|
||||||
{+fast-redirects{check-decoded-url} -block}
|
{+fast-redirects{check-decoded-url} -block}
|
||||||
# Sticky Actions = +fast-redirects{check-decoded-url} -block
|
# Sticky Actions = +fast-redirects{check-decoded-url} -block
|
||||||
#MASTER# REMARKS: Yahoo search results. Added 2007-01-19 fk
|
#MASTER# REMARKS: Yahoo search results. Added 2007-01-19 fk
|
||||||
#MASTER# REDIRECT-REFERRER: http://search.yahoo.com/search?p=privoxy
|
#MASTER# REDIRECT-REFERRER: http://search.yahoo.com/search?p=privoxy
|
||||||
# URL = http://rds.yahoo.com/_ylt=A0geuryczbBF._YAEmxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvbG8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11b3qg40n/EXP=1169301276/**http%3a//www.privoxy.org/
|
# URL = http://rds.yahoo.com/_ylt=A0geuryczbBF._YAEmxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvbG8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11b3qg40n/EXP=1169301276/**http%3a//www.privoxy.org/
|
||||||
rds.yahoo.com/
|
rds.yahoo.com/
|
||||||
# Redirected URL = http://rds.yahoo.com/_ylt=A0geuryczbBF._YAEmxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvbG8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11b3qg40n/EXP=1169301276/**http%3a//www.privoxy.org/
|
#MASTER# COMMENTS: Verified 2007-01-19 fk
|
||||||
# Redirect Destination = http://www.privoxy.org/
|
|
||||||
#MASTER# REDIRECT-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html
|
#MASTER# REDIRECT-REFERRER: http://www.gamefaqs.com/computer/doswin/game/914819.html
|
||||||
# URL = http://dw.com.com/redir?asid=0&astid=8&siteid=19&edid=107&destCat=33862&destURL=http%3A%2F%2Fdb.gamefaqs.com%2Fcomputer%2Fdoswin%2Ffile%2Fvampire_tmb_b.txt
|
# URL = http://dw.com.com/redir?asid=0&astid=8&siteid=19&edid=107&destCat=33862&destURL=http%3A%2F%2Fdb.gamefaqs.com%2Fcomputer%2Fdoswin%2Ffile%2Fvampire_tmb_b.txt
|
||||||
dw.com.com/redir\?
|
dw.com.com/
|
||||||
# Redirected URL = http://dw.com.com/redir?asid=0&astid=8&siteid=19&edid=107&destCat=33862&destURL=http%3A%2F%2Fdb.gamefaqs.com%2Fcomputer%2Fdoswin%2Ffile%2Fvampire_tmb_b.txt
|
|
||||||
# Redirect Destination = http://db.gamefaqs.com/computer/doswin/file/vampire_tmb_b.txt
|
|
||||||
#MASTER# REMARKS: Action tracker 1593393. Added 2007-01-20.
|
#MASTER# REMARKS: Action tracker 1593393. Added 2007-01-20.
|
||||||
# URL = http://wzus.bloglines.com/r?t=a&d=us&s=bl&c=blen&ti=1&ai=51060&l=dir&o=0&sv=z6f537f5b&ip=971AC44B&u=http%3A%2F%2Fwww.skweezer.net%2Fbloglines%2Fskweeze.aspx%3F%26i%3Dd%26l%3Den%26r%3Dhttp%253A%252F%252Fwww.bloglines.com%252Fmyblogs_display%253Fsub%253D29302699%2526site%253D5382440%26url%3Dhttp%253A%252F%252Fpermalink.gmane.org%252Fgmane.linux.debian.devel.changes.unstable%252F97340
|
# URL = http://wzus.bloglines.com/r?t=a&d=us&s=bl&c=blen&ti=1&ai=51060&l=dir&o=0&sv=z6f537f5b&ip=971AC44B&u=http%3A%2F%2Fwww.skweezer.net%2Fbloglines%2Fskweeze.aspx%3F%26i%3Dd%26l%3Den%26r%3Dhttp%253A%252F%252Fwww.bloglines.com%252Fmyblogs_display%253Fsub%253D29302699%2526site%253D5382440%26url%3Dhttp%253A%252F%252Fpermalink.gmane.org%252Fgmane.linux.debian.devel.changes.unstable%252F97340
|
||||||
# Redirected URL = http://wzus.bloglines.com/r?t=a&d=us&s=bl&c=blen&ti=1&ai=51060&l=dir&o=0&sv=z6f537f5b&ip=971AC44B&u=http%3A%2F%2Fwww.skweezer.net%2Fbloglines%2Fskweeze.aspx%3F%26i%3Dd%26l%3Den%26r%3Dhttp%253A%252F%252Fwww.bloglines.com%252Fmyblogs_display%253Fsub%253D29302699%2526site%253D5382440%26url%3Dhttp%253A%252F%252Fpermalink.gmane.org%252Fgmane.linux.debian.devel.changes.unstable%252F97340
|
|
||||||
# Redirect Destination = http://www.skweezer.net/bloglines/skweeze.aspx?&i=d&l=en&r=http%3A%2F%2Fwww.bloglines.com%2Fmyblogs_display%3Fsub%3D29302699%26site%3D5382440&url=http%3A%2F%2Fpermalink.gmane.org%2Fgmane.linux.debian.devel.changes.unstable%2F97340
|
|
||||||
.bloglines.com/r\?
|
.bloglines.com/r\?
|
||||||
www.skweezer.net/bloglines
|
www.skweezer.net/bloglines
|
||||||
# URL = http://media.fastclick.net/w/get.media?sid=4681&m=5&tp=6&url=http%3A//www.sciam.com/article.cfm%3FchanID%3Dsa003%26articleID%3DC7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB%26ref%3Drss
|
# URL = http://media.fastclick.net/w/get.media?sid=4681&m=5&tp=6&url=http%3A//www.sciam.com/article.cfm%3FchanID%3Dsa003%26articleID%3DC7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB%26ref%3Drss
|
||||||
# Redirected URL = http://media.fastclick.net/w/get.media?sid=4681&m=5&tp=6&url=http%3A//www.sciam.com/article.cfm%3FchanID%3Dsa003%26articleID%3DC7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB%26ref%3Drss
|
|
||||||
# Redirect Destination = http://www.sciam.com/article.cfm?chanID=sa003&articleID=C7C87ECC-E7F2-99DF-39AEFF3D7D1A8CFB&ref=rss
|
|
||||||
.fastclick.net/w/get\.media\?
|
.fastclick.net/w/get\.media\?
|
||||||
# Redirected URL = http://www.awin1.com/cread.php?awinmid=2891&awinaffid=43305&clickref=&p=http://www.groupon.co.uk/
|
|
||||||
# Redirect Destination = http://www.groupon.co.uk/
|
|
||||||
.awin1.com/.*=http://
|
|
||||||
|
|
||||||
{+block{Looks like an anti-leech trigger URL.}}
|
{+block{Looks like an anti-leech trigger URL.}}
|
||||||
#MASTER# COMMENTS: This section not checked 10/17/06 HB. Still out there?
|
#MASTER# COMMENTS: This section not checked 10/17/06 HB. Still out there?
|
||||||
|
@ -2309,6 +2096,9 @@ www.skweezer.net/bloglines
|
||||||
#MASTER# REMARKS: Lame attempt at banning ad-blockers. Used by other websites as well.
|
#MASTER# REMARKS: Lame attempt at banning ad-blockers. Used by other websites as well.
|
||||||
/antitheft\.php
|
/antitheft\.php
|
||||||
|
|
||||||
|
{ +prevent-compression }
|
||||||
|
.compusa.com/
|
||||||
|
|
||||||
{+filter{tiny-textforms}}
|
{+filter{tiny-textforms}}
|
||||||
.sourceforge.net/tracker
|
.sourceforge.net/tracker
|
||||||
|
|
||||||
|
@ -2326,8 +2116,6 @@ www.skweezer.net/bloglines
|
||||||
{+redirect{http://config.privoxy.org/}}
|
{+redirect{http://config.privoxy.org/}}
|
||||||
# Sticky Actions = +redirect{http://config.privoxy.org/}
|
# Sticky Actions = +redirect{http://config.privoxy.org/}
|
||||||
# URL = http://www.privoxy.org/config
|
# URL = http://www.privoxy.org/config
|
||||||
# Redirected URL = http://www.privoxy.org/config
|
|
||||||
# Redirect Destination = http://config.privoxy.org/
|
|
||||||
.privoxy.org/config
|
.privoxy.org/config
|
||||||
|
|
||||||
#MASTER# REMARKS: Privoxy's "unsafe" CGI pages check the referrer
|
#MASTER# REMARKS: Privoxy's "unsafe" CGI pages check the referrer
|
||||||
|
@ -2349,28 +2137,8 @@ config.privoxy.org/
|
||||||
# XXX: Privoxy-Regression-Test currently doesn't allow backslashes.
|
# XXX: Privoxy-Regression-Test currently doesn't allow backslashes.
|
||||||
# Sticky Actions = -fast-redirects +redirect
|
# Sticky Actions = -fast-redirects +redirect
|
||||||
# URL = http://us.ard.yahoo.com/SIG=AAAAAAAAA/M=NNNNNN.NNNNNNN.NNNNNNN.NNNNNNN/D=mail/S=NNNNNNNNN:HEADR/Y=YAHOO/EXP=NNNNNNNNNN/A=NNNNNNN/R=N/SIG=AAAAAAAAA/*http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
|
# URL = http://us.ard.yahoo.com/SIG=AAAAAAAAA/M=NNNNNN.NNNNNNN.NNNNNNN.NNNNNNN/D=mail/S=NNNNNNNNN:HEADR/Y=YAHOO/EXP=NNNNNNNNNN/A=NNNNNNN/R=N/SIG=AAAAAAAAA/*http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
|
||||||
# Redirected URL = http://us.ard.yahoo.com/SIG=AAAAAAAAA/M=NNNNNN.NNNNNNN.NNNNNNN.NNNNNNN/D=mail/S=NNNNNNNNN:HEADR/Y=YAHOO/EXP=NNNNNNNNNN/A=NNNNNNN/R=N/SIG=AAAAAAAAA/*http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
|
|
||||||
# Redirect Destination = http://login.yahoo.com/config/login?logout=1&.done=http://mail.yahoo.com&.src=ym&.intl=us
|
|
||||||
.yahoo./.*http://login.yahoo.com/config/login.*http://
|
.yahoo./.*http://login.yahoo.com/config/login.*http://
|
||||||
|
|
||||||
#MASTER# REMARKS: The next two sections are to get flickr's Ajax interface working
|
|
||||||
#MASTER# REMARKS: with default pre-settings. For more aggressive defaults they additionally
|
|
||||||
#MASTER# REMARKS: need -crunch-incoming-cookies and -crunch-outgoing-cookies.
|
|
||||||
#MASTER# REMARKS: They work with +session-cookies-only, though.
|
|
||||||
{-block -filter}
|
|
||||||
#MASTER# PROBLEM-URL: http://www.flickr.com/
|
|
||||||
# Sticky Actions = -block -filter
|
|
||||||
# URL = http://l.yimg.com/g/combo/1?event-custom/event-custom-min.js&event/event-min.js&j/.H-.K.A.vNKEa&j/.CP-.U-.DE.A.vKEJz&j/.J_.BR_.CA.A.vKYkg&j/.J_.DB.A.vPpBT&j/popup-login.A.vR53Z&dump/dump-min.js&datatype/datatype-xml-min.js&substitute/substitute-min.js&json/json-min.js&queue-promote/queue-promote-min.js&io/io-min.js&j/.J_.DS.A.vQa28&j/.FW-.FX-.GH.A.vP3XB&j/grease.A.vRktP&j/.CC.A.vNiA6&j/.C-.BL.A.vPPj2&j/.CE-.K.A.vNy32&attribute/attribute-base-min.js&base/base-min.js&anim/anim-min.js&cookie/cookie-min.js&j/.B-.C-.F.A.vQ7SZ&j/urls.A.vQtXp&j/.B-.BY.A.vQCXP&j/.H-.BY.A.vQXXx&j/.DS-value-conversions.A.vQpRt&j/.G-.BD.A.vNHSH&event/event-synthetic-min.js&j/.G-.BO.A.vNwR4&j/.CV-.CH.A.vPFSZ&j/.X-.W-.C-.F.A.vKPQa&j/.X-.W-.D.A.vQXXx&j/.Q-.BX-.K.A.vR1kt&j/.DL.A.vLPjD&j/.CF.A.vNC24&j/.CX-.CY.A.vP8ND&event-simulate/event-simulate-min.js&node/node-event-simulate-min.js&j/.B-.T-.CI-.C-.F.A.vPJPF&j/.CM/.BA_2.5.1-.D.A.vPzui&j/bo-.S-.C-.F.A.vNwWe&j/bo-.S-.D.A.vR6Hx&j/.BZ-.D.A.vNstB&j/.B-.L-.C-.F.A.vNxPX&j/.B-.L-.BH.A.vMdVB&j/.CN-.DD.A.vLjJ2&j/.B-.O-.C-.F.A.vPpcK&j/.BM.A.vKPmz&j/.B-.O.A.vQyHg&j/.B-.H-.BB-.C-.F.A.vQvrB&j/.CW-.CU.A.vQ7Rg&j/.Y-.C-.F.A.vNqGa&j/.Y.A.vLKiT&j/.B-.M-.C-.F.A.vQxDc&j/.U-.CG.A.vQ5Tt&j/.B-.M.A.vQXXx&j/.B-.Q-.BQ.A.vQvTt&j/.B-.N-.C-.F.A.vQaRp&j/.CL.A.vN4N6&j/.B-.CL-.BW.A.vPwkx&j/.DR-.DG.A.vMLJr&j/.B-.BE-.C-.F.A.vPHP4&j/.B-.BE-.D.A.vQLQH&j/.BV.A.vm3Uz&j/.Z-.DK-.D.A.vLQEe&j/.Z-.DJ-.BJ.A.vLQEe&j/.B-.I-.C-.F.A.vPKTK&stylesheet/stylesheet-min.js&j/.B-.I.A.vQvDF&j/.CM-.DO.A.vPboD&j/.B-.D.A.vRbv8&j/.B-.H-.BB.A.vQuhn&j/.B-.N.A.vR6Cn&j/.B-.L-.CZ.A.vQmzP&j/.B-.T-.CI.A.vQXXx&j/.B-.I-.CQ-.BK-.C-.F.A.vNwZF&j/.B-.I-.CQ-.BK.A.vLWQR&j/.B-.R-.C-.F.A.vPfwi&j/.B-.R.A.vRhND&j/.DN-.BB-.D-.C-.F.A.vQXZg&j/.DN-.BB-.D.A.vRcXB&j/.BF_.D-.C-.F.A.vPGYM&j/.BF_.D.A.vQxJn&plugin/plugin-min.js&cache/cache-min.js&j/.CB-.C-.F.A.vNwWe&j/.CB-.D.A.vQS6T
|
|
||||||
.yimg.com/g/combo/1\?event-custom/
|
|
||||||
|
|
||||||
{-block -filter{content-cookies}}
|
|
||||||
#MASTER# PROBLEM-URL: http://www.flickr.com/
|
|
||||||
{-filter{content-cookies}}
|
|
||||||
# Sticky Actions = -block
|
|
||||||
# URL = http://www.flickr.com/
|
|
||||||
.flickr.com/
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Sections that modify the action settings based on tags.
|
# Sections that modify the action settings based on tags.
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
#
|
#
|
||||||
# File : $Source: /cvsroot/ijbswa/current/default.filter,v $
|
# File : $Source: /cvsroot/ijbswa/current/default.filter,v $
|
||||||
#
|
#
|
||||||
# $Id: default.filter,v 1.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
|
# 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/
|
# Privoxy team. http://www.privoxy.org/
|
||||||
#
|
#
|
||||||
# We value your feedback. However, to provide you with the best support,
|
# We value your feedback. However, to provide you with the best support,
|
||||||
|
@ -128,15 +128,15 @@ s/(open\s*\([^\)]+always(?:raised|lowered)=)(["']?)(?:yes|1)\2/$1$2no$2/sigU
|
||||||
|
|
||||||
#################################################################################
|
#################################################################################
|
||||||
#
|
#
|
||||||
# js-events: Kill 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
|
s/(on|event\.)((mouse(over|out|down|up|move))|(un)?load|contextmenu|selectstart)/never/ig
|
||||||
# Not events, but abused on the same type of sites:
|
# Not events, but abused on the same type of sites:
|
||||||
s/(alert|confirm)\s*\(/concat(/ig
|
s/(alert|confirm)\s*\(/concat(/ig
|
||||||
s/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
|
# Note: Only deactivates refreshes with more than 9 seconds delay to
|
||||||
# preserve monster-stupid but common redirections via meta tags.
|
# preserve monster-stupid but common redirections via meta tags.
|
||||||
#
|
#
|
||||||
s@<meta\s+http-equiv\s*=\s*(['"]?)refresh\1\s+content\s*=\s*(['"]?)\d{2,}\s*(;(?:\s*url\s*=\s*)?([^>\2]*))?\2@<link rev="x-refresh" href="$4"@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
|
# SCNR
|
||||||
#
|
#
|
||||||
s/microsoft(?!\.[^\s])/MicroSuck/ig
|
s/microsoft(?!.[^\s])/MicroSuck/ig
|
||||||
|
|
||||||
# Buzzword Bingo (example for extended regex syntax)
|
# Buzzword Bingo (example for extended regex syntax)
|
||||||
#
|
#
|
||||||
|
@ -580,9 +580,7 @@ s@</head>@<style type="text/css">\n\
|
||||||
\#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\
|
\#fbc, \#fbl, \#ra, .rhh {visibility: hidden !important;}\n\
|
||||||
\#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\
|
\#tpa1,\#tpa2,\#tpa3,\#tpa4,\#tpa5,\#tpa5, \#spl, .ch, \#ads,\
|
||||||
\#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\
|
\#toolbar, \#google_ads_frame, \#mbEnd {display: none !important;}\n\
|
||||||
.main_body, .j, \#res, .med, .hd, .g, .s\n\
|
.main_body, .j {width: 100%}\n</style>\n$0@
|
||||||
{width: 99%; max-width: 100%; margin-left: 0; margin-right: 0;}\n\
|
|
||||||
</style>\n$0@
|
|
||||||
s@<div style=\"padding-top:11px;min-width:500px\">@<div id="main_body">@
|
s@<div style=\"padding-top:11px;min-width:500px\">@<div id="main_body">@
|
||||||
s@(<table cellspacing=0 cellpadding=0 width=25% align=right bgcolor=\#ffffff border=0\
|
s@(<table cellspacing=0 cellpadding=0 width=25% align=right bgcolor=\#ffffff border=0\
|
||||||
|</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\
|
|</font></td></tr></tbody></table><table align=\"right\" bgcolor=\"\#ffffff\"\
|
||||||
|
@ -602,12 +600,9 @@ s@</head>@\n<style type="text/css">\n\
|
||||||
/* Style sheet inserted by Privoxy's yahoo filter. */\n\
|
/* Style sheet inserted by Privoxy's yahoo filter. */\n\
|
||||||
\#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
|
\#symadbn, \#ymadbn, .yschbox, .yschhd, .bbox, \#yschsec, \#sec,\
|
||||||
\#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
|
\#yschanswr, .yschftad, .yschspn, .yschspns, \#ygrp-sponsored-links,\
|
||||||
\#nwad, \#MWA2, \#MSCM, \#yregad, \#sponsored-links,\
|
\#nwad, \#MWA2, \#MSCM, \#yregad, \
|
||||||
\#ks-ypn-ads, .ad, \#east, \#ygrp-vital, .ads {display: none !important;}\n\
|
\#ks-ypn-ads, .ad, \#east, \#ygrp-vital {display: none !important;}\n\
|
||||||
\#yschpri, \#yschweb, \#pri, \#web, \#main, .yschttl, .abstr, .res \n\
|
\#yschpri, \#yschweb, \#pri, \#web, \#main {width: 100% !important; max-width: 100% !important;}\n\
|
||||||
{width: 99% !important; max-width: 100% !important;}\n\
|
|
||||||
.yschttl, .res, .res.indent, \#web {padding: 0px; margin: 0px !important;}\n\
|
|
||||||
\#web {padding-left: 0.5em}\n\
|
|
||||||
\#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\
|
\#yschqcon, \#yschtg {width: auto !important; /* No useless horizontal scrollbar please */}\n\
|
||||||
\#composebox \#compose_editorArea {width: 70% !important; /* reasonably sized reply textarea please */\n\
|
\#composebox \#compose_editorArea {width: 70% !important; /* reasonably sized reply textarea please */\n\
|
||||||
</style>\n$0\n@
|
</style>\n$0\n@
|
||||||
|
@ -626,15 +621,12 @@ s@</head>@<style type="text/css">\n\
|
||||||
/* Style sheet inserted by Privoxy's msn filter. */\n\
|
/* Style sheet inserted by Privoxy's msn filter. */\n\
|
||||||
.msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\
|
.msn_ads, \#at, \#ar, .mktmsg {display: none !important;}\n\
|
||||||
\#results, .flank, .results_area_flank, .results_area_stroke,\n\
|
\#results, .flank, .results_area_flank, .results_area_stroke,\n\
|
||||||
\#results_area, \#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\
|
.content, \#sw_foot, \#bf, \#sw_content, \#sidebar, \#pag\n\
|
||||||
{width: 99% !important; min-width: 99% !important;\n\
|
{width: 99% !important; min-width: 99% !important;\n\
|
||||||
max-width: 100% !important; /* width:100% sometimes causes horizontal scrollbars */}\n\
|
max-width: 100% !important; /* width:100% sometimes causes horizontal scrollbars */}\n\
|
||||||
/* Remove "suggestions". They are next to worthless but partly overlap with the search results */\n\
|
/* Remove "suggestions". They are next to worthless but partly overlap with the search results */\n\
|
||||||
.suggestion, \#nys_right, \#nys {clear: both; display:none;}\n\
|
.suggestion, \#nys_right, \#nys {clear: both; display:none;}\n\
|
||||||
\#s_notf_div,\n \
|
|
||||||
/* Overlay ads to enable Facebook 'likes' in search results. */\n\
|
|
||||||
.sn_container {display:none !important;}\n\
|
|
||||||
\#content {padding-right: 0;}\n\
|
\#content {padding-right: 0;}\n\
|
||||||
</style>\n$0@
|
</style>\n$0@
|
||||||
# Are these ids still in use?
|
# Are these ids still in use?
|
||||||
|
@ -767,34 +759,6 @@ CLIENT-HEADER-TAGGER: css-requests Tags detected CSS requests as "CSS-REQUEST".
|
||||||
|
|
||||||
s@^Accept:\s*text/css.*@CSS-REQUEST@i
|
s@^Accept:\s*text/css.*@CSS-REQUEST@i
|
||||||
|
|
||||||
#################################################################################
|
|
||||||
#
|
|
||||||
# range-requests: Tags range requests as "RANGE-REQUEST".
|
|
||||||
#
|
|
||||||
# By default Privoxy removes Range headers for requests to
|
|
||||||
# ressources that will be filtered to make sure the filters
|
|
||||||
# get the whole picture. Otherwise Range requests could be
|
|
||||||
# intentionally used to circumvent filters or, less likely,
|
|
||||||
# filtering a partial response may damage it because it matched
|
|
||||||
# a pattern that the ressource as a whole wouldn't.
|
|
||||||
#
|
|
||||||
# Range requests can be useful and save bandwidth so instead
|
|
||||||
# of removing Range headers for requests to ressources that
|
|
||||||
# will be filtered, you may prefer to simply disable filtering
|
|
||||||
# for those requests.
|
|
||||||
#
|
|
||||||
# That's what this tagger is all about. After enabling it,
|
|
||||||
# you can disable filtering for range requests using the following
|
|
||||||
# action section:
|
|
||||||
#
|
|
||||||
# {-filter -deanimate-gifs}
|
|
||||||
# TAG:^RANGE-REQUEST
|
|
||||||
#
|
|
||||||
#################################################################################
|
|
||||||
CLIENT-HEADER-TAGGER: range-requests Tags range requests as "RANGE-REQUEST".
|
|
||||||
|
|
||||||
s@^Range:.*@RANGE-REQUEST@i
|
|
||||||
|
|
||||||
#################################################################################
|
#################################################################################
|
||||||
#
|
#
|
||||||
# client-ip-address: Tags the request with the client's IP address.
|
# client-ip-address: Tags the request with the client's IP address.
|
||||||
|
@ -870,3 +834,456 @@ s@^X-Privoxy-Control:\s*@@i
|
||||||
SERVER-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers.
|
SERVER-HEADER-FILTER: privoxy-control Removes X-Privoxy-Control headers.
|
||||||
|
|
||||||
s@^X-Privoxy-Control:.*@@i
|
s@^X-Privoxy-Control:.*@@i
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Revisions :
|
||||||
|
# $Log: default.filter,v $
|
||||||
|
# Revision 1.71 2009/03/01 18:33:17 ler762
|
||||||
|
# couple of changes to the yahoo filter
|
||||||
|
# -get a bigger email message reply textarea
|
||||||
|
# -block a few more ads
|
||||||
|
# -remove the now useless northbanner css change
|
||||||
|
#
|
||||||
|
# Revision 1.70 2009/02/21 13:01:51 fabiankeil
|
||||||
|
# Make blogspot's feed magic slightly more reliable.
|
||||||
|
#
|
||||||
|
# Revision 1.69 2009/02/12 15:40:11 ler762
|
||||||
|
# more yahoo email ad blocking
|
||||||
|
#
|
||||||
|
# Revision 1.68 2008/09/19 13:26:04 fabiankeil
|
||||||
|
# s@tounge@tongue@. Anonymously reported in #1648657.
|
||||||
|
#
|
||||||
|
# Revision 1.67 2008/08/06 17:38:06 fabiankeil
|
||||||
|
# In banners-by-size, make sure white-space around the height
|
||||||
|
# attribute is removed as well and replace two spaces with
|
||||||
|
# "\s" so we don't get fooled by tabs. Fixes #2036125.
|
||||||
|
#
|
||||||
|
# Revision 1.66 2008/08/03 17:27:47 fabiankeil
|
||||||
|
# Teach msn filter to catch a few new ad classes.
|
||||||
|
#
|
||||||
|
# Revision 1.65 2008/07/21 13:43:44 fabiankeil
|
||||||
|
# Fix img-reorder regression introduced with my last commit.
|
||||||
|
# Some tags were terminated too soon, letting the browser render
|
||||||
|
# some of their arguments as text. Oops.
|
||||||
|
#
|
||||||
|
# Revision 1.64 2008/07/12 15:49:09 fabiankeil
|
||||||
|
# - Don't let img-reorder touch width attributes
|
||||||
|
# that aren't followed by either whitespace or '>',
|
||||||
|
# as those usually indicate onclick nonsense.
|
||||||
|
# Problem and solution reported by Glenn Washburn in #2014552.
|
||||||
|
# - While at it, don't use more groups than necessary.
|
||||||
|
#
|
||||||
|
# Revision 1.63 2008/06/27 12:53:41 fabiankeil
|
||||||
|
# Make sure the taggers css-requests and image-requests
|
||||||
|
# only match at the beginning of the header.
|
||||||
|
#
|
||||||
|
# Revision 1.62 2008/06/21 17:02:03 fabiankeil
|
||||||
|
# Fix typo.
|
||||||
|
#
|
||||||
|
# Revision 1.61 2008/05/21 18:44:43 fabiankeil
|
||||||
|
# - Let the content-type tagger ignore headers without value.
|
||||||
|
# - Remove a few unused lines at the end of the file.
|
||||||
|
#
|
||||||
|
# Revision 1.60 2008/04/26 10:36:41 fabiankeil
|
||||||
|
# Let the msn filter hide another class.
|
||||||
|
#
|
||||||
|
# Revision 1.59 2008/04/23 16:18:18 fabiankeil
|
||||||
|
# s@declarded@declared@
|
||||||
|
#
|
||||||
|
# Revision 1.58 2008/02/02 15:27:19 fabiankeil
|
||||||
|
# Yet another yahoo update to get the width limitation removal working again.
|
||||||
|
#
|
||||||
|
# Revision 1.57 2008/01/26 15:45:39 fabiankeil
|
||||||
|
# Don't let the less-download-windows filter mess up
|
||||||
|
# "Content-Type: application/x-shockwave-flash" headers.
|
||||||
|
#
|
||||||
|
# Revision 1.56 2008/01/25 19:12:40 fabiankeil
|
||||||
|
# - Add yet another new yahoo ad id.
|
||||||
|
# - Don't let the first banners-by-link job punish URLs for merely
|
||||||
|
# containing the pattern "/jump/" when it should really look for
|
||||||
|
# "doubleclick\.net/jump/".
|
||||||
|
#
|
||||||
|
# Revision 1.55 2007/12/31 19:53:59 fabiankeil
|
||||||
|
# Let the msn filter remove the width limitation again.
|
||||||
|
#
|
||||||
|
# Revision 1.54 2007/12/31 19:11:31 fabiankeil
|
||||||
|
# - Let the yahoo filter remove the width limitation again.
|
||||||
|
# - Teach the blogspot filter to remove useless feed comment
|
||||||
|
# titles that only contain the beginning of the actual comment.
|
||||||
|
#
|
||||||
|
# Revision 1.53 2007/12/23 15:48:12 fabiankeil
|
||||||
|
# - Lo and behold, the CSS fix for the MSN buttons is no longer necessary.
|
||||||
|
# - Add some new selectors the msn filter should hide.
|
||||||
|
# - Add the two yahoo selectors Lee reported in #1856574.
|
||||||
|
# - Add comments that the width limitation fixes stopped
|
||||||
|
# working for the msn and yahoo filter.
|
||||||
|
#
|
||||||
|
# Revision 1.52 2007/11/27 18:35:48 fabiankeil
|
||||||
|
# Update CSS for the yahoo filter.
|
||||||
|
#
|
||||||
|
# Revision 1.51 2007/11/04 16:15:11 fabiankeil
|
||||||
|
# - Add client-header taggers: client-ip-address,
|
||||||
|
# http-method, allow-post, complete-url and user-agent.
|
||||||
|
# - Add server-header tagger: content-type.
|
||||||
|
#
|
||||||
|
# Revision 1.50 2007/11/03 15:05:30 fabiankeil
|
||||||
|
# Consistently use an empty line between the description and the PCRS code
|
||||||
|
# and end descriptions with dots. Patch submitted by Simon Ruderich.
|
||||||
|
#
|
||||||
|
# Revision 1.49 2007/11/03 14:29:41 fabiankeil
|
||||||
|
# Spelling fixes mostly submitted by Simon Ruderich.
|
||||||
|
#
|
||||||
|
# Revision 1.48 2007/10/17 18:11:32 fabiankeil
|
||||||
|
# Add privoxy-control header filters and taggers.
|
||||||
|
#
|
||||||
|
# Revision 1.47 2007/10/06 15:45:25 fabiankeil
|
||||||
|
# Let msn hide sponsored links in #at divs.
|
||||||
|
#
|
||||||
|
# Revision 1.46 2007/10/06 09:54:13 fabiankeil
|
||||||
|
# - Let msn hide sponsored links in #ar divs.
|
||||||
|
# - Teach banners-by-link not to block the graphs for sf's tracker statistics.
|
||||||
|
#
|
||||||
|
# Revision 1.45 2007/08/11 16:54:12 fabiankeil
|
||||||
|
# - Complete the changes from r1.42.
|
||||||
|
# - Make crude-parental less sensitive to the amount of white-space,
|
||||||
|
# add the note that it doesn't work too well again and replace the
|
||||||
|
# DMOZ link with a less confusing explanation.
|
||||||
|
#
|
||||||
|
# Revision 1.44 2007/07/18 11:06:56 hal9
|
||||||
|
# Replace notarget with '' in all popups filter to keep from breaking xhmtl per
|
||||||
|
# report from Siegfried Gipp.
|
||||||
|
#
|
||||||
|
# Revision 1.43 2007/06/01 14:17:04 fabiankeil
|
||||||
|
# Mention possible delimiter conflicts with variables in dynamic pcrs commands.
|
||||||
|
#
|
||||||
|
# Revision 1.42 2007/05/17 15:55:36 fabiankeil
|
||||||
|
# Undo an improperly tested last-minute change
|
||||||
|
# and turn "text-requests" back into "css-requests".
|
||||||
|
#
|
||||||
|
# Revision 1.41 2007/05/17 15:45:41 fabiankeil
|
||||||
|
# - Mention new filter types and the 'D' option.
|
||||||
|
# - Header filters are now case-insensitive and accept a
|
||||||
|
# varying amount of whitespace after the colon.
|
||||||
|
# - Add another selector for yahoo ads.
|
||||||
|
# - New server-header filter: less-download-windows
|
||||||
|
# - New client-header taggers: text-requests and image-requests.
|
||||||
|
#
|
||||||
|
# Revision 1.40 2007/03/20 15:40:00 fabiankeil
|
||||||
|
# Adjust to new world order with dedicated header-filter actions.
|
||||||
|
#
|
||||||
|
# Revision 1.39 2007/02/21 14:10:23 fabiankeil
|
||||||
|
# - Fix a js-annoyances pcrs command that broke
|
||||||
|
# evaluated code. (BR #1124071, thanks to Bor Gergely)
|
||||||
|
# - Have unsolicited-popups and all-popups catch the
|
||||||
|
# wheather.com popup reported in in AF #1640173.
|
||||||
|
#
|
||||||
|
# Revision 1.38 2007/02/19 11:22:48 hal9
|
||||||
|
# Adding back the orginal filter content to offset problems found by Fabian.
|
||||||
|
#
|
||||||
|
# Revision 1.37 2007/02/17 13:29:44 hal9
|
||||||
|
# Updates to the crude parental filter per Feature Requests item #1648657.
|
||||||
|
#
|
||||||
|
# Revision 1.36 2007/02/05 16:47:31 fabiankeil
|
||||||
|
# - Let banners-by-link look for "advert".
|
||||||
|
# - Fix XML systax problems with banners-by-link
|
||||||
|
# and banners-by-size (AF#1651570).
|
||||||
|
#
|
||||||
|
# Revision 1.35 2006/12/21 12:28:12 fabiankeil
|
||||||
|
# Escaping special characters in filter descriptions is no
|
||||||
|
# longer necessary, it's done by Privoxy now.
|
||||||
|
#
|
||||||
|
# Revision 1.34 2006/12/12 17:32:23 fabiankeil
|
||||||
|
# Added id mbEnd to google filter, it's now and then
|
||||||
|
# used for the sponsored links.
|
||||||
|
#
|
||||||
|
# Have js-annoyances try to prevent status bar
|
||||||
|
# modifications where the status bar text is
|
||||||
|
# inside another variable. Fixes 1605710.
|
||||||
|
#
|
||||||
|
# Revision 1.33 2006/11/16 17:10:43 fabiankeil
|
||||||
|
# Removed webbugs debugging comment again.
|
||||||
|
# The apostrophe could break JavaScript and
|
||||||
|
# the comment itself could mess up existing
|
||||||
|
# comments.
|
||||||
|
#
|
||||||
|
# Revision 1.32 2006/11/10 18:04:04 fabiankeil
|
||||||
|
# Have no-ping print the ping warning in red.
|
||||||
|
#
|
||||||
|
# Modified yahoo to keep in sync with recent
|
||||||
|
# CSS changes and to suppress a useless horizontal
|
||||||
|
# scrollbar.
|
||||||
|
#
|
||||||
|
# msn now makes sure that the continue-link boxes
|
||||||
|
# act as links (the original CSS just changes the cursor).
|
||||||
|
#
|
||||||
|
# Changed fun filter regex to leave microsoft links alone.
|
||||||
|
# Fixes BR 1019996.
|
||||||
|
#
|
||||||
|
# Revision 1.31 2006/10/21 13:12:28 fabiankeil
|
||||||
|
# Added no-ping and hide-tor-exit-notation.
|
||||||
|
#
|
||||||
|
# Adjusted jumping-windows to break less.
|
||||||
|
# Fixes BR 1146134.
|
||||||
|
#
|
||||||
|
# Revision 1.30 2006/10/18 12:36:50 fabiankeil
|
||||||
|
# google filter now cleans Google groups as well.
|
||||||
|
#
|
||||||
|
# Revision 1.29 2006/10/11 14:03:17 fabiankeil
|
||||||
|
# Changed img-reorder regex to only move width
|
||||||
|
# attributes if they are following at least one
|
||||||
|
# whitespace. Fixes BR 1328455.
|
||||||
|
#
|
||||||
|
# Revision 1.28 2006/10/11 13:31:13 fabiankeil
|
||||||
|
# Added Anduin Withers' js-annoyances fix
|
||||||
|
# for not messing up escaped quotes. Fixes BR 999765.
|
||||||
|
#
|
||||||
|
# Improved blogspot filter to make it less likely that
|
||||||
|
# the blogspot banner at the top of the page is missed.
|
||||||
|
#
|
||||||
|
# Revision 1.27 2006/10/08 17:00:51 fabiankeil
|
||||||
|
# Modified webbugs filter to create a comment around the offending
|
||||||
|
# image instead of removing it entirely.
|
||||||
|
#
|
||||||
|
# Adjusted regex to only match if there's at least one whitespace
|
||||||
|
# before the width and height attributes. Makes it more likely that
|
||||||
|
# they are indeed attributes, and not part of the value of another attribute.
|
||||||
|
# Solves BR 1035587.
|
||||||
|
#
|
||||||
|
# Thanks to Martin Thomas for diagnosing the cause of the problem.
|
||||||
|
#
|
||||||
|
# Revision 1.26 2006/10/06 18:06:16 fabiankeil
|
||||||
|
# Added header filter x-httpd-php-to-html
|
||||||
|
# and reverted another img-reorder whitespace
|
||||||
|
# problem.
|
||||||
|
#
|
||||||
|
# Revision 1.25 2006/10/06 15:26:09 fabiankeil
|
||||||
|
# Bumped copyright year.
|
||||||
|
#
|
||||||
|
# Reverted parts of the last img-reorder change
|
||||||
|
# which were intended to remove superfluous whitespace
|
||||||
|
# but had the side effect to mess up some tags.
|
||||||
|
#
|
||||||
|
# Modified banners-by-size and banners-by-link to
|
||||||
|
# use border value "0" instead of "\0". Fixes BR 1100065.
|
||||||
|
#
|
||||||
|
# Revision 1.24 2006/10/06 11:25:31 fabiankeil
|
||||||
|
# Taught img-reorder not to break img tags
|
||||||
|
# with empty src attributes. Fixes BR 1089474.
|
||||||
|
# Thanks to Raphael Moll for reporting.
|
||||||
|
#
|
||||||
|
# Revision 1.23 2006/10/05 14:46:28 fabiankeil
|
||||||
|
# Replaced "<" in img-reorder's description with "<".
|
||||||
|
#
|
||||||
|
# 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
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
<!entity % dummy "IGNORE">
|
<!entity % dummy "IGNORE">
|
||||||
<!entity authors SYSTEM "p-authors.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-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
|
||||||
<!entity % dummy "IGNORE">
|
<!entity % dummy "IGNORE">
|
||||||
<!entity config SYSTEM "p-config.sgml">
|
<!entity config SYSTEM "p-config.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.11">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % user-man "IGNORE">
|
<!entity % user-man "IGNORE">
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
Purpose : config file generation
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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.
|
See LICENSE.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -52,15 +52,6 @@
|
||||||
developers, either use the mailing lists or the support trackers.
|
developers, either use the mailing lists or the support trackers.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
If you have to contact a Privoxy developer directly for other reasons,
|
|
||||||
please send a real mail and do not bother with SourceForge's messaging
|
|
||||||
system. Answers to SourceForge messages are usually bounced by SourceForge's
|
|
||||||
mail server in which case the developer wasted time writing a response you
|
|
||||||
don't get. From your point of view it will look like your message has
|
|
||||||
been completely ignored, so this is frustrating for all parties involved.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
addresses have to be accepted manually by a moderator. This may cause a
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
|
@ -159,7 +150,7 @@
|
||||||
that your bug still exists.
|
that your bug still exists.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Please be sure to provide the following information:
|
Please be sure to provide the following information:
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -223,28 +214,7 @@
|
||||||
<para>
|
<para>
|
||||||
Any other pertinent information to help identify the problem such as config
|
Any other pertinent information to help identify the problem such as config
|
||||||
or log file excerpts (yes, you should have log file entries for each
|
or log file excerpts (yes, you should have log file entries for each
|
||||||
action taken). To get a meaningful logfile, please make sure that the
|
action taken).
|
||||||
<ulink url="../user-manual/config.html#LOGFILE">logfile directive</ulink>
|
|
||||||
is being used and the following <ulink
|
|
||||||
url="../user-manual/config.html#DEBUG">debug options</ulink> are enabled:
|
|
||||||
<literallayout>debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.
|
|
||||||
debug 2 # show each connection status
|
|
||||||
debug 4 # show I/O status
|
|
||||||
debug 8 # show header parsing
|
|
||||||
debug 128 # debug redirects
|
|
||||||
debug 256 # debug GIF de-animation
|
|
||||||
debug 512 # Common Log Format
|
|
||||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
|
|
||||||
debug 4096 # Startup banner and warnings.
|
|
||||||
debug 8192 # Non-fatal errors</literallayout>
|
|
||||||
If you are having trouble with a filter, please additionally enable
|
|
||||||
<literallayout>debug 64 # debug regular expression filters</literallayout>
|
|
||||||
If you are using Privoxy 3.0.17 or later and suspect that it interprets the
|
|
||||||
request or the response incorrectly, please enable
|
|
||||||
<literallayout>debug 32768 # log all data read from the network</literallayout>
|
|
||||||
Note that Privoxy log files may contain sensitive information so please don't
|
|
||||||
submit any logfiles you didn't read first. You can mask sensitive information
|
|
||||||
as long as it's clear that you removed something.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -253,28 +223,16 @@ debug 8192 # Non-fatal errors</literallayout>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You don't have to tell us your actual name when filing a problem
|
You don't have to tell us your actual name when filing a problem
|
||||||
report, but if you don't, please use a nickname so we can differentiate
|
report, but please use a nickname so we can differentiate between
|
||||||
between your messages and the ones entered by other "anonymous" users that
|
your messages and the ones entered by other "anonymous" users that
|
||||||
may respond to your request if they have the same problem or already
|
may respond to your request if they have the same problem or already
|
||||||
found a solution. Note that due to spam the trackers may not always
|
found a solution.
|
||||||
allow to post without being logged into SourceForge. If that's the
|
|
||||||
case, you are still free to create a login that isn't directly linked
|
|
||||||
to your name, though.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Please also check the status of your request a few days after submitting
|
Please also check the status of your request a few days after submitting
|
||||||
it, as we may request additional information. If you use a SF id,
|
it, as we may request additional information. If you use a SF id,
|
||||||
you should automatically get a mail when someone responds to your request.
|
you should automatically get a mail when someone responds to your request.
|
||||||
Please don't bother to add an email address when using the tracker.
|
|
||||||
If you prefer to communicate through email, just use one of the mailing
|
|
||||||
lists directly.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you are new to reporting problems, you might be interested in
|
|
||||||
<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
|
||||||
>How to Report Bugs Effectively</ulink>.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -293,13 +251,10 @@ debug 8192 # Non-fatal errors</literallayout>
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="mailing-lists"><title>Mailing Lists</title>
|
<sect2 id="contact-other"><title>Other</title>
|
||||||
<para>
|
<para>
|
||||||
If you prefer to communicate through email, instead of using a web interface,
|
For any other issues, feel free to use the mailing lists. Technically interested users
|
||||||
feel free to use one of the mailing lists.
|
and people who wish to contribute to the project are also welcome on the developers list!
|
||||||
To discuss issues that haven't been completely diagnosed yet, please use the Privoxy
|
|
||||||
users list. Technically interested users and people who wish to contribute to
|
|
||||||
the project are always welcome on the developers list.
|
|
||||||
You can find an overview of all <application>Privoxy</application>-related mailing lists,
|
You can find an overview of all <application>Privoxy</application>-related mailing lists,
|
||||||
including list archives, at:
|
including list archives, at:
|
||||||
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.
|
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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.
|
See LICENSE.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<para>
|
<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>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<!entity contacting SYSTEM "contacting.sgml">
|
<!entity contacting SYSTEM "contacting.sgml">
|
||||||
<!entity copyright SYSTEM "copyright.sgml">
|
<!entity copyright SYSTEM "copyright.sgml">
|
||||||
<!entity license SYSTEM "license.sgml">
|
<!entity license SYSTEM "license.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.11">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
This file belongs into
|
This file belongs into
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
$Id: 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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
</pubdate>
|
</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 ,
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
|
||||||
* USA
|
* 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 ,
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ,
|
||||||
* USA
|
* 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.
|
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
$Log: developer-manual.sgml,v $
|
$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
|
Revision 2.27 2009/02/19 02:20:22 hal9
|
||||||
Make some links in seealso conditional. Man page is now privoxy only links.
|
Make some links in seealso conditional. Man page is now privoxy only links.
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<!entity history SYSTEM "history.sgml">
|
<!entity history SYSTEM "history.sgml">
|
||||||
<!entity copyright SYSTEM "copyright.sgml">
|
<!entity copyright SYSTEM "copyright.sgml">
|
||||||
<!entity license SYSTEM "license.sgml">
|
<!entity license SYSTEM "license.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.11">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
This file belongs into
|
This file belongs into
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
$Id: 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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
@ -73,12 +73,12 @@
|
||||||
<subscript>
|
<subscript>
|
||||||
<!-- Completely the wrong markup, but very little is allowed -->
|
<!-- Completely the wrong markup, but very little is allowed -->
|
||||||
<!-- in this part of an article. FIXME -->
|
<!-- 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>
|
<ulink url="http://www.privoxy.org/">Privoxy Developers</ulink>
|
||||||
</subscript>
|
</subscript>
|
||||||
</pubdate>
|
</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>
|
</para>
|
||||||
</sect2>
|
</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>
|
<para>
|
||||||
Well, we <emphasis>always</emphasis> need help. There is something for
|
Well, we <emphasis>always</emphasis> need help. There is something for
|
||||||
everybody who wants to help us. We welcome new developers, packagers,
|
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,
|
<quote>programmer</quote>. There are many other tasks available. In fact,
|
||||||
the programmers often can't spend as much time programming because of some
|
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
|
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
|
Tracker feedback sections.
|
||||||
lists.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
So first thing, subscribe to the <ulink
|
So first thing, <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
|
|
||||||
url="https://sourceforge.net/account/register.php">get an account on SourceForge.net</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.
|
and mail your id to the <ulink url="mailto:ijbswa-developers@lists.sourceforge.net">developers
|
||||||
</para>
|
mailing list</ulink>. Then, please read the <ulink
|
||||||
|
url="../developer-manual/index.html">Developer's Manual</ulink>, at least
|
||||||
|
the pertinent sections.
|
||||||
|
</para>
|
||||||
<para>
|
<para>
|
||||||
We also have a <ulink
|
You can also start helping out without SourceForge.net account,
|
||||||
url="../developer-manual/index.html">Developer's Manual</ulink>.
|
simply by showing up on the mailing list, helping out other users,
|
||||||
While it is partly out of date, it's still worth reading.
|
providing general feedback or reporting problems you noticed.
|
||||||
</para>
|
</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>
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3 renderas="sect4" id="donate"><title>Would you like to donate?</title>
|
<sect3 renderas="sect4" id="donate"><title>Would you like to donate?</title>
|
||||||
<para>
|
<para>
|
||||||
<application>Privoxy</application> is developed by unpaid volunteers
|
<application>Privoxy</application> is developed by unpaid volunteers
|
||||||
and thus our current running costs are pretty low. Nevertheless, we
|
and thus our current running costs are pretty low. Nevertheless, we
|
||||||
have plans that will cost money in the future. They include,
|
have plans that will cost money in the future. We would like to get
|
||||||
but aren't limited to spending money on:
|
this money through donations made by our users.
|
||||||
|
|
||||||
</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.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<application>Privoxy</application> has therefore become an associated
|
<application>Privoxy</application> has therefore become an associated
|
||||||
project of <ulink url="http://www.spi-inc.org/about-spi/about-spi">Software
|
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 Public Interest (SPI)</ulink>, which allows us to receive tax-deductible
|
||||||
In the United States they are tax-deductible, in a few other western countries
|
donations in most western countries.
|
||||||
they might be tax-deductible in the future.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you read this section before you may notice that paying for the
|
We intend to use the donations to pay for our domain after transfering
|
||||||
project domain privoxy.org is no longer on the list. It has been
|
it to SPI. Our goal is to make sure there's no single point of failure
|
||||||
transferred to SPI is sponsored by Mythic Beasts Ltd.
|
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>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If you enjoy our software and feel like helping out with a donation,
|
If you enjoy our software and feel like helping out with a donation,
|
||||||
please have a look at
|
please have a look at
|
||||||
<ulink url="http://www.spi-inc.org/donations">SPI's donation page</ulink>
|
<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
|
to see what the options are.
|
||||||
please mail to either the public user mailing list or, if it's a private
|
<para>
|
||||||
matter, to <ulink url="mailto:fk@fabiankeil.de">Fabian Keil</ulink>
|
|
||||||
(Privoxy's SPI liason) directly.
|
|
||||||
</para>
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -831,8 +798,23 @@ way to do this?</title>
|
||||||
<title>There are several different <quote>actions</quote> files. What are
|
<title>There are several different <quote>actions</quote> files. What are
|
||||||
the differences?</title>
|
the differences?</title>
|
||||||
<para>
|
<para>
|
||||||
Please have a look at the <ulink url="../user-manual/actions-file.html">the actions chapter</ulink>
|
Three actions files
|
||||||
in the <ulink url="../user-manual/index.html">User Manual</ulink> for a detailed explanation.
|
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>
|
</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -971,7 +953,7 @@ with a browser? Does that not raise security issues?</title>
|
||||||
<para>
|
<para>
|
||||||
If you run <application>Privoxy</application> for multiple untrusted users (e.g. in
|
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
|
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
|
<quote>off</quote> by setting <quote><literal><ulink
|
||||||
url="../user-manual/config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</ulink>
|
url="../user-manual/config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</ulink>
|
||||||
0</literal></quote> and <quote><literal><ulink
|
0</literal></quote> and <quote><literal><ulink
|
||||||
|
@ -1001,7 +983,7 @@ with a browser? Does that not raise security issues?</title>
|
||||||
<ulink
|
<ulink
|
||||||
url="../user-manual/actions-file.html#FILTER"><literal>filter</literal>
|
url="../user-manual/actions-file.html#FILTER"><literal>filter</literal>
|
||||||
action</ulink> in one of the actions files. Content filtering is automatically
|
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.
|
what should or should not be filtered you can filter any content you like.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -1188,17 +1170,17 @@ on Win2K/NT/XP?</title>
|
||||||
|
|
||||||
|
|
||||||
<sect2 renderas="sect3" id="otherproxy">
|
<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>
|
<para>
|
||||||
This can be done and is often useful to combine the benefits of
|
This can be done and is often useful to combine the benefits of
|
||||||
<application>Privoxy</application> with those of a another proxy,
|
<application>Privoxy</application> with those of a another proxy.
|
||||||
for example to cache content.
|
|
||||||
See the <ulink
|
See the <ulink
|
||||||
url="../user-manual/config.html#FORWARDING">forwarding chapter</ulink>
|
url="../user-manual/config.html#FORWARDING">forwarding chapter</ulink>
|
||||||
in the <ulink url="../user-manual/index.html">User Manual</ulink> which
|
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,
|
describes how to do this, and the <link linkend="TOR">
|
||||||
please also have a look at
|
How do I use Privoxy together with
|
||||||
<link linkend="TOR">How do I use Privoxy together with Tor</link>.
|
Tor</link> section below.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -1208,8 +1190,7 @@ and thus avoid individual browser configuration?</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
No, its more complicated than that. This only works with special kinds
|
No, its more complicated than that. This only works with special kinds
|
||||||
of proxies known as <quote>intercepting</quote> proxies
|
of proxies known as <quote>intercepting</quote> proxies (see below).
|
||||||
(<link linkend="INTERCEPTING">see below</link>).
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -1226,7 +1207,7 @@ and thus avoid individual browser configuration?</title>
|
||||||
<para>
|
<para>
|
||||||
However, some people say <quote>transparent proxy</quote> when they
|
However, some people say <quote>transparent proxy</quote> when they
|
||||||
mean <quote>intercepting proxy</quote>. If you are one of them,
|
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>
|
</para>
|
||||||
|
|
||||||
</sect2>
|
</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>
|
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>
|
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
|
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>
|
by socks4 or socks4a. Most likely you are interested in <application>Tor</application>
|
||||||
to increase your anonymity level, therefore you should use socks5, to make sure DNS
|
to increase your anonymity level, therefore you should use socks4a, to make sure DNS requests are
|
||||||
requests are done through <application>Tor</application> and thus invisible to your
|
done through <application>Tor</application> and thus invisible to your local network.
|
||||||
local network. Using socks4a would work too, but with socks5 you get more precise error
|
|
||||||
messages.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<![%p-newstuff;[
|
<![%p-newstuff;[
|
||||||
|
@ -1805,7 +1784,7 @@ us help you. Your efforts are not wasted, and we do appreciate them.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<screen>
|
<screen>
|
||||||
# forward-socks5 / 127.0.0.1:9050 .
|
# forward-socks4a / 127.0.0.1:9050 .
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -2220,42 +2199,6 @@ and related issues?</title>
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</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>
|
</sect1>
|
||||||
|
|
||||||
|
@ -2992,108 +2935,6 @@ browsing has slowed to a crawl. What gives? </title>
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
|
||||||
$Log: faq.sgml,v $
|
$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
|
Revision 2.58 2009/03/21 12:27:44 fabiankeil
|
||||||
Turn the donation entry title into a question,
|
Turn the donation entry title into a question,
|
||||||
also rephrase the content a bit.
|
also rephrase the content a bit.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
<!entity % dummy "IGNORE">
|
<!entity % dummy "IGNORE">
|
||||||
<!entity buildsource SYSTEM "buildsource.sgml">
|
<!entity buildsource SYSTEM "buildsource.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.11">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
Purpose : INSTALL file for Privoxy
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
|
@ -83,7 +83,7 @@
|
||||||
;; REFENTRY body-attr
|
;; REFENTRY body-attr
|
||||||
;; PURP What attributes should be hung off of BODY?
|
;; PURP What attributes should be hung off of BODY?
|
||||||
;; DESC
|
;; DESC
|
||||||
;; A list of the 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
|
;; The format is a list of lists, each interior list contains the
|
||||||
;; name and value of a BODY attribute.
|
;; name and value of a BODY attribute.
|
||||||
;; /DESC
|
;; /DESC
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
@ -34,15 +34,7 @@
|
||||||
-->
|
-->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Supports "Connection: keep-alive". Outgoing connections can
|
Can keep outgoing connections alive and reuse them later on.
|
||||||
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.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -75,7 +67,7 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Integrated browser-based configuration and control utility at <ulink
|
Integrated browser based configuration and control utility at <ulink
|
||||||
url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
|
url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
|
||||||
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
|
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
|
||||||
tracing of rule and filter effects. Remote toggling.
|
tracing of rule and filter effects. Remote toggling.
|
||||||
|
@ -85,7 +77,8 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Web page filtering (text replacements, removes banners based on size,
|
Web page filtering (text replacements, removes banners based on size,
|
||||||
invisible <quote>web-bugs</quote> and HTML annoyances, etc.)
|
invisible <quote>web-bugs</quote>, JavaScript and HTML annoyances,
|
||||||
|
pop-up windows, etc.)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -104,6 +97,12 @@
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improved cookie management features (e.g. session based cookies).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
GIF de-animation.
|
GIF de-animation.
|
||||||
|
@ -116,6 +115,12 @@
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Multi-threaded (POSIX and native threads).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
|
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
|
||||||
|
@ -130,7 +135,14 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
@ -35,8 +35,11 @@ Current Privoxy Team:
|
||||||
]]>
|
]]>
|
||||||
|
|
||||||
Hal Burgiss
|
Hal Burgiss
|
||||||
|
Mark Miller
|
||||||
|
Gerry Murphy
|
||||||
Lee Rian
|
Lee Rian
|
||||||
Roland Rosenfeld
|
Roland Rosenfeld
|
||||||
|
Jörg Strohmayer
|
||||||
<![%p-authors-formal;[
|
<![%p-authors-formal;[
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
|
||||||
|
@ -58,13 +61,10 @@ Current Privoxy Team:
|
||||||
Adam Lock
|
Adam Lock
|
||||||
Guy Laroche
|
Guy Laroche
|
||||||
Justin McMurtry
|
Justin McMurtry
|
||||||
Mark Miller
|
|
||||||
Gerry Murphy
|
|
||||||
Andreas Oesterhelt
|
Andreas Oesterhelt
|
||||||
Haroon Rafique
|
Haroon Rafique
|
||||||
Georg Sauthoff
|
Georg Sauthoff
|
||||||
Thomas Steudten
|
Thomas Steudten
|
||||||
Jörg Strohmayer
|
|
||||||
Rodney Stromlund
|
Rodney Stromlund
|
||||||
Sviatoslav Sviridov
|
Sviatoslav Sviridov
|
||||||
Sarantis Paskalis
|
Sarantis Paskalis
|
||||||
|
@ -80,14 +80,10 @@ Current Privoxy Team:
|
||||||
<literallayout>
|
<literallayout>
|
||||||
Ken Arromdee
|
Ken Arromdee
|
||||||
Devin Bayer
|
Devin Bayer
|
||||||
Havard Berland
|
|
||||||
Gergely Bor
|
Gergely Bor
|
||||||
Francois Botha
|
|
||||||
Reiner Buehl
|
Reiner Buehl
|
||||||
Andrew J. Caines
|
Andrew J. Caines
|
||||||
Clifford Caoile
|
Clifford Caoile
|
||||||
Wan-Teh Chang
|
|
||||||
Billy Crook
|
|
||||||
Frédéric Crozat
|
Frédéric Crozat
|
||||||
Michael T. Davis
|
Michael T. Davis
|
||||||
Mattes Dolak
|
Mattes Dolak
|
||||||
|
@ -99,7 +95,6 @@ Current Privoxy Team:
|
||||||
Stephen Gildea
|
Stephen Gildea
|
||||||
Daniel Griscom
|
Daniel Griscom
|
||||||
Felix Gröbert
|
Felix Gröbert
|
||||||
Jeff H.
|
|
||||||
Aaron Hamid
|
Aaron Hamid
|
||||||
Darel Henman
|
Darel Henman
|
||||||
Magnus Holmgren
|
Magnus Holmgren
|
||||||
|
@ -113,17 +108,13 @@ Current Privoxy Team:
|
||||||
Bert van Leeuwen
|
Bert van Leeuwen
|
||||||
Don Libes
|
Don Libes
|
||||||
Paul Lieverse
|
Paul Lieverse
|
||||||
Han Liu
|
|
||||||
Toby Lyward
|
Toby Lyward
|
||||||
Wil Mahan
|
Wil Mahan
|
||||||
Jindrich Makovicka
|
Jindrich Makovicka
|
||||||
Raphael Marichez
|
|
||||||
Francois Marier
|
|
||||||
David Mediavilla
|
David Mediavilla
|
||||||
Raphael Moll
|
Raphael Moll
|
||||||
Amuro Namie
|
Amuro Namie
|
||||||
Adam Piggott
|
Adam Piggott
|
||||||
Petr Písar
|
|
||||||
Dan Price
|
Dan Price
|
||||||
Roberto Ragusa
|
Roberto Ragusa
|
||||||
Félix Rauch
|
Félix Rauch
|
||||||
|
@ -131,7 +122,6 @@ Current Privoxy Team:
|
||||||
Chung-chieh Shan
|
Chung-chieh Shan
|
||||||
Spinor S.
|
Spinor S.
|
||||||
Bart Schelstraete
|
Bart Schelstraete
|
||||||
Dan Stahlke
|
|
||||||
Oliver Stoeneberg
|
Oliver Stoeneberg
|
||||||
Peter Thoenen
|
Peter Thoenen
|
||||||
Martin Thomas
|
Martin Thomas
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
|
|
||||||
Purpose : Used with other docs and files only.
|
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.
|
See LICENSE.
|
||||||
|
|
||||||
========================================================================
|
========================================================================
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
<title>The Main Configuration File</title>
|
<title>The Main Configuration File</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
By default, the main configuration file is named <filename>config</filename>,
|
Again, the main configuration file is named <filename>config</filename> on
|
||||||
with the exception of Windows, where it is named <filename>config.txt</filename>.
|
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
|
Configuration lines consist of an initial keyword followed by a list of
|
||||||
values, all separated by whitespace (any number of spaces or tabs). For
|
values, all separated by whitespace (any number of spaces or tabs). For
|
||||||
example:
|
example:
|
||||||
|
@ -81,9 +81,7 @@
|
||||||
<para>
|
<para>
|
||||||
The main config file controls all aspects of <application>Privoxy</application>'s
|
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
|
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
|
where you may be surfing).
|
||||||
a plain text file and can be modified with a text editor like emacs, vim or
|
|
||||||
notepad.exe.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
]]>
|
]]>
|
||||||
|
@ -97,10 +95,10 @@
|
||||||
Sample Configuration File for Privoxy v&p-version;
|
Sample Configuration File for Privoxy v&p-version;
|
||||||
</title>
|
</title>
|
||||||
<para>
|
<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>
|
||||||
<para>
|
<para>
|
||||||
Copyright (C) 2001-2011 Privoxy Developers http://www.privoxy.org/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -796,7 +794,7 @@ actionsfile
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<![%config-file;[<literallayout>@@filterfile default.filter</literallayout>]]>
|
<![%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>
|
</sect3>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1009,7 +1007,7 @@ actionsfile
|
||||||
debug 2 # show each connection status
|
debug 2 # show each connection status
|
||||||
debug 4 # show I/O status
|
debug 4 # show I/O status
|
||||||
debug 8 # show header parsing
|
debug 8 # show header parsing
|
||||||
debug 16 # log all data written to the network
|
debug 16 # log all data written to the network into the logfile
|
||||||
debug 32 # debug force feature
|
debug 32 # debug force feature
|
||||||
debug 64 # debug regular expression filters
|
debug 64 # debug regular expression filters
|
||||||
debug 128 # debug redirects
|
debug 128 # debug redirects
|
||||||
|
@ -1019,7 +1017,6 @@ actionsfile
|
||||||
debug 2048 # CGI user interface
|
debug 2048 # CGI user interface
|
||||||
debug 4096 # Startup banner and warnings.
|
debug 4096 # Startup banner and warnings.
|
||||||
debug 8192 # Non-fatal errors
|
debug 8192 # Non-fatal errors
|
||||||
debug 32768 # log all data read from the network
|
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -1028,7 +1025,7 @@ actionsfile
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
A debug level of 1 is informative because it will show you each request
|
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
|
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.
|
probably only of interest if you are hunting down a specific problem.
|
||||||
They can produce a hell of an output (especially 16).
|
They can produce a hell of an output (especially 16).
|
||||||
|
@ -1194,7 +1191,7 @@ actionsfile
|
||||||
<term>Specifies:</term>
|
<term>Specifies:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<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.
|
listen for client requests.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -1203,7 +1200,6 @@ actionsfile
|
||||||
<term>Type of value:</term>
|
<term>Type of value:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>[<replaceable class="parameter">IP-Address</replaceable>]:<replaceable class="parameter">Port</replaceable></para>
|
<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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -1217,9 +1213,9 @@ actionsfile
|
||||||
<term>Effect if unset:</term>
|
<term>Effect if unset:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Bind to 127.0.0.1 (IPv4 localhost), port 8118. This is suitable and
|
Bind to 127.0.0.1 (localhost), port 8118. This is suitable and recommended for
|
||||||
recommended for home users who run <application>Privoxy</application> on
|
home users who run <application>Privoxy</application> on the same machine as
|
||||||
the same machine as their browser.
|
their browser.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -1235,55 +1231,11 @@ actionsfile
|
||||||
will need to override the default.
|
will need to override the default.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
You can use this statement multiple times to make
|
If you leave out the IP address, <application>Privoxy</application> will
|
||||||
<application>Privoxy</application> listen on more ports or more
|
bind to all interfaces (addresses) on your machine and may become reachable
|
||||||
<abbrev>IP</abbrev> addresses. Suitable if your operating system does not
|
from the Internet. In that case, consider using <link
|
||||||
support sharing <abbrev>IPv6</abbrev> and <abbrev>IPv4</abbrev> protocols
|
linkend="acls">access control lists</link> (ACL's, see below), and/or
|
||||||
on the same socket.
|
a firewall.
|
||||||
</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.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
If you open <application>Privoxy</application> to untrusted users, you will
|
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
|
linkend="enable-edit-actions">enable-edit-actions</link></literal> and
|
||||||
<literal><link linkend="enable-remote-toggle">enable-remote-toggle</link></literal>
|
<literal><link linkend="enable-remote-toggle">enable-remote-toggle</link></literal>
|
||||||
</para>
|
</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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
|
@ -1311,16 +1257,6 @@ actionsfile
|
||||||
<para>
|
<para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
listen-address 192.168.0.1:8118
|
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>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -1675,41 +1611,23 @@ ACLs: permit-access and deny-access</title>
|
||||||
<term>Type of value:</term>
|
<term>Type of value:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<replaceable class="parameter">src_addr</replaceable>[:<replaceable class="parameter">port</replaceable>][/<replaceable class="parameter">src_masklen</replaceable>]
|
<replaceable class="parameter">src_addr</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">dst_addr</replaceable>[/<replaceable class="parameter">dst_masklen</replaceable>]]
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Where <replaceable class="parameter">src_addr</replaceable> and
|
Where <replaceable class="parameter">src_addr</replaceable> and
|
||||||
<replaceable class="parameter">dst_addr</replaceable> are IPv4 addresses in dotted decimal notation or valid
|
<replaceable class="parameter">dst_addr</replaceable> are IP addresses in dotted decimal notation or valid
|
||||||
DNS names, <replaceable class="parameter">port</replaceable> is a port
|
DNS names, and <replaceable class="parameter">src_masklen</replaceable> and
|
||||||
number, and <replaceable class="parameter">src_masklen</replaceable> and
|
|
||||||
<replaceable class="parameter">dst_masklen</replaceable> are subnet masks in CIDR notation, i.e. integer
|
<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
|
values from 2 to 30 representing the length (in bits) of the network address. The masks and the whole
|
||||||
destination part are optional.
|
destination part are optional.
|
||||||
</para>
|
</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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>Default value:</term>
|
<term>Default value:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis>Unset</emphasis></para>
|
<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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<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
|
like <quote>*.org</quote> or partial domain names. If a DNS name resolves to multiple
|
||||||
IP addresses, only the first one is used.
|
IP addresses, only the first one is used.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Denying access to particular sites by ACL may have undesired side effects
|
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
|
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
|
deny-access 192.168.45.73 www.dirty-stuff.example.com
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
@ -1945,7 +1838,7 @@ ACLs: permit-access and deny-access</title>
|
||||||
denote <quote>all URLs</quote>.
|
denote <quote>all URLs</quote>.
|
||||||
<replaceable class="parameter">http_parent</replaceable>[:<replaceable class="parameter">port</replaceable>]
|
<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,
|
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>.
|
Use a single dot (<literal>.</literal>) to denote <quote>no forwarding</quote>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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
|
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.
|
forwarded to another HTTP proxy but are made directly to the web servers.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
Multiple lines are OK, they are checked in sequence, and the last match wins.
|
Multiple lines are OK, they are checked in sequence, and the last match wins.
|
||||||
</para>
|
</para>
|
||||||
|
@ -2008,24 +1891,6 @@ ACLs: permit-access and deny-access</title>
|
||||||
forward .isp.example.net .
|
forward .isp.example.net .
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</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>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
@ -2097,17 +1962,6 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
||||||
<para>
|
<para>
|
||||||
With <literal>forward-socks5</literal> the DNS resolution will happen on the remote server as well.
|
With <literal>forward-socks5</literal> the DNS resolution will happen on the remote server as well.
|
||||||
</para>
|
</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>
|
<para>
|
||||||
If <replaceable class="parameter">http_parent</replaceable> is <quote>.</quote>, then requests are not
|
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
|
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>
|
||||||
<para>
|
<para>
|
||||||
<screen>
|
<screen>
|
||||||
forward-socks5 / 127.0.0.1:9050 .
|
forward-socks4a / 127.0.0.1:9050 .
|
||||||
</screen>
|
</screen>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -2340,11 +2194,6 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
||||||
<![%config-file;[<literallayout>@@forwarded-connect-retries 0</literallayout>]]>
|
<![%config-file;[<literallayout>@@forwarded-connect-retries 0</literallayout>]]>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 id="misc">
|
|
||||||
<title>Miscellaneous</title>
|
|
||||||
|
|
||||||
<sect3 renderas="sect4" id="accept-intercepted-requests"><title>accept-intercepted-requests</title>
|
<sect3 renderas="sect4" id="accept-intercepted-requests"><title>accept-intercepted-requests</title>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
|
@ -2561,46 +2410,34 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
||||||
<term>Effect if unset:</term>
|
<term>Effect if unset:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Connections are not kept alive.
|
Connections are not reused.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>Notes:</term>
|
<term>Notes:</term>
|
||||||
<listitem>
|
<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>
|
<para>
|
||||||
This option has no effect if <application>Privoxy</application>
|
This option has no effect if <application>Privoxy</application>
|
||||||
has been compiled without keep-alive support.
|
has been compiled without keep-alive support.
|
||||||
</para>
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>Notes:</term>
|
||||||
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Note that a timeout of five seconds as used in the default
|
Note that reusing connections doesn't necessary cause speedups.
|
||||||
configuration file significantly decreases the number of
|
There are also a few privacy implications you should be aware 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.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Several users have reported this as a Privoxy bug, so the
|
Outgoing connections are shared between clients (if there are more
|
||||||
default value has been reduced. Consider increasing it to
|
than one) and closing the client that initiated the outgoing connection
|
||||||
300 seconds or even more if you think your browser can handle
|
does not affect the connection between &my-app; and the server unless
|
||||||
it. If your browser appears to be hanging it can't.
|
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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -2613,187 +2450,7 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
<![%config-file;[<literallayout>@@keep-alive-timeout 5</literallayout>]]>
|
<![%config-file;[<literallayout>@@keep-alive-timeout 300</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>]]>
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
|
|
||||||
|
@ -2834,9 +2491,9 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
||||||
<term>Notes:</term>
|
<term>Notes:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The default is quite high and you probably want to reduce it.
|
For SOCKS requests the timeout currently doesn't start until
|
||||||
If you aren't using an occasionally slow proxy like Tor, reducing
|
the SOCKS server accepted the request. This will be fixed in
|
||||||
it to a few seconds should be fine.
|
the next release.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -2853,279 +2510,6 @@ forward-socks4, forward-socks4a and forward-socks5</title>
|
||||||
</sect3>
|
</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>
|
</sect2>
|
||||||
|
|
||||||
<!-- ~ End section ~ -->
|
<!-- ~ End section ~ -->
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
This file belongs into
|
This file belongs into
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
$Id: 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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
<!entity copyright SYSTEM "copyright.sgml">
|
<!entity copyright SYSTEM "copyright.sgml">
|
||||||
<!entity license SYSTEM "license.sgml">
|
<!entity license SYSTEM "license.sgml">
|
||||||
<!entity authors SYSTEM "p-authors.sgml">
|
<!entity authors SYSTEM "p-authors.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.11">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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.
|
See LICENSE.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -35,27 +35,10 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Privoxy is Free Software and licensed under the GNU GPLv2.
|
Privoxy is Free Software and licensed under the GPL2.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
</para>
|
<ulink url="http://www.privoxy.org/faq/general.html#DONATE">Donations are welcome</ulink>.
|
||||||
|
|
||||||
<para>
|
|
||||||
Helping hands and donations are welcome:
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="http://www.privoxy.org/faq/general.html#PARTICIPATE"
|
|
||||||
>http://www.privoxy.org/faq/general.html#PARTICIPATE</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="http://www.privoxy.org/faq/general.html#DONATE"
|
|
||||||
>http://www.privoxy.org/faq/general.html#DONATE</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<!entity p-intro SYSTEM "privoxy.sgml">
|
<!entity p-intro SYSTEM "privoxy.sgml">
|
||||||
<!entity contacting SYSTEM "contacting.sgml">
|
<!entity contacting SYSTEM "contacting.sgml">
|
||||||
<!entity buildsource SYSTEM "buildsource.sgml">
|
<!entity buildsource SYSTEM "buildsource.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.12">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
|
@ -17,9 +17,9 @@
|
||||||
|
|
||||||
Purpose : README for Privoxy
|
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.
|
See LICENSE.
|
||||||
|
|
||||||
========================================================================
|
========================================================================
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
*
|
*
|
||||||
* Purpose : README file to give a short intro.
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -126,13 +126,37 @@
|
||||||
<!-- end boilerplate -->
|
<!-- end boilerplate -->
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
<sect1 id="changes" ><title>CHANGES</title>
|
<sect1 id="importantchanges" ><title>IMPORTANT CHANGES</title>
|
||||||
<para>
|
<para>
|
||||||
For a list of changes in this release, please have a
|
March 2009, Privoxy 3.0.12 is released.
|
||||||
look at the "ChangeLog", the "What's New" section or
|
</para>
|
||||||
the "Upgrader's Notes" in <citetitle>the User Manual</citetitle>.
|
<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>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
February 2009, Privoxy 3.0.11 is released.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
As usual there are changes that effect the configuration. See the "ChangeLog",
|
||||||
|
and the "What's New" section and the "Upgrader's Notes" in
|
||||||
|
<citetitle>the User Manual</citetitle> for details and specifics.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
This is a stable release, and marks a departure for Privoxy development.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Previously, odd numbered releases were considered beta versions and
|
||||||
|
were only released at the end of the development cycle when the code
|
||||||
|
was already believed to be stable. Usually it was, so the stable release
|
||||||
|
contained pretty much the same code, but got a higher version number.
|
||||||
|
In the future we intend to release several snapshots between stable releases.
|
||||||
|
There will probably still be about two stable releases per year,
|
||||||
|
but hopefully about six snapshots instead of the two betas we have now.
|
||||||
|
The intentions is to make testing without CVS access easier.
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
@ -160,6 +184,12 @@
|
||||||
file named 'config' in the current directory (except Win32 which will look
|
file named 'config' in the current directory (except Win32 which will look
|
||||||
for 'config.txt'). If no config_file is found, Privoxy will fail to start.
|
for 'config.txt'). If no config_file is found, Privoxy will fail to start.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Or Debian and Ubuntu: /etc/init.d/privoxy start
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
@ -178,7 +208,7 @@
|
||||||
<para>
|
<para>
|
||||||
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or
|
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
|
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.
|
with FTP or other protocols for the simple reason it does not work.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -232,7 +262,7 @@
|
||||||
<!-- </LiteralLayout> -->
|
<!-- </LiteralLayout> -->
|
||||||
<!-- </para> -->
|
<!-- </para> -->
|
||||||
<!-- <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> -->
|
<!-- </para> -->
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
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/
|
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@
|
||||||
<!entity history SYSTEM "history.sgml">
|
<!entity history SYSTEM "history.sgml">
|
||||||
<!entity copyright SYSTEM "copyright.sgml">
|
<!entity copyright SYSTEM "copyright.sgml">
|
||||||
<!entity license SYSTEM "license.sgml">
|
<!entity license SYSTEM "license.sgml">
|
||||||
<!entity p-version "3.0.19">
|
<!entity p-version "3.0.11">
|
||||||
<!entity p-status "stable">
|
<!entity p-status "stable">
|
||||||
<!entity % p-not-stable "IGNORE">
|
<!entity % p-not-stable "IGNORE">
|
||||||
<!entity % p-stable "INCLUDE">
|
<!entity % p-stable "INCLUDE">
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
This file belongs into
|
This file belongs into
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
$Id: index.sgml,v 2.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>
|
Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
||||||
See LICENSE.
|
See LICENSE.
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<ulink url="https://sourceforge.net/projects/ijbswa/files/">Download recent releases</ulink>
|
<ulink url="https://sourceforge.net/project/showfiles.php?group_id=11118">Download recent releases</ulink>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<!--
|
<!--
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
<para>
|
<para>
|
||||||
<!-- please leave this link absolute so this file can be bundled with -->
|
<!-- please leave this link absolute so this file can be bundled with -->
|
||||||
<!-- documentation and still used locally -->
|
<!-- documentation and still used locally -->
|
||||||
<ulink url="http://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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -222,7 +222,7 @@
|
||||||
<!-- GNUMakefile is inserting this now -->
|
<!-- GNUMakefile is inserting this now -->
|
||||||
<para>
|
<para>
|
||||||
<subscript>
|
<subscript>
|
||||||
Copyright __copy 2001-2010 by Privoxy Developers
|
Copyright __copy 2001-2009 by Privoxy Developers
|
||||||
</subscript>
|
</subscript>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -249,42 +249,6 @@
|
||||||
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
$Log: index.sgml,v $
|
$Log: index.sgml,v $
|
||||||
Revision 2.20 2011/12/26 17:05:40 fabiankeil
|
|
||||||
Bump entities for 3.0.19
|
|
||||||
|
|
||||||
Revision 2.19 2011/11/13 17:03:54 fabiankeil
|
|
||||||
Bump entities for 3.0.18 stable
|
|
||||||
|
|
||||||
Revision 2.18 2011/08/17 10:40:07 fabiankeil
|
|
||||||
Update the entities.
|
|
||||||
|
|
||||||
This commit is chronological out of order.
|
|
||||||
|
|
||||||
Revision 2.17 2010/11/10 21:49:38 fabiankeil
|
|
||||||
Set p-version to 3.0.17
|
|
||||||
|
|
||||||
Revision 2.16 2010/02/13 17:38:39 fabiankeil
|
|
||||||
Update entities for 3.0.16 stable.
|
|
||||||
|
|
||||||
Revision 2.15 2010/02/13 16:38:18 fabiankeil
|
|
||||||
Update copyright.
|
|
||||||
|
|
||||||
Revision 2.14 2010/01/11 13:47:25 fabiankeil
|
|
||||||
Finally bump entities for 3.0.16 UNRELEASED here, too.
|
|
||||||
|
|
||||||
Revision 2.13 2009/10/10 06:07:40 fabiankeil
|
|
||||||
Prepare for 3.0.15 beta.
|
|
||||||
|
|
||||||
Revision 2.12 2009/08/01 11:48:22 fabiankeil
|
|
||||||
Update the "Download recent releases" URL and fix the "Pictures of the Privoxy Team" URL.
|
|
||||||
privoxy.org redirects to www.privoxy.org anyway.
|
|
||||||
|
|
||||||
Revision 2.11 2009/07/18 16:24:39 fabiankeil
|
|
||||||
Bump entities for 3.0.14 beta.
|
|
||||||
|
|
||||||
Revision 2.10 2009/06/12 14:30:59 fabiankeil
|
|
||||||
Update entities for 3.0.13 beta.
|
|
||||||
|
|
||||||
Revision 2.9 2009/02/19 14:12:02 fabiankeil
|
Revision 2.9 2009/02/19 14:12:02 fabiankeil
|
||||||
Change link to the project page to https://.
|
Change link to the project page to https://.
|
||||||
|
|
||||||
|
|
|
@ -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.12-stable is primarily a bugfix release.
|
||||||
Privoxy 3.0.18. One of the fixes addresses a security issue.
|
|
||||||
|
See http://www.privoxy.org/3.0.12/user-manual/whatsnew.html for details.
|
||||||
|
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
ChangeLog for Privoxy
|
ChangeLog for Privoxy
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
*** Version 3.0.19 Stable ***
|
*** Version 3.0.12 ***
|
||||||
|
|
||||||
- Bug fixes:
|
- The socket-timeout option now also works on platforms whose
|
||||||
- Prevent a segmentation fault when de-chunking buffered content.
|
select() implementation modifies the timeout structure.
|
||||||
It could be triggered by malicious web servers if Privoxy was
|
Previously the timeout was triggered even if the connection
|
||||||
configured to filter the content and running on a platform
|
didn't stall. Reported by cyberpatrol.
|
||||||
where SIZE_T_MAX isn't larger than UINT_MAX, which probably
|
- The Connection: keep-alive code properly deals with files
|
||||||
includes most 32-bit systems. On those platforms, all Privoxy
|
larger than 2GB. Previously the connection was closed too
|
||||||
versions before 3.0.19 appear to be affected.
|
early.
|
||||||
To be on the safe side, this bug should be presumed to allow
|
- The content length for files above 2GB is logged correctly.
|
||||||
code execution as proving that it doesn't seems unrealistic.
|
- The user-manual directive on the show-status page links to
|
||||||
- Do not expect a response from the SOCKS4/4A server until it
|
the documentation location specified with the directive,
|
||||||
got something to respond to. This regression was introduced
|
not to the Privoxy website.
|
||||||
in 3.0.18 and prevented the SOCKS4/4A negotiation from working.
|
- When running in daemon mode, Privoxy doesn't log anything
|
||||||
Reported by qqqqqw in #3459781.
|
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:
|
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
|
tastes. It has application for both stand-alone systems and multi-user
|
||||||
networks.
|
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).
|
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
Donations are welcome: http://www.privoxy.org/faq/general.html#DONATE
|
||||||
Helping hands and donations are welcome:
|
|
||||||
|
|
||||||
* http://www.privoxy.org/faq/general.html#PARTICIPATE
|
|
||||||
|
|
||||||
* http://www.privoxy.org/faq/general.html#DONATE
|
|
||||||
|
|
||||||
At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
|
At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
|
||||||
XP, Vista), 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
|
others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and
|
||||||
various other flavors of Unix.
|
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:
|
more control, more privacy and more freedom:
|
||||||
|
|
||||||
|
|
||||||
* Supports "Connection: keep-alive". Outgoing connections can be kept
|
* Can keep outgoing connections alive and reuse them later on.
|
||||||
alive independently from the client. Currently not available on all
|
|
||||||
platforms.
|
|
||||||
|
|
||||||
* Supports IPv6, provided the operating system does so too,
|
|
||||||
and the configure script detects it.
|
|
||||||
|
|
||||||
* Supports tagging which allows to change the behaviour based on client
|
* Supports tagging which allows to change the behaviour based on client
|
||||||
and server headers.
|
and server headers.
|
||||||
|
@ -426,7 +87,8 @@ more control, more privacy and more freedom:
|
||||||
tracing of rule and filter effects. Remote toggling.
|
tracing of rule and filter effects. Remote toggling.
|
||||||
|
|
||||||
* Web page filtering (text replacements, removes banners based on size,
|
* Web page filtering (text replacements, removes banners based on size,
|
||||||
invisible <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
|
* Modularized configuration that allows for standard settings and user
|
||||||
settings to reside in separate files, so that installing updated actions
|
settings to reside in separate files, so that installing updated actions
|
||||||
|
@ -435,16 +97,23 @@ more control, more privacy and more freedom:
|
||||||
* Support for Perl Compatible Regular Expressions in the configuration
|
* Support for Perl Compatible Regular Expressions in the configuration
|
||||||
files, and a more sophisticated and flexible configuration syntax.
|
files, and a more sophisticated and flexible configuration syntax.
|
||||||
|
|
||||||
|
* Improved cookie management features (e.g. session based cookies).
|
||||||
|
|
||||||
* GIF de-animation.
|
* GIF de-animation.
|
||||||
|
|
||||||
* Bypass many click-tracking scripts (avoids script redirection).
|
* Bypass many click-tracking scripts (avoids script redirection).
|
||||||
|
|
||||||
|
* Multi-threaded (POSIX and native threads).
|
||||||
|
|
||||||
* User-customizable HTML templates for most proxy-generated pages (e.g.
|
* User-customizable HTML templates for most proxy-generated pages (e.g.
|
||||||
"blocked" page).
|
"blocked" page).
|
||||||
|
|
||||||
* Auto-detection and re-reading of config file changes.
|
* Auto-detection and re-reading of config file changes.
|
||||||
|
|
||||||
* 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:
|
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Contacting the developers, Bug Reporting and Feature
|
REL="HOME"
|
||||||
Requests</title>
|
TITLE="Privoxy Developer Manual"
|
||||||
<meta name="GENERATOR" content=
|
HREF="index.html"><LINK
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
REL="PREVIOUS"
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
TITLE="Update the Webserver"
|
||||||
<link rel="PREVIOUS" title="Update the Webserver" href=
|
HREF="webserver-update.html"><LINK
|
||||||
"webserver-update.html">
|
REL="NEXT"
|
||||||
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
|
TITLE="Privoxy Copyright, License and History"
|
||||||
"copyright.html">
|
HREF="copyright.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
REL="STYLESHEET"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
TYPE="text/css"
|
||||||
<style type="text/css">
|
HREF="../p_doc.css"><META
|
||||||
body {
|
HTTP-EQUIV="Content-Type"
|
||||||
background-color: #EEEEEE;
|
CONTENT="text/html;
|
||||||
color: #000000;
|
charset=ISO-8859-1"></HEAD
|
||||||
}
|
><BODY
|
||||||
:link { color: #0000FF }
|
CLASS="SECT1"
|
||||||
:visited { color: #840084 }
|
BGCOLOR="#EEEEEE"
|
||||||
:active { color: #0000FF }
|
TEXT="#000000"
|
||||||
span.c2 {font-style: italic}
|
LINK="#0000FF"
|
||||||
hr.c1 {text-align: left}
|
VLINK="#840084"
|
||||||
</style>
|
ALINK="#0000FF"
|
||||||
</head>
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
<body class="SECT1">
|
><TABLE
|
||||||
<div class="NAVHEADER">
|
SUMMARY="Header navigation table"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
WIDTH="100%"
|
||||||
cellpadding="0" cellspacing="0">
|
BORDER="0"
|
||||||
<tr>
|
CELLPADDING="0"
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
CELLSPACING="0"
|
||||||
</tr>
|
><TR
|
||||||
|
><TH
|
||||||
<tr>
|
COLSPAN="3"
|
||||||
<td width="10%" align="left" valign="bottom"><a href=
|
ALIGN="center"
|
||||||
"webserver-update.html" accesskey="P">Prev</a></td>
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
><TR
|
||||||
|
><TD
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
WIDTH="10%"
|
||||||
"copyright.html" accesskey="N">Next</a></td>
|
ALIGN="left"
|
||||||
</tr>
|
VALIGN="bottom"
|
||||||
</table>
|
><A
|
||||||
<hr class="c1" width="100%">
|
HREF="webserver-update.html"
|
||||||
</div>
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
<div class="SECT1">
|
></TD
|
||||||
<h1 class="SECT1"><a name="CONTACT" id="CONTACT">8. Contacting the
|
><TD
|
||||||
developers, Bug Reporting and Feature Requests</a></h1>
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
<p>We value your feedback. In fact, we rely on it to improve <span class=
|
VALIGN="bottom"
|
||||||
"APPLICATION">Privoxy</span> and its configuration. However, please note
|
></TD
|
||||||
the following hints, so we can provide you with the best support:</p>
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
<div class="SECT2">
|
ALIGN="right"
|
||||||
<h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">8.1.
|
VALIGN="bottom"
|
||||||
Get Support</a></h2>
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
<p>For casual users, our <a href=
|
ACCESSKEY="N"
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
>Next</A
|
||||||
target="_top">support forum at SourceForge</a> is probably best suited:
|
></TD
|
||||||
<a href=
|
></TR
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
></TABLE
|
||||||
target="_top">http://sourceforge.net/tracker/?group_id=11118&atid=211118</a></p>
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
<p>All users are of course welcome to discuss their issues on the
|
WIDTH="100%"></DIV
|
||||||
<a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
><DIV
|
||||||
target="_top">users mailing list</a>, where the developers also hang
|
CLASS="SECT1"
|
||||||
around.</p>
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
<p>Please don't sent private support requests to individual Privoxy
|
><A
|
||||||
developers, either use the mailing lists or the support trackers.</p>
|
NAME="CONTACT"
|
||||||
|
>8. Contacting the developers, Bug Reporting and Feature Requests</A
|
||||||
<p>If you have to contact a Privoxy developer directly for other
|
></H1
|
||||||
reasons, please send a real mail and do not bother with SourceForge's
|
><P
|
||||||
messaging system. Answers to SourceForge messages are usually bounced
|
> We value your feedback. In fact, we rely on it to improve
|
||||||
by SourceForge's mail server in which case the developer wasted time
|
<SPAN
|
||||||
writing a response you don't get. From your point of view it will look
|
CLASS="APPLICATION"
|
||||||
like your message has been completely ignored, so this is frustrating
|
>Privoxy</SPAN
|
||||||
for all parties involved.</p>
|
> and its configuration.
|
||||||
|
However, please note the following hints, so we can
|
||||||
<p>Note that the Privoxy mailing lists are moderated. Posts from
|
provide you with the best support:</P
|
||||||
unsubscribed addresses have to be accepted manually by a moderator.
|
><DIV
|
||||||
This may cause a delay of several days and if you use a subject that
|
CLASS="SECT2"
|
||||||
doesn't clearly mention Privoxy or one of its features, your message
|
><H2
|
||||||
may be accidentally discarded as spam.</p>
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
<p>If you aren't subscribed, you should therefore spend a few seconds
|
NAME="CONTACT-SUPPORT"
|
||||||
to come up with a proper subject. Additionally you should make it clear
|
>8.1. Get Support</A
|
||||||
that you want to get CC'd. Otherwise some responses will be directed to
|
></H2
|
||||||
the mailing list only, and you won't see them.</p>
|
><P
|
||||||
</div>
|
> For casual users, our
|
||||||
|
<A
|
||||||
<div class="SECT2">
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
<h2 class="SECT2"><a name="REPORTING" id="REPORTING">8.2. Reporting
|
TARGET="_top"
|
||||||
Problems</a></h2>
|
>support forum at SourceForge</A
|
||||||
|
>
|
||||||
<p><span class="QUOTE">"Problems"</span> for our purposes, come in two
|
is probably best suited:
|
||||||
forms:</p>
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
<ul>
|
TARGET="_top"
|
||||||
<li>
|
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||||
<p>Configuration issues, such as ads that slip through, or sites
|
></P
|
||||||
that don't function properly due to one <span class=
|
><P
|
||||||
"APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
|
> All users are of course welcome to discuss their issues on the <A
|
||||||
another being turned <span class="QUOTE">"on"</span>.</p>
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||||
</li>
|
TARGET="_top"
|
||||||
|
>users
|
||||||
<li>
|
mailing list</A
|
||||||
<p><span class="QUOTE">"Bugs"</span> in the programming code that
|
>, where the developers also hang around.</P
|
||||||
makes up <span class="APPLICATION">Privoxy</span>, such as that
|
><P
|
||||||
might cause a crash.</p>
|
> Please don't sent private support requests to individual Privoxy
|
||||||
</li>
|
developers, either use the mailing lists or the support trackers.</P
|
||||||
</ul>
|
><P
|
||||||
|
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
<div class="SECT3">
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
<h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">8.2.1.
|
delay of several days and if you use a subject that doesn't clearly
|
||||||
Reporting Ads or Other Configuration Problems</a></h3>
|
mention Privoxy or one of its features, your message may be accidentally
|
||||||
|
discarded as spam.</P
|
||||||
<p>Please send feedback on ads that slipped through, innocent images
|
><P
|
||||||
that were blocked, sites that don't work properly, and other
|
> If you aren't subscribed, you should therefore spend a few seconds
|
||||||
configuration related problem of <tt class=
|
to come up with a proper subject. Additionally you should make it clear
|
||||||
"FILENAME">default.action</tt> file, to <a href=
|
that you want to get CC'd. Otherwise some responses will be directed to
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
the mailing list only, and you won't see them.</P
|
||||||
target=
|
></DIV
|
||||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
><DIV
|
||||||
the Actions File Tracker.</p>
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
<p>New, improved <tt class="FILENAME">default.action</tt> files may
|
CLASS="SECT2"
|
||||||
occasionally be made available based on your feedback. These will be
|
><A
|
||||||
announced on the <a href=
|
NAME="REPORTING"
|
||||||
"http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
|
>8.2. Reporting Problems</A
|
||||||
"_top">ijbswa-announce</a> list and available from our the <a href=
|
></H2
|
||||||
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
|
><P
|
||||||
"_top">files section</a> of our <a href=
|
><SPAN
|
||||||
"http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
|
CLASS="QUOTE"
|
||||||
</div>
|
>"Problems"</SPAN
|
||||||
|
> for our purposes, come in two forms:</P
|
||||||
<div class="SECT3">
|
><P
|
||||||
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">8.2.2.
|
></P
|
||||||
Reporting Bugs</a></h3>
|
><UL
|
||||||
|
><LI
|
||||||
<p>Please report all bugs through our bug tracker: <a href=
|
><P
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
> Configuration issues, such as ads that slip through, or sites that
|
||||||
target=
|
don't function properly due to one <SPAN
|
||||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<p>Before doing so, please make sure that the bug has <span class=
|
>
|
||||||
"emphasis EMPHASIS c2">not already been submitted</span> and observe
|
<SPAN
|
||||||
the additional hints at the top of the <a href=
|
CLASS="QUOTE"
|
||||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
>"action"</SPAN
|
||||||
target="_top">submit form</a>. If already submitted, please feel free
|
> or another being turned <SPAN
|
||||||
to add any info to the original report that might help to solve the
|
CLASS="QUOTE"
|
||||||
issue.</p>
|
>"on"</SPAN
|
||||||
|
>.
|
||||||
<p>Please try to verify that it is a <span class=
|
</P
|
||||||
"APPLICATION">Privoxy</span> bug, and not a browser or site bug or
|
></LI
|
||||||
documented behaviour that just happens to be different than what you
|
><LI
|
||||||
expected. If unsure, try <a href=
|
><P
|
||||||
"http://config.privoxy.org/toggle?set=disable" target="_top">toggling
|
> <SPAN
|
||||||
off</a> <span class="APPLICATION">Privoxy</span>, and see if the
|
CLASS="QUOTE"
|
||||||
problem persists.</p>
|
>"Bugs"</SPAN
|
||||||
|
> in the programming code that makes up
|
||||||
<p>If you are using your own custom configuration, please try the
|
<SPAN
|
||||||
stock configs to see if the problem is configuration related. If
|
CLASS="APPLICATION"
|
||||||
you're having problems with a feature that is disabled by default,
|
>Privoxy</SPAN
|
||||||
please ask around on the mailing list if others can reproduce the
|
>, such as that might cause a crash.
|
||||||
problem.</p>
|
</P
|
||||||
|
></LI
|
||||||
<p>If you aren't using the latest Privoxy version, the bug may have
|
></UL
|
||||||
been found and fixed in the meantime. We would appreciate if you
|
><DIV
|
||||||
could take the time to <a href=
|
CLASS="SECT3"
|
||||||
"http://www.privoxy.org/user-manual/installation.html" target=
|
><H3
|
||||||
"_top">upgrade to the latest version</a> (or even the latest CVS
|
CLASS="SECT3"
|
||||||
snapshot) and verify that your bug still exists.</p>
|
><A
|
||||||
|
NAME="CONTACT-ADS"
|
||||||
<p>Please be sure to provide the following information:</p>
|
>8.2.1. Reporting Ads or Other Configuration Problems</A
|
||||||
|
></H3
|
||||||
<ul>
|
><P
|
||||||
<li>
|
> Please send feedback on ads that slipped through, innocent images that were
|
||||||
<p>The exact <span class="APPLICATION">Privoxy</span> version you
|
blocked, sites that don't work properly, and other configuration related problem of
|
||||||
are using (if you got the source from CVS, please also provide
|
<TT
|
||||||
the source code revisions as shown in <a href=
|
CLASS="FILENAME"
|
||||||
"http://config.privoxy.org/show-version" target=
|
>default.action</TT
|
||||||
"_top">http://config.privoxy.org/show-version</a>).</p>
|
> file, to
|
||||||
</li>
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||||
<li>
|
TARGET="_top"
|
||||||
<p>The operating system and versions you run <span class=
|
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||||
"APPLICATION">Privoxy</span> on, (e.g. <span class=
|
>,
|
||||||
"APPLICATION">Windows XP SP2</span>), if you are using a Unix
|
the Actions File Tracker.</P
|
||||||
flavor, sending the output of <span class="QUOTE">"uname
|
><P
|
||||||
-a"</span> should do, in case of GNU/Linux, please also name the
|
> New, improved <TT
|
||||||
distribution.</p>
|
CLASS="FILENAME"
|
||||||
</li>
|
>default.action</TT
|
||||||
|
> files may occasionally be made
|
||||||
<li>
|
available based on your feedback. These will be announced on the <A
|
||||||
<p>The name, platform, and version of the <span class=
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||||
"APPLICATION">browser</span> you were using (e.g. <span class=
|
TARGET="_top"
|
||||||
"APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
|
>ijbswa-announce</A
|
||||||
</li>
|
>
|
||||||
|
list and available from our the <A
|
||||||
<li>
|
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
<p>The URL where the problem occurred, or some way for us to
|
TARGET="_top"
|
||||||
duplicate the problem (e.g. <tt class=
|
>files section</A
|
||||||
"LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
|
> of
|
||||||
</li>
|
our <A
|
||||||
|
HREF="http://sf.net/projects/ijbswa/"
|
||||||
<li>
|
TARGET="_top"
|
||||||
<p>Whether your version of <span class=
|
>project page</A
|
||||||
"APPLICATION">Privoxy</span> is one supplied by the <span class=
|
>.</P
|
||||||
"APPLICATION">Privoxy</span> developers via SourceForge, or if
|
></DIV
|
||||||
you got your copy somewhere else.</p>
|
><DIV
|
||||||
</li>
|
CLASS="SECT3"
|
||||||
|
><H3
|
||||||
<li>
|
CLASS="SECT3"
|
||||||
<p>Whether you are using <span class="APPLICATION">Privoxy</span>
|
><A
|
||||||
in tandem with another proxy such as <span class=
|
NAME="CONTACT-BUGS"
|
||||||
"APPLICATION">Tor</span>. If so, please temporary disable the
|
>8.2.2. Reporting Bugs</A
|
||||||
other proxy to see if the symptoms change.</p>
|
></H3
|
||||||
</li>
|
><P
|
||||||
|
> Please report all bugs through our bug tracker:
|
||||||
<li>
|
<A
|
||||||
<p>Whether you are using a personal firewall product. If so, does
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||||
<span class="APPLICATION">Privoxy</span> work without it?</p>
|
TARGET="_top"
|
||||||
</li>
|
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||||
|
>. </P
|
||||||
<li>
|
><P
|
||||||
<p>Any other pertinent information to help identify the problem
|
> Before doing so, please make sure that the bug has <SPAN
|
||||||
such as config or log file excerpts (yes, you should have log
|
CLASS="emphasis"
|
||||||
file entries for each action taken). To get a meaningful logfile,
|
><I
|
||||||
please make sure that the <a href=
|
CLASS="EMPHASIS"
|
||||||
"../user-manual/config.html#LOGFILE" target="_top">logfile
|
>not already been submitted</I
|
||||||
directive</a> is being used and the following <a href=
|
></SPAN
|
||||||
"../user-manual/config.html#DEBUG" target="_top">debug
|
>
|
||||||
options</a> are enabled:</p>
|
and observe the additional hints at the top of the <A
|
||||||
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||||
<p class="LITERALLAYOUT">
|
TARGET="_top"
|
||||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.<br>
|
>submit
|
||||||
|
form</A
|
||||||
debug 2 # show each connection status<br>
|
>. If already submitted, please feel free to add any info to the
|
||||||
|
original report that might help to solve the issue.</P
|
||||||
debug 4 # show I/O status<br>
|
><P
|
||||||
|
> Please try to verify that it is a <SPAN
|
||||||
debug 8 # show header parsing<br>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
debug 128 # debug redirects<br>
|
> bug,
|
||||||
debug 256 # debug GIF de-animation<br>
|
and not a browser or site bug or documented behaviour that just happens
|
||||||
|
to be different than what you expected. If unsure,
|
||||||
debug 512 # Common Log Format<br>
|
try <A
|
||||||
|
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.<br>
|
TARGET="_top"
|
||||||
|
>toggling
|
||||||
debug 4096 # Startup banner and warnings.<br>
|
off</A
|
||||||
|
> <SPAN
|
||||||
debug 8192 # Non-fatal errors</p>If you
|
CLASS="APPLICATION"
|
||||||
are having trouble with a filter, please additionally enable
|
>Privoxy</SPAN
|
||||||
|
>, and see if the problem persists.</P
|
||||||
<p class="LITERALLAYOUT">
|
><P
|
||||||
debug 64 # debug regular expression filters</p>If
|
> If you are using your own custom configuration, please try
|
||||||
you are using Privoxy 3.0.17 or later and suspect that it
|
the stock configs to see if the problem is configuration related.
|
||||||
interprets the request or the response incorrectly, please enable
|
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 class="LITERALLAYOUT">
|
><P
|
||||||
debug 32768 # log all data read from the network</p>Note
|
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||||
that Privoxy log files may contain sensitive information so
|
and fixed in the meantime. We would appreciate if you could take the time
|
||||||
please don't submit any logfiles you didn't read first. You can
|
to <A
|
||||||
mask sensitive information as long as it's clear that you removed
|
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||||
something.
|
TARGET="_top"
|
||||||
</li>
|
>upgrade
|
||||||
</ul>
|
to the latest version</A
|
||||||
|
> (or even the latest CVS snapshot) and verify
|
||||||
<p>You don't have to tell us your actual name when filing a problem
|
that your bug still exists.</P
|
||||||
report, but if you don't, please use a nickname so we can
|
><P
|
||||||
differentiate between your messages and the ones entered by other
|
>Please be sure to provide the following information:</P
|
||||||
"anonymous" users that may respond to your request if they have the
|
><P
|
||||||
same problem or already found a solution. Note that due to spam the
|
> <P
|
||||||
trackers may not always allow to post without being logged into
|
></P
|
||||||
SourceForge. If that's the case, you are still free to create a login
|
><UL
|
||||||
that isn't directly linked to your name, though.</p>
|
><LI
|
||||||
|
><P
|
||||||
<p>Please also check the status of your request a few days after
|
> The exact <SPAN
|
||||||
submitting it, as we may request additional information. If you use a
|
CLASS="APPLICATION"
|
||||||
SF id, you should automatically get a mail when someone responds to
|
>Privoxy</SPAN
|
||||||
your request. Please don't bother to add an email address when using
|
> version you are using
|
||||||
the tracker. If you prefer to communicate through email, just use one
|
(if you got the source from CVS, please also provide the source code revisions
|
||||||
of the mailing lists directly.</p>
|
as shown in <A
|
||||||
|
HREF="http://config.privoxy.org/show-version"
|
||||||
<p>If you are new to reporting problems, you might be interested in
|
TARGET="_top"
|
||||||
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
>http://config.privoxy.org/show-version</A
|
||||||
target="_top">How to Report Bugs Effectively</a>.</p>
|
>).
|
||||||
|
</P
|
||||||
<p>The <a href=
|
></LI
|
||||||
"http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
><LI
|
||||||
target="_top">appendix of the Privoxy User Manual</a> also has
|
><P
|
||||||
helpful information on understanding <tt class=
|
> The operating system and versions you run
|
||||||
"LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
|
<SPAN
|
||||||
debugging.</p>
|
CLASS="APPLICATION"
|
||||||
</div>
|
>Privoxy</SPAN
|
||||||
</div>
|
> on, (e.g. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<div class="SECT2">
|
>Windows
|
||||||
<h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">8.3.
|
XP SP2</SPAN
|
||||||
Request New Features</a></h2>
|
>), if you are using a Unix flavor,
|
||||||
|
sending the output of <SPAN
|
||||||
<p>You are welcome to submit ideas on new features or other proposals
|
CLASS="QUOTE"
|
||||||
for improvement through our feature request tracker at <a href=
|
>"uname -a"</SPAN
|
||||||
"http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
> should do,
|
||||||
target="_top">http://sourceforge.net/tracker/?atid=361118&group_id=11118</a>.</p>
|
in case of GNU/Linux, please also name the distribution.
|
||||||
</div>
|
</P
|
||||||
|
></LI
|
||||||
<div class="SECT2">
|
><LI
|
||||||
<h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">8.4.
|
><P
|
||||||
Mailing Lists</a></h2>
|
> The name, platform, and version of the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<p>If you prefer to communicate through email, instead of using a web
|
>browser</SPAN
|
||||||
interface, feel free to use one of the mailing lists. To discuss issues
|
>
|
||||||
that haven't been completely diagnosed yet, please use the Privoxy
|
you were using (e.g. <SPAN
|
||||||
users list. Technically interested users and people who wish to
|
CLASS="APPLICATION"
|
||||||
contribute to the project are always welcome on the developers list.
|
>Internet Explorer v5.5</SPAN
|
||||||
You can find an overview of all <span class=
|
> for Mac).
|
||||||
"APPLICATION">Privoxy</span>-related mailing lists, including list
|
</P
|
||||||
archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
|
></LI
|
||||||
target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
|
><LI
|
||||||
</div>
|
><P
|
||||||
</div>
|
> The URL where the problem occurred, or some way for us to duplicate the
|
||||||
|
problem (e.g. <TT
|
||||||
<div class="NAVFOOTER">
|
CLASS="LITERAL"
|
||||||
<hr class="c1" width="100%">
|
>http://somesite.example.com/?somethingelse=123</TT
|
||||||
|
>).
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
</P
|
||||||
cellpadding="0" cellspacing="0">
|
></LI
|
||||||
<tr>
|
><LI
|
||||||
<td width="33%" align="left" valign="top"><a href=
|
><P
|
||||||
"webserver-update.html" accesskey="P">Prev</a></td>
|
> Whether your version of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
>Privoxy</SPAN
|
||||||
accesskey="H">Home</a></td>
|
> is one supplied
|
||||||
|
by the <SPAN
|
||||||
<td width="33%" align="right" valign="top"><a href="copyright.html"
|
CLASS="APPLICATION"
|
||||||
accesskey="N">Next</a></td>
|
>Privoxy</SPAN
|
||||||
</tr>
|
> developers via SourceForge,
|
||||||
|
or if you got your copy somewhere else.
|
||||||
<tr>
|
</P
|
||||||
<td width="33%" align="left" valign="top">Update the Webserver</td>
|
></LI
|
||||||
|
><LI
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
><P
|
||||||
|
> Whether you are using <SPAN
|
||||||
<td width="33%" align="right" valign="top">Privoxy Copyright, License
|
CLASS="APPLICATION"
|
||||||
and History</td>
|
>Privoxy</SPAN
|
||||||
</tr>
|
> in tandem with
|
||||||
</table>
|
another proxy such as <SPAN
|
||||||
</div>
|
CLASS="APPLICATION"
|
||||||
</body>
|
>Tor</SPAN
|
||||||
</html>
|
>. 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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Privoxy Copyright, License and History</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Privoxy Copyright, License and History</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy Developer Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title=
|
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||||
"Contacting the developers, Bug Reporting and Feature Requests" href=
|
HREF="contact.html"><LINK
|
||||||
"contact.html">
|
REL="NEXT"
|
||||||
<link rel="NEXT" title="See also" href="seealso.html">
|
TITLE="See also"
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
HREF="seealso.html"><LINK
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
REL="STYLESHEET"
|
||||||
<style type="text/css">
|
TYPE="text/css"
|
||||||
body {
|
HREF="../p_doc.css"><META
|
||||||
background-color: #EEEEEE;
|
HTTP-EQUIV="Content-Type"
|
||||||
color: #000000;
|
CONTENT="text/html;
|
||||||
}
|
charset=ISO-8859-1"></HEAD
|
||||||
:link { color: #0000FF }
|
><BODY
|
||||||
:visited { color: #840084 }
|
CLASS="SECT1"
|
||||||
:active { color: #0000FF }
|
BGCOLOR="#EEEEEE"
|
||||||
a.c2 {font-style: italic}
|
TEXT="#000000"
|
||||||
hr.c1 {text-align: left}
|
LINK="#0000FF"
|
||||||
</style>
|
VLINK="#840084"
|
||||||
</head>
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
<body class="SECT1">
|
CLASS="NAVHEADER"
|
||||||
<div class="NAVHEADER">
|
><TABLE
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
SUMMARY="Header navigation table"
|
||||||
cellpadding="0" cellspacing="0">
|
WIDTH="100%"
|
||||||
<tr>
|
BORDER="0"
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
CELLPADDING="0"
|
||||||
</tr>
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
<tr>
|
><TH
|
||||||
<td width="10%" align="left" valign="bottom"><a href="contact.html"
|
COLSPAN="3"
|
||||||
accesskey="P">Prev</a></td>
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
></TR
|
||||||
|
><TR
|
||||||
<td width="10%" align="right" valign="bottom"><a href="seealso.html"
|
><TD
|
||||||
accesskey="N">Next</a></td>
|
WIDTH="10%"
|
||||||
</tr>
|
ALIGN="left"
|
||||||
</table>
|
VALIGN="bottom"
|
||||||
<hr class="c1" width="100%">
|
><A
|
||||||
</div>
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
<div class="SECT1">
|
>Prev</A
|
||||||
<h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">9. Privoxy
|
></TD
|
||||||
Copyright, License and History</a></h1>
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
<p>Copyright © 2001-2011 by Privoxy Developers <code class=
|
ALIGN="center"
|
||||||
"EMAIL"><<a href=
|
VALIGN="bottom"
|
||||||
"mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>></code></p>
|
></TD
|
||||||
|
><TD
|
||||||
<p>Some source code is based on code Copyright © 1997 by Anonymous
|
WIDTH="10%"
|
||||||
Coders and Junkbusters, Inc. and licensed under the <i class=
|
ALIGN="right"
|
||||||
"CITETITLE">GNU General Public License</i>.</p>
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
<div class="SECT2">
|
HREF="seealso.html"
|
||||||
<h2 class="SECT2"><a name="AEN1231" id="AEN1231">9.1. License</a></h2>
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
<p><span class="APPLICATION">Privoxy</span> is free software; you can
|
></TD
|
||||||
redistribute it and/or modify it under the terms of the <i class=
|
></TR
|
||||||
"CITETITLE">GNU General Public License</i>, version 2, as published by
|
></TABLE
|
||||||
the Free Software Foundation.</p>
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
<p>This program is distributed in the hope that it will be useful, but
|
WIDTH="100%"></DIV
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
><DIV
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a class=
|
CLASS="SECT1"
|
||||||
"CITETITLE c2" href=
|
><H1
|
||||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
CLASS="SECT1"
|
||||||
"_top">GNU General Public License</a> for details.</p>
|
><A
|
||||||
|
NAME="COPYRIGHT"
|
||||||
<p>You should have received a copy of the <i class="CITETITLE">GNU
|
>9. Privoxy Copyright, License and History</A
|
||||||
GPL</i> along with this program; if not, write to the</p>
|
></H1
|
||||||
|
><P
|
||||||
<p class="ADDRESS"> Free Software<br>
|
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||||
Foundation, Inc. <span class="STREET">51 Franklin
|
CLASS="EMAIL"
|
||||||
Street, Fifth Floor</span><br>
|
><<A
|
||||||
<span class="CITY">Boston</span>, <span class=
|
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||||
"STATE">MA</span> <span class="POSTCODE">02110-1301</span><br>
|
>ijbswa-developers@lists.sourceforge.net</A
|
||||||
<span class="COUNTRY">USA</span> </p>
|
>></CODE
|
||||||
</div>
|
></P
|
||||||
|
><P
|
||||||
<div class="SECT2">
|
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||||
<h2 class="SECT2"><a name="AEN1247" id="AEN1247">9.2. History</a></h2>
|
and Junkbusters, Inc. and licensed under the <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
<p>A long time ago, there was the <a href=
|
>GNU General Public
|
||||||
"http://www.junkbusters.com/ijb.html" target="_top"><span class=
|
License</I
|
||||||
"APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
|
>.</P
|
||||||
<a href="http://www.junkbusters.com/" target="_top">Junkbusters
|
><DIV
|
||||||
Corporation</a>. This saved many users a lot of pain in the early days
|
CLASS="SECT2"
|
||||||
of web advertising and user tracking.</p>
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
<p>But the web, its protocols and standards, and with it, the
|
><A
|
||||||
techniques for forcing ads on users, give up autonomy over their
|
NAME="AEN1223"
|
||||||
browsing, and for tracking them, keeps evolving. Unfortunately, the
|
>9.1. License</A
|
||||||
<span class="APPLICATION">Internet Junkbuster</span> did not. Version
|
></H2
|
||||||
2.0.2, published in 1998, was (and is) the last official <a href=
|
><P
|
||||||
"http://www.junkbusters.com/ijbdist.html#release" target=
|
> <SPAN
|
||||||
"_top">release</a> available from <a href="http://www.junkbusters.com"
|
CLASS="APPLICATION"
|
||||||
target="_top">Junkbusters Corporation</a>. Fortunately, it had been
|
>Privoxy</SPAN
|
||||||
released under the GNU <a href=
|
> is free software; you can
|
||||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
redistribute it and/or modify it under the terms of the
|
||||||
"_top">GPL</a>, which allowed further development by others.</p>
|
<I
|
||||||
|
CLASS="CITETITLE"
|
||||||
<p>So Stefan Waldherr started maintaining an improved version of the
|
>GNU General Public License</I
|
||||||
software, to which eventually a number of people contributed patches.
|
>, version 2,
|
||||||
It could already replace banners with a transparent image, and had a
|
as published by the Free Software Foundation.</P
|
||||||
first version of pop-up killing, but it was still very closely based on
|
><P
|
||||||
the original, with all its limitations, such as the lack of HTTP/1.1
|
> This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
support, flexible per-site configuration, or content modification. The
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
last release from this effort was version 2.0.2-10, published in
|
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
||||||
2000.</p>
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
|
TARGET="_top"
|
||||||
<p>Then, some <a href=
|
> <I
|
||||||
"http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
|
CLASS="CITETITLE"
|
||||||
"_top">developers</a> picked up the thread, and started turning the
|
>GNU General Public License</I
|
||||||
software inside out, upside down, and then reassembled it, adding many
|
></A
|
||||||
<a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
> for details.</P
|
||||||
target="_top">new features</a> along the way.</p>
|
><P
|
||||||
|
> You should have received a copy of the <I
|
||||||
<p>The result of this is <span class="APPLICATION">Privoxy</span>,
|
CLASS="CITETITLE"
|
||||||
whose first stable version, 3.0, was released August, 2002.</p>
|
>GNU GPL</I
|
||||||
</div>
|
>
|
||||||
</div>
|
along with this program; if not, write to the <P
|
||||||
|
CLASS="ADDRESS"
|
||||||
<div class="NAVFOOTER">
|
> Free Software<br>
|
||||||
<hr class="c1" width="100%">
|
Foundation, Inc. <SPAN
|
||||||
|
CLASS="STREET"
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
>51 Franklin Street, Fifth Floor</SPAN
|
||||||
cellpadding="0" cellspacing="0">
|
><br>
|
||||||
<tr>
|
<SPAN
|
||||||
<td width="33%" align="left" valign="top"><a href="contact.html"
|
CLASS="CITY"
|
||||||
accesskey="P">Prev</a></td>
|
>Boston</SPAN
|
||||||
|
>, <SPAN
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
CLASS="STATE"
|
||||||
accesskey="H">Home</a></td>
|
>MA</SPAN
|
||||||
|
> <SPAN
|
||||||
<td width="33%" align="right" valign="top"><a href="seealso.html"
|
CLASS="POSTCODE"
|
||||||
accesskey="N">Next</a></td>
|
>02110-1301</SPAN
|
||||||
</tr>
|
><br>
|
||||||
|
<SPAN
|
||||||
<tr>
|
CLASS="COUNTRY"
|
||||||
<td width="33%" align="left" valign="top">Contacting the developers,
|
>USA</SPAN
|
||||||
Bug Reporting and Feature Requests</td>
|
> </P
|
||||||
|
></P
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
></DIV
|
||||||
|
><DIV
|
||||||
<td width="33%" align="right" valign="top">See also</td>
|
CLASS="SECT2"
|
||||||
</tr>
|
><H2
|
||||||
</table>
|
CLASS="SECT2"
|
||||||
</div>
|
><A
|
||||||
</body>
|
NAME="AEN1239"
|
||||||
</html>
|
>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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>The CVS Repository</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>The CVS Repository</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy Developer Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Introduction" href="introduction.html">
|
TITLE="Introduction"
|
||||||
<link rel="NEXT" title="Documentation Guidelines" href=
|
HREF="introduction.html"><LINK
|
||||||
"documentation.html">
|
REL="NEXT"
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
TITLE="Documentation Guidelines"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
HREF="documentation.html"><LINK
|
||||||
<style type="text/css">
|
REL="STYLESHEET"
|
||||||
body {
|
TYPE="text/css"
|
||||||
background-color: #EEEEEE;
|
HREF="../p_doc.css"><META
|
||||||
color: #000000;
|
HTTP-EQUIV="Content-Type"
|
||||||
}
|
CONTENT="text/html;
|
||||||
:link { color: #0000FF }
|
charset=ISO-8859-1"></HEAD
|
||||||
:visited { color: #840084 }
|
><BODY
|
||||||
:active { color: #0000FF }
|
CLASS="SECT1"
|
||||||
span.c2 {font-style: italic}
|
BGCOLOR="#EEEEEE"
|
||||||
hr.c1 {text-align: left}
|
TEXT="#000000"
|
||||||
</style>
|
LINK="#0000FF"
|
||||||
</head>
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
<body class="SECT1">
|
><DIV
|
||||||
<div class="NAVHEADER">
|
CLASS="NAVHEADER"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><TABLE
|
||||||
cellpadding="0" cellspacing="0">
|
SUMMARY="Header navigation table"
|
||||||
<tr>
|
WIDTH="100%"
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
BORDER="0"
|
||||||
</tr>
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
<tr>
|
><TR
|
||||||
<td width="10%" align="left" valign="bottom"><a href=
|
><TH
|
||||||
"introduction.html" accesskey="P">Prev</a></td>
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
><TR
|
||||||
"documentation.html" accesskey="N">Next</a></td>
|
><TD
|
||||||
</tr>
|
WIDTH="10%"
|
||||||
</table>
|
ALIGN="left"
|
||||||
<hr class="c1" width="100%">
|
VALIGN="bottom"
|
||||||
</div>
|
><A
|
||||||
|
HREF="introduction.html"
|
||||||
<div class="SECT1">
|
ACCESSKEY="P"
|
||||||
<h1 class="SECT1"><a name="CVS" id="CVS">2. The CVS Repository</a></h1>
|
>Prev</A
|
||||||
|
></TD
|
||||||
<p>If you become part of the active development team, you will eventually
|
><TD
|
||||||
need write access to our holy grail, the CVS repository. One of the team
|
WIDTH="80%"
|
||||||
members will need to set this up for you. Please read this chapter
|
ALIGN="center"
|
||||||
completely before accessing via CVS.</p>
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
<div class="SECT2">
|
><TD
|
||||||
<h2 class="SECT2"><a name="CVSACCESS" id="CVSACCESS">2.1. Access to
|
WIDTH="10%"
|
||||||
CVS</a></h2>
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>The project's CVS repository is hosted on <a href=
|
><A
|
||||||
"http://sourceforge.net/" target="_top">SourceForge.</a> Please refer
|
HREF="documentation.html"
|
||||||
to the chapters 6 and 7 in <a href=
|
ACCESSKEY="N"
|
||||||
"http://sourceforge.net/docman/?group_id=1" target="_top">SF's site
|
>Next</A
|
||||||
documentation</a> for the technical access details for your operating
|
></TD
|
||||||
system. For historical reasons, the CVS server is called <tt class=
|
></TR
|
||||||
"LITERAL">ijbswa.cvs.sourceforge.net</tt>, the repository is called
|
></TABLE
|
||||||
<tt class="LITERAL">ijbswa</tt>, and the source tree module is called
|
><HR
|
||||||
<tt class="LITERAL">current</tt>.</p>
|
ALIGN="LEFT"
|
||||||
</div>
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
<div class="SECT2">
|
CLASS="SECT1"
|
||||||
<h2 class="SECT2"><a name="CVSBRANCHES" id="CVSBRANCHES">2.2.
|
><H1
|
||||||
Branches</a></h2>
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
<p>Within the CVS repository, there are modules and branches. As
|
NAME="CVS"
|
||||||
mentioned, the sources are in the <tt class="LITERAL">current</tt>
|
>2. The CVS Repository</A
|
||||||
<span class="QUOTE">"module"</span>. Other modules are present for
|
></H1
|
||||||
platform specific issues. There is a webview of the CVS hierarchy at
|
><P
|
||||||
<a href="http://ijbswa.cvs.sourceforge.net/ijbswa/" target=
|
> If you become part of the active development team, you will eventually
|
||||||
"_top">http://ijbswa.cvs.sourceforge.net/ijbswa/</a>, which might help
|
need write access to our holy grail, the CVS repository. One of the
|
||||||
with visualizing how these pieces fit together.</p>
|
team members will need to set this up for you. Please read
|
||||||
|
this chapter completely before accessing via CVS.
|
||||||
<p>Branches are used to fork a sub-development path from the main
|
</P
|
||||||
trunk. Within the <tt class="LITERAL">current</tt> module where the
|
><DIV
|
||||||
sources are, there is always at least one <span class=
|
CLASS="SECT2"
|
||||||
"QUOTE">"branch"</span> from the main trunk devoted to a stable release
|
><H2
|
||||||
series. The main trunk is where active development takes place for the
|
CLASS="SECT2"
|
||||||
next stable series (e.g. 3.2.x). So just prior to each stable series
|
><A
|
||||||
(e.g. 3.0.x), a branch is created just for stable series releases (e.g.
|
NAME="CVSACCESS"
|
||||||
3.0.0 -> 3.0.1 -> 3.0.2, etc). Once the initial stable release of
|
>2.1. Access to CVS</A
|
||||||
any stable branch has taken place, this branch is <span class=
|
></H2
|
||||||
"emphasis EMPHASIS c2">only used for bugfixes</span>, which have had
|
><P
|
||||||
prior testing before being committed to CVS. (See <a href=
|
> The project's CVS repository is hosted on
|
||||||
"newrelease.html#VERSIONNUMBERS">Version Numbers</a> below for details
|
<A
|
||||||
on versioning.)</p>
|
HREF="http://sourceforge.net/"
|
||||||
|
TARGET="_top"
|
||||||
<p>At one time there were two distinct branches: stable and unstable.
|
>SourceForge.</A
|
||||||
The more drastic changes were to be in the unstable branch. These
|
>
|
||||||
branches have now been merged to minimize time and effort of
|
Please refer to the chapters 6 and 7 in
|
||||||
maintaining two branches.</p>
|
<A
|
||||||
</div>
|
HREF="http://sourceforge.net/docman/?group_id=1"
|
||||||
|
TARGET="_top"
|
||||||
<div class="SECT2">
|
>SF's site
|
||||||
<h2 class="SECT2"><a name="CVSCOMMIT" id="CVSCOMMIT">2.3. CVS Commit
|
documentation</A
|
||||||
Guidelines</a></h2>
|
> for the technical access details for your
|
||||||
|
operating system. For historical reasons, the CVS server is
|
||||||
<p>The source tree is the heart of every software project. Every effort
|
called <TT
|
||||||
must be made to ensure that it is readable, compilable and consistent
|
CLASS="LITERAL"
|
||||||
at all times. There are differing guidelines for the stable branch and
|
>ijbswa.cvs.sourceforge.net</TT
|
||||||
the main development trunk, and we ask anyone with CVS access to
|
>, the repository is
|
||||||
strictly adhere to the following guidelines:</p>
|
called <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
<p>Basic Guidelines, for all branches:</p>
|
>ijbswa</TT
|
||||||
|
>, and the source tree module is called
|
||||||
<ul>
|
<TT
|
||||||
<li>
|
CLASS="LITERAL"
|
||||||
<p>Please don't commit even a small change without testing it
|
>current</TT
|
||||||
thoroughly first. When we're close to a public release, ask a
|
>.
|
||||||
fellow developer to review your changes.</p>
|
</P
|
||||||
</li>
|
></DIV
|
||||||
|
><DIV
|
||||||
<li>
|
CLASS="SECT2"
|
||||||
<p>Your commit message should give a concise overview of
|
><H2
|
||||||
<span class="emphasis EMPHASIS c2">what you changed</span> (no big
|
CLASS="SECT2"
|
||||||
details) and <span class="emphasis EMPHASIS c2">why you changed
|
><A
|
||||||
it</span> Just check previous messages for good examples.</p>
|
NAME="CVSBRANCHES"
|
||||||
</li>
|
>2.2. Branches</A
|
||||||
|
></H2
|
||||||
<li>
|
><P
|
||||||
<p>Don't use the same message on multiple files, unless it equally
|
> Within the CVS repository, there are modules and branches. As
|
||||||
applies to all those files.</p>
|
mentioned, the sources are in the <TT
|
||||||
</li>
|
CLASS="LITERAL"
|
||||||
|
>current</TT
|
||||||
<li>
|
>
|
||||||
<p>If your changes span multiple files, and the code won't
|
<SPAN
|
||||||
recompile unless all changes are committed (e.g. when changing the
|
CLASS="QUOTE"
|
||||||
signature of a function), then commit all files one after another,
|
>"module"</SPAN
|
||||||
without long delays in between. If necessary, prepare the commit
|
>. Other modules are present for platform specific
|
||||||
messages in advance.</p>
|
issues. There is a webview of the CVS hierarchy at <A
|
||||||
</li>
|
HREF="http://ijbswa.cvs.sourceforge.net/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
<li>
|
>http://ijbswa.cvs.sourceforge.net/ijbswa/</A
|
||||||
<p>Before changing things on CVS, make sure that your changes are
|
>,
|
||||||
in line with the team's general consensus on what should be
|
which might help with visualizing how these pieces fit together.
|
||||||
done.</p>
|
</P
|
||||||
</li>
|
><P
|
||||||
|
> Branches are used to fork a sub-development path from the main trunk.
|
||||||
<li>
|
Within the <TT
|
||||||
<p>Note that near a major public release, we get more cautious.
|
CLASS="LITERAL"
|
||||||
There is always the possibility to submit a patch to the <a href=
|
>current</TT
|
||||||
"http://sourceforge.net/tracker/?atid=311118&group_id=11118&func=browse"
|
> module where the sources are, there
|
||||||
target="_top">patch tracker</a> instead.</p>
|
is always at least one <SPAN
|
||||||
</li>
|
CLASS="QUOTE"
|
||||||
</ul>
|
>"branch"</SPAN
|
||||||
</div>
|
> from the main trunk
|
||||||
</div>
|
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).
|
||||||
<div class="NAVFOOTER">
|
So just prior to each stable series (e.g. 3.0.x), a branch is created
|
||||||
<hr class="c1" width="100%">
|
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,
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
this branch is <SPAN
|
||||||
cellpadding="0" cellspacing="0">
|
CLASS="emphasis"
|
||||||
<tr>
|
><I
|
||||||
<td width="33%" align="left" valign="top"><a href="introduction.html"
|
CLASS="EMPHASIS"
|
||||||
accesskey="P">Prev</a></td>
|
>only used for bugfixes</I
|
||||||
|
></SPAN
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
>, which have
|
||||||
accesskey="H">Home</a></td>
|
had prior testing before being committed to CVS. (See <A
|
||||||
|
HREF="newrelease.html#VERSIONNUMBERS"
|
||||||
<td width="33%" align="right" valign="top"><a href=
|
>Version Numbers</A
|
||||||
"documentation.html" accesskey="N">Next</a></td>
|
> below for details on
|
||||||
</tr>
|
versioning.)
|
||||||
|
</P
|
||||||
<tr>
|
><P
|
||||||
<td width="33%" align="left" valign="top">Introduction</td>
|
> At one time there were two distinct branches: stable and unstable. The
|
||||||
|
more drastic changes were to be in the unstable branch. These branches
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
have now been merged to minimize time and effort of maintaining two
|
||||||
|
branches.
|
||||||
<td width="33%" align="right" valign="top">Documentation
|
</P
|
||||||
Guidelines</td>
|
></DIV
|
||||||
</tr>
|
><DIV
|
||||||
</table>
|
CLASS="SECT2"
|
||||||
</div>
|
><H2
|
||||||
</body>
|
CLASS="SECT2"
|
||||||
</html>
|
><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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Introduction</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Introduction</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy Developer Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Privoxy Developer Manual" href="index.html">
|
TITLE="Privoxy Developer Manual"
|
||||||
<link rel="NEXT" title="The CVS Repository" href="cvs.html">
|
HREF="index.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
REL="NEXT"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
TITLE="The CVS Repository"
|
||||||
<style type="text/css">
|
HREF="cvs.html"><LINK
|
||||||
body {
|
REL="STYLESHEET"
|
||||||
background-color: #EEEEEE;
|
TYPE="text/css"
|
||||||
color: #000000;
|
HREF="../p_doc.css"><META
|
||||||
}
|
HTTP-EQUIV="Content-Type"
|
||||||
:link { color: #0000FF }
|
CONTENT="text/html;
|
||||||
:visited { color: #840084 }
|
charset=ISO-8859-1"></HEAD
|
||||||
:active { color: #0000FF }
|
><BODY
|
||||||
hr.c1 {text-align: left}
|
CLASS="SECT1"
|
||||||
</style>
|
BGCOLOR="#EEEEEE"
|
||||||
</head>
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
<body class="SECT1">
|
VLINK="#840084"
|
||||||
<div class="NAVHEADER">
|
ALINK="#0000FF"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><DIV
|
||||||
cellpadding="0" cellspacing="0">
|
CLASS="NAVHEADER"
|
||||||
<tr>
|
><TABLE
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
SUMMARY="Header navigation table"
|
||||||
</tr>
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
<tr>
|
CELLPADDING="0"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="index.html"
|
CELLSPACING="0"
|
||||||
accesskey="P">Prev</a></td>
|
><TR
|
||||||
|
><TH
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
<td width="10%" align="right" valign="bottom"><a href="cvs.html"
|
>Privoxy Developer Manual</TH
|
||||||
accesskey="N">Next</a></td>
|
></TR
|
||||||
</tr>
|
><TR
|
||||||
</table>
|
><TD
|
||||||
<hr class="c1" width="100%">
|
WIDTH="10%"
|
||||||
</div>
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
<div class="SECT1">
|
><A
|
||||||
<h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
|
HREF="index.html"
|
||||||
Introduction</a></h1>
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
<p><span class="APPLICATION">Privoxy</span>, as an heir to <span class=
|
></TD
|
||||||
"APPLICATION">Junkbuster</span>, is a Free Software project and the code
|
><TD
|
||||||
is licensed under the GNU General Public License version 2. As such,
|
WIDTH="80%"
|
||||||
<span class="APPLICATION">Privoxy</span> development is potentially open
|
ALIGN="center"
|
||||||
to anyone who has the time, knowledge, and desire to contribute in any
|
VALIGN="bottom"
|
||||||
capacity. Our goals are simply to continue the mission, to improve
|
></TD
|
||||||
<span class="APPLICATION">Privoxy</span>, and to make it available to as
|
><TD
|
||||||
wide an audience as possible.</p>
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
<p>One does not have to be a programmer to contribute. Packaging,
|
VALIGN="bottom"
|
||||||
testing, documenting and porting, are all important jobs as well.</p>
|
><A
|
||||||
|
HREF="cvs.html"
|
||||||
<div class="SECT2">
|
ACCESSKEY="N"
|
||||||
<h2 class="SECT2"><a name="QUICKSTART" id="QUICKSTART">1.1. Quickstart
|
>Next</A
|
||||||
to Privoxy Development</a></h2>
|
></TD
|
||||||
|
></TR
|
||||||
<p>The first step is to join the <a href=
|
></TABLE
|
||||||
"mailto:ijbswa-developers@lists.sourceforge.net" target=
|
><HR
|
||||||
"_top">developer's mailing list</a>. You can submit your ideas, or even
|
ALIGN="LEFT"
|
||||||
better patches. Patches are best submitted to the Sourceforge tracker
|
WIDTH="100%"></DIV
|
||||||
set up for this purpose, but can be sent to the list for review
|
><DIV
|
||||||
too.</p>
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
<p>You will also need to have a cvs package installed, which will
|
CLASS="SECT1"
|
||||||
entail having ssh installed as well (which seems to be a requirement of
|
><A
|
||||||
SourceForge), in order to access the cvs repository. Having the GNU
|
NAME="INTRODUCTION"
|
||||||
build tools is also going to be important (particularly, autoconf and
|
>1. Introduction</A
|
||||||
gmake).</p>
|
></H1
|
||||||
|
><P
|
||||||
<p>For the time being (read, this section is under construction), you
|
> <SPAN
|
||||||
can also refer to the extensive comments in the source code. In fact,
|
CLASS="APPLICATION"
|
||||||
reading the code is recommended in any case.</p>
|
>Privoxy</SPAN
|
||||||
</div>
|
>, as an heir to
|
||||||
</div>
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<div class="NAVFOOTER">
|
>Junkbuster</SPAN
|
||||||
<hr class="c1" width="100%">
|
>, is a Free Software project
|
||||||
|
and the code is licensed under the GNU General Public License version 2.
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
As such, <SPAN
|
||||||
cellpadding="0" cellspacing="0">
|
CLASS="APPLICATION"
|
||||||
<tr>
|
>Privoxy</SPAN
|
||||||
<td width="33%" align="left" valign="top"><a href="index.html"
|
> development is potentially open
|
||||||
accesskey="P">Prev</a></td>
|
to anyone who has the time, knowledge, and desire to contribute
|
||||||
|
in any capacity. Our goals are simply to continue the mission,
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
to improve <SPAN
|
||||||
accesskey="H">Home</a></td>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<td width="33%" align="right" valign="top"><a href="cvs.html"
|
>, and
|
||||||
accesskey="N">Next</a></td>
|
to make it available to as wide an audience as possible.
|
||||||
</tr>
|
</P
|
||||||
|
><P
|
||||||
<tr>
|
> One does not have to be a programmer to contribute. Packaging, testing,
|
||||||
<td width="33%" align="left" valign="top">Privoxy Developer
|
documenting and porting, are all important jobs as well.
|
||||||
Manual</td>
|
</P
|
||||||
|
><DIV
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
<td width="33%" align="right" valign="top">The CVS Repository</td>
|
CLASS="SECT2"
|
||||||
</tr>
|
><A
|
||||||
</table>
|
NAME="QUICKSTART"
|
||||||
</div>
|
>1.1. Quickstart to Privoxy Development</A
|
||||||
</body>
|
></H2
|
||||||
</html>
|
><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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"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>
|
<P
|
||||||
<meta name="GENERATOR" content=
|
></P
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
><TABLE
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
BORDER="0"
|
||||||
<link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
|
><TBODY
|
||||||
"copyright.html">
|
><TR
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
><TD
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
> <A
|
||||||
<style type="text/css">
|
HREF="http://www.junkbusters.com/ht/en/cookies.html"
|
||||||
body {
|
TARGET="_top"
|
||||||
background-color: #EEEEEE;
|
>http://www.junkbusters.com/ht/en/cookies.html</A
|
||||||
color: #000000;
|
>,
|
||||||
}
|
an explanation how cookies are used to track web users.
|
||||||
:link { color: #0000FF }
|
</TD
|
||||||
:visited { color: #840084 }
|
></TR
|
||||||
:active { color: #0000FF }
|
></TBODY
|
||||||
hr.c1 {text-align: left}
|
></TABLE
|
||||||
</style>
|
><P
|
||||||
</head>
|
></P
|
||||||
|
>
|
||||||
<body class="SECT1">
|
<P
|
||||||
<div class="NAVHEADER">
|
></P
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><TABLE
|
||||||
cellpadding="0" cellspacing="0">
|
BORDER="0"
|
||||||
<tr>
|
><TBODY
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
><TR
|
||||||
</tr>
|
><TD
|
||||||
|
> <A
|
||||||
<tr>
|
HREF="http://www.junkbusters.com/ijb.html"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="copyright.html"
|
TARGET="_top"
|
||||||
accesskey="P">Prev</a></td>
|
>http://www.junkbusters.com/ijb.html</A
|
||||||
|
>,
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
the original Internet Junkbuster.
|
||||||
|
</TD
|
||||||
<td width="10%" align="right" valign="bottom"> </td>
|
></TR
|
||||||
</tr>
|
></TBODY
|
||||||
</table>
|
></TABLE
|
||||||
<hr class="c1" width="100%">
|
><P
|
||||||
</div>
|
></P
|
||||||
|
>
|
||||||
<div class="SECT1">
|
<P
|
||||||
<h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">10. See also</a></h1>
|
></P
|
||||||
|
><TABLE
|
||||||
<p>Other references and sites of interest to <span class=
|
BORDER="0"
|
||||||
"APPLICATION">Privoxy</span> users:</p>
|
><TBODY
|
||||||
|
><TR
|
||||||
<table border="0">
|
><TD
|
||||||
<tbody>
|
> <A
|
||||||
<tr>
|
HREF="http://www.squid-cache.org/"
|
||||||
<td><a href="http://www.privoxy.org/" target=
|
TARGET="_top"
|
||||||
"_top">http://www.privoxy.org/</a>, the <span class=
|
>http://www.squid-cache.org/</A
|
||||||
"APPLICATION">Privoxy</span> Home page.</td>
|
>, a popular
|
||||||
</tr>
|
caching proxy, which is often used together with <SPAN
|
||||||
</tbody>
|
CLASS="APPLICATION"
|
||||||
</table>
|
>Privoxy</SPAN
|
||||||
|
>.
|
||||||
<table border="0">
|
</TD
|
||||||
<tbody>
|
></TR
|
||||||
<tr>
|
></TBODY
|
||||||
<td><a href="http://www.privoxy.org/faq/" target=
|
></TABLE
|
||||||
"_top">http://www.privoxy.org/faq/</a>, the <span class=
|
><P
|
||||||
"APPLICATION">Privoxy</span> FAQ.</td>
|
></P
|
||||||
</tr>
|
>
|
||||||
</tbody>
|
<P
|
||||||
</table>
|
></P
|
||||||
|
><TABLE
|
||||||
<table border="0">
|
BORDER="0"
|
||||||
<tbody>
|
><TBODY
|
||||||
<tr>
|
><TR
|
||||||
<td><a href="http://www.privoxy.org/developer-manual/" target=
|
><TD
|
||||||
"_top">http://www.privoxy.org/developer-manual/</a>, the
|
> <A
|
||||||
<span class="APPLICATION">Privoxy</span> developer manual.</td>
|
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
|
||||||
</tr>
|
TARGET="_top"
|
||||||
</tbody>
|
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
|
||||||
</table>
|
>,
|
||||||
|
<SPAN
|
||||||
<table border="0">
|
CLASS="APPLICATION"
|
||||||
<tbody>
|
>Polipo</SPAN
|
||||||
<tr>
|
> is a caching proxy with advanced features
|
||||||
<td><a href="https://sourceforge.net/projects/ijbswa/" target=
|
like pipelining, multiplexing and caching of partial instances. In many setups
|
||||||
"_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
|
it can be used as <SPAN
|
||||||
Page for <span class="APPLICATION">Privoxy</span> on <a href=
|
CLASS="APPLICATION"
|
||||||
"http://sourceforge.net" target="_top">SourceForge</a>.</td>
|
>Squid</SPAN
|
||||||
</tr>
|
> replacement.
|
||||||
</tbody>
|
</TD
|
||||||
</table>
|
></TR
|
||||||
|
></TBODY
|
||||||
<table border="0">
|
></TABLE
|
||||||
<tbody>
|
><P
|
||||||
<tr>
|
></P
|
||||||
<td><a href="http://config.privoxy.org/" target=
|
>
|
||||||
"_top">http://config.privoxy.org/</a>, the web-based user
|
<P
|
||||||
interface. <span class="APPLICATION">Privoxy</span> must be running
|
></P
|
||||||
for this to work. Shortcut: <a href="http://p.p/" target=
|
><TABLE
|
||||||
"_top">http://p.p/</a></td>
|
BORDER="0"
|
||||||
</tr>
|
><TBODY
|
||||||
</tbody>
|
><TR
|
||||||
</table>
|
><TD
|
||||||
|
> <A
|
||||||
<table border="0">
|
HREF="https://www.torproject.org/"
|
||||||
<tbody>
|
TARGET="_top"
|
||||||
<tr>
|
>https://www.torproject.org/</A
|
||||||
<td><a href=
|
>,
|
||||||
"https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
<SPAN
|
||||||
target=
|
CLASS="APPLICATION"
|
||||||
"_top">https://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
>Tor</SPAN
|
||||||
to submit <span class="QUOTE">"misses"</span> and other
|
> can help anonymize web browsing,
|
||||||
configuration related suggestions to the developers.</td>
|
web publishing, instant messaging, IRC, SSH, and other applications.
|
||||||
</tr>
|
</TD
|
||||||
</tbody>
|
></TR
|
||||||
</table>
|
></TBODY
|
||||||
|
></TABLE
|
||||||
<table border="0">
|
><P
|
||||||
<tbody>
|
></P
|
||||||
<tr>
|
>
|
||||||
<td><a href="http://www.junkbusters.com/ht/en/cookies.html" target=
|
</P
|
||||||
"_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
|
></DIV
|
||||||
explanation how cookies are used to track web users.</td>
|
><DIV
|
||||||
</tr>
|
CLASS="NAVFOOTER"
|
||||||
</tbody>
|
><HR
|
||||||
</table>
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
<table border="0">
|
SUMMARY="Footer navigation table"
|
||||||
<tbody>
|
WIDTH="100%"
|
||||||
<tr>
|
BORDER="0"
|
||||||
<td><a href="http://www.junkbusters.com/ijb.html" target=
|
CELLPADDING="0"
|
||||||
"_top">http://www.junkbusters.com/ijb.html</a>, the original
|
CELLSPACING="0"
|
||||||
Internet Junkbuster.</td>
|
><TR
|
||||||
</tr>
|
><TD
|
||||||
</tbody>
|
WIDTH="33%"
|
||||||
</table>
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
<table border="0">
|
><A
|
||||||
<tbody>
|
HREF="copyright.html"
|
||||||
<tr>
|
ACCESSKEY="P"
|
||||||
<td><a href="http://www.squid-cache.org/" target=
|
>Prev</A
|
||||||
"_top">http://www.squid-cache.org/</a>, a popular caching proxy,
|
></TD
|
||||||
which is often used together with <span class=
|
><TD
|
||||||
"APPLICATION">Privoxy</span>.</td>
|
WIDTH="34%"
|
||||||
</tr>
|
ALIGN="center"
|
||||||
</tbody>
|
VALIGN="top"
|
||||||
</table>
|
><A
|
||||||
|
HREF="index.html"
|
||||||
<table border="0">
|
ACCESSKEY="H"
|
||||||
<tbody>
|
>Home</A
|
||||||
<tr>
|
></TD
|
||||||
<td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
|
><TD
|
||||||
target="_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
|
WIDTH="33%"
|
||||||
<span class="APPLICATION">Polipo</span> is a caching proxy with
|
ALIGN="right"
|
||||||
advanced features like pipelining, multiplexing and caching of
|
VALIGN="top"
|
||||||
partial instances. In many setups it can be used as <span class=
|
> </TD
|
||||||
"APPLICATION">Squid</span> replacement.</td>
|
></TR
|
||||||
</tr>
|
><TR
|
||||||
</tbody>
|
><TD
|
||||||
</table>
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
<table border="0">
|
VALIGN="top"
|
||||||
<tbody>
|
>Privoxy Copyright, License and History</TD
|
||||||
<tr>
|
><TD
|
||||||
<td><a href="https://www.torproject.org/" target=
|
WIDTH="34%"
|
||||||
"_top">https://www.torproject.org/</a>, <span class=
|
ALIGN="center"
|
||||||
"APPLICATION">Tor</span> can help anonymize web browsing, web
|
VALIGN="top"
|
||||||
publishing, instant messaging, IRC, SSH, and other
|
> </TD
|
||||||
applications.</td>
|
><TD
|
||||||
</tr>
|
WIDTH="33%"
|
||||||
</tbody>
|
ALIGN="right"
|
||||||
</table>
|
VALIGN="top"
|
||||||
</div>
|
> </TD
|
||||||
|
></TR
|
||||||
<div class="NAVFOOTER">
|
></TABLE
|
||||||
<hr class="c1" width="100%">
|
></DIV
|
||||||
|
></BODY
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
></HTML
|
||||||
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"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>
|
<P
|
||||||
<head>
|
></P
|
||||||
<meta name="generator" content=
|
><OL
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
TYPE="1"
|
||||||
|
><LI
|
||||||
<title>Testing Guidelines</title>
|
><P
|
||||||
<meta name="GENERATOR" content=
|
>Remove any existing rpm with rpm -e</P
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
></LI
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
><LI
|
||||||
<link rel="PREVIOUS" title="Coding Guidelines" href="coding.html">
|
><P
|
||||||
<link rel="NEXT" title="Releasing a New Version" href="newrelease.html">
|
>Remove any file that was left over. This includes (but is not limited to)
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
<P
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
></P
|
||||||
<style type="text/css">
|
><UL
|
||||||
body {
|
><LI
|
||||||
background-color: #EEEEEE;
|
><P
|
||||||
color: #000000;
|
>/var/log/privoxy</P
|
||||||
}
|
></LI
|
||||||
:link { color: #0000FF }
|
><LI
|
||||||
:visited { color: #840084 }
|
><P
|
||||||
:active { color: #0000FF }
|
>/etc/privoxy</P
|
||||||
hr.c1 {text-align: left}
|
></LI
|
||||||
</style>
|
><LI
|
||||||
</head>
|
><P
|
||||||
|
>/usr/sbin/privoxy</P
|
||||||
<body class="SECT1">
|
></LI
|
||||||
<div class="NAVHEADER">
|
><LI
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><P
|
||||||
cellpadding="0" cellspacing="0">
|
>/etc/init.d/privoxy</P
|
||||||
<tr>
|
></LI
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
><LI
|
||||||
</tr>
|
><P
|
||||||
|
>/usr/doc/privoxy*</P
|
||||||
<tr>
|
></LI
|
||||||
<td width="10%" align="left" valign="bottom"><a href="coding.html"
|
></UL
|
||||||
accesskey="P">Prev</a></td>
|
></P
|
||||||
|
></LI
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
><LI
|
||||||
|
><P
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
>Install the rpm. Any error messages?</P
|
||||||
"newrelease.html" accesskey="N">Next</a></td>
|
></LI
|
||||||
</tr>
|
><LI
|
||||||
</table>
|
><P
|
||||||
<hr class="c1" width="100%">
|
>start,stop,status <SPAN
|
||||||
</div>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<div class="SECT1">
|
> with the specific script
|
||||||
<h1 class="SECT1"><a name="TESTING" id="TESTING">5. Testing
|
(e.g. /etc/rc.d/init/privoxy stop). Reboot your machine. Does
|
||||||
Guidelines</a></h1>
|
autostart work?</P
|
||||||
|
></LI
|
||||||
<p>To be filled.</p>
|
><LI
|
||||||
|
><P
|
||||||
<div class="SECT2">
|
>Start browsing. Does <SPAN
|
||||||
<h2 class="SECT2"><a name="TESTING-PLAN" id="TESTING-PLAN">5.1.
|
CLASS="APPLICATION"
|
||||||
Testplan for releases</a></h2>
|
>Privoxy</SPAN
|
||||||
|
> work? Logfile written?</P
|
||||||
<p>Explain release numbers. major, minor. developer releases. etc.</p>
|
></LI
|
||||||
|
><LI
|
||||||
<ol type="1">
|
><P
|
||||||
<li>
|
>Remove the rpm. Any error messages? All files removed?</P
|
||||||
<p>Remove any existing rpm with rpm -e</p>
|
></LI
|
||||||
</li>
|
></OL
|
||||||
|
></P
|
||||||
<li>
|
></DIV
|
||||||
<p>Remove any file that was left over. This includes (but is not
|
><DIV
|
||||||
limited to)</p>
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
<ul>
|
CLASS="SECT2"
|
||||||
<li>
|
><A
|
||||||
<p>/var/log/privoxy</p>
|
NAME="TESTING-REPORT"
|
||||||
</li>
|
>5.2. Test reports</A
|
||||||
|
></H2
|
||||||
<li>
|
><P
|
||||||
<p>/etc/privoxy</p>
|
>Please submit test reports only with the <A
|
||||||
</li>
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=395005"
|
||||||
|
TARGET="_top"
|
||||||
<li>
|
>test form</A
|
||||||
<p>/usr/sbin/privoxy</p>
|
>
|
||||||
</li>
|
at sourceforge. Three simple steps:
|
||||||
|
<P
|
||||||
<li>
|
></P
|
||||||
<p>/etc/init.d/privoxy</p>
|
><UL
|
||||||
</li>
|
><LI
|
||||||
|
><P
|
||||||
<li>
|
>Select category: the distribution you test on.</P
|
||||||
<p>/usr/doc/privoxy*</p>
|
></LI
|
||||||
</li>
|
><LI
|
||||||
</ul>
|
><P
|
||||||
</li>
|
>Select group: the version of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<li>
|
>Privoxy</SPAN
|
||||||
<p>Install the rpm. Any error messages?</p>
|
> that we are about to release.</P
|
||||||
</li>
|
></LI
|
||||||
|
><LI
|
||||||
<li>
|
><P
|
||||||
<p>start,stop,status <span class="APPLICATION">Privoxy</span> with
|
>Fill the Summary and Detailed Description with something
|
||||||
the specific script (e.g. /etc/rc.d/init/privoxy stop). Reboot your
|
intelligent (keep it short and precise).</P
|
||||||
machine. Does autostart work?</p>
|
></LI
|
||||||
</li>
|
></UL
|
||||||
|
>
|
||||||
<li>
|
Do not mail to the mailing list (we cannot keep track on issues there).
|
||||||
<p>Start browsing. Does <span class="APPLICATION">Privoxy</span>
|
</P
|
||||||
work? Logfile written?</p>
|
></DIV
|
||||||
</li>
|
></DIV
|
||||||
|
><DIV
|
||||||
<li>
|
CLASS="NAVFOOTER"
|
||||||
<p>Remove the rpm. Any error messages? All files removed?</p>
|
><HR
|
||||||
</li>
|
ALIGN="LEFT"
|
||||||
</ol>
|
WIDTH="100%"><TABLE
|
||||||
</div>
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
<div class="SECT2">
|
BORDER="0"
|
||||||
<h2 class="SECT2"><a name="TESTING-REPORT" id="TESTING-REPORT">5.2.
|
CELLPADDING="0"
|
||||||
Test reports</a></h2>
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
<p>Please submit test reports only with the <a href=
|
><TD
|
||||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=395005"
|
WIDTH="33%"
|
||||||
target="_top">test form</a> at sourceforge. Three simple steps:</p>
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
<ul>
|
><A
|
||||||
<li>
|
HREF="coding.html"
|
||||||
<p>Select category: the distribution you test on.</p>
|
ACCESSKEY="P"
|
||||||
</li>
|
>Prev</A
|
||||||
|
></TD
|
||||||
<li>
|
><TD
|
||||||
<p>Select group: the version of <span class=
|
WIDTH="34%"
|
||||||
"APPLICATION">Privoxy</span> that we are about to release.</p>
|
ALIGN="center"
|
||||||
</li>
|
VALIGN="top"
|
||||||
|
><A
|
||||||
<li>
|
HREF="index.html"
|
||||||
<p>Fill the Summary and Detailed Description with something
|
ACCESSKEY="H"
|
||||||
intelligent (keep it short and precise).</p>
|
>Home</A
|
||||||
</li>
|
></TD
|
||||||
</ul>Do not mail to the mailing list (we cannot keep track on issues
|
><TD
|
||||||
there).
|
WIDTH="33%"
|
||||||
</div>
|
ALIGN="right"
|
||||||
</div>
|
VALIGN="top"
|
||||||
|
><A
|
||||||
<div class="NAVFOOTER">
|
HREF="newrelease.html"
|
||||||
<hr class="c1" width="100%">
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
></TD
|
||||||
cellpadding="0" cellspacing="0">
|
></TR
|
||||||
<tr>
|
><TR
|
||||||
<td width="33%" align="left" valign="top"><a href="coding.html"
|
><TD
|
||||||
accesskey="P">Prev</a></td>
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
VALIGN="top"
|
||||||
accesskey="H">Home</a></td>
|
>Coding Guidelines</TD
|
||||||
|
><TD
|
||||||
<td width="33%" align="right" valign="top"><a href="newrelease.html"
|
WIDTH="34%"
|
||||||
accesskey="N">Next</a></td>
|
ALIGN="center"
|
||||||
</tr>
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
<tr>
|
><TD
|
||||||
<td width="33%" align="left" valign="top">Coding Guidelines</td>
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
VALIGN="top"
|
||||||
|
>Releasing a New Version</TD
|
||||||
<td width="33%" align="right" valign="top">Releasing a New
|
></TR
|
||||||
Version</td>
|
></TABLE
|
||||||
</tr>
|
></DIV
|
||||||
</table>
|
></BODY
|
||||||
</div>
|
></HTML
|
||||||
</body>
|
>
|
||||||
</html>
|
|
|
@ -1,147 +1,260 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Update the Webserver</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Update the Webserver</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy Developer Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy Developer Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Releasing a New Version" href=
|
TITLE="Releasing a New Version"
|
||||||
"newrelease.html">
|
HREF="newrelease.html"><LINK
|
||||||
<link rel="NEXT" title=
|
REL="NEXT"
|
||||||
"Contacting the developers, Bug Reporting and Feature Requests" href=
|
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||||
"contact.html">
|
HREF="contact.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
REL="STYLESHEET"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
TYPE="text/css"
|
||||||
<style type="text/css">
|
HREF="../p_doc.css"><META
|
||||||
body {
|
HTTP-EQUIV="Content-Type"
|
||||||
background-color: #EEEEEE;
|
CONTENT="text/html;
|
||||||
color: #000000;
|
charset=ISO-8859-1"></HEAD
|
||||||
}
|
><BODY
|
||||||
:link { color: #0000FF }
|
CLASS="SECT1"
|
||||||
:visited { color: #840084 }
|
BGCOLOR="#EEEEEE"
|
||||||
:active { color: #0000FF }
|
TEXT="#000000"
|
||||||
span.c3 {font-style: italic}
|
LINK="#0000FF"
|
||||||
table.c2 {background-color: #E0E0E0}
|
VLINK="#840084"
|
||||||
hr.c1 {text-align: left}
|
ALINK="#0000FF"
|
||||||
</style>
|
><DIV
|
||||||
</head>
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
<body class="SECT1">
|
SUMMARY="Header navigation table"
|
||||||
<div class="NAVHEADER">
|
WIDTH="100%"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
BORDER="0"
|
||||||
cellpadding="0" cellspacing="0">
|
CELLPADDING="0"
|
||||||
<tr>
|
CELLSPACING="0"
|
||||||
<th colspan="3" align="center">Privoxy Developer Manual</th>
|
><TR
|
||||||
</tr>
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
<tr>
|
ALIGN="center"
|
||||||
<td width="10%" align="left" valign="bottom"><a href=
|
>Privoxy Developer Manual</TH
|
||||||
"newrelease.html" accesskey="P">Prev</a></td>
|
></TR
|
||||||
|
><TR
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
<td width="10%" align="right" valign="bottom"><a href="contact.html"
|
ALIGN="left"
|
||||||
accesskey="N">Next</a></td>
|
VALIGN="bottom"
|
||||||
</tr>
|
><A
|
||||||
</table>
|
HREF="newrelease.html"
|
||||||
<hr class="c1" width="100%">
|
ACCESSKEY="P"
|
||||||
</div>
|
>Prev</A
|
||||||
|
></TD
|
||||||
<div class="SECT1">
|
><TD
|
||||||
<h1 class="SECT1"><a name="WEBSERVER-UPDATE" id="WEBSERVER-UPDATE">7.
|
WIDTH="80%"
|
||||||
Update the Webserver</a></h1>
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>The webserver should be updated at least with each stable release.
|
></TD
|
||||||
When updating, please follow these steps to make sure that no broken
|
><TD
|
||||||
links, inconsistent contents or permission problems will occur (as it has
|
WIDTH="10%"
|
||||||
many times in the past!):</p>
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>If you have changed anything in the stable-branch documentation source
|
><A
|
||||||
SGML files, do:</p>
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
<table class="c2" border="0" width="100%">
|
>Next</A
|
||||||
<tr>
|
></TD
|
||||||
<td>
|
></TR
|
||||||
<pre class="PROGRAMLISTING">
|
></TABLE
|
||||||
make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)
|
><HR
|
||||||
</pre>
|
ALIGN="LEFT"
|
||||||
</td>
|
WIDTH="100%"></DIV
|
||||||
</tr>
|
><DIV
|
||||||
</table>
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
<p>That will generate <tt class=
|
CLASS="SECT1"
|
||||||
"FILENAME">doc/webserver/user-manual</tt>, <tt class=
|
><A
|
||||||
"FILENAME">doc/webserver/developer-manual</tt>, <tt class=
|
NAME="WEBSERVER-UPDATE"
|
||||||
"FILENAME">doc/webserver/faq</tt>, <tt class=
|
>7. Update the Webserver</A
|
||||||
"FILENAME">doc/pdf/*.pdf</tt> and <tt class=
|
></H1
|
||||||
"FILENAME">doc/webserver/index.html</tt> automatically.</p>
|
><P
|
||||||
|
> The webserver should be updated at least with each stable release. When
|
||||||
<p>If you changed the manual page sources, generate <tt class=
|
updating, please follow these steps to make sure that no broken links,
|
||||||
"FILENAME">doc/webserver/man-page/privoxy-man-page.html</tt> by running
|
inconsistent contents or permission problems will occur (as it has many
|
||||||
<span class="QUOTE">"<b class="COMMAND">make man</b>"</span>. (This is a
|
times in the past!):
|
||||||
separate target due to dependencies on some obscure perl scripts [now in
|
</P
|
||||||
CVS, but not well tested]. See comments in <tt class=
|
><P
|
||||||
"FILENAME">GNUmakefile</tt>.)</p>
|
> If you have changed anything in the stable-branch documentation source
|
||||||
|
SGML files, do:
|
||||||
<p>If you want to add new files to the webserver, create them locally in
|
</P
|
||||||
the <tt class="FILENAME">doc/webserver/*</tt> directory (or create new
|
><P
|
||||||
directories under <tt class="FILENAME">doc/webserver</tt>).</p>
|
> <TABLE
|
||||||
|
BORDER="0"
|
||||||
<p>Next, commit any changes from the above steps to CVS. All set? If
|
BGCOLOR="#E0E0E0"
|
||||||
these are docs in the stable branch, then do:</p>
|
WIDTH="100%"
|
||||||
|
><TR
|
||||||
<table class="c2" border="0" width="100%">
|
><TD
|
||||||
<tr>
|
><PRE
|
||||||
<td>
|
CLASS="PROGRAMLISTING"
|
||||||
<pre class="PROGRAMLISTING">
|
> make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)</PRE
|
||||||
make webserver
|
></TD
|
||||||
</pre>
|
></TR
|
||||||
</td>
|
></TABLE
|
||||||
</tr>
|
>
|
||||||
</table>
|
</P
|
||||||
|
><P
|
||||||
<p>This will do the upload to <a href="http://www.privoxy.org/" target=
|
> That will generate <TT
|
||||||
"_top">the webserver</a> (www.privoxy.org) and ensure all files and
|
CLASS="FILENAME"
|
||||||
directories there are group writable.</p>
|
>doc/webserver/user-manual</TT
|
||||||
|
>,
|
||||||
<p>Please do <span class="emphasis EMPHASIS c3">NOT</span> use any other
|
<TT
|
||||||
means of transferring files to the webserver to avoid permission
|
CLASS="FILENAME"
|
||||||
problems. Also, please do not upload docs from development branches or
|
>doc/webserver/developer-manual</TT
|
||||||
versions. The publicly posted docs should be in sync with the last
|
>,
|
||||||
official release.</p>
|
<TT
|
||||||
</div>
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/faq</TT
|
||||||
<div class="NAVFOOTER">
|
>,
|
||||||
<hr class="c1" width="100%">
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
>doc/pdf/*.pdf</TT
|
||||||
cellpadding="0" cellspacing="0">
|
> and
|
||||||
<tr>
|
<TT
|
||||||
<td width="33%" align="left" valign="top"><a href="newrelease.html"
|
CLASS="FILENAME"
|
||||||
accesskey="P">Prev</a></td>
|
>doc/webserver/index.html</TT
|
||||||
|
> automatically.
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
</P
|
||||||
accesskey="H">Home</a></td>
|
><P
|
||||||
|
> If you changed the manual page sources, generate
|
||||||
<td width="33%" align="right" valign="top"><a href="contact.html"
|
<TT
|
||||||
accesskey="N">Next</a></td>
|
CLASS="FILENAME"
|
||||||
</tr>
|
>doc/webserver/man-page/privoxy-man-page.html</TT
|
||||||
|
>
|
||||||
<tr>
|
by running <SPAN
|
||||||
<td width="33%" align="left" valign="top">Releasing a New
|
CLASS="QUOTE"
|
||||||
Version</td>
|
>"<B
|
||||||
|
CLASS="COMMAND"
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
>make man</B
|
||||||
|
>"</SPAN
|
||||||
<td width="33%" align="right" valign="top">Contacting the developers,
|
>. (This is
|
||||||
Bug Reporting and Feature Requests</td>
|
a separate target due to dependencies on some obscure perl scripts
|
||||||
</tr>
|
[now in CVS, but not well tested]. See comments in <TT
|
||||||
</table>
|
CLASS="FILENAME"
|
||||||
</div>
|
>GNUmakefile</TT
|
||||||
</body>
|
>.)
|
||||||
</html>
|
</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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Contacting the developers, Bug Reporting and Feature
|
REL="HOME"
|
||||||
Requests</title>
|
TITLE="Privoxy Frequently Asked Questions"
|
||||||
<meta name="GENERATOR" content=
|
HREF="index.html"><LINK
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
REL="PREVIOUS"
|
||||||
<link rel="HOME" title="Privoxy Frequently Asked Questions" href=
|
TITLE="Troubleshooting"
|
||||||
"index.html">
|
HREF="trouble.html"><LINK
|
||||||
<link rel="PREVIOUS" title="Troubleshooting" href="trouble.html">
|
REL="NEXT"
|
||||||
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
|
TITLE="Privoxy Copyright, License and History"
|
||||||
"copyright.html">
|
HREF="copyright.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
REL="STYLESHEET"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
TYPE="text/css"
|
||||||
<style type="text/css">
|
HREF="../p_doc.css"><META
|
||||||
body {
|
HTTP-EQUIV="Content-Type"
|
||||||
background-color: #EEEEEE;
|
CONTENT="text/html;
|
||||||
color: #000000;
|
charset=ISO-8859-1"></HEAD
|
||||||
}
|
><BODY
|
||||||
:link { color: #0000FF }
|
CLASS="SECT1"
|
||||||
:visited { color: #840084 }
|
BGCOLOR="#EEEEEE"
|
||||||
:active { color: #0000FF }
|
TEXT="#000000"
|
||||||
span.c2 {font-style: italic}
|
LINK="#0000FF"
|
||||||
hr.c1 {text-align: left}
|
VLINK="#840084"
|
||||||
</style>
|
ALINK="#0000FF"
|
||||||
</head>
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
<body class="SECT1">
|
><TABLE
|
||||||
<div class="NAVHEADER">
|
SUMMARY="Header navigation table"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
WIDTH="100%"
|
||||||
cellpadding="0" cellspacing="0">
|
BORDER="0"
|
||||||
<tr>
|
CELLPADDING="0"
|
||||||
<th colspan="3" align="center">Privoxy Frequently Asked
|
CELLSPACING="0"
|
||||||
Questions</th>
|
><TR
|
||||||
</tr>
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
<tr>
|
ALIGN="center"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="trouble.html"
|
>Privoxy Frequently Asked Questions</TH
|
||||||
accesskey="P">Prev</a></td>
|
></TR
|
||||||
|
><TR
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
ALIGN="left"
|
||||||
"copyright.html" accesskey="N">Next</a></td>
|
VALIGN="bottom"
|
||||||
</tr>
|
><A
|
||||||
</table>
|
HREF="trouble.html"
|
||||||
<hr class="c1" width="100%">
|
ACCESSKEY="P"
|
||||||
</div>
|
>Prev</A
|
||||||
|
></TD
|
||||||
<div class="SECT1">
|
><TD
|
||||||
<h1 class="SECT1"><a name="CONTACT" id="CONTACT">6. Contacting the
|
WIDTH="80%"
|
||||||
developers, Bug Reporting and Feature Requests</a></h1>
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>We value your feedback. In fact, we rely on it to improve <span class=
|
></TD
|
||||||
"APPLICATION">Privoxy</span> and its configuration. However, please note
|
><TD
|
||||||
the following hints, so we can provide you with the best support:</p>
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
<div class="SECT2">
|
VALIGN="bottom"
|
||||||
<h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">6.1.
|
><A
|
||||||
Get Support</a></h2>
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
<p>For casual users, our <a href=
|
>Next</A
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
></TD
|
||||||
target="_top">support forum at SourceForge</a> is probably best suited:
|
></TR
|
||||||
<a href=
|
></TABLE
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
><HR
|
||||||
target="_top">http://sourceforge.net/tracker/?group_id=11118&atid=211118</a></p>
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
<p>All users are of course welcome to discuss their issues on the
|
><DIV
|
||||||
<a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
CLASS="SECT1"
|
||||||
target="_top">users mailing list</a>, where the developers also hang
|
><H1
|
||||||
around.</p>
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
<p>Please don't sent private support requests to individual Privoxy
|
NAME="CONTACT"
|
||||||
developers, either use the mailing lists or the support trackers.</p>
|
>6. Contacting the developers, Bug Reporting and Feature Requests</A
|
||||||
|
></H1
|
||||||
<p>If you have to contact a Privoxy developer directly for other
|
><P
|
||||||
reasons, please send a real mail and do not bother with SourceForge's
|
> We value your feedback. In fact, we rely on it to improve
|
||||||
messaging system. Answers to SourceForge messages are usually bounced
|
<SPAN
|
||||||
by SourceForge's mail server in which case the developer wasted time
|
CLASS="APPLICATION"
|
||||||
writing a response you don't get. From your point of view it will look
|
>Privoxy</SPAN
|
||||||
like your message has been completely ignored, so this is frustrating
|
> and its configuration.
|
||||||
for all parties involved.</p>
|
However, please note the following hints, so we can
|
||||||
|
provide you with the best support:</P
|
||||||
<p>Note that the Privoxy mailing lists are moderated. Posts from
|
><DIV
|
||||||
unsubscribed addresses have to be accepted manually by a moderator.
|
CLASS="SECT2"
|
||||||
This may cause a delay of several days and if you use a subject that
|
><H2
|
||||||
doesn't clearly mention Privoxy or one of its features, your message
|
CLASS="SECT2"
|
||||||
may be accidentally discarded as spam.</p>
|
><A
|
||||||
|
NAME="CONTACT-SUPPORT"
|
||||||
<p>If you aren't subscribed, you should therefore spend a few seconds
|
>6.1. Get Support</A
|
||||||
to come up with a proper subject. Additionally you should make it clear
|
></H2
|
||||||
that you want to get CC'd. Otherwise some responses will be directed to
|
><P
|
||||||
the mailing list only, and you won't see them.</p>
|
> For casual users, our
|
||||||
</div>
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
<div class="SECT2">
|
TARGET="_top"
|
||||||
<h2 class="SECT2"><a name="REPORTING" id="REPORTING">6.2. Reporting
|
>support forum at SourceForge</A
|
||||||
Problems</a></h2>
|
>
|
||||||
|
is probably best suited:
|
||||||
<p><span class="QUOTE">"Problems"</span> for our purposes, come in two
|
<A
|
||||||
forms:</p>
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
|
TARGET="_top"
|
||||||
<ul>
|
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||||
<li>
|
></P
|
||||||
<p>Configuration issues, such as ads that slip through, or sites
|
><P
|
||||||
that don't function properly due to one <span class=
|
> All users are of course welcome to discuss their issues on the <A
|
||||||
"APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||||
another being turned <span class="QUOTE">"on"</span>.</p>
|
TARGET="_top"
|
||||||
</li>
|
>users
|
||||||
|
mailing list</A
|
||||||
<li>
|
>, where the developers also hang around.</P
|
||||||
<p><span class="QUOTE">"Bugs"</span> in the programming code that
|
><P
|
||||||
makes up <span class="APPLICATION">Privoxy</span>, such as that
|
> Please don't sent private support requests to individual Privoxy
|
||||||
might cause a crash.</p>
|
developers, either use the mailing lists or the support trackers.</P
|
||||||
</li>
|
><P
|
||||||
</ul>
|
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
<div class="SECT3">
|
delay of several days and if you use a subject that doesn't clearly
|
||||||
<h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">6.2.1.
|
mention Privoxy or one of its features, your message may be accidentally
|
||||||
Reporting Ads or Other Configuration Problems</a></h3>
|
discarded as spam.</P
|
||||||
|
><P
|
||||||
<p>Please send feedback on ads that slipped through, innocent images
|
> If you aren't subscribed, you should therefore spend a few seconds
|
||||||
that were blocked, sites that don't work properly, and other
|
to come up with a proper subject. Additionally you should make it clear
|
||||||
configuration related problem of <tt class=
|
that you want to get CC'd. Otherwise some responses will be directed to
|
||||||
"FILENAME">default.action</tt> file, to <a href=
|
the mailing list only, and you won't see them.</P
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
></DIV
|
||||||
target=
|
><DIV
|
||||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
CLASS="SECT2"
|
||||||
the Actions File Tracker.</p>
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
<p>New, improved <tt class="FILENAME">default.action</tt> files may
|
><A
|
||||||
occasionally be made available based on your feedback. These will be
|
NAME="REPORTING"
|
||||||
announced on the <a href=
|
>6.2. Reporting Problems</A
|
||||||
"http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
|
></H2
|
||||||
"_top">ijbswa-announce</a> list and available from our the <a href=
|
><P
|
||||||
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
|
><SPAN
|
||||||
"_top">files section</a> of our <a href=
|
CLASS="QUOTE"
|
||||||
"http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
|
>"Problems"</SPAN
|
||||||
</div>
|
> for our purposes, come in two forms:</P
|
||||||
|
><P
|
||||||
<div class="SECT3">
|
></P
|
||||||
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">6.2.2.
|
><UL
|
||||||
Reporting Bugs</a></h3>
|
><LI
|
||||||
|
><P
|
||||||
<p>Please report all bugs through our bug tracker: <a href=
|
> Configuration issues, such as ads that slip through, or sites that
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
don't function properly due to one <SPAN
|
||||||
target=
|
CLASS="APPLICATION"
|
||||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
<p>Before doing so, please make sure that the bug has <span class=
|
<SPAN
|
||||||
"emphasis EMPHASIS c2">not already been submitted</span> and observe
|
CLASS="QUOTE"
|
||||||
the additional hints at the top of the <a href=
|
>"action"</SPAN
|
||||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
> or another being turned <SPAN
|
||||||
target="_top">submit form</a>. If already submitted, please feel free
|
CLASS="QUOTE"
|
||||||
to add any info to the original report that might help to solve the
|
>"on"</SPAN
|
||||||
issue.</p>
|
>.
|
||||||
|
</P
|
||||||
<p>Please try to verify that it is a <span class=
|
></LI
|
||||||
"APPLICATION">Privoxy</span> bug, and not a browser or site bug or
|
><LI
|
||||||
documented behaviour that just happens to be different than what you
|
><P
|
||||||
expected. If unsure, try <a href=
|
> <SPAN
|
||||||
"http://config.privoxy.org/toggle?set=disable" target="_top">toggling
|
CLASS="QUOTE"
|
||||||
off</a> <span class="APPLICATION">Privoxy</span>, and see if the
|
>"Bugs"</SPAN
|
||||||
problem persists.</p>
|
> in the programming code that makes up
|
||||||
|
<SPAN
|
||||||
<p>If you are using your own custom configuration, please try the
|
CLASS="APPLICATION"
|
||||||
stock configs to see if the problem is configuration related. If
|
>Privoxy</SPAN
|
||||||
you're having problems with a feature that is disabled by default,
|
>, such as that might cause a crash.
|
||||||
please ask around on the mailing list if others can reproduce the
|
</P
|
||||||
problem.</p>
|
></LI
|
||||||
|
></UL
|
||||||
<p>If you aren't using the latest Privoxy version, the bug may have
|
><DIV
|
||||||
been found and fixed in the meantime. We would appreciate if you
|
CLASS="SECT3"
|
||||||
could take the time to <a href=
|
><H3
|
||||||
"http://www.privoxy.org/user-manual/installation.html" target=
|
CLASS="SECT3"
|
||||||
"_top">upgrade to the latest version</a> (or even the latest CVS
|
><A
|
||||||
snapshot) and verify that your bug still exists.</p>
|
NAME="CONTACT-ADS"
|
||||||
|
>6.2.1. Reporting Ads or Other Configuration Problems</A
|
||||||
<p>Please be sure to provide the following information:</p>
|
></H3
|
||||||
|
><P
|
||||||
<ul>
|
> Please send feedback on ads that slipped through, innocent images that were
|
||||||
<li>
|
blocked, sites that don't work properly, and other configuration related problem of
|
||||||
<p>The exact <span class="APPLICATION">Privoxy</span> version you
|
<TT
|
||||||
are using (if you got the source from CVS, please also provide
|
CLASS="FILENAME"
|
||||||
the source code revisions as shown in <a href=
|
>default.action</TT
|
||||||
"http://config.privoxy.org/show-version" target=
|
> file, to
|
||||||
"_top">http://config.privoxy.org/show-version</a>).</p>
|
<A
|
||||||
</li>
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||||
|
TARGET="_top"
|
||||||
<li>
|
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||||
<p>The operating system and versions you run <span class=
|
>,
|
||||||
"APPLICATION">Privoxy</span> on, (e.g. <span class=
|
the Actions File Tracker.</P
|
||||||
"APPLICATION">Windows XP SP2</span>), if you are using a Unix
|
><P
|
||||||
flavor, sending the output of <span class="QUOTE">"uname
|
> New, improved <TT
|
||||||
-a"</span> should do, in case of GNU/Linux, please also name the
|
CLASS="FILENAME"
|
||||||
distribution.</p>
|
>default.action</TT
|
||||||
</li>
|
> files may occasionally be made
|
||||||
|
available based on your feedback. These will be announced on the <A
|
||||||
<li>
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||||
<p>The name, platform, and version of the <span class=
|
TARGET="_top"
|
||||||
"APPLICATION">browser</span> you were using (e.g. <span class=
|
>ijbswa-announce</A
|
||||||
"APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
|
>
|
||||||
</li>
|
list and available from our the <A
|
||||||
|
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
<li>
|
TARGET="_top"
|
||||||
<p>The URL where the problem occurred, or some way for us to
|
>files section</A
|
||||||
duplicate the problem (e.g. <tt class=
|
> of
|
||||||
"LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
|
our <A
|
||||||
</li>
|
HREF="http://sf.net/projects/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
<li>
|
>project page</A
|
||||||
<p>Whether your version of <span class=
|
>.</P
|
||||||
"APPLICATION">Privoxy</span> is one supplied by the <span class=
|
></DIV
|
||||||
"APPLICATION">Privoxy</span> developers via SourceForge, or if
|
><DIV
|
||||||
you got your copy somewhere else.</p>
|
CLASS="SECT3"
|
||||||
</li>
|
><H3
|
||||||
|
CLASS="SECT3"
|
||||||
<li>
|
><A
|
||||||
<p>Whether you are using <span class="APPLICATION">Privoxy</span>
|
NAME="CONTACT-BUGS"
|
||||||
in tandem with another proxy such as <span class=
|
>6.2.2. Reporting Bugs</A
|
||||||
"APPLICATION">Tor</span>. If so, please temporary disable the
|
></H3
|
||||||
other proxy to see if the symptoms change.</p>
|
><P
|
||||||
</li>
|
> Please report all bugs through our bug tracker:
|
||||||
|
<A
|
||||||
<li>
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||||
<p>Whether you are using a personal firewall product. If so, does
|
TARGET="_top"
|
||||||
<span class="APPLICATION">Privoxy</span> work without it?</p>
|
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||||
</li>
|
>. </P
|
||||||
|
><P
|
||||||
<li>
|
> Before doing so, please make sure that the bug has <SPAN
|
||||||
<p>Any other pertinent information to help identify the problem
|
CLASS="emphasis"
|
||||||
such as config or log file excerpts (yes, you should have log
|
><I
|
||||||
file entries for each action taken). To get a meaningful logfile,
|
CLASS="EMPHASIS"
|
||||||
please make sure that the <a href=
|
>not already been submitted</I
|
||||||
"../user-manual/config.html#LOGFILE" target="_top">logfile
|
></SPAN
|
||||||
directive</a> is being used and the following <a href=
|
>
|
||||||
"../user-manual/config.html#DEBUG" target="_top">debug
|
and observe the additional hints at the top of the <A
|
||||||
options</a> are enabled:</p>
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||||
|
TARGET="_top"
|
||||||
<p class="LITERALLAYOUT">
|
>submit
|
||||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.<br>
|
form</A
|
||||||
|
>. If already submitted, please feel free to add any info to the
|
||||||
debug 2 # show each connection status<br>
|
original report that might help to solve the issue.</P
|
||||||
|
><P
|
||||||
debug 4 # show I/O status<br>
|
> Please try to verify that it is a <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
debug 8 # show header parsing<br>
|
>Privoxy</SPAN
|
||||||
|
> bug,
|
||||||
debug 128 # debug redirects<br>
|
and not a browser or site bug or documented behaviour that just happens
|
||||||
debug 256 # debug GIF de-animation<br>
|
to be different than what you expected. If unsure,
|
||||||
|
try <A
|
||||||
debug 512 # Common Log Format<br>
|
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||||
|
TARGET="_top"
|
||||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.<br>
|
>toggling
|
||||||
|
off</A
|
||||||
debug 4096 # Startup banner and warnings.<br>
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
debug 8192 # Non-fatal errors</p>If you
|
>Privoxy</SPAN
|
||||||
are having trouble with a filter, please additionally enable
|
>, and see if the problem persists.</P
|
||||||
|
><P
|
||||||
<p class="LITERALLAYOUT">
|
> If you are using your own custom configuration, please try
|
||||||
debug 64 # debug regular expression filters</p>If
|
the stock configs to see if the problem is configuration related.
|
||||||
you are using Privoxy 3.0.17 or later and suspect that it
|
If you're having problems with a feature that is disabled by default,
|
||||||
interprets the request or the response incorrectly, please enable
|
please ask around on the mailing list if others can reproduce the problem.</P
|
||||||
|
><P
|
||||||
<p class="LITERALLAYOUT">
|
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||||
debug 32768 # log all data read from the network</p>Note
|
and fixed in the meantime. We would appreciate if you could take the time
|
||||||
that Privoxy log files may contain sensitive information so
|
to <A
|
||||||
please don't submit any logfiles you didn't read first. You can
|
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||||
mask sensitive information as long as it's clear that you removed
|
TARGET="_top"
|
||||||
something.
|
>upgrade
|
||||||
</li>
|
to the latest version</A
|
||||||
</ul>
|
> (or even the latest CVS snapshot) and verify
|
||||||
|
that your bug still exists.</P
|
||||||
<p>You don't have to tell us your actual name when filing a problem
|
><P
|
||||||
report, but if you don't, please use a nickname so we can
|
>Please be sure to provide the following information:</P
|
||||||
differentiate between your messages and the ones entered by other
|
><P
|
||||||
"anonymous" users that may respond to your request if they have the
|
> <P
|
||||||
same problem or already found a solution. Note that due to spam the
|
></P
|
||||||
trackers may not always allow to post without being logged into
|
><UL
|
||||||
SourceForge. If that's the case, you are still free to create a login
|
><LI
|
||||||
that isn't directly linked to your name, though.</p>
|
><P
|
||||||
|
> The exact <SPAN
|
||||||
<p>Please also check the status of your request a few days after
|
CLASS="APPLICATION"
|
||||||
submitting it, as we may request additional information. If you use a
|
>Privoxy</SPAN
|
||||||
SF id, you should automatically get a mail when someone responds to
|
> version you are using
|
||||||
your request. Please don't bother to add an email address when using
|
(if you got the source from CVS, please also provide the source code revisions
|
||||||
the tracker. If you prefer to communicate through email, just use one
|
as shown in <A
|
||||||
of the mailing lists directly.</p>
|
HREF="http://config.privoxy.org/show-version"
|
||||||
|
TARGET="_top"
|
||||||
<p>If you are new to reporting problems, you might be interested in
|
>http://config.privoxy.org/show-version</A
|
||||||
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
>).
|
||||||
target="_top">How to Report Bugs Effectively</a>.</p>
|
</P
|
||||||
|
></LI
|
||||||
<p>The <a href=
|
><LI
|
||||||
"http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
><P
|
||||||
target="_top">appendix of the Privoxy User Manual</a> also has
|
> The operating system and versions you run
|
||||||
helpful information on understanding <tt class=
|
<SPAN
|
||||||
"LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
|
CLASS="APPLICATION"
|
||||||
debugging.</p>
|
>Privoxy</SPAN
|
||||||
</div>
|
> on, (e.g. <SPAN
|
||||||
</div>
|
CLASS="APPLICATION"
|
||||||
|
>Windows
|
||||||
<div class="SECT2">
|
XP SP2</SPAN
|
||||||
<h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">6.3.
|
>), if you are using a Unix flavor,
|
||||||
Request New Features</a></h2>
|
sending the output of <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
<p>You are welcome to submit ideas on new features or other proposals
|
>"uname -a"</SPAN
|
||||||
for improvement through our feature request tracker at <a href=
|
> should do,
|
||||||
"http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
in case of GNU/Linux, please also name the distribution.
|
||||||
target="_top">http://sourceforge.net/tracker/?atid=361118&group_id=11118</a>.</p>
|
</P
|
||||||
</div>
|
></LI
|
||||||
|
><LI
|
||||||
<div class="SECT2">
|
><P
|
||||||
<h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">6.4.
|
> The name, platform, and version of the <SPAN
|
||||||
Mailing Lists</a></h2>
|
CLASS="APPLICATION"
|
||||||
|
>browser</SPAN
|
||||||
<p>If you prefer to communicate through email, instead of using a web
|
>
|
||||||
interface, feel free to use one of the mailing lists. To discuss issues
|
you were using (e.g. <SPAN
|
||||||
that haven't been completely diagnosed yet, please use the Privoxy
|
CLASS="APPLICATION"
|
||||||
users list. Technically interested users and people who wish to
|
>Internet Explorer v5.5</SPAN
|
||||||
contribute to the project are always welcome on the developers list.
|
> for Mac).
|
||||||
You can find an overview of all <span class=
|
</P
|
||||||
"APPLICATION">Privoxy</span>-related mailing lists, including list
|
></LI
|
||||||
archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
|
><LI
|
||||||
target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
|
><P
|
||||||
</div>
|
> The URL where the problem occurred, or some way for us to duplicate the
|
||||||
</div>
|
problem (e.g. <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
<div class="NAVFOOTER">
|
>http://somesite.example.com/?somethingelse=123</TT
|
||||||
<hr class="c1" width="100%">
|
>).
|
||||||
|
</P
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
></LI
|
||||||
cellpadding="0" cellspacing="0">
|
><LI
|
||||||
<tr>
|
><P
|
||||||
<td width="33%" align="left" valign="top"><a href="trouble.html"
|
> Whether your version of <SPAN
|
||||||
accesskey="P">Prev</a></td>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
> is one supplied
|
||||||
accesskey="H">Home</a></td>
|
by the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<td width="33%" align="right" valign="top"><a href="copyright.html"
|
>Privoxy</SPAN
|
||||||
accesskey="N">Next</a></td>
|
> developers via SourceForge,
|
||||||
</tr>
|
or if you got your copy somewhere else.
|
||||||
|
</P
|
||||||
<tr>
|
></LI
|
||||||
<td width="33%" align="left" valign="top">Troubleshooting</td>
|
><LI
|
||||||
|
><P
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
> Whether you are using <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<td width="33%" align="right" valign="top">Privoxy Copyright, License
|
>Privoxy</SPAN
|
||||||
and History</td>
|
> in tandem with
|
||||||
</tr>
|
another proxy such as <SPAN
|
||||||
</table>
|
CLASS="APPLICATION"
|
||||||
</div>
|
>Tor</SPAN
|
||||||
</body>
|
>. If so, please
|
||||||
</html>
|
temporary disable the other proxy to see if the symptoms change.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether you are using a personal firewall product. If so, does
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> work without it?
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Any other pertinent information to help identify the problem such as config
|
||||||
|
or log file excerpts (yes, you should have log file entries for each
|
||||||
|
action taken).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> You don't have to tell us your actual name when filing a problem
|
||||||
|
report, but please use a nickname so we can differentiate between
|
||||||
|
your messages and the ones entered by other "anonymous" users that
|
||||||
|
may respond to your request if they have the same problem or already
|
||||||
|
found a solution.</P
|
||||||
|
><P
|
||||||
|
> Please also check the status of your request a few days after submitting
|
||||||
|
it, as we may request additional information. If you use a SF id,
|
||||||
|
you should automatically get a mail when someone responds to your request.</P
|
||||||
|
><P
|
||||||
|
> The <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
||||||
|
TARGET="_top"
|
||||||
|
>appendix
|
||||||
|
of the Privoxy User Manual</A
|
||||||
|
> also has helpful information
|
||||||
|
on understanding <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>actions</TT
|
||||||
|
>, and <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>action</TT
|
||||||
|
> debugging. </P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-FEATURE"
|
||||||
|
>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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Privoxy Copyright, License and History</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Privoxy Copyright, License and History</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy Frequently Asked Questions"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy Frequently Asked Questions" href=
|
REL="PREVIOUS"
|
||||||
"index.html">
|
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||||
<link rel="PREVIOUS" title=
|
HREF="contact.html"><LINK
|
||||||
"Contacting the developers, Bug Reporting and Feature Requests" href=
|
REL="STYLESHEET"
|
||||||
"contact.html">
|
TYPE="text/css"
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
HREF="../p_doc.css"><META
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
HTTP-EQUIV="Content-Type"
|
||||||
<style type="text/css">
|
CONTENT="text/html;
|
||||||
body {
|
charset=ISO-8859-1"></HEAD
|
||||||
background-color: #EEEEEE;
|
><BODY
|
||||||
color: #000000;
|
CLASS="SECT1"
|
||||||
}
|
BGCOLOR="#EEEEEE"
|
||||||
:link { color: #0000FF }
|
TEXT="#000000"
|
||||||
:visited { color: #840084 }
|
LINK="#0000FF"
|
||||||
:active { color: #0000FF }
|
VLINK="#840084"
|
||||||
a.c2 {font-style: italic}
|
ALINK="#0000FF"
|
||||||
hr.c1 {text-align: left}
|
><DIV
|
||||||
</style>
|
CLASS="NAVHEADER"
|
||||||
</head>
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
<body class="SECT1">
|
WIDTH="100%"
|
||||||
<div class="NAVHEADER">
|
BORDER="0"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
CELLPADDING="0"
|
||||||
cellpadding="0" cellspacing="0">
|
CELLSPACING="0"
|
||||||
<tr>
|
><TR
|
||||||
<th colspan="3" align="center">Privoxy Frequently Asked
|
><TH
|
||||||
Questions</th>
|
COLSPAN="3"
|
||||||
</tr>
|
ALIGN="center"
|
||||||
|
>Privoxy Frequently Asked Questions</TH
|
||||||
<tr>
|
></TR
|
||||||
<td width="10%" align="left" valign="bottom"><a href="contact.html"
|
><TR
|
||||||
accesskey="P">Prev</a></td>
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
<td width="10%" align="right" valign="bottom"> </td>
|
><A
|
||||||
</tr>
|
HREF="contact.html"
|
||||||
</table>
|
ACCESSKEY="P"
|
||||||
<hr class="c1" width="100%">
|
>Prev</A
|
||||||
</div>
|
></TD
|
||||||
|
><TD
|
||||||
<div class="SECT1">
|
WIDTH="80%"
|
||||||
<h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">7. Privoxy
|
ALIGN="center"
|
||||||
Copyright, License and History</a></h1>
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
<p>Copyright © 2001-2011 by Privoxy Developers <code class=
|
><TD
|
||||||
"EMAIL"><<a href=
|
WIDTH="10%"
|
||||||
"mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>></code></p>
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>Some source code is based on code Copyright © 1997 by Anonymous
|
> </TD
|
||||||
Coders and Junkbusters, Inc. and licensed under the <i class=
|
></TR
|
||||||
"CITETITLE">GNU General Public License</i>.</p>
|
></TABLE
|
||||||
|
><HR
|
||||||
<p>Portions of this document are <span class="QUOTE">"borrowed"</span>
|
ALIGN="LEFT"
|
||||||
from the original <span class="APPLICATION">Junkbuster</span> (tm) FAQ,
|
WIDTH="100%"></DIV
|
||||||
and modified as appropriate for <span class=
|
><DIV
|
||||||
"APPLICATION">Privoxy</span>.</p>
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
<div class="SECT2">
|
CLASS="SECT1"
|
||||||
<h2 class="SECT2"><a name="AEN1475" id="AEN1475">7.1. License</a></h2>
|
><A
|
||||||
|
NAME="COPYRIGHT"
|
||||||
<p><span class="APPLICATION">Privoxy</span> is free software; you can
|
>7. Privoxy Copyright, License and History</A
|
||||||
redistribute it and/or modify it under the terms of the <i class=
|
></H1
|
||||||
"CITETITLE">GNU General Public License</i>, version 2, as published by
|
><P
|
||||||
the Free Software Foundation.</p>
|
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||||
|
CLASS="EMAIL"
|
||||||
<p>This program is distributed in the hope that it will be useful, but
|
><<A
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a class=
|
>ijbswa-developers@lists.sourceforge.net</A
|
||||||
"CITETITLE c2" href=
|
>></CODE
|
||||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
></P
|
||||||
"_top">GNU General Public License</a> for details.</p>
|
><P
|
||||||
|
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||||
<p>You should have received a copy of the <i class="CITETITLE">GNU
|
and Junkbusters, Inc. and licensed under the <I
|
||||||
GPL</i> along with this program; if not, write to the</p>
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public
|
||||||
<p class="ADDRESS"> Free Software<br>
|
License</I
|
||||||
Foundation, Inc. <span class="STREET">51 Franklin
|
>.</P
|
||||||
Street, Fifth Floor</span><br>
|
><P
|
||||||
<span class="CITY">Boston</span>, <span class=
|
> Portions of this document are <SPAN
|
||||||
"STATE">MA</span> <span class="POSTCODE">02110-1301</span><br>
|
CLASS="QUOTE"
|
||||||
<span class="COUNTRY">USA</span> </p>
|
>"borrowed"</SPAN
|
||||||
</div>
|
> from the original
|
||||||
|
<SPAN
|
||||||
<div class="SECT2">
|
CLASS="APPLICATION"
|
||||||
<h2 class="SECT2"><a name="AEN1491" id="AEN1491">7.2. History</a></h2>
|
>Junkbuster</SPAN
|
||||||
|
> (tm) FAQ, and modified as
|
||||||
<p>A long time ago, there was the <a href=
|
appropriate for <SPAN
|
||||||
"http://www.junkbusters.com/ijb.html" target="_top"><span class=
|
CLASS="APPLICATION"
|
||||||
"APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
|
>Privoxy</SPAN
|
||||||
<a href="http://www.junkbusters.com/" target="_top">Junkbusters
|
>.
|
||||||
Corporation</a>. This saved many users a lot of pain in the early days
|
</P
|
||||||
of web advertising and user tracking.</p>
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
<p>But the web, its protocols and standards, and with it, the
|
><H2
|
||||||
techniques for forcing ads on users, give up autonomy over their
|
CLASS="SECT2"
|
||||||
browsing, and for tracking them, keeps evolving. Unfortunately, the
|
><A
|
||||||
<span class="APPLICATION">Internet Junkbuster</span> did not. Version
|
NAME="AEN1451"
|
||||||
2.0.2, published in 1998, was (and is) the last official <a href=
|
>7.1. License</A
|
||||||
"http://www.junkbusters.com/ijbdist.html#release" target=
|
></H2
|
||||||
"_top">release</a> available from <a href="http://www.junkbusters.com"
|
><P
|
||||||
target="_top">Junkbusters Corporation</a>. Fortunately, it had been
|
> <SPAN
|
||||||
released under the GNU <a href=
|
CLASS="APPLICATION"
|
||||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
>Privoxy</SPAN
|
||||||
"_top">GPL</a>, which allowed further development by others.</p>
|
> is free software; you can
|
||||||
|
redistribute it and/or modify it under the terms of the
|
||||||
<p>So Stefan Waldherr started maintaining an improved version of the
|
<I
|
||||||
software, to which eventually a number of people contributed patches.
|
CLASS="CITETITLE"
|
||||||
It could already replace banners with a transparent image, and had a
|
>GNU General Public License</I
|
||||||
first version of pop-up killing, but it was still very closely based on
|
>, version 2,
|
||||||
the original, with all its limitations, such as the lack of HTTP/1.1
|
as published by the Free Software Foundation.</P
|
||||||
support, flexible per-site configuration, or content modification. The
|
><P
|
||||||
last release from this effort was version 2.0.2-10, published in
|
> This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
2000.</p>
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
||||||
<p>Then, some <a href=
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
"http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
|
TARGET="_top"
|
||||||
"_top">developers</a> picked up the thread, and started turning the
|
> <I
|
||||||
software inside out, upside down, and then reassembled it, adding many
|
CLASS="CITETITLE"
|
||||||
<a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
>GNU General Public License</I
|
||||||
target="_top">new features</a> along the way.</p>
|
></A
|
||||||
|
> for details.</P
|
||||||
<p>The result of this is <span class="APPLICATION">Privoxy</span>,
|
><P
|
||||||
whose first stable version, 3.0, was released August, 2002.</p>
|
> You should have received a copy of the <I
|
||||||
</div>
|
CLASS="CITETITLE"
|
||||||
</div>
|
>GNU GPL</I
|
||||||
|
>
|
||||||
<div class="NAVFOOTER">
|
along with this program; if not, write to the <P
|
||||||
<hr class="c1" width="100%">
|
CLASS="ADDRESS"
|
||||||
|
> Free Software<br>
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
Foundation, Inc. <SPAN
|
||||||
cellpadding="0" cellspacing="0">
|
CLASS="STREET"
|
||||||
<tr>
|
>51 Franklin Street, Fifth Floor</SPAN
|
||||||
<td width="33%" align="left" valign="top"><a href="contact.html"
|
><br>
|
||||||
accesskey="P">Prev</a></td>
|
<SPAN
|
||||||
|
CLASS="CITY"
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
>Boston</SPAN
|
||||||
accesskey="H">Home</a></td>
|
>, <SPAN
|
||||||
|
CLASS="STATE"
|
||||||
<td width="33%" align="right" valign="top"> </td>
|
>MA</SPAN
|
||||||
</tr>
|
> <SPAN
|
||||||
|
CLASS="POSTCODE"
|
||||||
<tr>
|
>02110-1301</SPAN
|
||||||
<td width="33%" align="left" valign="top">Contacting the developers,
|
><br>
|
||||||
Bug Reporting and Feature Requests</td>
|
<SPAN
|
||||||
|
CLASS="COUNTRY"
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
>USA</SPAN
|
||||||
|
> </P
|
||||||
<td width="33%" align="right" valign="top"> </td>
|
></P
|
||||||
</tr>
|
></DIV
|
||||||
</table>
|
><DIV
|
||||||
</div>
|
CLASS="SECT2"
|
||||||
</body>
|
><H2
|
||||||
</html>
|
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"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>
|
This should take you to a page titled <SPAN
|
||||||
<head>
|
CLASS="QUOTE"
|
||||||
<meta name="generator" content=
|
>"This is Privoxy.."</SPAN
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
> with
|
||||||
|
access to <SPAN
|
||||||
<title>Installation</title>
|
CLASS="APPLICATION"
|
||||||
<meta name="GENERATOR" content=
|
>Privoxy's</SPAN
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
> internal configuration.
|
||||||
<link rel="HOME" title="Privoxy Frequently Asked Questions" href=
|
If you see this, then you are good to go. If you receive a page saying
|
||||||
"index.html">
|
<SPAN
|
||||||
<link rel="PREVIOUS" title="General Information" href="general.html">
|
CLASS="QUOTE"
|
||||||
<link rel="NEXT" title="Configuration" href="configuration.html">
|
>"Privoxy is not running"</SPAN
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
>, then the browser is not set up to use
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
your <SPAN
|
||||||
<style type="text/css">
|
CLASS="APPLICATION"
|
||||||
body {
|
>Privoxy</SPAN
|
||||||
background-color: #EEEEEE;
|
> installation.
|
||||||
color: #000000;
|
If you receive anything else (probably nothing at all), it could either
|
||||||
}
|
be that the browser is not set up correctly, or that
|
||||||
:link { color: #0000FF }
|
<SPAN
|
||||||
:visited { color: #840084 }
|
CLASS="APPLICATION"
|
||||||
:active { color: #0000FF }
|
>Privoxy</SPAN
|
||||||
span.c2 {font-style: italic}
|
> is not running at all. Check the <A
|
||||||
hr.c1 {text-align: left}
|
HREF="../user-manual/config.html#LOGFILE"
|
||||||
</style>
|
TARGET="_top"
|
||||||
</head>
|
>log file</A
|
||||||
|
>. For instructions
|
||||||
<body class="SECT1">
|
on starting <SPAN
|
||||||
<div class="NAVHEADER">
|
CLASS="APPLICATION"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
>Privoxy</SPAN
|
||||||
cellpadding="0" cellspacing="0">
|
> and browser configuration,
|
||||||
<tr>
|
see the <A
|
||||||
<th colspan="3" align="center">Privoxy Frequently Asked
|
HREF="http://www.privoxy.org/user-manual/startup.html"
|
||||||
Questions</th>
|
TARGET="_top"
|
||||||
</tr>
|
>chapter
|
||||||
|
on starting <SPAN
|
||||||
<tr>
|
CLASS="APPLICATION"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="general.html"
|
>Privoxy</SPAN
|
||||||
accesskey="P">Prev</a></td>
|
></A
|
||||||
|
> in the
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/"
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
TARGET="_top"
|
||||||
"configuration.html" accesskey="N">Next</a></td>
|
>User Manual</A
|
||||||
</tr>
|
>.</P
|
||||||
</table>
|
></DIV
|
||||||
<hr class="c1" width="100%">
|
><DIV
|
||||||
</div>
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
<div class="SECT1">
|
CLASS="SECT2"
|
||||||
<h1 class="SECT1"><a name="INSTALLATION" id="INSTALLATION">2.
|
><A
|
||||||
Installation</a></h1>
|
NAME="NOTUSED"
|
||||||
|
>2.7. I get a <SPAN
|
||||||
<div class="SECT2">
|
CLASS="QUOTE"
|
||||||
<h3 class="SECT2"><a name="WHICHBROWSERS" id="WHICHBROWSERS">2.1. Which
|
>"Privoxy is not being used"</SPAN
|
||||||
browsers are supported by Privoxy?</a></h3>
|
> dummy page although
|
||||||
|
Privoxy is running and being used.</A
|
||||||
<p>Any browser that can be configured to use a proxy, which should be
|
></H3
|
||||||
virtually all browsers, including <span class=
|
><P
|
||||||
"APPLICATION">Firefox</span>, <span class="APPLICATION">Internet
|
> First, make sure that Privoxy is <SPAN
|
||||||
Explorer</span>, <span class="APPLICATION">Opera</span>, and
|
CLASS="emphasis"
|
||||||
<span class="APPLICATION">Safari</span> among others. Direct browser
|
><I
|
||||||
support is not an absolute requirement since <span class=
|
CLASS="EMPHASIS"
|
||||||
"APPLICATION">Privoxy</span> runs as a separate application and talks
|
>really</I
|
||||||
to the browser in the standardized HTTP protocol, just like a web
|
></SPAN
|
||||||
server does.</p>
|
> running and
|
||||||
</div>
|
being used by visiting <A
|
||||||
|
HREF="http://p.p/"
|
||||||
<div class="SECT2">
|
TARGET="_top"
|
||||||
<h3 class="SECT2"><a name="WHICHOS" id="WHICHOS">2.2. Which operating
|
>http://p.p/</A
|
||||||
systems are supported?</a></h3>
|
>. You
|
||||||
|
should see the <SPAN
|
||||||
<p>At present, <span class="APPLICATION">Privoxy</span> is known to run
|
CLASS="APPLICATION"
|
||||||
on Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE,
|
>Privoxy</SPAN
|
||||||
Debian, Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS,
|
> main page. If not, see
|
||||||
FreeBSD, NetBSD, OpenBSD, Solaris, and various other flavors of
|
the <A
|
||||||
Unix.</p>
|
HREF="http://www.privoxy.org/user-manual/startup.html"
|
||||||
|
TARGET="_top"
|
||||||
<p>But any operating system that runs TCP/IP, can conceivably take
|
>chapter
|
||||||
advantage of <span class="APPLICATION">Privoxy</span> in a networked
|
on starting <SPAN
|
||||||
situation where <span class="APPLICATION">Privoxy</span> would run as a
|
CLASS="APPLICATION"
|
||||||
server on a LAN gateway. Then only the <span class=
|
>Privoxy</SPAN
|
||||||
"QUOTE">"gateway"</span> needs to be running one of the above operating
|
></A
|
||||||
systems.</p>
|
> in the
|
||||||
|
<A
|
||||||
<p>Source code is freely available, so porting to other operating
|
HREF="http://www.privoxy.org/user-manual/"
|
||||||
systems is always a possibility.</p>
|
TARGET="_top"
|
||||||
</div>
|
>User Manual</A
|
||||||
|
>.</P
|
||||||
<div class="SECT2">
|
><P
|
||||||
<h3 class="SECT2"><a name="EMAIL-CLIENT" id="EMAIL-CLIENT">2.3. Can I
|
> Now if <A
|
||||||
use Privoxy with my email client?</a></h3>
|
HREF="http://p.p/"
|
||||||
|
TARGET="_top"
|
||||||
<p>As long as there is some way to set a HTTP proxy for the client,
|
>http://p.p/</A
|
||||||
then yes, any application can be used, whether it is strictly speaking
|
> works for you, but
|
||||||
a <span class="QUOTE">"browser"</span> or not. Though this may not be
|
other parts of <SPAN
|
||||||
the best approach for dealing with some of the common abuses of HTML in
|
CLASS="APPLICATION"
|
||||||
email. See <a href="configuration.html#OUTLOOK">How can I configure
|
>Privoxy</SPAN
|
||||||
<span class="APPLICATION">Privoxy</span> with <span class=
|
>'s web interface show
|
||||||
"APPLICATION">Outlook</span>?</a> below for more on this.</p>
|
the dummy page, your browser has cached a redirection it encountered before
|
||||||
|
<SPAN
|
||||||
<p>Be aware that HTML email presents a number of unique security and
|
CLASS="APPLICATION"
|
||||||
privacy related issues, that can require advanced skills to overcome.
|
>Privoxy</SPAN
|
||||||
The developers recommend using email clients that can be configured to
|
> was being used. You need to clear your
|
||||||
convert HTML to plain text for these reasons.</p>
|
browser's cache. Note that shift-reloading the dummy page won't help, since
|
||||||
</div>
|
that'll only refresh the dummy page, not the redirection that lead you there.</P
|
||||||
|
><P
|
||||||
<div class="SECT2">
|
> The procedure for clearing the cache varies from browser to browser. For
|
||||||
<h3 class="SECT2"><a name="FIRSTSTEP" id="FIRSTSTEP">2.4. I just
|
example, <SPAN
|
||||||
installed Privoxy. Is there anything special I have to do now?</a></h3>
|
CLASS="APPLICATION"
|
||||||
|
>Mozilla/Netscape</SPAN
|
||||||
<p>All browsers should be told to use <span class=
|
> users would click
|
||||||
"APPLICATION">Privoxy</span> as a proxy by specifying the correct proxy
|
<SPAN
|
||||||
address and port number in the appropriate configuration area for the
|
CLASS="GUIBUTTON"
|
||||||
browser. It's possible to combine <span class=
|
>Edit</SPAN
|
||||||
"APPLICATION">Privoxy</span> with a packet filter to intercept HTTP
|
> --> <SPAN
|
||||||
requests even if the client isn't explicitly configured to use
|
CLASS="GUIBUTTON"
|
||||||
<span class="APPLICATION">Privoxy</span>, but where possible,
|
>Preferences</SPAN
|
||||||
configuring the client is recommended. See <a href=
|
> -->
|
||||||
"../user-manual/startup.html" target="_top">the User Manual for more
|
<SPAN
|
||||||
details</a>. You should also flush your browser's memory and disk cache
|
CLASS="GUIBUTTON"
|
||||||
to get rid of any cached junk items, and remove any stored <a href=
|
>Advanced</SPAN
|
||||||
"http://en.wikipedia.org/wiki/Browser_cookie" target=
|
> --> <SPAN
|
||||||
"_top">cookies</a>.</p>
|
CLASS="GUIBUTTON"
|
||||||
</div>
|
>Cache</SPAN
|
||||||
|
> and
|
||||||
<div class="SECT2">
|
then click both <SPAN
|
||||||
<h3 class="SECT2"><a name="LOCALHOST" id="LOCALHOST">2.5. What is the
|
CLASS="QUOTE"
|
||||||
proxy address of Privoxy?</a></h3>
|
>"<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
<p>If you set up the <span class="APPLICATION">Privoxy</span> to run on
|
>Clear Memory Cache</SPAN
|
||||||
the computer you browse from (rather than your ISP's server or some
|
>"</SPAN
|
||||||
networked computer on a LAN), the proxy will be on <tt class=
|
>
|
||||||
"LITERAL">127.0.0.1</tt> (sometimes referred to as <span class=
|
and <SPAN
|
||||||
"QUOTE">"localhost"</span>, which is the special name used by every
|
CLASS="QUOTE"
|
||||||
computer on the Internet to refer to itself) and the port will be 8118
|
>"<SPAN
|
||||||
(unless you used the <a href=
|
CLASS="GUIBUTTON"
|
||||||
"../user-manual/config.html#LISTEN-ADDRESS" target=
|
>Clear Disk Cache</SPAN
|
||||||
"_top">listen-address</a> config option to tell <span class=
|
>"</SPAN
|
||||||
"APPLICATION">Privoxy</span> to run on a different port).</p>
|
>.
|
||||||
|
In some <SPAN
|
||||||
<p>When configuring your browser's proxy settings you typically enter
|
CLASS="APPLICATION"
|
||||||
the word <span class="QUOTE">"localhost"</span> or the IP address
|
>Firefox</SPAN
|
||||||
<span class="QUOTE">"127.0.0.1"</span> in the boxes next to
|
> versions it's
|
||||||
<span class="QUOTE">"HTTP"</span> and <span class=
|
<SPAN
|
||||||
"QUOTE">"Secure"</span> (HTTPS) and then the number <span class=
|
CLASS="GUIBUTTON"
|
||||||
"QUOTE">"8118"</span> for <span class="QUOTE">"port"</span>. This tells
|
>Tools</SPAN
|
||||||
your browser to send all web requests to <span class=
|
> --> <SPAN
|
||||||
"APPLICATION">Privoxy</span> instead of directly to the Internet.</p>
|
CLASS="GUIBUTTON"
|
||||||
|
>Options</SPAN
|
||||||
<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
|
<SPAN
|
||||||
address of the LAN host where <span class="APPLICATION">Privoxy</span>
|
CLASS="GUIBUTTON"
|
||||||
is running, or the equivalent hostname, e.g. <tt class=
|
>Privacy</SPAN
|
||||||
"LITERAL">192.168.1.1</tt>. Port assignment would be same as above.
|
> --> <SPAN
|
||||||
Note that <span class="APPLICATION">Privoxy</span> doesn't listen on
|
CLASS="GUIBUTTON"
|
||||||
any LAN interfaces by default.</p>
|
>Cache</SPAN
|
||||||
|
> and
|
||||||
<p><span class="APPLICATION">Privoxy</span> does not currently handle
|
then click <SPAN
|
||||||
any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.</p>
|
CLASS="QUOTE"
|
||||||
</div>
|
>"<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
<div class="SECT2">
|
>Clear Cache Now</SPAN
|
||||||
<h3 class="SECT2"><a name="NOTHING" id="NOTHING">2.6. I just installed
|
>"</SPAN
|
||||||
Privoxy, and nothing is happening. All the ads are there. What's
|
>.
|
||||||
wrong?</a></h3>
|
</P
|
||||||
|
></DIV
|
||||||
<p>Did you configure your browser to use <span class=
|
></DIV
|
||||||
"APPLICATION">Privoxy</span> as a proxy? It does not sound like it. See
|
><DIV
|
||||||
above. You might also try flushing the browser's caches to force a full
|
CLASS="NAVFOOTER"
|
||||||
re-reading of pages. You can verify that <span class=
|
><HR
|
||||||
"APPLICATION">Privoxy</span> is running, and your browser is correctly
|
ALIGN="LEFT"
|
||||||
configured by entering the special URL: <a href="http://p.p/" target=
|
WIDTH="100%"><TABLE
|
||||||
"_top">http://p.p/</a>. This should take you to a page titled
|
SUMMARY="Footer navigation table"
|
||||||
<span class="QUOTE">"This is Privoxy.."</span> with access to
|
WIDTH="100%"
|
||||||
<span class="APPLICATION">Privoxy's</span> internal configuration. If
|
BORDER="0"
|
||||||
you see this, then you are good to go. If you receive a page saying
|
CELLPADDING="0"
|
||||||
<span class="QUOTE">"Privoxy is not running"</span>, then the browser
|
CELLSPACING="0"
|
||||||
is not set up to use your <span class="APPLICATION">Privoxy</span>
|
><TR
|
||||||
installation. If you receive anything else (probably nothing at all),
|
><TD
|
||||||
it could either be that the browser is not set up correctly, or that
|
WIDTH="33%"
|
||||||
<span class="APPLICATION">Privoxy</span> is not running at all. Check
|
ALIGN="left"
|
||||||
the <a href="../user-manual/config.html#LOGFILE" target="_top">log
|
VALIGN="top"
|
||||||
file</a>. For instructions on starting <span class=
|
><A
|
||||||
"APPLICATION">Privoxy</span> and browser configuration, see the
|
HREF="general.html"
|
||||||
<a href="http://www.privoxy.org/user-manual/startup.html" target=
|
ACCESSKEY="P"
|
||||||
"_top">chapter on starting <span class="APPLICATION">Privoxy</span></a>
|
>Prev</A
|
||||||
in the <a href="http://www.privoxy.org/user-manual/" target="_top">User
|
></TD
|
||||||
Manual</a>.</p>
|
><TD
|
||||||
</div>
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
<div class="SECT2">
|
VALIGN="top"
|
||||||
<h3 class="SECT2"><a name="NOTUSED" id="NOTUSED">2.7. I get a
|
><A
|
||||||
<span class="QUOTE">"Privoxy is not being used"</span> dummy page
|
HREF="index.html"
|
||||||
although Privoxy is running and being used.</a></h3>
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
<p>First, make sure that Privoxy is <span class=
|
></TD
|
||||||
"emphasis EMPHASIS c2">really</span> running and being used by visiting
|
><TD
|
||||||
<a href="http://p.p/" target="_top">http://p.p/</a>. You should see the
|
WIDTH="33%"
|
||||||
<span class="APPLICATION">Privoxy</span> main page. If not, see the
|
ALIGN="right"
|
||||||
<a href="http://www.privoxy.org/user-manual/startup.html" target=
|
VALIGN="top"
|
||||||
"_top">chapter on starting <span class="APPLICATION">Privoxy</span></a>
|
><A
|
||||||
in the <a href="http://www.privoxy.org/user-manual/" target="_top">User
|
HREF="configuration.html"
|
||||||
Manual</a>.</p>
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
<p>Now if <a href="http://p.p/" target="_top">http://p.p/</a> works for
|
></TD
|
||||||
you, but other parts of <span class="APPLICATION">Privoxy</span>'s web
|
></TR
|
||||||
interface show the dummy page, your browser has cached a redirection it
|
><TR
|
||||||
encountered before <span class="APPLICATION">Privoxy</span> was being
|
><TD
|
||||||
used. You need to clear your browser's cache. Note that shift-reloading
|
WIDTH="33%"
|
||||||
the dummy page won't help, since that'll only refresh the dummy page,
|
ALIGN="left"
|
||||||
not the redirection that lead you there.</p>
|
VALIGN="top"
|
||||||
|
>General Information</TD
|
||||||
<p>The procedure for clearing the cache varies from browser to browser.
|
><TD
|
||||||
For example, <span class="APPLICATION">Mozilla/Netscape</span> users
|
WIDTH="34%"
|
||||||
would click <span class="GUIBUTTON">Edit</span> --> <span class=
|
ALIGN="center"
|
||||||
"GUIBUTTON">Preferences</span> --> <span class=
|
VALIGN="top"
|
||||||
"GUIBUTTON">Advanced</span> --> <span class="GUIBUTTON">Cache</span>
|
> </TD
|
||||||
and then click both <span class="QUOTE">"<span class="GUIBUTTON">Clear
|
><TD
|
||||||
Memory Cache</span>"</span> and <span class="QUOTE">"<span class=
|
WIDTH="33%"
|
||||||
"GUIBUTTON">Clear Disk Cache</span>"</span>. In some <span class=
|
ALIGN="right"
|
||||||
"APPLICATION">Firefox</span> versions it's <span class=
|
VALIGN="top"
|
||||||
"GUIBUTTON">Tools</span> --> <span class="GUIBUTTON">Options</span>
|
>Configuration</TD
|
||||||
--> <span class="GUIBUTTON">Privacy</span> --> <span class=
|
></TR
|
||||||
"GUIBUTTON">Cache</span> and then click <span class=
|
></TABLE
|
||||||
"QUOTE">"<span class="GUIBUTTON">Clear Cache Now</span>"</span>.</p>
|
></DIV
|
||||||
</div>
|
></BODY
|
||||||
</div>
|
></HTML
|
||||||
|
>
|
||||||
<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>
|
|
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"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>
|
<A
|
||||||
<head>
|
HREF="http://privoxy.org/team/index.html"
|
||||||
<meta name="generator" content=
|
TARGET="_top"
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
>Pictures of the Privoxy Team</A
|
||||||
|
>
|
||||||
<title>Privoxy - Home Page</title>
|
</P
|
||||||
<meta name="GENERATOR" content=
|
></LI
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
></UL
|
||||||
<meta name="KEYWORD" content="privoxy">
|
></P
|
||||||
<meta name="KEYWORD" content="HTTP">
|
></DIV
|
||||||
<meta name="KEYWORD" content="proxy">
|
><DIV
|
||||||
<meta name="KEYWORD" content="privacy">
|
CLASS="SECT1"
|
||||||
<meta name="KEYWORD" content="popups">
|
><HR><H2
|
||||||
<meta name="KEYWORD" content="po-ups">
|
CLASS="SECT1"
|
||||||
<meta name="KEYWORD" content="HTML">
|
><A
|
||||||
<meta name="KEYWORD" content="JavaScript">
|
NAME="AEN83"
|
||||||
<meta name="KEYWORD" content="cleaning">
|
></A
|
||||||
<meta name="KEYWORD" content="blocking">
|
></H2
|
||||||
<meta name="KEYWORD" content="cleaner">
|
><P
|
||||||
<meta name="KEYWORD" content="blocker">
|
><DIV
|
||||||
<meta name="KEYWORD" content="filter">
|
CLASS="INFORMALTABLE"
|
||||||
<meta name="KEYWORD" content="proxy">
|
><P
|
||||||
<meta name="KEYWORD" content="junk">
|
></P
|
||||||
<meta name="KEYWORD" content="ad">
|
><A
|
||||||
<meta name="KEYWORD" content="advertisement">
|
NAME="AEN86"
|
||||||
<meta name="KEYWORD" content="banner">
|
></A
|
||||||
<meta name="KEYWORD" content="webbugs">
|
><TABLE
|
||||||
<meta name="KEYWORD" content="web-bugs">
|
BORDER="0"
|
||||||
<meta name="KEYWORD" content="werbung">
|
FRAME="void"
|
||||||
<meta name="KEYWORD" content="junkbusters">
|
RULES="all"
|
||||||
<meta name="KEYWORD" content="junkbuster">
|
WIDTH="100%"
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
CLASS="CALSTABLE"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
><COL
|
||||||
<meta name="description" content=
|
WIDTH="100%"
|
||||||
"Privoxy helps users to protect their privacy.">
|
ALIGN="CENTER"
|
||||||
<meta name="MSSmartTagsPreventParsing" content="TRUE">
|
TITLE="C1"><TBODY
|
||||||
<style type="text/css">
|
><TR
|
||||||
body {
|
><TD
|
||||||
background-color: #EEEEEE;
|
ALIGN="CENTER"
|
||||||
color: #000000;
|
>Privoxy is developed on:</TD
|
||||||
}
|
></TR
|
||||||
:link { color: #0000FF }
|
><TR
|
||||||
:visited { color: #840084 }
|
><TD
|
||||||
:active { color: #0000FF }
|
ALIGN="CENTER"
|
||||||
col.c1 {text-align: center}
|
> <A
|
||||||
</style>
|
HREF="http://sourceforge.net/"
|
||||||
</head>
|
TARGET="_top"
|
||||||
|
> <IMG
|
||||||
<body class="ARTICLE">
|
SRC="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif">
|
||||||
<div class="ARTICLE">
|
</A
|
||||||
<div class="TITLEPAGE">
|
>
|
||||||
<h1 class="TITLE"><a name="AEN2" id="AEN2">Privoxy - Home Page</a></h1>
|
</TD
|
||||||
|
></TR
|
||||||
<div class="ABSTRACT">
|
></TBODY
|
||||||
<a name="AEN28" id="AEN28"></a>
|
></TABLE
|
||||||
|
><P
|
||||||
<p>Privoxy is a non-caching web proxy with advanced filtering
|
></P
|
||||||
capabilities for enhancing privacy, modifying web page data and HTTP
|
></DIV
|
||||||
headers, controlling access, and removing ads and other obnoxious
|
></P
|
||||||
Internet junk. Privoxy has a flexible configuration and can be
|
><P
|
||||||
customized to suit individual needs and tastes. It has application
|
> <SUB
|
||||||
for both stand-alone systems and multi-user networks.</p>
|
> Copyright © 2001-2009 by Privoxy Developers
|
||||||
|
</SUB
|
||||||
<p>Privoxy is Free Software and licensed under the GNU GPLv2.</p>
|
></P
|
||||||
|
></DIV
|
||||||
<p>Privoxy is an associated project of Software in the Public
|
></DIV
|
||||||
Interest (SPI).</p>
|
></BODY
|
||||||
|
></HTML
|
||||||
<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>
|
|
|
@ -1,213 +1,294 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
|
||||||
|
|
||||||
<html>
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
<head>
|
<HTML><HEAD><TITLE>Man page of PRIVOXY</TITLE>
|
||||||
<meta name="generator" content=
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></HEAD><BODY>
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
<H1>PRIVOXY</H1>
|
||||||
|
Section: (1)<BR>Updated: 21 March 2009<BR><A HREF="#index">Index</A>
|
||||||
|
<HR>
|
||||||
|
|
||||||
<title>Privoxy Man page</title>
|
<A NAME="lbAB"> </A>
|
||||||
<link rel="stylesheet" type="text/css" href="../p_web.css">
|
<H2>NAME</H2>
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
privoxy - Privacy Enhancing Proxy
|
||||||
<h2>NAME</h2>
|
<A NAME="lbAC"> </A>
|
||||||
<pre>
|
<H2>SYNOPSIS</H2>
|
||||||
<!-- Manpage converted by man2html 3.0.1 -->
|
|
||||||
|
|
||||||
</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>
|
<P>
|
||||||
<pre>
|
|
||||||
<b>privoxy</b> [<b>--help</b> ] [<b>--version</b> ] [<b>--no-daemon</b> ] [<b>--pidfile</b> <i>pidfile</i> ]
|
|
||||||
[<b>--user</b> <i>user[.group]</i> ] [<b>--chroot</b> ] [<b>--pre-chroot-nslookup</b> <i>hostname</i> ]
|
|
||||||
[<i>configfile</i> ]
|
|
||||||
|
|
||||||
|
<B>Privoxy</B> may be invoked with the following command line
|
||||||
|
options:
|
||||||
|
<DL COMPACT>
|
||||||
|
<DT><B>--help</B><DD>
|
||||||
|
Print brief usage info and exit.
|
||||||
|
<DT><B>--version</B><DD>
|
||||||
|
Print version info and exit.
|
||||||
|
<DT><B>--no-daemon</B><DD>
|
||||||
|
Don't become a daemon, i.e. don't fork and become process group
|
||||||
|
leader, don't detach from controlling tty, and do all logging there.
|
||||||
|
<DT><B>--pidfile </B><I>pidfile</I><B></B><DD>
|
||||||
|
On startup, write the process ID to <I>pidfile</I>.
|
||||||
|
Delete the <I>pidfile</I> on exit.
|
||||||
|
Failure to create or delete the <I>pidfile</I>
|
||||||
|
is non-fatal. If no <B>--pidfile</B> option is given, no PID file will be used.
|
||||||
|
<DT><B>--user </B><I>user[.group]</I><B></B><DD>
|
||||||
|
After (optionally) writing the PID file, assume the user ID of
|
||||||
|
<I>user</I> and the GID of
|
||||||
|
<I>group</I>, or, if the optional
|
||||||
|
<I>group</I> was not given, the default group of
|
||||||
|
<I>user</I>. Exit if the privileges are not
|
||||||
|
sufficient to do so.
|
||||||
|
<DT><B>--chroot</B><DD>
|
||||||
|
Before changing to the user ID given in the --user option, chroot to
|
||||||
|
that user's home directory, i.e. make the kernel pretend to the
|
||||||
|
<B>Privoxy</B> process that the directory tree starts
|
||||||
|
there. If set up carefully, this can limit the impact of possible
|
||||||
|
vulnerabilities in <B>Privoxy</B> to the files contained in
|
||||||
|
that hierarchy.
|
||||||
|
<DT><B>--pre-chroot-nslookup </B><I>hostname</I><B></B><DD>
|
||||||
|
Initialize the resolver library using <I>hostname</I>
|
||||||
|
before chroot'ing. On some systems this reduces the number of files
|
||||||
|
that must be copied into the chroot tree.
|
||||||
|
</DL>
|
||||||
|
<P>
|
||||||
|
|
||||||
|
If the <I>configfile</I> is not specified on the command line,
|
||||||
|
<B>Privoxy</B> will look for a file named
|
||||||
|
<I>config</I> in the current directory. If no
|
||||||
|
<I>configfile</I> is found, <B>Privoxy</B> will
|
||||||
|
fail to start.
|
||||||
|
<A NAME="lbAE"> </A>
|
||||||
|
<H2>DESCRIPTION</H2>
|
||||||
|
|
||||||
</pre>
|
<P>
|
||||||
|
|
||||||
<h2>OPTIONS</h2>
|
Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||||
<pre>
|
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
||||||
<b>Privoxy</b> may be invoked with the following command line options:
|
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>
|
<P>
|
||||||
Print version info and exit.
|
|
||||||
|
|
||||||
<b>--no-daemon</b>
|
Browsers can either be individually configured to use
|
||||||
Don't become a daemon, i.e. don't fork and become process
|
<B>Privoxy</B> as a HTTP proxy (recommended),
|
||||||
group leader, don't detach from controlling tty, and do all log-
|
or <B>Privoxy</B> can be combined with a packet
|
||||||
ging there.
|
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>
|
For Internet Explorer, go through: <B>Tools</B>;
|
||||||
On startup, write the process ID to <i>pidfile</i>. Delete the <i>pidfile</i>
|
<B>Internet Properties</B>; <B>Connections</B>;
|
||||||
on exit. Failure to create or delete the <i>pidfile</i> is non-fatal.
|
<B>LAN Settings</B>.
|
||||||
If no <b>--pidfile</b> option is given, no PID file will be used.
|
<P>
|
||||||
|
|
||||||
<b>--user</b> <i>user[.group]</i>
|
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
||||||
After (optionally) writing the PID file, assume the user ID of
|
https: URLs will not be proxied. Note: <B>Privoxy</B> can only
|
||||||
<i>user</i> and the GID of <i>group</i>, or, if the optional <i>group</i> was not
|
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
|
||||||
given, the default group of <i>user</i>. Exit if the privileges are not
|
HTTPS presents some limitations, and not all features will work with HTTPS
|
||||||
sufficient to do so.
|
connections.
|
||||||
|
<P>
|
||||||
|
|
||||||
<b>--chroot</b>
|
For other browsers, check the documentation.
|
||||||
Before changing to the user ID given in the --user option,
|
<A NAME="lbAG"> </A>
|
||||||
chroot to that user's home directory, i.e. make the kernel pre-
|
<H2>CONFIGURATION</H2>
|
||||||
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.
|
|
||||||
|
|
||||||
<b>--pre-chroot-nslookup</b> <i>hostname</i>
|
<P>
|
||||||
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.
|
|
||||||
|
|
||||||
If the <i>configfile</i> is not specified on the command line, <b>Privoxy</b>
|
<B>Privoxy</B> can be configured with the various configuration
|
||||||
will look for a file named <i>config</i> in the current directory. If no <i>con-</i>
|
files. The default configuration files are: <I>config</I>,
|
||||||
<i>figfile</i> is found, <b>Privoxy</b> will fail to start.
|
<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>
|
See the <I>User Manual</I> for a detailed
|
||||||
<pre>
|
explanation of installation, general usage, all configuration options, new
|
||||||
Privoxy is a non-caching web proxy with advanced filtering capabilities
|
features and notes on upgrading.
|
||||||
for enhancing privacy, modifying web page data and HTTP headers, con-
|
<A NAME="lbAH"> </A>
|
||||||
trolling access, and removing ads and other obnoxious Internet junk.
|
<H2>FILES</H2>
|
||||||
Privoxy has a flexible configuration and can be customized to suit
|
|
||||||
|
|
||||||
|
<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>
|
<P>
|
||||||
<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>.
|
|
||||||
|
|
||||||
For Internet Explorer, go through: <b>Tools</b>; <b>Internet</b> <b>Properties</b>; <b>Connec-</b>
|
Various other files should be included, but may vary depending on platform
|
||||||
<b>tions</b>; <b>LAN</b> <b>Settings</b>.
|
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
|
<P>
|
||||||
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.
|
|
||||||
|
|
||||||
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>
|
<P>
|
||||||
<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.
|
|
||||||
|
|
||||||
<b>Privoxy</b> uses the concept of <b>actions</b> in order to manipulate the data
|
Other references and sites of interest to <B>Privoxy</B>
|
||||||
stream between the browser and remote sites. There are various actions
|
users:
|
||||||
available with specific functions for such things as blocking web
|
<P>
|
||||||
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.
|
|
||||||
|
|
||||||
The actions list (ad blocks, etc) can also be configured with your web
|
<P>
|
||||||
browser at http://config.privoxy.org/ (assuming the configuration
|
<A HREF="http://www.privoxy.org/">http://www.privoxy.org/,</A>
|
||||||
allows it). <b>Privoxy's</b> configuration parameters can also be viewed at
|
the <B>Privoxy</B> Home page.
|
||||||
the same page. In addition, <b>Privoxy</b> can be toggled on/off. This is an
|
<P>
|
||||||
internal page, and does not require Internet access.
|
<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
|
<P>
|
||||||
usage, all configuration options, new features and notes on upgrading.
|
<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>
|
<A NAME="lbAN"> </A>
|
||||||
<pre>
|
<H3>COPYRIGHT</H3>
|
||||||
<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.
|
|
||||||
|
|
||||||
|
<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>
|
Some source code is based on code Copyright (C) 1997 by Anonymous Coders
|
||||||
<pre>
|
and Junkbusters, Inc. and licensed under the <I>GNU General Public
|
||||||
This is a UNRELEASED version of <b>Privoxy</b>. Not all features are well
|
License</I>.
|
||||||
tested.
|
<A NAME="lbAO"> </A>
|
||||||
|
<H3>LICENSE</H3>
|
||||||
|
|
||||||
Please see the <i>User</i> <i>Manual</i> on how to contact the developers, for fea-
|
<P>
|
||||||
ture requests, reporting problems, and other questions.
|
|
||||||
|
|
||||||
|
<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>
|
You should have received a copy of the <I>GNU GPL</I>
|
||||||
<pre>
|
along with this program; if not, write to the Free Software
|
||||||
Other references and sites of interest to <b>Privoxy</b> users:
|
Foundation, Inc. 51 Franklin Street, Fifth Floor
|
||||||
|
Boston, MA 02110-1301
|
||||||
|
USA
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<HR>
|
||||||
http://www.privoxy.org/, the <b>Privoxy</b> Home page.
|
<A NAME="index"> </A><H2>Index</H2>
|
||||||
|
<DL>
|
||||||
http://www.privoxy.org/faq/, the <b>Privoxy</b> FAQ.
|
<DT><A HREF="#lbAB">NAME</A><DD>
|
||||||
|
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
|
||||||
http://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer manual.
|
<DT><A HREF="#lbAD">OPTIONS</A><DD>
|
||||||
|
<DT><A HREF="#lbAE">DESCRIPTION</A><DD>
|
||||||
https://sourceforge.net/projects/ijbswa/, the Project Page for <b>Privoxy</b>
|
<DT><A HREF="#lbAF">INSTALLATION AND USAGE</A><DD>
|
||||||
on SourceForge.
|
<DT><A HREF="#lbAG">CONFIGURATION</A><DD>
|
||||||
|
<DT><A HREF="#lbAH">FILES</A><DD>
|
||||||
http://config.privoxy.org/, the web-based user interface. <b>Privoxy</b> must
|
<DT><A HREF="#lbAI">SIGNALS</A><DD>
|
||||||
be running for this to work. Shortcut: http://p.p/
|
<DT><A HREF="#lbAJ">NOTES</A><DD>
|
||||||
|
<DT><A HREF="#lbAK">SEE ALSO</A><DD>
|
||||||
https://sourceforge.net/tracker/?group_id=11118&atid=460288, to submit
|
<DT><A HREF="#lbAL">DEVELOPMENT TEAM</A><DD>
|
||||||
``misses'' and other configuration related suggestions to the develop-
|
<DT><A HREF="#lbAM">COPYRIGHT AND LICENSE</A><DD>
|
||||||
ers.
|
<DL>
|
||||||
|
<DT><A HREF="#lbAN">COPYRIGHT</A><DD>
|
||||||
|
<DT><A HREF="#lbAO">LICENSE</A><DD>
|
||||||
</pre>
|
</DL>
|
||||||
|
</DL>
|
||||||
<h2>DEVELOPMENT TEAM</h2>
|
<HR>
|
||||||
<pre>
|
This document was created by
|
||||||
Fabian Keil, lead developer
|
man2html,
|
||||||
David Schmidt, developer
|
using the manual pages.<BR>
|
||||||
|
Time: 11:32:52 GMT, March 21, 2009
|
||||||
Hal Burgiss
|
</BODY>
|
||||||
Lee Rian
|
</HTML>
|
||||||
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>
|
|
||||||
|
|
|
@ -1,185 +1,283 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"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>
|
<A
|
||||||
<head>
|
HREF="http://privoxy.org/team/index.html"
|
||||||
<meta name="generator" content=
|
TARGET="_top"
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
>Pictures of the Privoxy Team</A
|
||||||
|
>
|
||||||
<title>Privoxy - The Privacy Enhancing Proxy</title>
|
</P
|
||||||
<meta name="GENERATOR" content=
|
></LI
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
></UL
|
||||||
<meta name="KEYWORD" content="privoxy">
|
></P
|
||||||
<meta name="KEYWORD" content="HTTP">
|
></DIV
|
||||||
<meta name="KEYWORD" content="proxy">
|
><DIV
|
||||||
<meta name="KEYWORD" content="privacy">
|
CLASS="SECT1"
|
||||||
<meta name="KEYWORD" content="popups">
|
><HR><H2
|
||||||
<meta name="KEYWORD" content="po-ups">
|
CLASS="SECT1"
|
||||||
<meta name="KEYWORD" content="HTML">
|
><A
|
||||||
<meta name="KEYWORD" content="JavaScript">
|
NAME="AEN82"
|
||||||
<meta name="KEYWORD" content="cleaning">
|
></A
|
||||||
<meta name="KEYWORD" content="blocking">
|
></H2
|
||||||
<meta name="KEYWORD" content="cleaner">
|
><P
|
||||||
<meta name="KEYWORD" content="blocker">
|
> <SUB
|
||||||
<meta name="KEYWORD" content="filter">
|
> Copyright © 2001-2009 by Privoxy Developers
|
||||||
<meta name="KEYWORD" content="proxy">
|
</SUB
|
||||||
<meta name="KEYWORD" content="junk">
|
></P
|
||||||
<meta name="KEYWORD" content="ad">
|
></DIV
|
||||||
<meta name="KEYWORD" content="advertisement">
|
></DIV
|
||||||
<meta name="KEYWORD" content="banner">
|
></BODY
|
||||||
<meta name="KEYWORD" content="webbugs">
|
></HTML
|
||||||
<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>
|
|
|
@ -1,52 +1,26 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta name="generator" content=
|
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1">
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
|
||||||
|
|
||||||
<title>Privoxy - Team Photos</title>
|
<title>Privoxy - Team Photos</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../p_doc.css">
|
<link rel="stylesheet" type="text/css" href="../p_doc.css">
|
||||||
<style type="text/css">
|
</head>
|
||||||
h1.c1 {margin-left: 0%}
|
<body>
|
||||||
</style>
|
<h1 style="margin-left: 0%">Privoxy - Team Photos</h1>
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<h1 class="c1">Privoxy - Team Photos</h1>
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<p>In our day jobs, we're all models ;-)</p>
|
<p>In our day jobs, we're all models ;-)</p>
|
||||||
|
|
||||||
<table align="center">
|
<table align="center">
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="01stefanw.jpg"><img src="01stefanw_t.jpg" width="80"
|
<td><a href="01stefanw.jpg"><img src="01stefanw_t.jpg" width="80" height="80" border="0" title="Stefan Waldherr"></a></td>
|
||||||
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="02jon.jpg"><img src="02jon_t.jpg" width="80" height="80"
|
<td><a href="04rodney.jpg"><img src="04rodney_t.jpg" width="80" height="80" border="0" title="Rodney Stromlund"></a></td>
|
||||||
border="0" title="Jon Foster"></a></td>
|
</tr>
|
||||||
|
<tr>
|
||||||
<td><a href="03andreas.jpg"><img src="03andreas_t.jpg" width="80"
|
<td><a href="05david.jpg"><img src="05david_t.jpg" width="80" height="80" border="0" title="David Schmidt"></a></td>
|
||||||
height="80" border="0" title="Andreas Oesterhelt"></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="04rodney.jpg"><img src="04rodney_t.jpg" width="80" height=
|
<td><a href="08member.jpg"><img src="08member_t.jpg" width="80" height="80" border="0" title="N/A"></a></td>
|
||||||
"80" border="0" title="Rodney Stromlund"></a></td>
|
</tr>
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td><a href="05david.jpg"><img src="05david_t.jpg" width="80" height=
|
|
||||||
"80" border="0" title="David Schmidt"></a></td>
|
|
||||||
|
|
||||||
<td><a href="06member.jpg"><img src="06member_t.jpg" width="80" height=
|
|
||||||
"80" border="0" title="N/A"></a></td>
|
|
||||||
|
|
||||||
<td><a href="07member.jpg"><img src="07member_t.jpg" width="80" height=
|
|
||||||
"80" border="0" title="N/A"></a></td>
|
|
||||||
|
|
||||||
<td><a href="08member.jpg"><img src="08member_t.jpg" width="80" height=
|
|
||||||
"80" border="0" title="N/A"></a></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,282 +1,514 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Privoxy Configuration</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Privoxy Configuration</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy 3.0.12 User Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Starting Privoxy" href="startup.html">
|
TITLE="Starting Privoxy"
|
||||||
<link rel="NEXT" title="The Main Configuration File" href="config.html">
|
HREF="startup.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
REL="NEXT"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
TITLE="The Main Configuration File"
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
HREF="config.html"><LINK
|
||||||
<style type="text/css">
|
REL="STYLESHEET"
|
||||||
body {
|
TYPE="text/css"
|
||||||
background-color: #EEEEEE;
|
HREF="../p_doc.css"><META
|
||||||
color: #000000;
|
HTTP-EQUIV="Content-Type"
|
||||||
}
|
CONTENT="text/html;
|
||||||
:link { color: #0000FF }
|
charset=ISO-8859-1">
|
||||||
:visited { color: #840084 }
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
|
||||||
:active { color: #0000FF }
|
</head
|
||||||
span.c3 {font-style: italic}
|
><BODY
|
||||||
table.c2 {background-color: #E0E0E0}
|
CLASS="SECT1"
|
||||||
hr.c1 {text-align: left}
|
BGCOLOR="#EEEEEE"
|
||||||
</style>
|
TEXT="#000000"
|
||||||
</head>
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
<body class="SECT1">
|
ALINK="#0000FF"
|
||||||
<div class="NAVHEADER">
|
><DIV
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
CLASS="NAVHEADER"
|
||||||
cellpadding="0" cellspacing="0">
|
><TABLE
|
||||||
<tr>
|
SUMMARY="Header navigation table"
|
||||||
<th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
|
WIDTH="100%"
|
||||||
</tr>
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
<tr>
|
CELLSPACING="0"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="startup.html"
|
><TR
|
||||||
accesskey="P">Prev</a></td>
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
ALIGN="center"
|
||||||
|
>Privoxy 3.0.12 User Manual</TH
|
||||||
<td width="10%" align="right" valign="bottom"><a href="config.html"
|
></TR
|
||||||
accesskey="N">Next</a></td>
|
><TR
|
||||||
</tr>
|
><TD
|
||||||
</table>
|
WIDTH="10%"
|
||||||
<hr class="c1" width="100%">
|
ALIGN="left"
|
||||||
</div>
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
<div class="SECT1">
|
HREF="startup.html"
|
||||||
<h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">6. Privoxy
|
ACCESSKEY="P"
|
||||||
Configuration</a></h1>
|
>Prev</A
|
||||||
|
></TD
|
||||||
<p>All <span class="APPLICATION">Privoxy</span> configuration is stored
|
><TD
|
||||||
in text files. These files can be edited with a text editor. Many
|
WIDTH="80%"
|
||||||
important aspects of <span class="APPLICATION">Privoxy</span> can also be
|
ALIGN="center"
|
||||||
controlled easily with a web browser.</p>
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
<div class="SECT2">
|
><TD
|
||||||
<h2 class="SECT2"><a name="AEN1090" id="AEN1090">6.1. Controlling
|
WIDTH="10%"
|
||||||
Privoxy with Your Web Browser</a></h2>
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
<p><span class="APPLICATION">Privoxy</span>'s user interface can be
|
><A
|
||||||
reached through the special URL <a href="http://config.privoxy.org/"
|
HREF="config.html"
|
||||||
target="_top">http://config.privoxy.org/</a> (shortcut: <a href=
|
ACCESSKEY="N"
|
||||||
"http://p.p/" target="_top">http://p.p/</a>), which is a built-in page
|
>Next</A
|
||||||
and works without Internet access. You will see the following
|
></TD
|
||||||
section:</p>
|
></TR
|
||||||
|
></TABLE
|
||||||
<table class="c2" border="0" width="100%">
|
><HR
|
||||||
<tr>
|
ALIGN="LEFT"
|
||||||
<td>
|
WIDTH="100%"></DIV
|
||||||
<pre class="SCREEN">
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
</pre>
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
<h2 class="BRIDGEHEAD"><a name="AEN1098" id=
|
><A
|
||||||
"AEN1098"></a> Privoxy Menu</h2>
|
NAME="CONFIGURATION"
|
||||||
<pre>
|
>6. Privoxy Configuration</A
|
||||||
</pre>
|
></H1
|
||||||
|
><P
|
||||||
<table border="0">
|
> All <SPAN
|
||||||
<tbody>
|
CLASS="APPLICATION"
|
||||||
<tr>
|
>Privoxy</SPAN
|
||||||
<td>
|
> configuration is stored
|
||||||
▪ <a href="http://config.privoxy.org/show-status"
|
in text files. These files can be edited with a text editor.
|
||||||
target="_top">View & change the current
|
Many important aspects of <SPAN
|
||||||
configuration</a></td>
|
CLASS="APPLICATION"
|
||||||
</tr>
|
>Privoxy</SPAN
|
||||||
|
> can
|
||||||
<tr>
|
also be controlled easily with a web browser.
|
||||||
<td>
|
</P
|
||||||
▪ <a href="http://config.privoxy.org/show-version"
|
><DIV
|
||||||
target="_top">View the source code version numbers</a></td>
|
CLASS="SECT2"
|
||||||
</tr>
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
<tr>
|
><A
|
||||||
<td>
|
NAME="AEN776"
|
||||||
▪ <a href="http://config.privoxy.org/show-request"
|
>6.1. Controlling Privoxy with Your Web Browser</A
|
||||||
target="_top">View the request headers.</a></td>
|
></H2
|
||||||
</tr>
|
><P
|
||||||
|
> <SPAN
|
||||||
<tr>
|
CLASS="APPLICATION"
|
||||||
<td>
|
>Privoxy</SPAN
|
||||||
▪ <a href="http://config.privoxy.org/show-url-info"
|
>'s user interface can be reached through the special
|
||||||
target="_top">Look up which actions apply to a URL and
|
URL <A
|
||||||
why</a></td>
|
HREF="http://config.privoxy.org/"
|
||||||
</tr>
|
TARGET="_top"
|
||||||
|
>http://config.privoxy.org/</A
|
||||||
<tr>
|
>
|
||||||
<td>
|
(shortcut: <A
|
||||||
▪ <a href="http://config.privoxy.org/toggle"
|
HREF="http://p.p/"
|
||||||
target="_top">Toggle Privoxy on or off</a></td>
|
TARGET="_top"
|
||||||
</tr>
|
>http://p.p/</A
|
||||||
|
>),
|
||||||
<tr>
|
which is a built-in page and works without Internet access.
|
||||||
<td>
|
You will see the following section: </P
|
||||||
▪ <a href="http://www.privoxy.org/3.0.19/user-manual/"
|
><TABLE
|
||||||
target="_top">Documentation</a></td>
|
BORDER="0"
|
||||||
</tr>
|
BGCOLOR="#E0E0E0"
|
||||||
</tbody>
|
WIDTH="100%"
|
||||||
</table>
|
><TR
|
||||||
</td>
|
><TD
|
||||||
</tr>
|
><PRE
|
||||||
</table>
|
CLASS="SCREEN"
|
||||||
|
> <H2
|
||||||
<p>This should be self-explanatory. Note the first item leads to an
|
CLASS="BRIDGEHEAD"
|
||||||
editor for the <a href="actions-file.html">actions files</a>, which is
|
><A
|
||||||
where the ad, banner, cookie, and URL blocking magic is configured as
|
NAME="AEN784"
|
||||||
well as other advanced features of <span class=
|
></A
|
||||||
"APPLICATION">Privoxy</span>. This is an easy way to adjust various
|
> Privoxy Menu</H2
|
||||||
aspects of <span class="APPLICATION">Privoxy</span> configuration. The
|
><P
|
||||||
actions file, and other configuration files, are explained in detail
|
></P
|
||||||
below.</p>
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
<p><span class="QUOTE">"Toggle Privoxy On or Off"</span> is handy for
|
><TBODY
|
||||||
sites that might have problems with your current actions and filters.
|
><TR
|
||||||
You can in fact use it as a test to see whether it is <span class=
|
><TD
|
||||||
"APPLICATION">Privoxy</span> causing the problem or not. <span class=
|
> ▪ <A
|
||||||
"APPLICATION">Privoxy</span> continues to run as a proxy in this case,
|
HREF="http://config.privoxy.org/show-status"
|
||||||
but all manipulation is disabled, i.e. <span class=
|
TARGET="_top"
|
||||||
"APPLICATION">Privoxy</span> acts like a normal forwarding proxy. There
|
>View & change the current configuration</A
|
||||||
is even a toggle <a href="appendix.html#BOOKMARKLETS">Bookmarklet</a>
|
>
|
||||||
offered, so that you can toggle <span class=
|
</TD
|
||||||
"APPLICATION">Privoxy</span> with one click from your browser.</p>
|
></TR
|
||||||
|
><TR
|
||||||
<p>Note that several of the features described above are disabled by
|
><TD
|
||||||
default in <span class="APPLICATION">Privoxy</span> 3.0.7 beta and
|
> ▪ <A
|
||||||
later. Check the <a href="config.html" target="_top">configuration
|
HREF="http://config.privoxy.org/show-version"
|
||||||
file</a> to learn why and in which cases it's safe to enable them
|
TARGET="_top"
|
||||||
again.</p>
|
>View the source code version numbers</A
|
||||||
</div>
|
>
|
||||||
|
</TD
|
||||||
<div class="SECT2">
|
></TR
|
||||||
<h2 class="SECT2"><a name="CONFOVERVIEW" id="CONFOVERVIEW">6.2.
|
><TR
|
||||||
Configuration Files Overview</a></h2>
|
><TD
|
||||||
|
> ▪ <A
|
||||||
<p>For Unix, *BSD and Linux, all configuration files are located in
|
HREF="http://config.privoxy.org/show-request"
|
||||||
<tt class="FILENAME">/etc/privoxy/</tt> by default. For MS Windows,
|
TARGET="_top"
|
||||||
OS/2, and AmigaOS these are all in the same directory as the
|
>View the request headers.</A
|
||||||
<span class="APPLICATION">Privoxy</span> executable.</p>
|
>
|
||||||
|
</TD
|
||||||
<p>The installed defaults provide a reasonable starting point, though
|
></TR
|
||||||
some settings may be aggressive by some standards. For the time being,
|
><TR
|
||||||
the principle configuration files are:</p>
|
><TD
|
||||||
|
> ▪ <A
|
||||||
<ul>
|
HREF="http://config.privoxy.org/show-url-info"
|
||||||
<li>
|
TARGET="_top"
|
||||||
<p>The <a href="config.html">main configuration file</a> is named
|
>Look up which actions apply to a URL and why</A
|
||||||
<tt class="FILENAME">config</tt> on Linux, Unix, BSD, OS/2, and
|
>
|
||||||
AmigaOS and <tt class="FILENAME">config.txt</tt> on Windows. This
|
</TD
|
||||||
is a required file.</p>
|
></TR
|
||||||
</li>
|
><TR
|
||||||
|
><TD
|
||||||
<li>
|
> ▪ <A
|
||||||
<p><tt class="FILENAME">match-all.action</tt> is used to define
|
HREF="http://config.privoxy.org/toggle"
|
||||||
which <span class="QUOTE">"actions"</span> relating to
|
TARGET="_top"
|
||||||
banner-blocking, images, pop-ups, content modification, cookie
|
>Toggle Privoxy on or off</A
|
||||||
handling etc should be applied by default. It should be the first
|
>
|
||||||
actions file loaded.</p>
|
</TD
|
||||||
|
></TR
|
||||||
<p><tt class="FILENAME">default.action</tt> defines many exceptions
|
><TR
|
||||||
(both positive and negative) from the default set of actions that's
|
><TD
|
||||||
configured in <tt class="FILENAME">match-all.action</tt>. It should
|
> ▪ <A
|
||||||
be the second actions file loaded and shouldn't be edited by the
|
HREF="http://www.privoxy.org/3.0.12/user-manual/"
|
||||||
user.</p>
|
TARGET="_top"
|
||||||
|
>Documentation</A
|
||||||
<p>Multiple actions files may be defined in <tt class=
|
>
|
||||||
"FILENAME">config</tt>. These are processed in the order they are
|
</TD
|
||||||
defined. Local customizations and locally preferred exceptions to
|
></TR
|
||||||
the default policies as defined in <tt class=
|
></TBODY
|
||||||
"FILENAME">match-all.action</tt> (which you will most probably want
|
></TABLE
|
||||||
to define sooner or later) are best applied in <tt class=
|
><P
|
||||||
"FILENAME">user.action</tt>, where you can preserve them across
|
></P
|
||||||
upgrades. The file isn't installed by all installers, but you can
|
></PRE
|
||||||
easily create it yourself with a text editor.</p>
|
></TD
|
||||||
|
></TR
|
||||||
<p>There is also a web based editor that can be accessed from
|
></TABLE
|
||||||
<a href="http://config.privoxy.org/show-status" target=
|
><P
|
||||||
"_top">http://config.privoxy.org/show-status</a> (Shortcut:
|
> This should be self-explanatory. Note the first item leads to an editor for the
|
||||||
<a href="http://p.p/show-status" target=
|
<A
|
||||||
"_top">http://p.p/show-status</a>) for the various actions
|
HREF="actions-file.html"
|
||||||
files.</p>
|
>actions files</A
|
||||||
</li>
|
>, which is where the ad, banner,
|
||||||
|
cookie, and URL blocking magic is configured as well as other advanced features of
|
||||||
<li>
|
<SPAN
|
||||||
<p><span class="QUOTE">"Filter files"</span> (the <a href=
|
CLASS="APPLICATION"
|
||||||
"filter-file.html">filter file</a>) can be used to re-write the raw
|
>Privoxy</SPAN
|
||||||
page content, including viewable text as well as embedded HTML and
|
>. This is an easy way to adjust various
|
||||||
JavaScript, and whatever else lurks on any given web page. The
|
aspects of <SPAN
|
||||||
filtering jobs are only pre-defined here; whether to apply them or
|
CLASS="APPLICATION"
|
||||||
not is up to the actions files. <tt class=
|
>Privoxy</SPAN
|
||||||
"FILENAME">default.filter</tt> includes various filters made
|
> configuration. The actions
|
||||||
available for use by the developers. Some are much more intrusive
|
file, and other configuration files, are explained in detail below. </P
|
||||||
than others, and all should be used with caution. You may define
|
><P
|
||||||
additional filter files in <tt class="FILENAME">config</tt> as you
|
> <SPAN
|
||||||
can with actions files. We suggest <tt class=
|
CLASS="QUOTE"
|
||||||
"FILENAME">user.filter</tt> for any locally defined filters or
|
>"Toggle Privoxy On or Off"</SPAN
|
||||||
customizations.</p>
|
> is handy for sites that might
|
||||||
</li>
|
have problems with your current actions and filters. You can in fact use
|
||||||
</ul>
|
it as a test to see whether it is <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<p>The syntax of the configuration and filter files may change between
|
>Privoxy</SPAN
|
||||||
different Privoxy versions, unfortunately some enhancements cost
|
>
|
||||||
backwards compatibility.</p>
|
causing the problem or not. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<p>All files use the <span class="QUOTE">"<tt class=
|
>Privoxy</SPAN
|
||||||
"LITERAL">#</tt>"</span> character to denote a comment (the rest of the
|
> continues
|
||||||
line will be ignored) and understand line continuation through placing
|
to run as a proxy in this case, but all manipulation is disabled, i.e.
|
||||||
a backslash ("<tt class="LITERAL">\</tt>") as the very last character
|
<SPAN
|
||||||
in a line. If the <tt class="LITERAL">#</tt> is preceded by a
|
CLASS="APPLICATION"
|
||||||
backslash, it looses its special function. Placing a <tt class=
|
>Privoxy</SPAN
|
||||||
"LITERAL">#</tt> in front of an otherwise valid configuration line to
|
> acts like a normal forwarding proxy. There
|
||||||
prevent it from being interpreted is called "commenting out" that line.
|
is even a toggle <A
|
||||||
Blank lines are ignored.</p>
|
HREF="appendix.html#BOOKMARKLETS"
|
||||||
|
>Bookmarklet</A
|
||||||
<p>The actions files and filter files can use Perl style <a href=
|
> offered, so
|
||||||
"appendix.html#REGEX">regular expressions</a> for maximum
|
that you can toggle <SPAN
|
||||||
flexibility.</p>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<p>After making any changes, there is no need to restart <span class=
|
> with one click from
|
||||||
"APPLICATION">Privoxy</span> in order for the changes to take effect.
|
your browser.</P
|
||||||
<span class="APPLICATION">Privoxy</span> detects such changes
|
><P
|
||||||
automatically. Note, however, that it may take one or two additional
|
> Note that several of the features described above are disabled by default
|
||||||
requests for the change to take effect. When changing the listening
|
in <SPAN
|
||||||
address of <span class="APPLICATION">Privoxy</span>, these <span class=
|
CLASS="APPLICATION"
|
||||||
"QUOTE">"wake up"</span> requests must obviously be sent to the
|
>Privoxy</SPAN
|
||||||
<span class="emphasis EMPHASIS c3">old</span> listening address.</p>
|
> 3.0.7 beta and later.
|
||||||
</div>
|
Check the
|
||||||
</div>
|
<A
|
||||||
|
HREF="config.html"
|
||||||
<div class="NAVFOOTER">
|
TARGET="_top"
|
||||||
<hr class="c1" width="100%">
|
>configuration file</A
|
||||||
|
> to learn why
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
and in which cases it's safe to enable them again.</P
|
||||||
cellpadding="0" cellspacing="0">
|
></DIV
|
||||||
<tr>
|
><DIV
|
||||||
<td width="33%" align="left" valign="top"><a href="startup.html"
|
CLASS="SECT2"
|
||||||
accesskey="P">Prev</a></td>
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
><A
|
||||||
accesskey="H">Home</a></td>
|
NAME="CONFOVERVIEW"
|
||||||
|
>6.2. Configuration Files Overview</A
|
||||||
<td width="33%" align="right" valign="top"><a href="config.html"
|
></H2
|
||||||
accesskey="N">Next</a></td>
|
><P
|
||||||
</tr>
|
> For Unix, *BSD and Linux, all configuration files are located in
|
||||||
|
<TT
|
||||||
<tr>
|
CLASS="FILENAME"
|
||||||
<td width="33%" align="left" valign="top">Starting Privoxy</td>
|
>/etc/privoxy/</TT
|
||||||
|
> by default. For MS Windows, OS/2, and
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
AmigaOS these are all in the same directory as the
|
||||||
|
<SPAN
|
||||||
<td width="33%" align="right" valign="top">The Main Configuration
|
CLASS="APPLICATION"
|
||||||
File</td>
|
>Privoxy</SPAN
|
||||||
</tr>
|
> executable. </P
|
||||||
</table>
|
><P
|
||||||
</div>
|
> The installed defaults provide a reasonable starting point, though
|
||||||
</body>
|
some settings may be aggressive by some standards. For the time being, the
|
||||||
</html>
|
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Contacting the Developers, Bug Reporting and Feature
|
||||||
<meta name="generator" content=
|
Requests</TITLE
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
<title>Contacting the Developers, Bug Reporting and Feature
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
Requests</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy 3.0.12 User Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Privoxy's Template Files" href=
|
TITLE="Privoxy's Template Files"
|
||||||
"templates.html">
|
HREF="templates.html"><LINK
|
||||||
<link rel="NEXT" title="Privoxy Copyright, License and History" href=
|
REL="NEXT"
|
||||||
"copyright.html">
|
TITLE="Privoxy Copyright, License and History"
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
HREF="copyright.html"><LINK
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
REL="STYLESHEET"
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
TYPE="text/css"
|
||||||
<style type="text/css">
|
HREF="../p_doc.css"><META
|
||||||
body {
|
HTTP-EQUIV="Content-Type"
|
||||||
background-color: #EEEEEE;
|
CONTENT="text/html;
|
||||||
color: #000000;
|
charset=ISO-8859-1">
|
||||||
}
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
|
||||||
:link { color: #0000FF }
|
</head
|
||||||
:visited { color: #840084 }
|
><BODY
|
||||||
:active { color: #0000FF }
|
CLASS="SECT1"
|
||||||
span.c2 {font-style: italic}
|
BGCOLOR="#EEEEEE"
|
||||||
hr.c1 {text-align: left}
|
TEXT="#000000"
|
||||||
</style>
|
LINK="#0000FF"
|
||||||
</head>
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
<body class="SECT1">
|
><DIV
|
||||||
<div class="NAVHEADER">
|
CLASS="NAVHEADER"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><TABLE
|
||||||
cellpadding="0" cellspacing="0">
|
SUMMARY="Header navigation table"
|
||||||
<tr>
|
WIDTH="100%"
|
||||||
<th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
|
BORDER="0"
|
||||||
</tr>
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
<tr>
|
><TR
|
||||||
<td width="10%" align="left" valign="bottom"><a href="templates.html"
|
><TH
|
||||||
accesskey="P">Prev</a></td>
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
>Privoxy 3.0.12 User Manual</TH
|
||||||
|
></TR
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
><TR
|
||||||
"copyright.html" accesskey="N">Next</a></td>
|
><TD
|
||||||
</tr>
|
WIDTH="10%"
|
||||||
</table>
|
ALIGN="left"
|
||||||
<hr class="c1" width="100%">
|
VALIGN="bottom"
|
||||||
</div>
|
><A
|
||||||
|
HREF="templates.html"
|
||||||
<div class="SECT1">
|
ACCESSKEY="P"
|
||||||
<h1 class="SECT1"><a name="CONTACT" id="CONTACT">11. Contacting the
|
>Prev</A
|
||||||
Developers, Bug Reporting and Feature Requests</a></h1>
|
></TD
|
||||||
|
><TD
|
||||||
<p>We value your feedback. In fact, we rely on it to improve <span class=
|
WIDTH="80%"
|
||||||
"APPLICATION">Privoxy</span> and its configuration. However, please note
|
ALIGN="center"
|
||||||
the following hints, so we can provide you with the best support:</p>
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
<div class="SECT2">
|
><TD
|
||||||
<h2 class="SECT2"><a name="CONTACT-SUPPORT" id="CONTACT-SUPPORT">11.1.
|
WIDTH="10%"
|
||||||
Get Support</a></h2>
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>For casual users, our <a href=
|
><A
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
HREF="copyright.html"
|
||||||
target="_top">support forum at SourceForge</a> is probably best suited:
|
ACCESSKEY="N"
|
||||||
<a href=
|
>Next</A
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
></TD
|
||||||
target="_top">http://sourceforge.net/tracker/?group_id=11118&atid=211118</a></p>
|
></TR
|
||||||
|
></TABLE
|
||||||
<p>All users are of course welcome to discuss their issues on the
|
><HR
|
||||||
<a href="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
ALIGN="LEFT"
|
||||||
target="_top">users mailing list</a>, where the developers also hang
|
WIDTH="100%"></DIV
|
||||||
around.</p>
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
<p>Please don't sent private support requests to individual Privoxy
|
><H1
|
||||||
developers, either use the mailing lists or the support trackers.</p>
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
<p>If you have to contact a Privoxy developer directly for other
|
NAME="CONTACT"
|
||||||
reasons, please send a real mail and do not bother with SourceForge's
|
>11. Contacting the Developers, Bug Reporting and Feature
|
||||||
messaging system. Answers to SourceForge messages are usually bounced
|
Requests</A
|
||||||
by SourceForge's mail server in which case the developer wasted time
|
></H1
|
||||||
writing a response you don't get. From your point of view it will look
|
><P
|
||||||
like your message has been completely ignored, so this is frustrating
|
> We value your feedback. In fact, we rely on it to improve
|
||||||
for all parties involved.</p>
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<p>Note that the Privoxy mailing lists are moderated. Posts from
|
>Privoxy</SPAN
|
||||||
unsubscribed addresses have to be accepted manually by a moderator.
|
> and its configuration.
|
||||||
This may cause a delay of several days and if you use a subject that
|
However, please note the following hints, so we can
|
||||||
doesn't clearly mention Privoxy or one of its features, your message
|
provide you with the best support:</P
|
||||||
may be accidentally discarded as spam.</p>
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
<p>If you aren't subscribed, you should therefore spend a few seconds
|
><H2
|
||||||
to come up with a proper subject. Additionally you should make it clear
|
CLASS="SECT2"
|
||||||
that you want to get CC'd. Otherwise some responses will be directed to
|
><A
|
||||||
the mailing list only, and you won't see them.</p>
|
NAME="CONTACT-SUPPORT"
|
||||||
</div>
|
>11.1. Get Support</A
|
||||||
|
></H2
|
||||||
<div class="SECT2">
|
><P
|
||||||
<h2 class="SECT2"><a name="REPORTING" id="REPORTING">11.2. Reporting
|
> For casual users, our
|
||||||
Problems</a></h2>
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
<p><span class="QUOTE">"Problems"</span> for our purposes, come in two
|
TARGET="_top"
|
||||||
forms:</p>
|
>support forum at SourceForge</A
|
||||||
|
>
|
||||||
<ul>
|
is probably best suited:
|
||||||
<li>
|
<A
|
||||||
<p>Configuration issues, such as ads that slip through, or sites
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
that don't function properly due to one <span class=
|
TARGET="_top"
|
||||||
"APPLICATION">Privoxy</span> <span class="QUOTE">"action"</span> or
|
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||||
another being turned <span class="QUOTE">"on"</span>.</p>
|
></P
|
||||||
</li>
|
><P
|
||||||
|
> All users are of course welcome to discuss their issues on the <A
|
||||||
<li>
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||||
<p><span class="QUOTE">"Bugs"</span> in the programming code that
|
TARGET="_top"
|
||||||
makes up <span class="APPLICATION">Privoxy</span>, such as that
|
>users
|
||||||
might cause a crash.</p>
|
mailing list</A
|
||||||
</li>
|
>, where the developers also hang around.</P
|
||||||
</ul>
|
><P
|
||||||
|
> Please don't sent private support requests to individual Privoxy
|
||||||
<div class="SECT3">
|
developers, either use the mailing lists or the support trackers.</P
|
||||||
<h3 class="SECT3"><a name="CONTACT-ADS" id="CONTACT-ADS">11.2.1.
|
><P
|
||||||
Reporting Ads or Other Configuration Problems</a></h3>
|
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
<p>Please send feedback on ads that slipped through, innocent images
|
delay of several days and if you use a subject that doesn't clearly
|
||||||
that were blocked, sites that don't work properly, and other
|
mention Privoxy or one of its features, your message may be accidentally
|
||||||
configuration related problem of <tt class=
|
discarded as spam.</P
|
||||||
"FILENAME">default.action</tt> file, to <a href=
|
><P
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
> If you aren't subscribed, you should therefore spend a few seconds
|
||||||
target=
|
to come up with a proper subject. Additionally you should make it clear
|
||||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
that you want to get CC'd. Otherwise some responses will be directed to
|
||||||
the Actions File Tracker.</p>
|
the mailing list only, and you won't see them.</P
|
||||||
|
></DIV
|
||||||
<p>New, improved <tt class="FILENAME">default.action</tt> files may
|
><DIV
|
||||||
occasionally be made available based on your feedback. These will be
|
CLASS="SECT2"
|
||||||
announced on the <a href=
|
><H2
|
||||||
"http://lists.sourceforge.net/lists/listinfo/ijbswa-announce" target=
|
CLASS="SECT2"
|
||||||
"_top">ijbswa-announce</a> list and available from our the <a href=
|
><A
|
||||||
"http://sourceforge.net/project/showfiles.php?group_id=11118" target=
|
NAME="REPORTING"
|
||||||
"_top">files section</a> of our <a href=
|
>11.2. Reporting Problems</A
|
||||||
"http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
|
></H2
|
||||||
</div>
|
><P
|
||||||
|
><SPAN
|
||||||
<div class="SECT3">
|
CLASS="QUOTE"
|
||||||
<h3 class="SECT3"><a name="CONTACT-BUGS" id="CONTACT-BUGS">11.2.2.
|
>"Problems"</SPAN
|
||||||
Reporting Bugs</a></h3>
|
> for our purposes, come in two forms:</P
|
||||||
|
><P
|
||||||
<p>Please report all bugs through our bug tracker: <a href=
|
></P
|
||||||
"http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
><UL
|
||||||
target=
|
><LI
|
||||||
"_top">http://sourceforge.net/tracker/?group_id=11118&atid=111118</a>.</p>
|
><P
|
||||||
|
> Configuration issues, such as ads that slip through, or sites that
|
||||||
<p>Before doing so, please make sure that the bug has <span class=
|
don't function properly due to one <SPAN
|
||||||
"emphasis EMPHASIS c2">not already been submitted</span> and observe
|
CLASS="APPLICATION"
|
||||||
the additional hints at the top of the <a href=
|
>Privoxy</SPAN
|
||||||
"http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
>
|
||||||
target="_top">submit form</a>. If already submitted, please feel free
|
<SPAN
|
||||||
to add any info to the original report that might help to solve the
|
CLASS="QUOTE"
|
||||||
issue.</p>
|
>"action"</SPAN
|
||||||
|
> or another being turned <SPAN
|
||||||
<p>Please try to verify that it is a <span class=
|
CLASS="QUOTE"
|
||||||
"APPLICATION">Privoxy</span> bug, and not a browser or site bug or
|
>"on"</SPAN
|
||||||
documented behaviour that just happens to be different than what you
|
>.
|
||||||
expected. If unsure, try <a href=
|
</P
|
||||||
"http://config.privoxy.org/toggle?set=disable" target="_top">toggling
|
></LI
|
||||||
off</a> <span class="APPLICATION">Privoxy</span>, and see if the
|
><LI
|
||||||
problem persists.</p>
|
><P
|
||||||
|
> <SPAN
|
||||||
<p>If you are using your own custom configuration, please try the
|
CLASS="QUOTE"
|
||||||
stock configs to see if the problem is configuration related. If
|
>"Bugs"</SPAN
|
||||||
you're having problems with a feature that is disabled by default,
|
> in the programming code that makes up
|
||||||
please ask around on the mailing list if others can reproduce the
|
<SPAN
|
||||||
problem.</p>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<p>If you aren't using the latest Privoxy version, the bug may have
|
>, such as that might cause a crash.
|
||||||
been found and fixed in the meantime. We would appreciate if you
|
</P
|
||||||
could take the time to <a href=
|
></LI
|
||||||
"http://www.privoxy.org/user-manual/installation.html" target=
|
></UL
|
||||||
"_top">upgrade to the latest version</a> (or even the latest CVS
|
><DIV
|
||||||
snapshot) and verify that your bug still exists.</p>
|
CLASS="SECT3"
|
||||||
|
><H3
|
||||||
<p>Please be sure to provide the following information:</p>
|
CLASS="SECT3"
|
||||||
|
><A
|
||||||
<ul>
|
NAME="CONTACT-ADS"
|
||||||
<li>
|
>11.2.1. Reporting Ads or Other Configuration Problems</A
|
||||||
<p>The exact <span class="APPLICATION">Privoxy</span> version you
|
></H3
|
||||||
are using (if you got the source from CVS, please also provide
|
><P
|
||||||
the source code revisions as shown in <a href=
|
> Please send feedback on ads that slipped through, innocent images that were
|
||||||
"http://config.privoxy.org/show-version" target=
|
blocked, sites that don't work properly, and other configuration related problem of
|
||||||
"_top">http://config.privoxy.org/show-version</a>).</p>
|
<TT
|
||||||
</li>
|
CLASS="FILENAME"
|
||||||
|
>default.action</TT
|
||||||
<li>
|
> file, to
|
||||||
<p>The operating system and versions you run <span class=
|
<A
|
||||||
"APPLICATION">Privoxy</span> on, (e.g. <span class=
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||||
"APPLICATION">Windows XP SP2</span>), if you are using a Unix
|
TARGET="_top"
|
||||||
flavor, sending the output of <span class="QUOTE">"uname
|
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||||
-a"</span> should do, in case of GNU/Linux, please also name the
|
>,
|
||||||
distribution.</p>
|
the Actions File Tracker.</P
|
||||||
</li>
|
><P
|
||||||
|
> New, improved <TT
|
||||||
<li>
|
CLASS="FILENAME"
|
||||||
<p>The name, platform, and version of the <span class=
|
>default.action</TT
|
||||||
"APPLICATION">browser</span> you were using (e.g. <span class=
|
> files may occasionally be made
|
||||||
"APPLICATION">Internet Explorer v5.5</span> for Mac).</p>
|
available based on your feedback. These will be announced on the <A
|
||||||
</li>
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||||
|
TARGET="_top"
|
||||||
<li>
|
>ijbswa-announce</A
|
||||||
<p>The URL where the problem occurred, or some way for us to
|
>
|
||||||
duplicate the problem (e.g. <tt class=
|
list and available from our the <A
|
||||||
"LITERAL">http://somesite.example.com/?somethingelse=123</tt>).</p>
|
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
</li>
|
TARGET="_top"
|
||||||
|
>files section</A
|
||||||
<li>
|
> of
|
||||||
<p>Whether your version of <span class=
|
our <A
|
||||||
"APPLICATION">Privoxy</span> is one supplied by the <span class=
|
HREF="http://sf.net/projects/ijbswa/"
|
||||||
"APPLICATION">Privoxy</span> developers via SourceForge, or if
|
TARGET="_top"
|
||||||
you got your copy somewhere else.</p>
|
>project page</A
|
||||||
</li>
|
>.</P
|
||||||
|
></DIV
|
||||||
<li>
|
><DIV
|
||||||
<p>Whether you are using <span class="APPLICATION">Privoxy</span>
|
CLASS="SECT3"
|
||||||
in tandem with another proxy such as <span class=
|
><H3
|
||||||
"APPLICATION">Tor</span>. If so, please temporary disable the
|
CLASS="SECT3"
|
||||||
other proxy to see if the symptoms change.</p>
|
><A
|
||||||
</li>
|
NAME="CONTACT-BUGS"
|
||||||
|
>11.2.2. Reporting Bugs</A
|
||||||
<li>
|
></H3
|
||||||
<p>Whether you are using a personal firewall product. If so, does
|
><P
|
||||||
<span class="APPLICATION">Privoxy</span> work without it?</p>
|
> Please report all bugs through our bug tracker:
|
||||||
</li>
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||||
<li>
|
TARGET="_top"
|
||||||
<p>Any other pertinent information to help identify the problem
|
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||||
such as config or log file excerpts (yes, you should have log
|
>. </P
|
||||||
file entries for each action taken). To get a meaningful logfile,
|
><P
|
||||||
please make sure that the <a href=
|
> Before doing so, please make sure that the bug has <SPAN
|
||||||
"../user-manual/config.html#LOGFILE" target="_top">logfile
|
CLASS="emphasis"
|
||||||
directive</a> is being used and the following <a href=
|
><I
|
||||||
"../user-manual/config.html#DEBUG" target="_top">debug
|
CLASS="EMPHASIS"
|
||||||
options</a> are enabled:</p>
|
>not already been submitted</I
|
||||||
|
></SPAN
|
||||||
<p class="LITERALLAYOUT">
|
>
|
||||||
debug 1 # Log the destination for each request Privoxy let through. See also debug 1024.<br>
|
and observe the additional hints at the top of the <A
|
||||||
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||||
debug 2 # show each connection status<br>
|
TARGET="_top"
|
||||||
|
>submit
|
||||||
debug 4 # show I/O status<br>
|
form</A
|
||||||
|
>. If already submitted, please feel free to add any info to the
|
||||||
debug 8 # show header parsing<br>
|
original report that might help to solve the issue.</P
|
||||||
|
><P
|
||||||
debug 128 # debug redirects<br>
|
> Please try to verify that it is a <SPAN
|
||||||
debug 256 # debug GIF de-animation<br>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
debug 512 # Common Log Format<br>
|
> bug,
|
||||||
|
and not a browser or site bug or documented behaviour that just happens
|
||||||
debug 1024 # Log the destination for requests Privoxy didn't let through, and the reason why.<br>
|
to be different than what you expected. If unsure,
|
||||||
|
try <A
|
||||||
debug 4096 # Startup banner and warnings.<br>
|
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||||
|
TARGET="_top"
|
||||||
debug 8192 # Non-fatal errors</p>If you
|
>toggling
|
||||||
are having trouble with a filter, please additionally enable
|
off</A
|
||||||
|
> <SPAN
|
||||||
<p class="LITERALLAYOUT">
|
CLASS="APPLICATION"
|
||||||
debug 64 # debug regular expression filters</p>If
|
>Privoxy</SPAN
|
||||||
you are using Privoxy 3.0.17 or later and suspect that it
|
>, and see if the problem persists.</P
|
||||||
interprets the request or the response incorrectly, please enable
|
><P
|
||||||
|
> If you are using your own custom configuration, please try
|
||||||
<p class="LITERALLAYOUT">
|
the stock configs to see if the problem is configuration related.
|
||||||
debug 32768 # log all data read from the network</p>Note
|
If you're having problems with a feature that is disabled by default,
|
||||||
that Privoxy log files may contain sensitive information so
|
please ask around on the mailing list if others can reproduce the problem.</P
|
||||||
please don't submit any logfiles you didn't read first. You can
|
><P
|
||||||
mask sensitive information as long as it's clear that you removed
|
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||||
something.
|
and fixed in the meantime. We would appreciate if you could take the time
|
||||||
</li>
|
to <A
|
||||||
</ul>
|
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||||
|
TARGET="_top"
|
||||||
<p>You don't have to tell us your actual name when filing a problem
|
>upgrade
|
||||||
report, but if you don't, please use a nickname so we can
|
to the latest version</A
|
||||||
differentiate between your messages and the ones entered by other
|
> (or even the latest CVS snapshot) and verify
|
||||||
"anonymous" users that may respond to your request if they have the
|
that your bug still exists.</P
|
||||||
same problem or already found a solution. Note that due to spam the
|
><P
|
||||||
trackers may not always allow to post without being logged into
|
>Please be sure to provide the following information:</P
|
||||||
SourceForge. If that's the case, you are still free to create a login
|
><P
|
||||||
that isn't directly linked to your name, though.</p>
|
> <P
|
||||||
|
></P
|
||||||
<p>Please also check the status of your request a few days after
|
><UL
|
||||||
submitting it, as we may request additional information. If you use a
|
><LI
|
||||||
SF id, you should automatically get a mail when someone responds to
|
><P
|
||||||
your request. Please don't bother to add an email address when using
|
> The exact <SPAN
|
||||||
the tracker. If you prefer to communicate through email, just use one
|
CLASS="APPLICATION"
|
||||||
of the mailing lists directly.</p>
|
>Privoxy</SPAN
|
||||||
|
> version you are using
|
||||||
<p>If you are new to reporting problems, you might be interested in
|
(if you got the source from CVS, please also provide the source code revisions
|
||||||
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
|
as shown in <A
|
||||||
target="_top">How to Report Bugs Effectively</a>.</p>
|
HREF="http://config.privoxy.org/show-version"
|
||||||
|
TARGET="_top"
|
||||||
<p>The <a href=
|
>http://config.privoxy.org/show-version</A
|
||||||
"http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
>).
|
||||||
target="_top">appendix of the Privoxy User Manual</a> also has
|
</P
|
||||||
helpful information on understanding <tt class=
|
></LI
|
||||||
"LITERAL">actions</tt>, and <tt class="LITERAL">action</tt>
|
><LI
|
||||||
debugging.</p>
|
><P
|
||||||
</div>
|
> The operating system and versions you run
|
||||||
</div>
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<div class="SECT2">
|
>Privoxy</SPAN
|
||||||
<h2 class="SECT2"><a name="CONTACT-FEATURE" id="CONTACT-FEATURE">11.3.
|
> on, (e.g. <SPAN
|
||||||
Request New Features</a></h2>
|
CLASS="APPLICATION"
|
||||||
|
>Windows
|
||||||
<p>You are welcome to submit ideas on new features or other proposals
|
XP SP2</SPAN
|
||||||
for improvement through our feature request tracker at <a href=
|
>), if you are using a Unix flavor,
|
||||||
"http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
sending the output of <SPAN
|
||||||
target="_top">http://sourceforge.net/tracker/?atid=361118&group_id=11118</a>.</p>
|
CLASS="QUOTE"
|
||||||
</div>
|
>"uname -a"</SPAN
|
||||||
|
> should do,
|
||||||
<div class="SECT2">
|
in case of GNU/Linux, please also name the distribution.
|
||||||
<h2 class="SECT2"><a name="MAILING-LISTS" id="MAILING-LISTS">11.4.
|
</P
|
||||||
Mailing Lists</a></h2>
|
></LI
|
||||||
|
><LI
|
||||||
<p>If you prefer to communicate through email, instead of using a web
|
><P
|
||||||
interface, feel free to use one of the mailing lists. To discuss issues
|
> The name, platform, and version of the <SPAN
|
||||||
that haven't been completely diagnosed yet, please use the Privoxy
|
CLASS="APPLICATION"
|
||||||
users list. Technically interested users and people who wish to
|
>browser</SPAN
|
||||||
contribute to the project are always welcome on the developers list.
|
>
|
||||||
You can find an overview of all <span class=
|
you were using (e.g. <SPAN
|
||||||
"APPLICATION">Privoxy</span>-related mailing lists, including list
|
CLASS="APPLICATION"
|
||||||
archives, at: <a href="http://sourceforge.net/mail/?group_id=11118"
|
>Internet Explorer v5.5</SPAN
|
||||||
target="_top">http://sourceforge.net/mail/?group_id=11118</a>.</p>
|
> for Mac).
|
||||||
</div>
|
</P
|
||||||
</div>
|
></LI
|
||||||
|
><LI
|
||||||
<div class="NAVFOOTER">
|
><P
|
||||||
<hr class="c1" width="100%">
|
> The URL where the problem occurred, or some way for us to duplicate the
|
||||||
|
problem (e.g. <TT
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
CLASS="LITERAL"
|
||||||
cellpadding="0" cellspacing="0">
|
>http://somesite.example.com/?somethingelse=123</TT
|
||||||
<tr>
|
>).
|
||||||
<td width="33%" align="left" valign="top"><a href="templates.html"
|
</P
|
||||||
accesskey="P">Prev</a></td>
|
></LI
|
||||||
|
><LI
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
><P
|
||||||
accesskey="H">Home</a></td>
|
> Whether your version of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<td width="33%" align="right" valign="top"><a href="copyright.html"
|
>Privoxy</SPAN
|
||||||
accesskey="N">Next</a></td>
|
> is one supplied
|
||||||
</tr>
|
by the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<tr>
|
>Privoxy</SPAN
|
||||||
<td width="33%" align="left" valign="top">Privoxy's Template
|
> developers via SourceForge,
|
||||||
Files</td>
|
or if you got your copy somewhere else.
|
||||||
|
</P
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
></LI
|
||||||
|
><LI
|
||||||
<td width="33%" align="right" valign="top">Privoxy Copyright, License
|
><P
|
||||||
and History</td>
|
> Whether you are using <SPAN
|
||||||
</tr>
|
CLASS="APPLICATION"
|
||||||
</table>
|
>Privoxy</SPAN
|
||||||
</div>
|
> in tandem with
|
||||||
</body>
|
another proxy such as <SPAN
|
||||||
</html>
|
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Privoxy Copyright, License and History</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Privoxy Copyright, License and History</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy 3.0.12 User Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title=
|
TITLE="Contacting the Developers, Bug Reporting and Feature
|
||||||
"Contacting the Developers, Bug Reporting and Feature Requests" href=
|
Requests"
|
||||||
"contact.html">
|
HREF="contact.html"><LINK
|
||||||
<link rel="NEXT" title="See Also" href="seealso.html">
|
REL="NEXT"
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
TITLE="See Also"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
HREF="seealso.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
REL="STYLESHEET"
|
||||||
<style type="text/css">
|
TYPE="text/css"
|
||||||
body {
|
HREF="../p_doc.css"><META
|
||||||
background-color: #EEEEEE;
|
HTTP-EQUIV="Content-Type"
|
||||||
color: #000000;
|
CONTENT="text/html;
|
||||||
}
|
charset=ISO-8859-1">
|
||||||
:link { color: #0000FF }
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
|
||||||
:visited { color: #840084 }
|
</head
|
||||||
:active { color: #0000FF }
|
><BODY
|
||||||
a.c2 {font-style: italic}
|
CLASS="SECT1"
|
||||||
hr.c1 {text-align: left}
|
BGCOLOR="#EEEEEE"
|
||||||
</style>
|
TEXT="#000000"
|
||||||
</head>
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
<body class="SECT1">
|
ALINK="#0000FF"
|
||||||
<div class="NAVHEADER">
|
><DIV
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
CLASS="NAVHEADER"
|
||||||
cellpadding="0" cellspacing="0">
|
><TABLE
|
||||||
<tr>
|
SUMMARY="Header navigation table"
|
||||||
<th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
|
WIDTH="100%"
|
||||||
</tr>
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
<tr>
|
CELLSPACING="0"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="contact.html"
|
><TR
|
||||||
accesskey="P">Prev</a></td>
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
ALIGN="center"
|
||||||
|
>Privoxy 3.0.12 User Manual</TH
|
||||||
<td width="10%" align="right" valign="bottom"><a href="seealso.html"
|
></TR
|
||||||
accesskey="N">Next</a></td>
|
><TR
|
||||||
</tr>
|
><TD
|
||||||
</table>
|
WIDTH="10%"
|
||||||
<hr class="c1" width="100%">
|
ALIGN="left"
|
||||||
</div>
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
<div class="SECT1">
|
HREF="contact.html"
|
||||||
<h1 class="SECT1"><a name="COPYRIGHT" id="COPYRIGHT">12. Privoxy
|
ACCESSKEY="P"
|
||||||
Copyright, License and History</a></h1>
|
>Prev</A
|
||||||
|
></TD
|
||||||
<p>Copyright © 2001-2011 by Privoxy Developers <code class=
|
><TD
|
||||||
"EMAIL"><<a href=
|
WIDTH="80%"
|
||||||
"mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</a>></code></p>
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
<p>Some source code is based on code Copyright © 1997 by Anonymous
|
></TD
|
||||||
Coders and Junkbusters, Inc. and licensed under the <i class=
|
><TD
|
||||||
"CITETITLE">GNU General Public License</i>.</p>
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
<div class="SECT2">
|
VALIGN="bottom"
|
||||||
<h2 class="SECT2"><a name="AEN5542" id="AEN5542">12.1. License</a></h2>
|
><A
|
||||||
|
HREF="seealso.html"
|
||||||
<p><span class="APPLICATION">Privoxy</span> is free software; you can
|
ACCESSKEY="N"
|
||||||
redistribute it and/or modify it under the terms of the <i class=
|
>Next</A
|
||||||
"CITETITLE">GNU General Public License</i>, version 2, as published by
|
></TD
|
||||||
the Free Software Foundation.</p>
|
></TR
|
||||||
|
></TABLE
|
||||||
<p>This program is distributed in the hope that it will be useful, but
|
><HR
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
ALIGN="LEFT"
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <a class=
|
WIDTH="100%"></DIV
|
||||||
"CITETITLE c2" href=
|
><DIV
|
||||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
CLASS="SECT1"
|
||||||
"_top">GNU General Public License</a> for details.</p>
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
<p>You should have received a copy of the <i class="CITETITLE">GNU
|
><A
|
||||||
GPL</i> along with this program; if not, write to the</p>
|
NAME="COPYRIGHT"
|
||||||
|
>12. Privoxy Copyright, License and History</A
|
||||||
<p class="ADDRESS"> Free Software<br>
|
></H1
|
||||||
Foundation, Inc. <span class="STREET">51 Franklin
|
><P
|
||||||
Street, Fifth Floor</span><br>
|
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||||
<span class="CITY">Boston</span>, <span class=
|
CLASS="EMAIL"
|
||||||
"STATE">MA</span> <span class="POSTCODE">02110-1301</span><br>
|
><<A
|
||||||
<span class="COUNTRY">USA</span> </p>
|
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||||
</div>
|
>ijbswa-developers@lists.sourceforge.net</A
|
||||||
|
>></CODE
|
||||||
<div class="SECT2">
|
></P
|
||||||
<h2 class="SECT2"><a name="HISTORY" id="HISTORY">12.2. History</a></h2>
|
><P
|
||||||
|
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||||
<p>A long time ago, there was the <a href=
|
and Junkbusters, Inc. and licensed under the <I
|
||||||
"http://www.junkbusters.com/ijb.html" target="_top"><span class=
|
CLASS="CITETITLE"
|
||||||
"APPLICATION">Internet Junkbuster</span></a>, by Anonymous Coders and
|
>GNU General Public
|
||||||
<a href="http://www.junkbusters.com/" target="_top">Junkbusters
|
License</I
|
||||||
Corporation</a>. This saved many users a lot of pain in the early days
|
>.</P
|
||||||
of web advertising and user tracking.</p>
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
<p>But the web, its protocols and standards, and with it, the
|
><H2
|
||||||
techniques for forcing ads on users, give up autonomy over their
|
CLASS="SECT2"
|
||||||
browsing, and for tracking them, keeps evolving. Unfortunately, the
|
><A
|
||||||
<span class="APPLICATION">Internet Junkbuster</span> did not. Version
|
NAME="AEN4921"
|
||||||
2.0.2, published in 1998, was (and is) the last official <a href=
|
>12.1. License</A
|
||||||
"http://www.junkbusters.com/ijbdist.html#release" target=
|
></H2
|
||||||
"_top">release</a> available from <a href="http://www.junkbusters.com"
|
><P
|
||||||
target="_top">Junkbusters Corporation</a>. Fortunately, it had been
|
> <SPAN
|
||||||
released under the GNU <a href=
|
CLASS="APPLICATION"
|
||||||
"http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target=
|
>Privoxy</SPAN
|
||||||
"_top">GPL</a>, which allowed further development by others.</p>
|
> is free software; you can
|
||||||
|
redistribute it and/or modify it under the terms of the
|
||||||
<p>So Stefan Waldherr started maintaining an improved version of the
|
<I
|
||||||
software, to which eventually a number of people contributed patches.
|
CLASS="CITETITLE"
|
||||||
It could already replace banners with a transparent image, and had a
|
>GNU General Public License</I
|
||||||
first version of pop-up killing, but it was still very closely based on
|
>, version 2,
|
||||||
the original, with all its limitations, such as the lack of HTTP/1.1
|
as published by the Free Software Foundation.</P
|
||||||
support, flexible per-site configuration, or content modification. The
|
><P
|
||||||
last release from this effort was version 2.0.2-10, published in
|
> This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
2000.</p>
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
||||||
<p>Then, some <a href=
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
"http://www.privoxy.org/user-manual/copyright.html#AUTHORS" target=
|
TARGET="_top"
|
||||||
"_top">developers</a> picked up the thread, and started turning the
|
> <I
|
||||||
software inside out, upside down, and then reassembled it, adding many
|
CLASS="CITETITLE"
|
||||||
<a href="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
>GNU General Public License</I
|
||||||
target="_top">new features</a> along the way.</p>
|
></A
|
||||||
|
> for details.</P
|
||||||
<p>The result of this is <span class="APPLICATION">Privoxy</span>,
|
><P
|
||||||
whose first stable version, 3.0, was released August, 2002.</p>
|
> You should have received a copy of the <I
|
||||||
</div>
|
CLASS="CITETITLE"
|
||||||
|
>GNU GPL</I
|
||||||
<div class="SECT2">
|
>
|
||||||
<h2 class="SECT2"><a name="AUTHORS" id="AUTHORS">12.3. Authors</a></h2>
|
along with this program; if not, write to the <P
|
||||||
|
CLASS="ADDRESS"
|
||||||
<p>Current Privoxy Team:</p>
|
> Free Software<br>
|
||||||
|
Foundation, Inc. <SPAN
|
||||||
<p class="LITERALLAYOUT">
|
CLASS="STREET"
|
||||||
Fabian Keil, lead developer<br>
|
>51 Franklin Street, Fifth Floor</SPAN
|
||||||
David Schmidt, developer<br>
|
><br>
|
||||||
Hal Burgiss<br>
|
<SPAN
|
||||||
Lee Rian<br>
|
CLASS="CITY"
|
||||||
Roland Rosenfeld</p>
|
>Boston</SPAN
|
||||||
|
>, <SPAN
|
||||||
<p>Former Privoxy Team Members:</p>
|
CLASS="STATE"
|
||||||
|
>MA</SPAN
|
||||||
<p class="LITERALLAYOUT"> Johny Agotnes<br>
|
> <SPAN
|
||||||
Rodrigo Barbosa<br>
|
CLASS="POSTCODE"
|
||||||
Moritz Barsnick<br>
|
>02110-1301</SPAN
|
||||||
Ian Cummings<br>
|
><br>
|
||||||
Brian Dessent<br>
|
<SPAN
|
||||||
Jon Foster<br>
|
CLASS="COUNTRY"
|
||||||
Karsten Hopp<br>
|
>USA</SPAN
|
||||||
Alexander Lazic<br>
|
> </P
|
||||||
Daniel Leite<br>
|
></P
|
||||||
Gábor Lipták<br>
|
></DIV
|
||||||
Adam Lock<br>
|
><DIV
|
||||||
Guy Laroche<br>
|
CLASS="SECT2"
|
||||||
Justin McMurtry<br>
|
><H2
|
||||||
Mark Miller<br>
|
CLASS="SECT2"
|
||||||
Gerry Murphy<br>
|
><A
|
||||||
Andreas Oesterhelt<br>
|
NAME="HISTORY"
|
||||||
Haroon Rafique<br>
|
>12.2. History</A
|
||||||
Georg Sauthoff<br>
|
></H2
|
||||||
Thomas Steudten<br>
|
><P
|
||||||
Jörg Strohmayer<br>
|
> A long time ago, there was the
|
||||||
Rodney Stromlund<br>
|
<A
|
||||||
Sviatoslav Sviridov<br>
|
HREF="http://www.junkbusters.com/ijb.html"
|
||||||
Sarantis Paskalis<br>
|
TARGET="_top"
|
||||||
Stefan Waldherr</p>
|
><SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
<p>Thanks to the many people who have tested Privoxy, reported bugs,
|
>Internet Junkbuster</SPAN
|
||||||
provided patches, made suggestions or contributed in some way. These
|
></A
|
||||||
include (in alphabetical order):</p>
|
>,
|
||||||
|
by Anonymous Coders and <A
|
||||||
<p class="LITERALLAYOUT"> Ken Arromdee<br>
|
HREF="http://www.junkbusters.com/"
|
||||||
Devin Bayer<br>
|
TARGET="_top"
|
||||||
Havard Berland<br>
|
>Junkbusters
|
||||||
Gergely Bor<br>
|
Corporation</A
|
||||||
Francois Botha<br>
|
>. This saved many users a lot of pain in the early days of
|
||||||
Reiner Buehl<br>
|
web advertising and user tracking.</P
|
||||||
Andrew J. Caines<br>
|
><P
|
||||||
Clifford Caoile<br>
|
> But the web, its protocols and standards, and with it, the techniques for
|
||||||
Wan-Teh Chang<br>
|
forcing ads on users, give up autonomy over their browsing, and
|
||||||
Billy Crook<br>
|
for tracking them, keeps evolving. Unfortunately, the <SPAN
|
||||||
Frédéric Crozat<br>
|
CLASS="APPLICATION"
|
||||||
Michael T. Davis<br>
|
>Internet
|
||||||
Mattes Dolak<br>
|
Junkbuster</SPAN
|
||||||
Matthias Drochner<br>
|
> did not. Version 2.0.2, published in 1998, was
|
||||||
Peter E.<br>
|
(and is) the last official
|
||||||
Florian Effenberger<br>
|
<A
|
||||||
Markus Elfring<br>
|
HREF="http://www.junkbusters.com/ijbdist.html#release"
|
||||||
Dean Gaudet<br>
|
TARGET="_top"
|
||||||
Stephen Gildea<br>
|
>release</A
|
||||||
Daniel Griscom<br>
|
>
|
||||||
Felix Gröbert<br>
|
available from <A
|
||||||
Jeff H.<br>
|
HREF="http://www.junkbusters.com"
|
||||||
Aaron Hamid<br>
|
TARGET="_top"
|
||||||
Darel Henman<br>
|
>Junkbusters Corporation</A
|
||||||
Magnus Holmgren<br>
|
>.
|
||||||
Eric M. Hopper<br>
|
Fortunately, it had been released under the GNU
|
||||||
Ralf Horstmann<br>
|
<A
|
||||||
Stefan Huehner<br>
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
Peter Hyman<br>
|
TARGET="_top"
|
||||||
Derek Jennings<br>
|
>GPL</A
|
||||||
Petr Kadlec<br>
|
>,
|
||||||
David Laight<br>
|
which allowed further development by others.</P
|
||||||
Bert van Leeuwen<br>
|
><P
|
||||||
Don Libes<br>
|
> So Stefan Waldherr started maintaining an improved version of the
|
||||||
Paul Lieverse<br>
|
software, to which eventually a number of people contributed patches.
|
||||||
Han Liu<br>
|
It could already replace banners with a transparent image, and had a first
|
||||||
Toby Lyward<br>
|
version of pop-up killing, but it was still very closely based on the
|
||||||
Wil Mahan<br>
|
original, with all its limitations, such as the lack of HTTP/1.1 support,
|
||||||
Jindrich Makovicka<br>
|
flexible per-site configuration, or content modification. The last release
|
||||||
Raphael Marichez<br>
|
from this effort was version 2.0.2-10, published in 2000.</P
|
||||||
Francois Marier<br>
|
><P
|
||||||
David Mediavilla<br>
|
> Then, some
|
||||||
Raphael Moll<br>
|
<A
|
||||||
Amuro Namie<br>
|
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
|
||||||
Adam Piggott<br>
|
TARGET="_top"
|
||||||
Petr Písar<br>
|
>developers</A
|
||||||
Dan Price<br>
|
>
|
||||||
Roberto Ragusa<br>
|
picked up the thread, and started turning the software inside out, upside down,
|
||||||
Félix Rauch<br>
|
and then reassembled it, adding many
|
||||||
Maynard Riley<br>
|
<A
|
||||||
Chung-chieh Shan<br>
|
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
||||||
Spinor S.<br>
|
TARGET="_top"
|
||||||
Bart Schelstraete<br>
|
>new
|
||||||
Dan Stahlke<br>
|
features</A
|
||||||
Oliver Stoeneberg<br>
|
> along the way.</P
|
||||||
Peter Thoenen<br>
|
><P
|
||||||
Martin Thomas<br>
|
> The result of this is <SPAN
|
||||||
Bobby G. Vinyard<br>
|
CLASS="APPLICATION"
|
||||||
Jochen Voss<br>
|
>Privoxy</SPAN
|
||||||
Glenn Washburn<br>
|
>, whose first
|
||||||
Song Weijia<br>
|
stable version, 3.0, was released August, 2002.
|
||||||
Jörg Weinmann<br>
|
</P
|
||||||
Darren Wiebe<br>
|
></DIV
|
||||||
Anduin Withers<br>
|
><DIV
|
||||||
Oliver Yeoh<br>
|
CLASS="SECT2"
|
||||||
Jamie Zawinski</p>
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
<p>Privoxy is based in part on code originally developed by Junkbusters
|
><A
|
||||||
Corp. and Anonymous Coders.</p>
|
NAME="AUTHORS"
|
||||||
|
>12.3. Authors</A
|
||||||
<p>Privoxy heavily relies on Philip Hazel's PCRE.</p>
|
></H2
|
||||||
|
><P
|
||||||
<p>The code to filter compressed content makes use of zlib which is
|
>Current Privoxy Team:</P
|
||||||
written by Jean-loup Gailly and Mark Adler.</p>
|
><P
|
||||||
|
CLASS="LITERALLAYOUT"
|
||||||
<p>On systems that lack snprintf(), Privoxy is using a version written
|
> Fabian Keil, lead developer<br>
|
||||||
by Mark Martinec. On systems that lack strptime(), Privoxy is using the
|
David Schmidt, developer<br>
|
||||||
one from the GNU C Library written by Ulrich Drepper.</p>
|
<br>
|
||||||
</div>
|
Hal Burgiss<br>
|
||||||
</div>
|
Mark Miller<br>
|
||||||
|
Gerry Murphy<br>
|
||||||
<div class="NAVFOOTER">
|
Lee Rian<br>
|
||||||
<hr class="c1" width="100%">
|
Roland Rosenfeld<br>
|
||||||
|
Jörg Strohmayer</P
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
><P
|
||||||
cellpadding="0" cellspacing="0">
|
> Former Privoxy Team Members:</P
|
||||||
<tr>
|
><P
|
||||||
<td width="33%" align="left" valign="top"><a href="contact.html"
|
CLASS="LITERALLAYOUT"
|
||||||
accesskey="P">Prev</a></td>
|
> Johny Agotnes<br>
|
||||||
|
Rodrigo Barbosa<br>
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
Moritz Barsnick<br>
|
||||||
accesskey="H">Home</a></td>
|
Ian Cummings<br>
|
||||||
|
Brian Dessent<br>
|
||||||
<td width="33%" align="right" valign="top"><a href="seealso.html"
|
Jon Foster<br>
|
||||||
accesskey="N">Next</a></td>
|
Karsten Hopp<br>
|
||||||
</tr>
|
Alexander Lazic<br>
|
||||||
|
Daniel Leite<br>
|
||||||
<tr>
|
Gábor Lipták<br>
|
||||||
<td width="33%" align="left" valign="top">Contacting the Developers,
|
Adam Lock<br>
|
||||||
Bug Reporting and Feature Requests</td>
|
Guy Laroche<br>
|
||||||
|
Justin McMurtry<br>
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
Andreas Oesterhelt<br>
|
||||||
|
Haroon Rafique<br>
|
||||||
<td width="33%" align="right" valign="top">See Also</td>
|
Georg Sauthoff<br>
|
||||||
</tr>
|
Thomas Steudten<br>
|
||||||
</table>
|
Rodney Stromlund<br>
|
||||||
</div>
|
Sviatoslav Sviridov<br>
|
||||||
</body>
|
Sarantis Paskalis<br>
|
||||||
</html>
|
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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Introduction</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Introduction</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy 3.0.12 User Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Privoxy 3.0.19 User Manual" href="index.html">
|
TITLE="Privoxy 3.0.12 User Manual"
|
||||||
<link rel="NEXT" title="Installation" href="installation.html">
|
HREF="index.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
REL="NEXT"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
TITLE="Installation"
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
HREF="installation.html"><LINK
|
||||||
<style type="text/css">
|
REL="STYLESHEET"
|
||||||
body {
|
TYPE="text/css"
|
||||||
background-color: #EEEEEE;
|
HREF="../p_doc.css"><META
|
||||||
color: #000000;
|
HTTP-EQUIV="Content-Type"
|
||||||
}
|
CONTENT="text/html;
|
||||||
:link { color: #0000FF }
|
charset=ISO-8859-1">
|
||||||
:visited { color: #840084 }
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
|
||||||
:active { color: #0000FF }
|
</head
|
||||||
hr.c1 {text-align: left}
|
><BODY
|
||||||
</style>
|
CLASS="SECT1"
|
||||||
</head>
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
<body class="SECT1">
|
LINK="#0000FF"
|
||||||
<div class="NAVHEADER">
|
VLINK="#840084"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
ALINK="#0000FF"
|
||||||
cellpadding="0" cellspacing="0">
|
><DIV
|
||||||
<tr>
|
CLASS="NAVHEADER"
|
||||||
<th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
|
><TABLE
|
||||||
</tr>
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
<tr>
|
BORDER="0"
|
||||||
<td width="10%" align="left" valign="bottom"><a href="index.html"
|
CELLPADDING="0"
|
||||||
accesskey="P">Prev</a></td>
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
<td width="10%" align="right" valign="bottom"><a href=
|
ALIGN="center"
|
||||||
"installation.html" accesskey="N">Next</a></td>
|
>Privoxy 3.0.12 User Manual</TH
|
||||||
</tr>
|
></TR
|
||||||
</table>
|
><TR
|
||||||
<hr class="c1" width="100%">
|
><TD
|
||||||
</div>
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
<div class="SECT1">
|
VALIGN="bottom"
|
||||||
<h1 class="SECT1"><a name="INTRODUCTION" id="INTRODUCTION">1.
|
><A
|
||||||
Introduction</a></h1>
|
HREF="index.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
<p>This documentation is included with the current stable version of
|
>Prev</A
|
||||||
<span class="APPLICATION">Privoxy</span>, v.3.0.19.</p>
|
></TD
|
||||||
|
><TD
|
||||||
<div class="SECT2">
|
WIDTH="80%"
|
||||||
<h2 class="SECT2"><a name="FEATURES" id="FEATURES">1.1.
|
ALIGN="center"
|
||||||
Features</a></h2>
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
<p>In addition to the core features of ad blocking and <a href=
|
><TD
|
||||||
"http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookie</a>
|
WIDTH="10%"
|
||||||
management, <span class="APPLICATION">Privoxy</span> provides many
|
ALIGN="right"
|
||||||
supplemental features, that give the end-user more control, more
|
VALIGN="bottom"
|
||||||
privacy and more freedom:</p>
|
><A
|
||||||
|
HREF="installation.html"
|
||||||
<ul>
|
ACCESSKEY="N"
|
||||||
<li>
|
>Next</A
|
||||||
<p>Supports "Connection: keep-alive". Outgoing connections can be
|
></TD
|
||||||
kept alive independently from the client.</p>
|
></TR
|
||||||
</li>
|
></TABLE
|
||||||
|
><HR
|
||||||
<li>
|
ALIGN="LEFT"
|
||||||
<p>Supports IPv6, provided the operating system does so too, and
|
WIDTH="100%"></DIV
|
||||||
the configure script detects it.</p>
|
><DIV
|
||||||
</li>
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
<li>
|
CLASS="SECT1"
|
||||||
<p>Supports tagging which allows to change the behaviour based on
|
><A
|
||||||
client and server headers.</p>
|
NAME="INTRODUCTION"
|
||||||
</li>
|
>1. Introduction</A
|
||||||
|
></H1
|
||||||
<li>
|
><P
|
||||||
<p>Can be run as an "intercepting" proxy, which obviates the need
|
> This documentation is included with the current stable version of
|
||||||
to configure browsers individually.</p>
|
<SPAN
|
||||||
</li>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<li>
|
>, v.3.0.12.</P
|
||||||
<p>Sophisticated actions and filters for manipulating both server
|
><DIV
|
||||||
and client headers.</p>
|
CLASS="SECT2"
|
||||||
</li>
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
<li>
|
><A
|
||||||
<p>Can be chained with other proxies.</p>
|
NAME="FEATURES"
|
||||||
</li>
|
>1.1. Features</A
|
||||||
|
></H2
|
||||||
<li>
|
><P
|
||||||
<p>Integrated browser-based configuration and control utility at
|
> In addition to the core
|
||||||
<a href="http://config.privoxy.org/" target=
|
features of ad blocking and
|
||||||
"_top">http://config.privoxy.org/</a> (shortcut: <a href=
|
<A
|
||||||
"http://p.p/" target="_top">http://p.p/</a>). Browser-based tracing
|
HREF="http://en.wikipedia.org/wiki/Browser_cookie"
|
||||||
of rule and filter effects. Remote toggling.</p>
|
TARGET="_top"
|
||||||
</li>
|
>cookie</A
|
||||||
|
> management,
|
||||||
<li>
|
<SPAN
|
||||||
<p>Web page filtering (text replacements, removes banners based on
|
CLASS="APPLICATION"
|
||||||
size, invisible <span class="QUOTE">"web-bugs"</span> and HTML
|
>Privoxy</SPAN
|
||||||
annoyances, etc.)</p>
|
> provides many supplemental
|
||||||
</li>
|
features,
|
||||||
|
that give the end-user more control, more privacy and more freedom:</P
|
||||||
<li>
|
><P
|
||||||
<p>Modularized configuration that allows for standard settings and
|
> <P
|
||||||
user settings to reside in separate files, so that installing
|
></P
|
||||||
updated actions files won't overwrite individual user settings.</p>
|
><UL
|
||||||
</li>
|
><LI
|
||||||
|
><P
|
||||||
<li>
|
> Can keep outgoing connections alive and reuse them later on.
|
||||||
<p>Support for Perl Compatible Regular Expressions in the
|
</P
|
||||||
configuration files, and a more sophisticated and flexible
|
></LI
|
||||||
configuration syntax.</p>
|
><LI
|
||||||
</li>
|
><P
|
||||||
|
> Supports tagging which allows to change the behaviour
|
||||||
<li>
|
based on client and server headers.
|
||||||
<p>GIF de-animation.</p>
|
</P
|
||||||
</li>
|
></LI
|
||||||
|
><LI
|
||||||
<li>
|
><P
|
||||||
<p>Bypass many click-tracking scripts (avoids script
|
> Can be run as an "intercepting" proxy, which obviates the need to
|
||||||
redirection).</p>
|
configure browsers individually.
|
||||||
</li>
|
</P
|
||||||
|
></LI
|
||||||
<li>
|
><LI
|
||||||
<p>User-customizable HTML templates for most proxy-generated pages
|
><P
|
||||||
(e.g. "blocked" page).</p>
|
> Sophisticated actions and filters for manipulating both server and client
|
||||||
</li>
|
headers.
|
||||||
|
</P
|
||||||
<li>
|
></LI
|
||||||
<p>Auto-detection and re-reading of config file changes.</p>
|
><LI
|
||||||
</li>
|
><P
|
||||||
|
> Can be chained with other proxies.
|
||||||
<li>
|
</P
|
||||||
<p>Most features are controllable on a per-site or per-location
|
></LI
|
||||||
basis.</p>
|
><LI
|
||||||
</li>
|
><P
|
||||||
|
> Integrated browser based configuration and control utility at <A
|
||||||
<li>
|
HREF="http://config.privoxy.org/"
|
||||||
<p>Many smaller new features added, limitations and bugs
|
TARGET="_top"
|
||||||
removed.</p>
|
>http://config.privoxy.org/</A
|
||||||
</li>
|
>
|
||||||
</ul>
|
(shortcut: <A
|
||||||
</div>
|
HREF="http://p.p/"
|
||||||
</div>
|
TARGET="_top"
|
||||||
|
>http://p.p/</A
|
||||||
<div class="NAVFOOTER">
|
>). Browser-based
|
||||||
<hr class="c1" width="100%">
|
tracing of rule and filter effects. Remote toggling.
|
||||||
|
</P
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
></LI
|
||||||
cellpadding="0" cellspacing="0">
|
><LI
|
||||||
<tr>
|
><P
|
||||||
<td width="33%" align="left" valign="top"><a href="index.html"
|
> Web page filtering (text replacements, removes banners based on size,
|
||||||
accesskey="P">Prev</a></td>
|
invisible <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
>"web-bugs"</SPAN
|
||||||
accesskey="H">Home</a></td>
|
>, JavaScript and HTML annoyances,
|
||||||
|
pop-up windows, etc.)
|
||||||
<td width="33%" align="right" valign="top"><a href=
|
</P
|
||||||
"installation.html" accesskey="N">Next</a></td>
|
></LI
|
||||||
</tr>
|
><LI
|
||||||
|
><P
|
||||||
<tr>
|
> Modularized configuration that allows for standard settings and
|
||||||
<td width="33%" align="left" valign="top">Privoxy 3.0.19 User
|
user settings to reside in separate files, so that installing updated
|
||||||
Manual</td>
|
actions files won't overwrite individual user settings.
|
||||||
|
</P
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
></LI
|
||||||
|
><LI
|
||||||
<td width="33%" align="right" valign="top">Installation</td>
|
><P
|
||||||
</tr>
|
> Support for Perl Compatible Regular Expressions in the configuration files, and
|
||||||
</table>
|
a more sophisticated and flexible configuration syntax.
|
||||||
</div>
|
</P
|
||||||
</body>
|
></LI
|
||||||
</html>
|
><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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"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>
|
<P
|
||||||
<meta name="GENERATOR" content=
|
></P
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
><TABLE
|
||||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
BORDER="0"
|
||||||
<link rel="PREVIOUS" title="Privoxy Copyright, License and History" href=
|
><TBODY
|
||||||
"copyright.html">
|
><TR
|
||||||
<link rel="NEXT" title="Appendix" href="appendix.html">
|
><TD
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
> <A
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
HREF="http://www.junkbusters.com/ht/en/cookies.html"
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
TARGET="_top"
|
||||||
<style type="text/css">
|
>http://www.junkbusters.com/ht/en/cookies.html</A
|
||||||
body {
|
>,
|
||||||
background-color: #EEEEEE;
|
an explanation how cookies are used to track web users.
|
||||||
color: #000000;
|
</TD
|
||||||
}
|
></TR
|
||||||
:link { color: #0000FF }
|
></TBODY
|
||||||
:visited { color: #840084 }
|
></TABLE
|
||||||
:active { color: #0000FF }
|
><P
|
||||||
hr.c1 {text-align: left}
|
></P
|
||||||
</style>
|
>
|
||||||
</head>
|
<P
|
||||||
|
></P
|
||||||
<body class="SECT1">
|
><TABLE
|
||||||
<div class="NAVHEADER">
|
BORDER="0"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><TBODY
|
||||||
cellpadding="0" cellspacing="0">
|
><TR
|
||||||
<tr>
|
><TD
|
||||||
<th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
|
> <A
|
||||||
</tr>
|
HREF="http://www.junkbusters.com/ijb.html"
|
||||||
|
TARGET="_top"
|
||||||
<tr>
|
>http://www.junkbusters.com/ijb.html</A
|
||||||
<td width="10%" align="left" valign="bottom"><a href="copyright.html"
|
>,
|
||||||
accesskey="P">Prev</a></td>
|
the original Internet Junkbuster.
|
||||||
|
</TD
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
></TR
|
||||||
|
></TBODY
|
||||||
<td width="10%" align="right" valign="bottom"><a href="appendix.html"
|
></TABLE
|
||||||
accesskey="N">Next</a></td>
|
><P
|
||||||
</tr>
|
></P
|
||||||
</table>
|
>
|
||||||
<hr class="c1" width="100%">
|
<P
|
||||||
</div>
|
></P
|
||||||
|
><TABLE
|
||||||
<div class="SECT1">
|
BORDER="0"
|
||||||
<h1 class="SECT1"><a name="SEEALSO" id="SEEALSO">13. See Also</a></h1>
|
><TBODY
|
||||||
|
><TR
|
||||||
<p>Other references and sites of interest to <span class=
|
><TD
|
||||||
"APPLICATION">Privoxy</span> users:</p>
|
> <A
|
||||||
|
HREF="http://www.squid-cache.org/"
|
||||||
<table border="0">
|
TARGET="_top"
|
||||||
<tbody>
|
>http://www.squid-cache.org/</A
|
||||||
<tr>
|
>, a popular
|
||||||
<td><a href="http://www.privoxy.org/" target=
|
caching proxy, which is often used together with <SPAN
|
||||||
"_top">http://www.privoxy.org/</a>, the <span class=
|
CLASS="APPLICATION"
|
||||||
"APPLICATION">Privoxy</span> Home page.</td>
|
>Privoxy</SPAN
|
||||||
</tr>
|
>.
|
||||||
</tbody>
|
</TD
|
||||||
</table>
|
></TR
|
||||||
|
></TBODY
|
||||||
<table border="0">
|
></TABLE
|
||||||
<tbody>
|
><P
|
||||||
<tr>
|
></P
|
||||||
<td><a href="http://www.privoxy.org/faq/" target=
|
>
|
||||||
"_top">http://www.privoxy.org/faq/</a>, the <span class=
|
<P
|
||||||
"APPLICATION">Privoxy</span> FAQ.</td>
|
></P
|
||||||
</tr>
|
><TABLE
|
||||||
</tbody>
|
BORDER="0"
|
||||||
</table>
|
><TBODY
|
||||||
|
><TR
|
||||||
<table border="0">
|
><TD
|
||||||
<tbody>
|
> <A
|
||||||
<tr>
|
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
|
||||||
<td><a href="http://www.privoxy.org/developer-manual/" target=
|
TARGET="_top"
|
||||||
"_top">http://www.privoxy.org/developer-manual/</a>, the
|
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
|
||||||
<span class="APPLICATION">Privoxy</span> developer manual.</td>
|
>,
|
||||||
</tr>
|
<SPAN
|
||||||
</tbody>
|
CLASS="APPLICATION"
|
||||||
</table>
|
>Polipo</SPAN
|
||||||
|
> is a caching proxy with advanced features
|
||||||
<table border="0">
|
like pipelining, multiplexing and caching of partial instances. In many setups
|
||||||
<tbody>
|
it can be used as <SPAN
|
||||||
<tr>
|
CLASS="APPLICATION"
|
||||||
<td><a href="https://sourceforge.net/projects/ijbswa/" target=
|
>Squid</SPAN
|
||||||
"_top">https://sourceforge.net/projects/ijbswa/</a>, the Project
|
> replacement.
|
||||||
Page for <span class="APPLICATION">Privoxy</span> on <a href=
|
</TD
|
||||||
"http://sourceforge.net" target="_top">SourceForge</a>.</td>
|
></TR
|
||||||
</tr>
|
></TBODY
|
||||||
</tbody>
|
></TABLE
|
||||||
</table>
|
><P
|
||||||
|
></P
|
||||||
<table border="0">
|
>
|
||||||
<tbody>
|
<P
|
||||||
<tr>
|
></P
|
||||||
<td><a href="http://config.privoxy.org/" target=
|
><TABLE
|
||||||
"_top">http://config.privoxy.org/</a>, the web-based user
|
BORDER="0"
|
||||||
interface. <span class="APPLICATION">Privoxy</span> must be running
|
><TBODY
|
||||||
for this to work. Shortcut: <a href="http://p.p/" target=
|
><TR
|
||||||
"_top">http://p.p/</a></td>
|
><TD
|
||||||
</tr>
|
> <A
|
||||||
</tbody>
|
HREF="https://www.torproject.org/"
|
||||||
</table>
|
TARGET="_top"
|
||||||
|
>https://www.torproject.org/</A
|
||||||
<table border="0">
|
>,
|
||||||
<tbody>
|
<SPAN
|
||||||
<tr>
|
CLASS="APPLICATION"
|
||||||
<td><a href=
|
>Tor</SPAN
|
||||||
"https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
> can help anonymize web browsing,
|
||||||
target=
|
web publishing, instant messaging, IRC, SSH, and other applications.
|
||||||
"_top">https://sourceforge.net/tracker/?group_id=11118&atid=460288</a>,
|
</TD
|
||||||
to submit <span class="QUOTE">"misses"</span> and other
|
></TR
|
||||||
configuration related suggestions to the developers.</td>
|
></TBODY
|
||||||
</tr>
|
></TABLE
|
||||||
</tbody>
|
><P
|
||||||
</table>
|
></P
|
||||||
|
>
|
||||||
<table border="0">
|
</P
|
||||||
<tbody>
|
></DIV
|
||||||
<tr>
|
><DIV
|
||||||
<td><a href="http://www.junkbusters.com/ht/en/cookies.html" target=
|
CLASS="NAVFOOTER"
|
||||||
"_top">http://www.junkbusters.com/ht/en/cookies.html</a>, an
|
><HR
|
||||||
explanation how cookies are used to track web users.</td>
|
ALIGN="LEFT"
|
||||||
</tr>
|
WIDTH="100%"><TABLE
|
||||||
</tbody>
|
SUMMARY="Footer navigation table"
|
||||||
</table>
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
<table border="0">
|
CELLPADDING="0"
|
||||||
<tbody>
|
CELLSPACING="0"
|
||||||
<tr>
|
><TR
|
||||||
<td><a href="http://www.junkbusters.com/ijb.html" target=
|
><TD
|
||||||
"_top">http://www.junkbusters.com/ijb.html</a>, the original
|
WIDTH="33%"
|
||||||
Internet Junkbuster.</td>
|
ALIGN="left"
|
||||||
</tr>
|
VALIGN="top"
|
||||||
</tbody>
|
><A
|
||||||
</table>
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
<table border="0">
|
>Prev</A
|
||||||
<tbody>
|
></TD
|
||||||
<tr>
|
><TD
|
||||||
<td><a href="http://www.squid-cache.org/" target=
|
WIDTH="34%"
|
||||||
"_top">http://www.squid-cache.org/</a>, a popular caching proxy,
|
ALIGN="center"
|
||||||
which is often used together with <span class=
|
VALIGN="top"
|
||||||
"APPLICATION">Privoxy</span>.</td>
|
><A
|
||||||
</tr>
|
HREF="index.html"
|
||||||
</tbody>
|
ACCESSKEY="H"
|
||||||
</table>
|
>Home</A
|
||||||
|
></TD
|
||||||
<table border="0">
|
><TD
|
||||||
<tbody>
|
WIDTH="33%"
|
||||||
<tr>
|
ALIGN="right"
|
||||||
<td><a href="http://www.pps.jussieu.fr/~jch/software/polipo/"
|
VALIGN="top"
|
||||||
target="_top">http://www.pps.jussieu.fr/~jch/software/polipo/</a>,
|
><A
|
||||||
<span class="APPLICATION">Polipo</span> is a caching proxy with
|
HREF="appendix.html"
|
||||||
advanced features like pipelining, multiplexing and caching of
|
ACCESSKEY="N"
|
||||||
partial instances. In many setups it can be used as <span class=
|
>Next</A
|
||||||
"APPLICATION">Squid</span> replacement.</td>
|
></TD
|
||||||
</tr>
|
></TR
|
||||||
</tbody>
|
><TR
|
||||||
</table>
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
<table border="0">
|
ALIGN="left"
|
||||||
<tbody>
|
VALIGN="top"
|
||||||
<tr>
|
>Privoxy Copyright, License and History</TD
|
||||||
<td><a href="https://www.torproject.org/" target=
|
><TD
|
||||||
"_top">https://www.torproject.org/</a>, <span class=
|
WIDTH="34%"
|
||||||
"APPLICATION">Tor</span> can help anonymize web browsing, web
|
ALIGN="center"
|
||||||
publishing, instant messaging, IRC, SSH, and other
|
VALIGN="top"
|
||||||
applications.</td>
|
> </TD
|
||||||
</tr>
|
><TD
|
||||||
</tbody>
|
WIDTH="33%"
|
||||||
</table>
|
ALIGN="right"
|
||||||
</div>
|
VALIGN="top"
|
||||||
|
>Appendix</TD
|
||||||
<div class="NAVFOOTER">
|
></TR
|
||||||
<hr class="c1" width="100%">
|
></TABLE
|
||||||
|
></DIV
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
></BODY
|
||||||
cellpadding="0" cellspacing="0">
|
></HTML
|
||||||
<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"
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
"http://www.w3.org/TR/html4/loose.dtd">
|
<HTML
|
||||||
|
><HEAD
|
||||||
<html>
|
><TITLE
|
||||||
<head>
|
>Privoxy's Template Files</TITLE
|
||||||
<meta name="generator" content=
|
><META
|
||||||
"HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
<title>Privoxy's Template Files</title>
|
REL="HOME"
|
||||||
<meta name="GENERATOR" content=
|
TITLE="Privoxy 3.0.12 User Manual"
|
||||||
"Modular DocBook HTML Stylesheet Version 1.79">
|
HREF="index.html"><LINK
|
||||||
<link rel="HOME" title="Privoxy 3.0.19 User Manual" href="index.html">
|
REL="PREVIOUS"
|
||||||
<link rel="PREVIOUS" title="Filter Files" href="filter-file.html">
|
TITLE="Filter Files"
|
||||||
<link rel="NEXT" title=
|
HREF="filter-file.html"><LINK
|
||||||
"Contacting the Developers, Bug Reporting and Feature Requests" href=
|
REL="NEXT"
|
||||||
"contact.html">
|
TITLE="Contacting the Developers, Bug Reporting and Feature
|
||||||
<link rel="STYLESHEET" type="text/css" href="../p_doc.css">
|
Requests"
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
|
HREF="contact.html"><LINK
|
||||||
<link rel="STYLESHEET" type="text/css" href="p_doc.css">
|
REL="STYLESHEET"
|
||||||
<style type="text/css">
|
TYPE="text/css"
|
||||||
body {
|
HREF="../p_doc.css"><META
|
||||||
background-color: #EEEEEE;
|
HTTP-EQUIV="Content-Type"
|
||||||
color: #000000;
|
CONTENT="text/html;
|
||||||
}
|
charset=ISO-8859-1">
|
||||||
:link { color: #0000FF }
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="p_doc.css">
|
||||||
:visited { color: #840084 }
|
</head
|
||||||
:active { color: #0000FF }
|
><BODY
|
||||||
table.c3 {background-color: #E0E0E0}
|
CLASS="SECT1"
|
||||||
span.c2 {font-style: italic}
|
BGCOLOR="#EEEEEE"
|
||||||
hr.c1 {text-align: left}
|
TEXT="#000000"
|
||||||
</style>
|
LINK="#0000FF"
|
||||||
</head>
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
<body class="SECT1">
|
><DIV
|
||||||
<div class="NAVHEADER">
|
CLASS="NAVHEADER"
|
||||||
<table summary="Header navigation table" width="100%" border="0"
|
><TABLE
|
||||||
cellpadding="0" cellspacing="0">
|
SUMMARY="Header navigation table"
|
||||||
<tr>
|
WIDTH="100%"
|
||||||
<th colspan="3" align="center">Privoxy 3.0.19 User Manual</th>
|
BORDER="0"
|
||||||
</tr>
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
<tr>
|
><TR
|
||||||
<td width="10%" align="left" valign="bottom"><a href=
|
><TH
|
||||||
"filter-file.html" accesskey="P">Prev</a></td>
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
<td width="80%" align="center" valign="bottom"></td>
|
>Privoxy 3.0.12 User Manual</TH
|
||||||
|
></TR
|
||||||
<td width="10%" align="right" valign="bottom"><a href="contact.html"
|
><TR
|
||||||
accesskey="N">Next</a></td>
|
><TD
|
||||||
</tr>
|
WIDTH="10%"
|
||||||
</table>
|
ALIGN="left"
|
||||||
<hr class="c1" width="100%">
|
VALIGN="bottom"
|
||||||
</div>
|
><A
|
||||||
|
HREF="filter-file.html"
|
||||||
<div class="SECT1">
|
ACCESSKEY="P"
|
||||||
<h1 class="SECT1"><a name="TEMPLATES" id="TEMPLATES">10. Privoxy's
|
>Prev</A
|
||||||
Template Files</a></h1>
|
></TD
|
||||||
|
><TD
|
||||||
<p>All <span class="APPLICATION">Privoxy</span> built-in pages, i.e.
|
WIDTH="80%"
|
||||||
error pages such as the <a href="http://show-the-404-error.page" target=
|
ALIGN="center"
|
||||||
"_top"><span class="QUOTE">"404 - No Such Domain"</span> error page</a>,
|
VALIGN="bottom"
|
||||||
the <a href="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
|
></TD
|
||||||
target="_top"><span class="QUOTE">"BLOCKED"</span> page</a> and all pages
|
><TD
|
||||||
of its <a href="http://config.privoxy.org/" target="_top">web-based user
|
WIDTH="10%"
|
||||||
interface</a>, are generated from <span class=
|
ALIGN="right"
|
||||||
"emphasis EMPHASIS c2">templates</span>. (<span class=
|
VALIGN="bottom"
|
||||||
"APPLICATION">Privoxy</span> must be running for the above links to work
|
><A
|
||||||
as intended.)</p>
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
<p>These templates are stored in a subdirectory of the <a href=
|
>Next</A
|
||||||
"config.html#CONFDIR">configuration directory</a> called <tt class=
|
></TD
|
||||||
"FILENAME">templates</tt>. On Unixish platforms, this is typically
|
></TR
|
||||||
<a href="file:///etc/privoxy/templates/" target="_top"><tt class=
|
></TABLE
|
||||||
"FILENAME">/etc/privoxy/templates/</tt></a>.</p>
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
<p>The templates are basically normal HTML files, but with place-holders
|
WIDTH="100%"></DIV
|
||||||
(called symbols or exports), which <span class=
|
><DIV
|
||||||
"APPLICATION">Privoxy</span> fills at run time. It is possible to edit
|
CLASS="SECT1"
|
||||||
the templates with a normal text editor, should you want to customize
|
><H1
|
||||||
them. (<span class="emphasis EMPHASIS c2">Not recommended for the casual
|
CLASS="SECT1"
|
||||||
user</span>). Should you create your own custom templates, you should use
|
><A
|
||||||
the <tt class="FILENAME">config</tt> setting <a href=
|
NAME="TEMPLATES"
|
||||||
"config.html#TEMPLDIR">templdir</a> to specify an alternate location, so
|
>10. Privoxy's Template Files</A
|
||||||
your templates do not get overwritten during upgrades.</p>
|
></H1
|
||||||
|
><P
|
||||||
<p>Note that just like in configuration files, lines starting with
|
> All <SPAN
|
||||||
<tt class="LITERAL">#</tt> are ignored when the templates are filled
|
CLASS="APPLICATION"
|
||||||
in.</p>
|
>Privoxy</SPAN
|
||||||
|
> built-in pages, i.e. error pages such as the
|
||||||
<p>The place-holders are of the form <tt class="LITERAL">@name@</tt>, and
|
<A
|
||||||
you will find a list of available symbols, which vary from template to
|
HREF="http://show-the-404-error.page"
|
||||||
template, in the comments at the start of each file. Note that these
|
TARGET="_top"
|
||||||
comments are not always accurate, and that it's probably best to look at
|
><SPAN
|
||||||
the existing HTML code to find out which symbols are supported and what
|
CLASS="QUOTE"
|
||||||
they are filled in with.</p>
|
>"404 - No Such Domain"</SPAN
|
||||||
|
>
|
||||||
<p>A special application of this substitution mechanism is to make whole
|
error page</A
|
||||||
blocks of HTML code disappear when a specific symbol is set. We use this
|
>, the <A
|
||||||
for many purposes, one of them being to include the beta warning in all
|
HREF="http://ads.bannerserver.example.com/nasty-ads/sponsor.html"
|
||||||
our user interface (CGI) pages when <span class=
|
TARGET="_top"
|
||||||
"APPLICATION">Privoxy</span> is in an alpha or beta development
|
><SPAN
|
||||||
stage:</p>
|
CLASS="QUOTE"
|
||||||
|
>"BLOCKED"</SPAN
|
||||||
<table class="c3" border="0" width="100%">
|
>
|
||||||
<tr>
|
page</A
|
||||||
<td>
|
>
|
||||||
<pre class="SCREEN">
|
and all pages of its <A
|
||||||
<!-- @if-unstable-start -->
|
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 ...
|
... beta warning HTML code goes here ...
|
||||||
|
|
||||||
<!-- if-unstable-end@ -->
|
<!-- if-unstable-end@ --></PRE
|
||||||
</pre>
|
></TD
|
||||||
</td>
|
></TR
|
||||||
</tr>
|
></TABLE
|
||||||
</table>
|
></P
|
||||||
|
><P
|
||||||
<p>If the "unstable" symbol is set, everything in between and including
|
> If the "unstable" symbol is set, everything in between and including
|
||||||
<tt class="LITERAL">@if-unstable-start</tt> and <tt class=
|
<TT
|
||||||
"LITERAL">if-unstable-end@</tt> will disappear, leaving nothing but an
|
CLASS="LITERAL"
|
||||||
empty comment:</p>
|
>@if-unstable-start</TT
|
||||||
|
> and <TT
|
||||||
<table class="c3" border="0" width="100%">
|
CLASS="LITERAL"
|
||||||
<tr>
|
>if-unstable-end@</TT
|
||||||
<td>
|
>
|
||||||
<pre class="SCREEN">
|
will disappear, leaving nothing but an empty comment:</P
|
||||||
<!-- -->
|
><P
|
||||||
</pre>
|
> <TABLE
|
||||||
</td>
|
BORDER="0"
|
||||||
</tr>
|
BGCOLOR="#E0E0E0"
|
||||||
</table>
|
WIDTH="100%"
|
||||||
|
><TR
|
||||||
<p>There's also an if-then-else construct and an <tt class=
|
><TD
|
||||||
"LITERAL">#include</tt> mechanism, but you'll sure find out if you are
|
><PRE
|
||||||
inclined to edit the templates ;-)</p>
|
CLASS="SCREEN"
|
||||||
|
><!-- --></PRE
|
||||||
<p>All templates refer to a style located at <a href=
|
></TD
|
||||||
"http://config.privoxy.org/send-stylesheet" target="_top"><tt class=
|
></TR
|
||||||
"LITERAL">http://config.privoxy.org/send-stylesheet</tt></a>. This is, of
|
></TABLE
|
||||||
course, locally served by <span class="APPLICATION">Privoxy</span> and
|
></P
|
||||||
the source for it can be found and edited in the <tt class=
|
><P
|
||||||
"FILENAME">cgi-style.css</tt> template.</p>
|
> There's also an if-then-else construct and an <TT
|
||||||
</div>
|
CLASS="LITERAL"
|
||||||
|
>#include</TT
|
||||||
<div class="NAVFOOTER">
|
>
|
||||||
<hr class="c1" width="100%">
|
mechanism, but you'll sure find out if you are inclined to edit the
|
||||||
|
templates ;-)</P
|
||||||
<table summary="Footer navigation table" width="100%" border="0"
|
><P
|
||||||
cellpadding="0" cellspacing="0">
|
> All templates refer to a style located at
|
||||||
<tr>
|
<A
|
||||||
<td width="33%" align="left" valign="top"><a href="filter-file.html"
|
HREF="http://config.privoxy.org/send-stylesheet"
|
||||||
accesskey="P">Prev</a></td>
|
TARGET="_top"
|
||||||
|
><TT
|
||||||
<td width="34%" align="center" valign="top"><a href="index.html"
|
CLASS="LITERAL"
|
||||||
accesskey="H">Home</a></td>
|
>http://config.privoxy.org/send-stylesheet</TT
|
||||||
|
></A
|
||||||
<td width="33%" align="right" valign="top"><a href="contact.html"
|
>.
|
||||||
accesskey="N">Next</a></td>
|
This is, of course, locally served by <SPAN
|
||||||
</tr>
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
<tr>
|
>
|
||||||
<td width="33%" align="left" valign="top">Filter Files</td>
|
and the source for it can be found and edited in the
|
||||||
|
<TT
|
||||||
<td width="34%" align="center" valign="top"> </td>
|
CLASS="FILENAME"
|
||||||
|
>cgi-style.css</TT
|
||||||
<td width="33%" align="right" valign="top">Contacting the Developers,
|
> template.</P
|
||||||
Bug Reporting and Feature Requests</td>
|
></DIV
|
||||||
</tr>
|
><DIV
|
||||||
</table>
|
CLASS="NAVFOOTER"
|
||||||
</div>
|
><HR
|
||||||
</body>
|
ALIGN="LEFT"
|
||||||
</html>
|
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 $
|
* 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
|
* Purpose : Functions to encode and decode URLs, and also to
|
||||||
* encode cookies and HTML text.
|
* encode cookies and HTML text.
|
||||||
*
|
*
|
||||||
* Copyright : Written by and Copyright (C) 2001 the
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
* Privoxy team. http://www.privoxy.org/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: encode.c,v $
|
||||||
|
* Revision 1.14 2008/05/21 15:38:13 fabiankeil
|
||||||
|
* Garbage-collect cookie_encode().
|
||||||
|
*
|
||||||
|
* Revision 1.13 2007/08/18 14:34:27 fabiankeil
|
||||||
|
* Make xtoi() extern so it can be used in pcrs.c.
|
||||||
|
*
|
||||||
|
* Revision 1.12 2007/08/04 10:15:51 fabiankeil
|
||||||
|
* Use strlcpy() instead of strcpy().
|
||||||
|
*
|
||||||
|
* Revision 1.11 2006/12/28 18:25:53 fabiankeil
|
||||||
|
* Fixed gcc43 compiler warning.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/13 00:27:04 jongfoster
|
||||||
|
* Killing warnings
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/03/07 03:46:53 oes
|
||||||
|
* Fixed compiler warnings etc
|
||||||
|
*
|
||||||
|
* Revision 1.4 2002/01/22 23:28:07 jongfoster
|
||||||
|
* Adding convenience function html_encode_and_free_original()
|
||||||
|
* Making all functions accept NULL paramaters - in this case, they
|
||||||
|
* simply return NULL. This allows error-checking to be deferred.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/11/13 00:16:40 jongfoster
|
||||||
|
* Replacing references to malloc.h with the standard stdlib.h
|
||||||
|
* (See ANSI or K&R 2nd Ed)
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/17 22:52:35 oes
|
||||||
|
* - Cleaned CRLF's from the sources and related files
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
@ -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;
|
const char encode_h_rcs[] = ENCODE_H_VERSION;
|
||||||
|
|
||||||
/* Maps special characters in a URL to their equivalent % codes. */
|
/* Maps special characters in a URL to their equivalent % codes. */
|
||||||
static const char const url_code_map[256][4] = {
|
static const char * const url_code_map[256] = {
|
||||||
"", "%01", "%02", "%03", "%04", "%05", "%06", "%07", "%08", "%09",
|
NULL, "%01", "%02", "%03", "%04", "%05", "%06", "%07", "%08", "%09",
|
||||||
"%0A", "%0B", "%0C", "%0D", "%0E", "%0F", "%10", "%11", "%12", "%13",
|
"%0A", "%0B", "%0C", "%0D", "%0E", "%0F", "%10", "%11", "%12", "%13",
|
||||||
"%14", "%15", "%16", "%17", "%18", "%19", "%1A", "%1B", "%1C", "%1D",
|
"%14", "%15", "%16", "%17", "%18", "%19", "%1A", "%1B", "%1C", "%1D",
|
||||||
"%1E", "%1F", "%20", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
|
"%1E", "%1F", "+", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
|
||||||
"%28", "%29", "", "%2B", "%2C", "", "", "%2F", "", "",
|
"%28", "%29", NULL, "%2B", "%2C", NULL, NULL, "%2F", NULL, NULL,
|
||||||
"", "", "", "", "", "", "", "", "%3A", "%3B",
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "%3A", "%3B",
|
||||||
"%3C", "%3D", "%3E", "%3F", "", "", "", "", "", "",
|
"%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,
|
||||||
"", "%5B", "%5C", "%5D", "%5E", "", "%60", "", "", "",
|
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,
|
||||||
"", "", "", "%7B", "%7C", "%7D", "%7E", "%7F", "%80", "%81",
|
NULL, NULL, NULL, "%7B", "%7C", "%7D", "%7E", "%7F", "%80", "%81",
|
||||||
"%82", "%83", "%84", "%85", "%86", "%87", "%88", "%89", "%8A", "%8B",
|
"%82", "%83", "%84", "%85", "%86", "%87", "%88", "%89", "%8A", "%8B",
|
||||||
"%8C", "%8D", "%8E", "%8F", "%90", "%91", "%92", "%93", "%94", "%95",
|
"%8C", "%8D", "%8E", "%8F", "%90", "%91", "%92", "%93", "%94", "%95",
|
||||||
"%96", "%97", "%98", "%99", "%9A", "%9B", "%9C", "%9D", "%9E", "%9F",
|
"%96", "%97", "%98", "%99", "%9A", "%9B", "%9C", "%9D", "%9E", "%9F",
|
||||||
|
@ -76,12 +122,12 @@ static const char const url_code_map[256][4] = {
|
||||||
"%FA", "%FB", "%FC", "%FD", "%FE", "%FF"
|
"%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] = {
|
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,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
|
* query string. Replaces special characters with
|
||||||
* the appropriate %xx codes.
|
* the appropriate %xx codes.
|
||||||
*
|
*
|
||||||
* XXX: url_query_encode() would be a more fitting
|
|
||||||
* name.
|
|
||||||
*
|
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* 1 : s = String to encode. Null-terminated.
|
* 1 : s = String to encode. Null-terminated.
|
||||||
*
|
*
|
||||||
|
@ -238,8 +281,8 @@ char * url_encode(const char *s)
|
||||||
char * p = buf;
|
char * p = buf;
|
||||||
while( (c = *s++) != '\0')
|
while( (c = *s++) != '\0')
|
||||||
{
|
{
|
||||||
const char *replace_with = url_code_map[(unsigned char) c];
|
const char * replace_with = url_code_map[(unsigned char) c];
|
||||||
if (*replace_with != '\0')
|
if (replace_with != NULL)
|
||||||
{
|
{
|
||||||
const size_t bytes_written = (size_t)(p - buf);
|
const size_t bytes_written = (size_t)(p - buf);
|
||||||
assert(bytes_written < buf_size);
|
assert(bytes_written < buf_size);
|
||||||
|
@ -308,12 +351,12 @@ static int xdtoi(const int d)
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
int xtoi(const char *s)
|
int xtoi(const char *s)
|
||||||
{
|
{
|
||||||
int d1;
|
int d1, d2;
|
||||||
|
|
||||||
d1 = xdtoi(*s);
|
d1 = xdtoi(*s);
|
||||||
if(d1 >= 0)
|
if(d1 >= 0)
|
||||||
{
|
{
|
||||||
int d2 = xdtoi(*(s+1));
|
d2 = xdtoi(*(s+1));
|
||||||
if(d2 >= 0)
|
if(d2 >= 0)
|
||||||
{
|
{
|
||||||
return (d1 << 4) + d2;
|
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:
|
Local Variables:
|
||||||
tab-width: 3
|
tab-width: 3
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef ENCODE_H_INCLUDED
|
#ifndef ENCODE_H_INCLUDED
|
||||||
#define ENCODE_H_INCLUDED
|
#define ENCODE_H_INCLUDED
|
||||||
#define ENCODE_H_VERSION "$Id: encode.h,v 1.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 $
|
* File : $Source: /cvsroot/ijbswa/current/encode.h,v $
|
||||||
|
@ -33,8 +33,39 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: encode.h,v $
|
||||||
|
* Revision 1.9 2008/05/21 15:38:13 fabiankeil
|
||||||
|
* Garbage-collect cookie_encode().
|
||||||
|
*
|
||||||
|
* Revision 1.8 2007/08/18 14:34:27 fabiankeil
|
||||||
|
* Make xtoi() extern so it can be used in pcrs.c.
|
||||||
|
*
|
||||||
|
* Revision 1.7 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.4 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.3 2002/01/22 23:28:07 jongfoster
|
||||||
|
* Adding convenience function html_encode_and_free_original()
|
||||||
|
* Making all functions accept NULL paramaters - in this case, they
|
||||||
|
* simply return NULL. This allows error-checking to be deferred.
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/29 18:43:08 jongfoster
|
||||||
|
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
||||||
|
* ANSI C rules.
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -45,7 +76,6 @@ extern char * url_encode(const char *s);
|
||||||
extern char * url_decode(const char *str);
|
extern char * url_decode(const char *str);
|
||||||
extern int xtoi(const char *s);
|
extern int xtoi(const char *s);
|
||||||
extern char * html_encode_and_free_original(char *s);
|
extern char * html_encode_and_free_original(char *s);
|
||||||
extern char * percent_encode_url(const char *s);
|
|
||||||
|
|
||||||
/* Revision control strings from this header and associated .c file */
|
/* Revision control strings from this header and associated .c file */
|
||||||
extern const char encode_rcs[];
|
extern const char encode_rcs[];
|
||||||
|
|
|
@ -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 $
|
* 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,
|
* Purpose : Log errors to a designated destination in an elegant,
|
||||||
* printf-like fashion.
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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 <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "miscutil.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
|
* Currently we reopen it every time the config file
|
||||||
* has been reloaded, but actually we only have to
|
* has been reloaded, but actually we only have to
|
||||||
* reopen it if the file name changed or if the
|
* 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\'. "
|
log_error(LOG_LEVEL_INFO, "Failed to reopen logfile: \'%s\'. "
|
||||||
"Retrying after closing the old file descriptor first. If that "
|
"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);
|
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;
|
logfp = fp;
|
||||||
unlock_logfile();
|
unlock_logfile();
|
||||||
|
|
||||||
|
@ -438,11 +827,12 @@ static inline size_t get_log_timestamp(char *buffer, size_t buffer_size)
|
||||||
|
|
||||||
gettimeofday(&tv_now, NULL);
|
gettimeofday(&tv_now, NULL);
|
||||||
msecs = tv_now.tv_usec / 1000;
|
msecs = tv_now.tv_usec / 1000;
|
||||||
now = tv_now.tv_sec;
|
|
||||||
|
time(&now);
|
||||||
|
|
||||||
#ifdef HAVE_LOCALTIME_R
|
#ifdef HAVE_LOCALTIME_R
|
||||||
tm_now = *localtime_r(&now, &tm_now);
|
tm_now = *localtime_r(&now, &tm_now);
|
||||||
#elif defined(MUTEX_LOCKS_AVAILABLE)
|
#elif FEATURE_PTHREAD
|
||||||
privoxy_mutex_lock(&localtime_mutex);
|
privoxy_mutex_lock(&localtime_mutex);
|
||||||
tm_now = *localtime(&now);
|
tm_now = *localtime(&now);
|
||||||
privoxy_mutex_unlock(&localtime_mutex);
|
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);
|
tm_now = *localtime(&now);
|
||||||
#endif
|
#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)
|
if (length > (size_t)0)
|
||||||
{
|
{
|
||||||
msecs_length = snprintf(buffer+length, buffer_size - length, ".%.3ld", msecs);
|
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);
|
time (&now);
|
||||||
#ifdef HAVE_GMTIME_R
|
#ifdef HAVE_GMTIME_R
|
||||||
gmt = *gmtime_r(&now, &gmt);
|
gmt = *gmtime_r(&now, &gmt);
|
||||||
#elif defined(MUTEX_LOCKS_AVAILABLE)
|
#elif FEATURE_PTHREAD
|
||||||
privoxy_mutex_lock(&gmtime_mutex);
|
privoxy_mutex_lock(&gmtime_mutex);
|
||||||
gmt = *gmtime(&now);
|
gmt = *gmtime(&now);
|
||||||
privoxy_mutex_unlock(&gmtime_mutex);
|
privoxy_mutex_unlock(&gmtime_mutex);
|
||||||
|
@ -509,7 +899,7 @@ static inline size_t get_clf_timestamp(char *buffer, size_t buffer_size)
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_LOCALTIME_R
|
#ifdef HAVE_LOCALTIME_R
|
||||||
tm_now = localtime_r(&now, &dummy);
|
tm_now = localtime_r(&now, &dummy);
|
||||||
#elif defined(MUTEX_LOCKS_AVAILABLE)
|
#elif FEATURE_PTHREAD
|
||||||
privoxy_mutex_lock(&localtime_mutex);
|
privoxy_mutex_lock(&localtime_mutex);
|
||||||
tm_now = localtime(&now);
|
tm_now = localtime(&now);
|
||||||
privoxy_mutex_unlock(&localtime_mutex);
|
privoxy_mutex_unlock(&localtime_mutex);
|
||||||
|
@ -572,12 +962,9 @@ static inline const char *get_log_level_string(int loglevel)
|
||||||
case LOG_LEVEL_CONNECT:
|
case LOG_LEVEL_CONNECT:
|
||||||
log_level_string = "Connect";
|
log_level_string = "Connect";
|
||||||
break;
|
break;
|
||||||
case LOG_LEVEL_WRITING:
|
case LOG_LEVEL_LOG:
|
||||||
log_level_string = "Writing";
|
log_level_string = "Writing";
|
||||||
break;
|
break;
|
||||||
case LOG_LEVEL_RECEIVED:
|
|
||||||
log_level_string = "Received";
|
|
||||||
break;
|
|
||||||
case LOG_LEVEL_HEADER:
|
case LOG_LEVEL_HEADER:
|
||||||
log_level_string = "Header";
|
log_level_string = "Header";
|
||||||
break;
|
break;
|
||||||
|
@ -592,9 +979,11 @@ static inline const char *get_log_level_string(int loglevel)
|
||||||
log_level_string = "Force";
|
log_level_string = "Force";
|
||||||
break;
|
break;
|
||||||
#endif /* def FEATURE_FORCE_LOAD */
|
#endif /* def FEATURE_FORCE_LOAD */
|
||||||
|
#ifdef FEATURE_FAST_REDIRECTS
|
||||||
case LOG_LEVEL_REDIRECTS:
|
case LOG_LEVEL_REDIRECTS:
|
||||||
log_level_string = "Redirect";
|
log_level_string = "Redirect";
|
||||||
break;
|
break;
|
||||||
|
#endif /* def FEATURE_FAST_REDIRECTS */
|
||||||
case LOG_LEVEL_DEANIMATE:
|
case LOG_LEVEL_DEANIMATE:
|
||||||
log_level_string = "Gif-Deanimate";
|
log_level_string = "Gif-Deanimate";
|
||||||
break;
|
break;
|
||||||
|
@ -767,7 +1156,7 @@ void log_error(int loglevel, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
unsigned long long lluval = va_arg(ap, unsigned long long);
|
unsigned long long lluval = va_arg(ap, unsigned long long);
|
||||||
snprintf(tempbuf, sizeof(tempbuf), "%llu", lluval);
|
snprintf(tempbuf, sizeof(tempbuf), "%llu", lluval);
|
||||||
src++;
|
ch = *src++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -792,36 +1181,45 @@ void log_error(int loglevel, const char *fmt, ...)
|
||||||
break;
|
break;
|
||||||
case 'N':
|
case 'N':
|
||||||
/*
|
/*
|
||||||
* Non-standard: Print a counted unterminated string,
|
* Non-standard: Print a counted unterminated string.
|
||||||
* replacing unprintable bytes with their hex value.
|
|
||||||
* Takes 2 parameters: int length, const char * string.
|
* Takes 2 parameters: int length, const char * string.
|
||||||
*/
|
*/
|
||||||
ival = va_arg(ap, int);
|
ival = va_arg(ap, int);
|
||||||
assert(ival >= 0);
|
|
||||||
sval = va_arg(ap, char *);
|
sval = va_arg(ap, char *);
|
||||||
assert(sval != NULL);
|
if (sval == NULL)
|
||||||
|
|
||||||
while ((ival-- > 0) && (length < log_buffer_size - 6))
|
|
||||||
{
|
{
|
||||||
if (isprint((int)*sval) && (*sval != '\\'))
|
format_string = "[null]";
|
||||||
|
}
|
||||||
|
else if (ival <= 0)
|
||||||
|
{
|
||||||
|
if (0 == ival)
|
||||||
{
|
{
|
||||||
outbuf[length++] = *sval;
|
/* That's ok (but stupid) */
|
||||||
outbuf[length] = '\0';
|
tempbuf[0] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int ret = snprintf(outbuf + length,
|
/*
|
||||||
log_buffer_size - length - 2, "\\x%.2x", (unsigned char)*sval);
|
* That's not ok (and even more stupid)
|
||||||
assert(ret == 4);
|
*/
|
||||||
length += 4;
|
assert(ival >= 0);
|
||||||
|
format_string = "[counted string lenght < 0]";
|
||||||
}
|
}
|
||||||
sval++;
|
|
||||||
}
|
}
|
||||||
/*
|
else if ((size_t)ival >= sizeof(tempbuf))
|
||||||
* XXX: In case of printable characters at the end of
|
{
|
||||||
* the %N string, we're not using the whole buffer.
|
/*
|
||||||
*/
|
* String is too long, copy as much as possible.
|
||||||
format_string = (length < log_buffer_size - 6) ? "" : "[too long]";
|
* 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;
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
/* Non-standard: Print error code from errno */
|
/* 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);
|
snprintf(tempbuf, sizeof(tempbuf), "Bad format string: \"%s\"", fmt);
|
||||||
loglevel = LOG_LEVEL_FATAL;
|
loglevel = LOG_LEVEL_FATAL;
|
||||||
break;
|
break;
|
||||||
}
|
} /* switch( p ) */
|
||||||
|
|
||||||
assert(length < log_buffer_size);
|
assert(length < log_buffer_size);
|
||||||
length += strlcpy(outbuf + length, format_string, log_buffer_size - length);
|
length += strlcpy(outbuf + length, format_string, log_buffer_size - length);
|
||||||
|
|
||||||
if (length >= log_buffer_size-2)
|
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 = log_buffer_size - sizeof(warning) - 1;
|
||||||
length += strlcpy(outbuf + length, warning, log_buffer_size - length);
|
length += strlcpy(outbuf + length, warning, log_buffer_size - length);
|
||||||
|
@ -875,7 +1273,7 @@ void log_error(int loglevel, const char *fmt, ...)
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} /* for( p ... ) */
|
||||||
|
|
||||||
/* done with var. args */
|
/* done with var. args */
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
@ -945,14 +1343,14 @@ void log_error(int loglevel, const char *fmt, ...)
|
||||||
* visible to all files that include errlog.h.
|
* visible to all files that include errlog.h.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* 1 : jb_error = a valid jb_err code
|
* 1 : error = a valid jb_err code
|
||||||
*
|
*
|
||||||
* Returns : A string with the jb_err translation
|
* 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:
|
case JB_ERR_OK:
|
||||||
return "Success, no error";
|
return "Success, no error";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef ERRLOG_H_INCLUDED
|
#ifndef ERRLOG_H_INCLUDED
|
||||||
#define 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 $
|
* File : $Source: /cvsroot/ijbswa/current/errlog.h,v $
|
||||||
|
@ -33,8 +33,134 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -47,7 +173,7 @@ extern "C" {
|
||||||
#define LOG_LEVEL_CONNECT 0x0002
|
#define LOG_LEVEL_CONNECT 0x0002
|
||||||
#define LOG_LEVEL_IO 0x0004
|
#define LOG_LEVEL_IO 0x0004
|
||||||
#define LOG_LEVEL_HEADER 0x0008
|
#define LOG_LEVEL_HEADER 0x0008
|
||||||
#define LOG_LEVEL_WRITING 0x0010
|
#define LOG_LEVEL_LOG 0x0010
|
||||||
#ifdef FEATURE_FORCE_LOAD
|
#ifdef FEATURE_FORCE_LOAD
|
||||||
#define LOG_LEVEL_FORCE 0x0020
|
#define LOG_LEVEL_FORCE 0x0020
|
||||||
#endif /* def FEATURE_FORCE_LOAD */
|
#endif /* def FEATURE_FORCE_LOAD */
|
||||||
|
@ -57,7 +183,6 @@ extern "C" {
|
||||||
#define LOG_LEVEL_CLF 0x0200 /* Common Log File format */
|
#define LOG_LEVEL_CLF 0x0200 /* Common Log File format */
|
||||||
#define LOG_LEVEL_CRUNCH 0x0400
|
#define LOG_LEVEL_CRUNCH 0x0400
|
||||||
#define LOG_LEVEL_CGI 0x0800 /* CGI / templates */
|
#define LOG_LEVEL_CGI 0x0800 /* CGI / templates */
|
||||||
#define LOG_LEVEL_RECEIVED 0x8000
|
|
||||||
|
|
||||||
/* Following are always on: */
|
/* Following are always on: */
|
||||||
#define LOG_LEVEL_INFO 0x1000
|
#define LOG_LEVEL_INFO 0x1000
|
||||||
|
@ -70,7 +195,7 @@ extern void disable_logging(void);
|
||||||
extern void init_log_module(void);
|
extern void init_log_module(void);
|
||||||
extern void show_version(const char *prog_name);
|
extern void show_version(const char *prog_name);
|
||||||
extern void log_error(int loglevel, const char *fmt, ...);
|
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 */
|
/* Revision control strings from this header and associated .c file */
|
||||||
extern const char errlog_rcs[];
|
extern const char errlog_rcs[];
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
||||||
#ifndef FILTERS_H_INCLUDED
|
#ifndef FILTERS_H_INCLUDED
|
||||||
#define 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 $
|
* File : $Source: /cvsroot/ijbswa/current/filters.h,v $
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
* `ij_untrusted_url', `intercept_url', `re_process_buffer',
|
* `ij_untrusted_url', `intercept_url', `re_process_buffer',
|
||||||
* `show_proxy_args', and `trust_url'
|
* `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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -37,8 +37,244 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
#include "project.h"
|
||||||
|
|
||||||
|
@ -101,22 +337,32 @@ extern const struct forward_spec *forward_url(struct client_state *csp,
|
||||||
/*
|
/*
|
||||||
* Content modification
|
* 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 *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 *rewrite_url(char *old_url, const char *pcrs_command);
|
||||||
extern char *get_last_url(char *subject, const char *redirect_mode);
|
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 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 content_filters_enabled(const struct current_action_spec *action);
|
||||||
extern int filters_available(const struct client_state *csp);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handling Max-Forwards:
|
* Handling Max-Forwards:
|
||||||
*/
|
*/
|
||||||
extern struct http_response *direct_response(struct client_state *csp);
|
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
|
* 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 $
|
* 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
|
* using a "forwarder" (i.e. HTTP proxy and/or a SOCKS4
|
||||||
* or SOCKS5 proxy).
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* 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
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
#include "config.h"
|
||||||
|
|
||||||
|
@ -88,24 +297,21 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
||||||
int target_port,
|
int target_port,
|
||||||
struct client_state *csp);
|
struct client_state *csp);
|
||||||
|
|
||||||
enum {
|
|
||||||
SOCKS4_REQUEST_GRANTED = 90,
|
|
||||||
SOCKS4_REQUEST_REJECT = 91,
|
|
||||||
SOCKS4_REQUEST_IDENT_FAILED = 92,
|
|
||||||
SOCKS4_REQUEST_IDENT_CONFLICT = 93
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
#define SOCKS_REQUEST_GRANTED 90
|
||||||
SOCKS5_REQUEST_GRANTED = 0,
|
#define SOCKS_REQUEST_REJECT 91
|
||||||
SOCKS5_REQUEST_FAILED = 1,
|
#define SOCKS_REQUEST_IDENT_FAILED 92
|
||||||
SOCKS5_REQUEST_DENIED = 2,
|
#define SOCKS_REQUEST_IDENT_CONFLICT 93
|
||||||
SOCKS5_REQUEST_NETWORK_UNREACHABLE = 3,
|
|
||||||
SOCKS5_REQUEST_HOST_UNREACHABLE = 4,
|
#define SOCKS5_REQUEST_GRANTED 0
|
||||||
SOCKS5_REQUEST_CONNECTION_REFUSED = 5,
|
#define SOCKS5_REQUEST_FAILED 1
|
||||||
SOCKS5_REQUEST_TTL_EXPIRED = 6,
|
#define SOCKS5_REQUEST_DENIED 2
|
||||||
SOCKS5_REQUEST_PROTOCOL_ERROR = 7,
|
#define SOCKS5_REQUEST_NETWORK_UNREACHABLE 3
|
||||||
SOCKS5_REQUEST_BAD_ADDRESS_TYPE = 8
|
#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 */
|
/* structure of a socks client operation */
|
||||||
struct socks_op {
|
struct socks_op {
|
||||||
|
@ -128,13 +334,32 @@ struct socks_reply {
|
||||||
|
|
||||||
static const char socks_userid[] = "anonymous";
|
static const char socks_userid[] = "anonymous";
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_SHARING
|
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
|
|
||||||
#define MAX_REUSABLE_CONNECTIONS 100
|
#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 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
|
* Function : remember_connection
|
||||||
*
|
*
|
||||||
* Description : Remembers a server connection for reuse later on.
|
* Description : Remembers a connection for reuse later on.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* 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
|
* 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;
|
unsigned int slot = 0;
|
||||||
int free_slot_found = FALSE;
|
int free_slot_found = FALSE;
|
||||||
|
|
||||||
assert(NULL != connection);
|
assert(sfd != JB_INVALID_SOCKET);
|
||||||
assert(connection->sfd != JB_INVALID_SOCKET);
|
|
||||||
|
|
||||||
if (mark_connection_unused(connection))
|
if (mark_connection_unused(sfd))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -203,7 +430,7 @@ void remember_connection(const struct reusable_connection *connection)
|
||||||
assert(reusable_connection[slot].in_use == 0);
|
assert(reusable_connection[slot].in_use == 0);
|
||||||
log_error(LOG_LEVEL_CONNECT,
|
log_error(LOG_LEVEL_CONNECT,
|
||||||
"Remembering socket %d for %s:%d in slot %d.",
|
"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;
|
free_slot_found = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -213,36 +440,34 @@ void remember_connection(const struct reusable_connection *connection)
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_CONNECT,
|
log_error(LOG_LEVEL_CONNECT,
|
||||||
"No free slots found to remembering socket for %s:%d. Last slot %d.",
|
"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);
|
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||||
close_socket(connection->sfd);
|
close_socket(sfd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(NULL != connection->host);
|
assert(NULL != http->host);
|
||||||
reusable_connection[slot].host = strdup(connection->host);
|
reusable_connection[slot].host = strdup(http->host);
|
||||||
if (NULL == reusable_connection[slot].host)
|
if (NULL == reusable_connection[slot].host)
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_FATAL, "Out of memory saving socket.");
|
log_error(LOG_LEVEL_FATAL, "Out of memory saving socket.");
|
||||||
}
|
}
|
||||||
reusable_connection[slot].sfd = connection->sfd;
|
reusable_connection[slot].sfd = sfd;
|
||||||
reusable_connection[slot].port = connection->port;
|
reusable_connection[slot].port = http->port;
|
||||||
reusable_connection[slot].in_use = 0;
|
reusable_connection[slot].in_use = 0;
|
||||||
reusable_connection[slot].timestamp = connection->timestamp;
|
reusable_connection[slot].timestamp = time(NULL);
|
||||||
reusable_connection->request_sent = connection->request_sent;
|
|
||||||
reusable_connection->response_received = connection->response_received;
|
|
||||||
reusable_connection[slot].keep_alive_timeout = connection->keep_alive_timeout;
|
|
||||||
|
|
||||||
|
assert(NULL != fwd);
|
||||||
assert(reusable_connection[slot].gateway_host == NULL);
|
assert(reusable_connection[slot].gateway_host == NULL);
|
||||||
assert(reusable_connection[slot].gateway_port == 0);
|
assert(reusable_connection[slot].gateway_port == 0);
|
||||||
assert(reusable_connection[slot].forwarder_type == SOCKS_NONE);
|
assert(reusable_connection[slot].forwarder_type == SOCKS_NONE);
|
||||||
assert(reusable_connection[slot].forward_host == NULL);
|
assert(reusable_connection[slot].forward_host == NULL);
|
||||||
assert(reusable_connection[slot].forward_port == 0);
|
assert(reusable_connection[slot].forward_port == 0);
|
||||||
|
|
||||||
reusable_connection[slot].forwarder_type = connection->forwarder_type;
|
reusable_connection[slot].forwarder_type = fwd->type;
|
||||||
if (NULL != connection->gateway_host)
|
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)
|
if (NULL == reusable_connection[slot].gateway_host)
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_FATAL, "Out of memory saving 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_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)
|
if (NULL == reusable_connection[slot].forward_host)
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_FATAL, "Out of memory saving 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_host = NULL;
|
||||||
}
|
}
|
||||||
reusable_connection[slot].forward_port = connection->forward_port;
|
reusable_connection[slot].forward_port = fwd->forward_port;
|
||||||
|
|
||||||
privoxy_mutex_unlock(&connection_reuse_mutex);
|
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||||
}
|
}
|
||||||
#endif /* def FEATURE_CONNECTION_SHARING */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
* Function : mark_connection_closed
|
* Function : mark_connection_closed
|
||||||
*
|
*
|
||||||
* Description : Marks a reused connection closed.
|
* Description : Marks a reused connection closed.
|
||||||
|
* Must be called with connection_reuse_mutex locked.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* Parameters :
|
||||||
* 1 : closed_connection = The connection to mark as closed.
|
* 1 : closed_connection = The connection to mark as closed.
|
||||||
|
@ -286,26 +510,21 @@ void remember_connection(const struct reusable_connection *connection)
|
||||||
* Returns : void
|
* 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->in_use = FALSE;
|
||||||
closed_connection->sfd = JB_INVALID_SOCKET;
|
closed_connection->sfd = JB_INVALID_SOCKET;
|
||||||
freez(closed_connection->host);
|
freez(closed_connection->host);
|
||||||
closed_connection->port = 0;
|
closed_connection->port = 0;
|
||||||
closed_connection->timestamp = 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;
|
closed_connection->forwarder_type = SOCKS_NONE;
|
||||||
freez(closed_connection->gateway_host);
|
freez(closed_connection->gateway_host);
|
||||||
closed_connection->gateway_port = 0;
|
closed_connection->gateway_port = 0;
|
||||||
freez(closed_connection->forward_host);
|
freez(closed_connection->forward_host);
|
||||||
closed_connection->forward_port = 0;
|
closed_connection->forward_port = 0;
|
||||||
}
|
}
|
||||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_SHARING
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
* Function : forget_connection
|
* Function : forget_connection
|
||||||
|
@ -338,17 +557,19 @@ void forget_connection(jb_socket sfd)
|
||||||
sfd, reusable_connection[slot].host,
|
sfd, reusable_connection[slot].host,
|
||||||
reusable_connection[slot].port, slot);
|
reusable_connection[slot].port, slot);
|
||||||
mark_connection_closed(&reusable_connection[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);
|
privoxy_mutex_unlock(&connection_reuse_mutex);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* def FEATURE_CONNECTION_SHARING */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
* Function : connection_destination_matches
|
* Function : connection_destination_matches
|
||||||
|
@ -365,9 +586,9 @@ void forget_connection(jb_socket sfd)
|
||||||
* Returns : TRUE for yes, FALSE otherwise.
|
* Returns : TRUE for yes, FALSE otherwise.
|
||||||
*
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
int connection_destination_matches(const struct reusable_connection *connection,
|
static int connection_destination_matches(const struct reusable_connection *connection,
|
||||||
const struct http_request *http,
|
const struct http_request *http,
|
||||||
const struct forward_spec *fwd)
|
const struct forward_spec *fwd)
|
||||||
{
|
{
|
||||||
if ((connection->forwarder_type != fwd->type)
|
if ((connection->forwarder_type != fwd->type)
|
||||||
|| (connection->gateway_port != fwd->gateway_port)
|
|| (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))
|
&& strcmpic(connection->gateway_host, fwd->gateway_host))
|
||||||
&& (connection->gateway_host != fwd->gateway_host))
|
&& (connection->gateway_host != fwd->gateway_host))
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_CONNECT,
|
log_error(LOG_LEVEL_CONNECT, "Gateway mismatch.");
|
||||||
"Gateway mismatch. Previous gateway: %s. Current gateway: %s",
|
|
||||||
connection->gateway_host, fwd->gateway_host);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,19 +612,15 @@ int connection_destination_matches(const struct reusable_connection *connection,
|
||||||
&& strcmpic(connection->forward_host, fwd->forward_host))
|
&& strcmpic(connection->forward_host, fwd->forward_host))
|
||||||
&& (connection->forward_host != fwd->forward_host))
|
&& (connection->forward_host != fwd->forward_host))
|
||||||
{
|
{
|
||||||
log_error(LOG_LEVEL_CONNECT,
|
log_error(LOG_LEVEL_CONNECT, "Forwarding proxy mismatch.");
|
||||||
"Forwarding proxy mismatch. Previous proxy: %s. Current proxy: %s",
|
|
||||||
connection->forward_host, fwd->forward_host);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (!strcmpic(connection->host, http->host));
|
return (!strcmpic(connection->host, http->host));
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_SHARING
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
* Function : close_unusable_connections
|
* Function : close_unusable_connections
|
||||||
|
@ -431,23 +646,19 @@ int close_unusable_connections(void)
|
||||||
&& (JB_INVALID_SOCKET != reusable_connection[slot].sfd))
|
&& (JB_INVALID_SOCKET != reusable_connection[slot].sfd))
|
||||||
{
|
{
|
||||||
time_t time_open = time(NULL) - reusable_connection[slot].timestamp;
|
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,
|
log_error(LOG_LEVEL_CONNECT,
|
||||||
"The connection to %s:%d in slot %d timed out. "
|
"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].host,
|
||||||
reusable_connection[slot].port, slot,
|
reusable_connection[slot].port, slot,
|
||||||
reusable_connection[slot].sfd,
|
reusable_connection[slot].sfd, keep_alive_timeout);
|
||||||
reusable_connection[slot].keep_alive_timeout,
|
|
||||||
latency);
|
|
||||||
close_socket(reusable_connection[slot].sfd);
|
close_socket(reusable_connection[slot].sfd);
|
||||||
mark_connection_closed(&reusable_connection[slot]);
|
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,
|
log_error(LOG_LEVEL_CONNECT,
|
||||||
"The connection to %s:%d in slot %d is no longer usable. "
|
"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
|
* 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;
|
reusable_connection[slot].in_use = TRUE;
|
||||||
sfd = reusable_connection[slot].sfd;
|
sfd = reusable_connection[slot].sfd;
|
||||||
log_error(LOG_LEVEL_CONNECT,
|
log_error(LOG_LEVEL_CONNECT,
|
||||||
"Found reusable socket %d for %s:%d in slot %d. "
|
"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);
|
||||||
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));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -532,33 +798,33 @@ static jb_socket get_reusable_connection(const struct http_request *http,
|
||||||
* Description : Gives a remembered connection free for reuse.
|
* Description : Gives a remembered connection free for reuse.
|
||||||
*
|
*
|
||||||
* Parameters :
|
* 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.
|
* Returns : TRUE => Socket found and marked as unused.
|
||||||
* FALSE => Socket not found.
|
* 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;
|
unsigned int slot = 0;
|
||||||
int socket_found = FALSE;
|
int socket_found = FALSE;
|
||||||
|
|
||||||
assert(connection->sfd != JB_INVALID_SOCKET);
|
assert(sfd != JB_INVALID_SOCKET);
|
||||||
|
|
||||||
privoxy_mutex_lock(&connection_reuse_mutex);
|
privoxy_mutex_lock(&connection_reuse_mutex);
|
||||||
|
|
||||||
for (slot = 0; slot < SZ(reusable_connection); slot++)
|
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);
|
assert(reusable_connection[slot].in_use);
|
||||||
socket_found = TRUE;
|
socket_found = TRUE;
|
||||||
log_error(LOG_LEVEL_CONNECT,
|
log_error(LOG_LEVEL_CONNECT,
|
||||||
"Marking open socket %d for %s:%d in slot %d as unused.",
|
"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].port, slot);
|
||||||
reusable_connection[slot].in_use = 0;
|
reusable_connection[slot].in_use = 0;
|
||||||
reusable_connection[slot].timestamp = connection->timestamp;
|
reusable_connection[slot].timestamp = time(NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -583,11 +849,11 @@ static int mark_connection_unused(const struct reusable_connection *connection)
|
||||||
* Returns : void
|
* Returns : void
|
||||||
*
|
*
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
void set_keep_alive_timeout(unsigned int timeout)
|
void set_keep_alive_timeout(int timeout)
|
||||||
{
|
{
|
||||||
keep_alive_timeout = 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;
|
int dest_port;
|
||||||
jb_socket sfd = JB_INVALID_SOCKET;
|
jb_socket sfd = JB_INVALID_SOCKET;
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_SHARING
|
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
if ((csp->config->feature_flags & RUNTIME_FEATURE_CONNECTION_SHARING)
|
sfd = get_reusable_connection(http, fwd);
|
||||||
&& !(csp->flags & CSP_FLAG_SERVER_SOCKET_TAINTED))
|
if (JB_INVALID_SOCKET != sfd)
|
||||||
{
|
{
|
||||||
sfd = get_reusable_connection(http, fwd);
|
return sfd;
|
||||||
if (JB_INVALID_SOCKET != 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. */
|
/* Figure out if we need to connect to the web server or a HTTP proxy. */
|
||||||
if (fwd->forward_host)
|
if (fwd->forward_host)
|
||||||
|
@ -655,7 +917,7 @@ jb_socket forwarded_connect(const struct forward_spec * fwd,
|
||||||
default:
|
default:
|
||||||
/* Should never get here */
|
/* Should never get here */
|
||||||
log_error(LOG_LEVEL_FATAL,
|
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)
|
if (JB_INVALID_SOCKET != sfd)
|
||||||
|
@ -698,7 +960,7 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
||||||
int target_port,
|
int target_port,
|
||||||
struct client_state *csp)
|
struct client_state *csp)
|
||||||
{
|
{
|
||||||
unsigned long web_server_addr;
|
unsigned int web_server_addr;
|
||||||
char buf[BUFFER_SIZE];
|
char buf[BUFFER_SIZE];
|
||||||
struct socks_op *c = (struct socks_op *)buf;
|
struct socks_op *c = (struct socks_op *)buf;
|
||||||
struct socks_reply *s = (struct socks_reply *)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)
|
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))
|
else if (write_socket(sfd, (char *)c, csiz))
|
||||||
{
|
{
|
||||||
|
@ -815,20 +1081,6 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
||||||
err = 1;
|
err = 1;
|
||||||
close_socket(sfd);
|
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))
|
else if (read_socket(sfd, buf, sizeof(buf)) != sizeof(*s))
|
||||||
{
|
{
|
||||||
errstr = "SOCKS4 negotiation read failed.";
|
errstr = "SOCKS4 negotiation read failed.";
|
||||||
|
@ -845,18 +1097,18 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
|
||||||
|
|
||||||
switch (s->cd)
|
switch (s->cd)
|
||||||
{
|
{
|
||||||
case SOCKS4_REQUEST_GRANTED:
|
case SOCKS_REQUEST_GRANTED:
|
||||||
return(sfd);
|
return(sfd);
|
||||||
case SOCKS4_REQUEST_REJECT:
|
case SOCKS_REQUEST_REJECT:
|
||||||
errstr = "SOCKS request rejected or failed.";
|
errstr = "SOCKS request rejected or failed.";
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
break;
|
break;
|
||||||
case SOCKS4_REQUEST_IDENT_FAILED:
|
case SOCKS_REQUEST_IDENT_FAILED:
|
||||||
errstr = "SOCKS request rejected because "
|
errstr = "SOCKS request rejected because "
|
||||||
"SOCKS server cannot connect to identd on the client.";
|
"SOCKS server cannot connect to identd on the client.";
|
||||||
errno = EACCES;
|
errno = EACCES;
|
||||||
break;
|
break;
|
||||||
case SOCKS4_REQUEST_IDENT_CONFLICT:
|
case SOCKS_REQUEST_IDENT_CONFLICT:
|
||||||
errstr = "SOCKS request rejected because "
|
errstr = "SOCKS request rejected because "
|
||||||
"the client program and identd report "
|
"the client program and identd report "
|
||||||
"different user-ids.";
|
"different user-ids.";
|
||||||
|
@ -943,7 +1195,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
char cbuf[300];
|
char cbuf[300];
|
||||||
char sbuf[10];
|
char sbuf[30];
|
||||||
size_t client_pos = 0;
|
size_t client_pos = 0;
|
||||||
int server_size = 0;
|
int server_size = 0;
|
||||||
size_t hostlen = 0;
|
size_t hostlen = 0;
|
||||||
|
@ -999,8 +1251,6 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
||||||
{
|
{
|
||||||
errstr = "socks5 server unreachable";
|
errstr = "socks5 server unreachable";
|
||||||
log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s", errstr);
|
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);
|
csp->error_message = strdup(errstr);
|
||||||
return(JB_INVALID_SOCKET);
|
return(JB_INVALID_SOCKET);
|
||||||
}
|
}
|
||||||
|
@ -1019,20 +1269,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
||||||
return(JB_INVALID_SOCKET);
|
return(JB_INVALID_SOCKET);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data_is_available(sfd, csp->config->socket_timeout))
|
if (read_socket(sfd, sbuf, sizeof(sbuf)) != 2)
|
||||||
{
|
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
errstr = "SOCKS5 negotiation read failed";
|
errstr = "SOCKS5 negotiation read failed";
|
||||||
err = 1;
|
err = 1;
|
||||||
|
@ -1081,7 +1318,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
|
||||||
|
|
||||||
if (write_socket(sfd, cbuf, client_pos))
|
if (write_socket(sfd, cbuf, client_pos))
|
||||||
{
|
{
|
||||||
errstr = "SOCKS5 negotiation write failed";
|
errstr = "SOCKS5 negotiation read failed";
|
||||||
csp->error_message = strdup(errstr);
|
csp->error_message = strdup(errstr);
|
||||||
log_error(LOG_LEVEL_CONNECT, "%s", errstr);
|
log_error(LOG_LEVEL_CONNECT, "%s", errstr);
|
||||||
close_socket(sfd);
|
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));
|
server_size = read_socket(sfd, sbuf, sizeof(sbuf));
|
||||||
if (server_size != sizeof(sbuf))
|
if (server_size < 3)
|
||||||
{
|
{
|
||||||
errstr = "SOCKS5 negotiation read failed";
|
errstr = "SOCKS5 negotiation read failed";
|
||||||
|
err = 1;
|
||||||
}
|
}
|
||||||
else
|
else if (server_size > 20)
|
||||||
{
|
{
|
||||||
if (sbuf[0] != '\x05')
|
/* This is somewhat unexpected but doesn't realy matter. */
|
||||||
{
|
log_error(LOG_LEVEL_CONNECT, "socks5_connect: read %d bytes "
|
||||||
errstr = "SOCKS5 negotiation protocol version error";
|
"from socks server. Would have accepted up to %d.",
|
||||||
}
|
server_size, sizeof(sbuf));
|
||||||
else if (sbuf[2] != '\x00')
|
}
|
||||||
{
|
|
||||||
errstr = "SOCKS5 negotiation protocol error";
|
if (!err && (sbuf[0] != '\x05'))
|
||||||
}
|
{
|
||||||
else if (sbuf[1] != SOCKS5_REQUEST_GRANTED)
|
errstr = "SOCKS5 negotiation protocol version error";
|
||||||
{
|
err = 1;
|
||||||
errstr = translate_socks5_error(sbuf[1]);
|
}
|
||||||
}
|
|
||||||
else
|
if (!err && (sbuf[2] != '\x00'))
|
||||||
|
{
|
||||||
|
errstr = "SOCKS5 negotiation protocol error";
|
||||||
|
err = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!err)
|
||||||
|
{
|
||||||
|
if (sbuf[1] == SOCKS5_REQUEST_GRANTED)
|
||||||
{
|
{
|
||||||
return(sfd);
|
return(sfd);
|
||||||
}
|
}
|
||||||
|
errstr = translate_socks5_error(sbuf[1]);
|
||||||
|
err = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(errstr != NULL);
|
assert(errstr != NULL);
|
||||||
csp->error_message = strdup(errstr);
|
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);
|
close_socket(sfd);
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef GATEWAY_H_INCLUDED
|
#ifndef GATEWAY_H_INCLUDED
|
||||||
#define 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 $
|
* File : $Source: /cvsroot/ijbswa/current/gateway.h,v $
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
* using a "gateway" (i.e. HTTP proxy and/or SOCKS4
|
* using a "gateway" (i.e. HTTP proxy and/or SOCKS4
|
||||||
* proxy). Also contains the list of gateway types.
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -34,8 +34,74 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -48,6 +114,7 @@ struct client_state;
|
||||||
extern jb_socket forwarded_connect(const struct forward_spec * fwd,
|
extern jb_socket forwarded_connect(const struct forward_spec * fwd,
|
||||||
struct http_request *http,
|
struct http_request *http,
|
||||||
struct client_state *csp);
|
struct client_state *csp);
|
||||||
|
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default number of seconds after which an
|
* 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
|
#define DEFAULT_KEEP_ALIVE_TIMEOUT 180
|
||||||
|
|
||||||
#ifdef FEATURE_CONNECTION_SHARING
|
extern void set_keep_alive_timeout(int timeout);
|
||||||
extern void set_keep_alive_timeout(unsigned int timeout);
|
|
||||||
extern void initialize_reusable_connections(void);
|
extern void initialize_reusable_connections(void);
|
||||||
extern void forget_connection(jb_socket sfd);
|
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);
|
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,
|
* Solaris fix
|
||||||
const struct http_request *http,
|
*/
|
||||||
const struct forward_spec *fwd);
|
#ifndef INADDR_NONE
|
||||||
#endif /* def FEATURE_CONNECTION_KEEP_ALIVE */
|
#define INADDR_NONE -1
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Revision control strings from this header and associated .c file
|
* 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
|
#ifndef JBSOCKETS_H_INCLUDED
|
||||||
#define 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 $
|
* File : $Source: /cvsroot/ijbswa/current/jbsockets.h,v $
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
* OS-independent. Contains #ifdefs to make this work
|
* OS-independent. Contains #ifdefs to make this work
|
||||||
* on many platforms.
|
* 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/
|
* Privoxy team. http://www.privoxy.org/
|
||||||
*
|
*
|
||||||
* Based on the Internet Junkbuster originally written
|
* Based on the Internet Junkbuster originally written
|
||||||
|
@ -35,8 +35,78 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
#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 void close_socket(jb_socket fd);
|
||||||
|
|
||||||
extern int bind_port(const char *hostnam, int portnum, jb_socket *pfd);
|
extern int bind_port(const char *hostnam, int portnum, jb_socket *pfd);
|
||||||
extern int accept_connection(struct client_state * csp, jb_socket fds[]);
|
extern int accept_connection(struct client_state * csp, jb_socket fd);
|
||||||
extern void get_host_information(jb_socket afd, char **ip_address, char **port, char **hostname);
|
extern void get_host_information(jb_socket afd, char **ip_address, char **hostname);
|
||||||
|
|
||||||
extern unsigned long resolve_hostname_to_ip(const char *host);
|
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 */
|
/* Revision control strings from this header and associated .c file */
|
||||||
extern const char jbsockets_rcs[];
|
extern const char jbsockets_rcs[];
|
||||||
extern const char jbsockets_h_rcs[];
|
extern const char jbsockets_h_rcs[];
|
||||||
|
|
||||||
/*
|
|
||||||
* Solaris workaround
|
|
||||||
* XXX: still necessary?
|
|
||||||
*/
|
|
||||||
#ifndef INADDR_NONE
|
|
||||||
#define INADDR_NONE -1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* extern "C" */
|
} /* extern "C" */
|
||||||
#endif
|
#endif
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
||||||
#ifndef JCC_H_INCLUDED
|
#ifndef JCC_H_INCLUDED
|
||||||
#define 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 $
|
* File : $Source: /cvsroot/ijbswa/current/jcc.h,v $
|
||||||
|
@ -33,8 +33,143 @@
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -50,13 +185,13 @@ extern int urls_read;
|
||||||
extern int urls_rejected;
|
extern int urls_rejected;
|
||||||
#endif /*def FEATURE_STATISTICS*/
|
#endif /*def FEATURE_STATISTICS*/
|
||||||
|
|
||||||
extern struct client_states clients[1];
|
extern struct client_state clients[1];
|
||||||
extern struct file_list files[1];
|
extern struct file_list files[1];
|
||||||
|
|
||||||
#ifdef unix
|
#ifdef unix
|
||||||
extern const char *pidfile;
|
extern const char *pidfile;
|
||||||
#endif
|
#endif
|
||||||
extern int daemon_mode;
|
extern int no_daemon;
|
||||||
|
|
||||||
#ifdef FEATURE_GRACEFUL_TERMINATION
|
#ifdef FEATURE_GRACEFUL_TERMINATION
|
||||||
extern int g_terminate;
|
extern int g_terminate;
|
||||||
|
@ -104,9 +239,9 @@ extern privoxy_mutex_t rand_mutex;
|
||||||
/* Functions */
|
/* Functions */
|
||||||
|
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
int real_main(int argc, char **argv);
|
int real_main(int argc, const char *argv[]);
|
||||||
#else
|
#else
|
||||||
int main(int argc, char **argv);
|
int main(int argc, const char *argv[]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Revision control strings from this header and associated .c file */
|
/* 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