adding in privoxy directly to Orbot repo
|
@ -0,0 +1,116 @@
|
||||||
|
Authors of Privoxy v2.9.x and 3.x
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
Current Privoxy Team:
|
||||||
|
|
||||||
|
Fabian Keil, lead developer
|
||||||
|
David Schmidt, developer
|
||||||
|
|
||||||
|
Hal Burgiss
|
||||||
|
Mark Miller
|
||||||
|
Gerry Murphy
|
||||||
|
Lee Rian
|
||||||
|
Roland Rosenfeld
|
||||||
|
Jörg Strohmayer
|
||||||
|
|
||||||
|
Former Privoxy Team Members:
|
||||||
|
|
||||||
|
Johny Agotnes
|
||||||
|
Rodrigo Barbosa
|
||||||
|
Moritz Barsnick
|
||||||
|
Ian Cummings
|
||||||
|
Brian Dessent
|
||||||
|
Jon Foster
|
||||||
|
Karsten Hopp
|
||||||
|
Alexander Lazic
|
||||||
|
Daniel Leite
|
||||||
|
Gábor Lipták
|
||||||
|
Adam Lock
|
||||||
|
Guy Laroche
|
||||||
|
Justin McMurtry
|
||||||
|
Andreas Oesterhelt
|
||||||
|
Haroon Rafique
|
||||||
|
Georg Sauthoff
|
||||||
|
Thomas Steudten
|
||||||
|
Rodney Stromlund
|
||||||
|
Sviatoslav Sviridov
|
||||||
|
Sarantis Paskalis
|
||||||
|
Stefan Waldherr
|
||||||
|
|
||||||
|
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):
|
||||||
|
|
||||||
|
Ken Arromdee
|
||||||
|
Devin Bayer
|
||||||
|
Gergely Bor
|
||||||
|
Reiner Buehl
|
||||||
|
Andrew J. Caines
|
||||||
|
Clifford Caoile
|
||||||
|
Frédéric Crozat
|
||||||
|
Michael T. Davis
|
||||||
|
Mattes Dolak
|
||||||
|
Matthias Drochner
|
||||||
|
Peter E.
|
||||||
|
Florian Effenberger
|
||||||
|
Markus Elfring
|
||||||
|
Dean Gaudet
|
||||||
|
Stephen Gildea
|
||||||
|
Daniel Griscom
|
||||||
|
Felix Gröbert
|
||||||
|
Aaron Hamid
|
||||||
|
Darel Henman
|
||||||
|
Magnus Holmgren
|
||||||
|
Eric M. Hopper
|
||||||
|
Ralf Horstmann
|
||||||
|
Stefan Huehner
|
||||||
|
Peter Hyman
|
||||||
|
Derek Jennings
|
||||||
|
Petr Kadlec
|
||||||
|
David Laight
|
||||||
|
Bert van Leeuwen
|
||||||
|
Don Libes
|
||||||
|
Paul Lieverse
|
||||||
|
Toby Lyward
|
||||||
|
Wil Mahan
|
||||||
|
Jindrich Makovicka
|
||||||
|
David Mediavilla
|
||||||
|
Raphael Moll
|
||||||
|
Amuro Namie
|
||||||
|
Adam Piggott
|
||||||
|
Dan Price
|
||||||
|
Roberto Ragusa
|
||||||
|
Félix Rauch
|
||||||
|
Maynard Riley
|
||||||
|
Chung-chieh Shan
|
||||||
|
Spinor S.
|
||||||
|
Bart Schelstraete
|
||||||
|
Oliver Stoeneberg
|
||||||
|
Peter Thoenen
|
||||||
|
Martin Thomas
|
||||||
|
Bobby G. Vinyard
|
||||||
|
Jochen Voss
|
||||||
|
Glenn Washburn
|
||||||
|
Song Weijia
|
||||||
|
Jörg Weinmann
|
||||||
|
Darren Wiebe
|
||||||
|
Anduin Withers
|
||||||
|
Oliver Yeoh
|
||||||
|
Jamie Zawinski
|
||||||
|
|
||||||
|
Privoxy is based in part on code originally developed by Junkbusters Corp. and
|
||||||
|
Anonymous Coders.
|
||||||
|
|
||||||
|
Privoxy heavily relies on Philip Hazel's PCRE.
|
||||||
|
|
||||||
|
The code to filter compressed content makes use of zlib which is written by
|
||||||
|
Jean-loup Gailly and Mark Adler.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
If we've missed you off this list, please let us know!
|
||||||
|
|
||||||
|
Privoxy team. http://www.privoxy.org/
|
||||||
|
<ijbswa-developers@lists.sourceforge.net>
|
|
@ -0,0 +1,717 @@
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
ChangeLog for Privoxy
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
*** Version 3.0.12 (UNRELEASED) ***
|
||||||
|
|
||||||
|
- The socket-timeout option now also works on platforms whose
|
||||||
|
select() implementation modifies the timeout structure.
|
||||||
|
Previously the timeout was triggered even if the connection
|
||||||
|
didn't stall. Reported by cyberpatrol.
|
||||||
|
- The Connection: keep-alive code properly deals with files
|
||||||
|
larger than 2GB. Previously the connection was closed too
|
||||||
|
early.
|
||||||
|
- The content length for files above 2GB is logged correctly.
|
||||||
|
- The user-manual directive on the show-status page links to
|
||||||
|
the documentation location specified with the directive,
|
||||||
|
not to the Privoxy website.
|
||||||
|
- When running in daemon mode, Privoxy doesn't log anything
|
||||||
|
to the console unless there are errors before the logfile
|
||||||
|
has been opened.
|
||||||
|
- The show-status page prints warnings about invalid directives
|
||||||
|
on the same line as the directives themselves.
|
||||||
|
- Fixed several justified (but harmless) compiler warnings,
|
||||||
|
mostly on 64 bit platforms.
|
||||||
|
- The mingw32 version explicitly requests the default charset
|
||||||
|
to prevent display problems with some fonts available on more
|
||||||
|
recent Windows versions. Patch by Burberry.
|
||||||
|
- The mingw32 version uses the Privoxy icon in the alt-tab
|
||||||
|
windows. Patch by Burberry.
|
||||||
|
- The timestamp and the thread id is omitted in the "Fatal error"
|
||||||
|
message box on mingw32.
|
||||||
|
- Fixed two related mingw32-only buffer overflows. Triggering
|
||||||
|
them required control over the configuration file, therefore
|
||||||
|
this isn't seen as a security issue.
|
||||||
|
- In verbose mode, or if the new option --show-skipped-tests
|
||||||
|
is used, Privoxy-Regression-Test logs skipped tests and the
|
||||||
|
skip reason.
|
||||||
|
|
||||||
|
*** Version 3.0.11 ***
|
||||||
|
|
||||||
|
- On most platforms, outgoing connections can be kept alive and
|
||||||
|
reused if the server supports it. Whether or not this improves
|
||||||
|
things depends on the connection.
|
||||||
|
- When dropping privileges, membership in supplementary groups
|
||||||
|
is given up as well. Not doing that can lead to Privoxy running
|
||||||
|
with more rights than necessary and violates the principle of
|
||||||
|
least privilege. Users of the --user option are advised to update.
|
||||||
|
Thanks to Matthias Drochner for reporting the problem,
|
||||||
|
providing the initial patch and testing the final version.
|
||||||
|
- Passing invalid users or groups with the --user option
|
||||||
|
didn't lead to program exit. Regression introduced in 3.0.7.
|
||||||
|
- The match all section has been moved from default.action
|
||||||
|
to a new file called match-all.action. As a result the
|
||||||
|
default.action no longer needs to be touched by the user
|
||||||
|
and can be safely overwritten by updates.
|
||||||
|
- The standard.action file has been removed. Its content
|
||||||
|
is now part of the default.action file.
|
||||||
|
- In some situations the logged content length was slightly too low.
|
||||||
|
- Crunched requests are logged with their own log level.
|
||||||
|
If you used "debug 1" in the past, you'll probably want
|
||||||
|
to additionally enable "debug 1024", otherwise only passed
|
||||||
|
requests will be logged. If you only care about crunched
|
||||||
|
requests, simply replace "debug 1" with "debug 1024".
|
||||||
|
- The crunch reason has been moved to the beginning of the
|
||||||
|
crunch message. For HTTP URLs, the protocol is logged as well.
|
||||||
|
- Log messages are shortened by printing the thread id on its
|
||||||
|
own (as opposed to putting it inside the string "Privoxy()").
|
||||||
|
- The config option socket-timeout has been added to control
|
||||||
|
the time Privoxy waits for data to arrive on a socket.
|
||||||
|
- Support for remote toggling is controlled by the configure
|
||||||
|
option --disable-toggle only. In previous versions it also
|
||||||
|
depended on the action editor and thus configuring with the
|
||||||
|
--disable-editor option would disable remote toggling support
|
||||||
|
as well.
|
||||||
|
- Requests with invalid HTTP versions are rejected.
|
||||||
|
- The template symbol @date@ can be used to include a date(1)-like
|
||||||
|
time string. Initial patch submitted by Endre Szabo.
|
||||||
|
- Responses from shoutcast servers are accepted again.
|
||||||
|
Problem reported and fix suggested by Stefan.
|
||||||
|
- The hide-forwarded-for-headers action has been replaced with
|
||||||
|
the change-x-forwarded-for{} action which can also be used to
|
||||||
|
add X-Forwarded-For headers. The latter functionality already
|
||||||
|
existed in Privoxy versions prior to 3.0.7 but has been removed
|
||||||
|
as it was often used unintentionally (by not using the
|
||||||
|
hide-forwarded-for-headers action).
|
||||||
|
- A "clear log" view option was added to the mingw32 version
|
||||||
|
to clear out all of the lines in the Privoxy log window.
|
||||||
|
Based on a patch submitted by T Ford.
|
||||||
|
- The mingw32 version uses "critical sections" now, which prevents
|
||||||
|
log message corruption under load. As a side effect, the
|
||||||
|
"no thread-safe PRNG" warning could be removed as well.
|
||||||
|
- The mingw32 version's task bar icon is crossed out and
|
||||||
|
the color changed to gray if Privoxy is toggled off.
|
||||||
|
|
||||||
|
*** Version 3.0.10 ***
|
||||||
|
|
||||||
|
- Ordinary configuration file changes no longer cause program
|
||||||
|
termination on OS/2 if the name of the logfile hasn't been
|
||||||
|
changed as well. This regression probably crept in with the
|
||||||
|
logging improvements in 3.0.7. Reported by Maynard.
|
||||||
|
- The img-reorder filter is less likely to mess up JavaScript code in
|
||||||
|
img tags. Problem and solution reported by Glenn Washburn in #2014552.
|
||||||
|
- The source tar ball now includes Privoxy-Log-Parser,
|
||||||
|
a syntax-highlighter for Privoxy logs. For fancy screenshots see:
|
||||||
|
http://www.fabiankeil.de/sourcecode/privoxy-log-parser/
|
||||||
|
Documentation is available through perldoc(1).
|
||||||
|
|
||||||
|
*** Version 3.0.9 Beta ***
|
||||||
|
|
||||||
|
- Added SOCKS5 support (with address resolution done by
|
||||||
|
the SOCKS5 server). Patch provided by Eric M. Hopper.
|
||||||
|
- The "blocked" CGI pages include a block reason that was
|
||||||
|
provided as argument to the last-applying block action.
|
||||||
|
- If enable-edit-actions is disabled (the default since 3.0.7 beta)
|
||||||
|
the show-status page hides the edit buttons and explains why.
|
||||||
|
Previously the user would get the "this feature has been disabled"
|
||||||
|
message after using the edit button.
|
||||||
|
- Forbidden CONNECT requests are treated like blocks by default.
|
||||||
|
The now-pointless treat-forbidden-connects-like-blocks action
|
||||||
|
has been removed.
|
||||||
|
- Not enabling limit-connect now allows CONNECT requests to all ports.
|
||||||
|
In previous versions it would only allow CONNECT requests to port 443.
|
||||||
|
Use +limit-connect{443} if you think you need the old default behaviour.
|
||||||
|
- The CGI editor gets turned off after three edit requests with invalid
|
||||||
|
file modification timestamps. This makes life harder for attackers
|
||||||
|
who can leverage browser bugs to send fake Referers and intend to
|
||||||
|
brute-force edit URLs.
|
||||||
|
- Action settings for multiple patterns in the same section are
|
||||||
|
shared in memory. As a result these sections take up less space
|
||||||
|
(and are loaded slightly faster). Problem reported by Franz Schwartau.
|
||||||
|
- Linear white space in HTTP headers will be normalized to single
|
||||||
|
spaces before parsing the header's content, headers split across
|
||||||
|
multiple lines get merged first. This should prevent problems like:
|
||||||
|
* letting the session-cookies-only action slip
|
||||||
|
some Cookies through unmodified,
|
||||||
|
* only suppressing the first line of a header,
|
||||||
|
thus creating an invalid one, and
|
||||||
|
* to incorrectly block headers with valid timestamps
|
||||||
|
that weren't properly recognized.
|
||||||
|
Headers that could trigger these problems are unlikely to appear
|
||||||
|
in "normal" web traffic, but could be intentionally generated to
|
||||||
|
fool some of Privoxy's header parsers.
|
||||||
|
- Host information is gathered outside the main thread so it's less
|
||||||
|
likely to delay other incoming connections if the host is misconfigured.
|
||||||
|
- New config option "hostname" to use a hostname other than
|
||||||
|
the one returned by the operating system. Useful to speed-up responses
|
||||||
|
for CGI requests on misconfigured systems. Requested by Max Khon.
|
||||||
|
- The CGI editor supports the "disable all filters of this type"
|
||||||
|
directives "-client-header-filter", "-server-header-filter",
|
||||||
|
"-client-header-tagger" and "-server-header-tagger".
|
||||||
|
- Fixed false-positives with the link-by-url filter and URLs that
|
||||||
|
contain the pattern "/jump/".
|
||||||
|
- The less-download-windows filter no longer messes
|
||||||
|
"Content-Type: application/x-shockwave-flash" headers up.
|
||||||
|
- In the show-url-info page's "Final results" section active and
|
||||||
|
inactive actions are listed separately. Patch provided by Lee.
|
||||||
|
- The GNUmakefile supports the DESTDIR variable. Patch for
|
||||||
|
the install target submitted by Radoslaw Zielinski.
|
||||||
|
- Embedding the content of configuration files in the show-status
|
||||||
|
page is significantly faster now. For a largish action file (1 MB)
|
||||||
|
a speedup of about 2450 times has been measured. This is mostly
|
||||||
|
interesting if you are using large action files or regularly use
|
||||||
|
Privoxy-Regression-Test while running Privoxy through Valgrind,
|
||||||
|
for stock configuration files it doesn't really matter.
|
||||||
|
- If zlib support is unavailable and there are content
|
||||||
|
filters active but the prevent-compression action is disabled,
|
||||||
|
the show-url-info page includes a warning that compression
|
||||||
|
might prevent filtering.
|
||||||
|
- The show-url-info page provides an OpenSearch Description that
|
||||||
|
allows to access the page through browser search plugins.
|
||||||
|
- Custom client-header filters that rewrite the request line
|
||||||
|
incorrectly no longer cause Privoxy to crash. Reported by din_a4.
|
||||||
|
- The obsolete kill-popups action has been removed as the
|
||||||
|
PCRS-based popup filters can do the same and are slightly
|
||||||
|
less unreliable.
|
||||||
|
- The inspect-jpegs action has been removed.
|
||||||
|
- The send-wafer and send-vanilla-wafer actions have been removed.
|
||||||
|
They weren't particular useful and their behaviour could be emulated
|
||||||
|
with add-header anyway.
|
||||||
|
- Privoxy-Regression-Test has been significantly improved.
|
||||||
|
- Most sections in the default.action file contain tests for
|
||||||
|
Privoxy-Regression-Test to verify that they are working as intended.
|
||||||
|
- Parts of Privoxy have been refactored to increase maintainability.
|
||||||
|
- Building with zlib (if available) is done by default.
|
||||||
|
|
||||||
|
*** Version 3.0.8 ***
|
||||||
|
|
||||||
|
- Fixed a small memory leak when listen-address only specifies the port.
|
||||||
|
- The source tar balls now include Privoxy-Regression-Test which
|
||||||
|
(upon other things) can be used to automatically detect some
|
||||||
|
packaging problems. Packagers are welcome to give it a try.
|
||||||
|
- Reverted a change in 3.0.7 that caused path patterns to be checked
|
||||||
|
even if the host pattern match already failed. While this doesn't
|
||||||
|
noticeable affect the performance, it makes it less likely to run
|
||||||
|
out of stack space with overly-complex path patterns the user might
|
||||||
|
have added.
|
||||||
|
- Updated the msn, yahoo and google filters to work as advertised again.
|
||||||
|
- The warning message shown by the show-status CGI page is easier to
|
||||||
|
understand. Previously it wasn't clear that the error message
|
||||||
|
is shown below the invalid directive. (Reported by Lee)
|
||||||
|
- When regenerating Content-Disposition headers the more common
|
||||||
|
spelling is used for the name. Previously it was written without caps.
|
||||||
|
- Less confusing log message if the content type isn't overwritten
|
||||||
|
because force-text-type wasn't used but the old type doesn't look
|
||||||
|
like content that would be filtered normally.
|
||||||
|
- Better log messages if the user tries to execute filters that
|
||||||
|
don't exist.
|
||||||
|
- Treat the non-standard Request-Range headers like standard range
|
||||||
|
headers and suppress them if content filtering is enabled.
|
||||||
|
- Prevent the log messages for CONNECT requests to unacceptable
|
||||||
|
ports from printing the limit-connect argument as [null] if
|
||||||
|
limit-connect hasn't been explicitly enabled.
|
||||||
|
- Don't disable the mingw32 log window if the logfile directive
|
||||||
|
isn't used. While it was an intentional change in 3.0.7 at least
|
||||||
|
one user perceived it as a regression and the same effect can
|
||||||
|
be achieved by disabling all debug directives.
|
||||||
|
- Fixed two minor problems related to the win32 build process: a css
|
||||||
|
file was not being in the installer and the trustfile comment in the
|
||||||
|
config.txt referenced a nonexisting file
|
||||||
|
- Minor documentation fixes.
|
||||||
|
|
||||||
|
*** Version 3.0.7 Beta ***
|
||||||
|
|
||||||
|
- Added zlib support to filter content with gzip and deflate
|
||||||
|
encoding. (Patch provided by Wil Mahan)
|
||||||
|
- Dedicated filters and actions are used for header filtering.
|
||||||
|
"filter-client-headers" and "filter-client-headers" are no longer
|
||||||
|
supported, use server-header-filter{} and client-header-filter{}
|
||||||
|
instead.
|
||||||
|
- Tags can be used to change actions based on HTTP headers.
|
||||||
|
- New server-header filter: less-download-windows.
|
||||||
|
- New client-header taggers: css-requests, image-requests,
|
||||||
|
client-ip-address, http-method, allow-post, complete-url,
|
||||||
|
user-agent and privoxy-control.
|
||||||
|
- New server-header taggers: content-type and privoxy-control.
|
||||||
|
- The forward-override{} action allows to change the forwarding
|
||||||
|
settings through the action files, for example based on client
|
||||||
|
headers like the User-Agent, or the request origin.
|
||||||
|
- Socks errors are no longer handled by the CGI page for
|
||||||
|
DNS resolution failures.
|
||||||
|
- CGI pages use favicons to signal whether they are error
|
||||||
|
or control pages. This is useful if you rely heavily on
|
||||||
|
browser tabs.
|
||||||
|
- The show-url-info CGI page shows the forwarding settings.
|
||||||
|
- "Crunch!" log messages (used when Privoxy answers requests
|
||||||
|
by itself) now also contain the reason.
|
||||||
|
- Allow to rewrite the request destination behind the client's back.
|
||||||
|
- Fix socks requests on big-endian platforms. Patch provided by Song Weijia.
|
||||||
|
- Fixes possible deadlocks and crashes on OpenBSD.
|
||||||
|
Patch provided by Ralf Horstmann.
|
||||||
|
- The CGI action editor allows to edit actionfiles with previously
|
||||||
|
forbidden characters like dots.
|
||||||
|
- New trust entries are saved with a comment that contains the
|
||||||
|
trusted referring URL (Suggested by Daniel Griscom).
|
||||||
|
- Filter descriptions are HTML encoded automatically.
|
||||||
|
- New config option "split-large-forms" to work
|
||||||
|
around a browser bug that caused IE6 and IE7 to ignore
|
||||||
|
the Submit button on the edit-actions-for-url CGI page.
|
||||||
|
- New config option "allow-cgi-request-crunching" to allow
|
||||||
|
requests for Privoxy's CGI pages to be blocked, redirected
|
||||||
|
or (un)trusted like ordinary requests.
|
||||||
|
- Empty filter files no longer interrupt the filtering process
|
||||||
|
prematurely and are correctly listed on the show-status CGI page.
|
||||||
|
- New config option "accept-intercepted-requests" to combine
|
||||||
|
Privoxy with any packet filter to build an intercepting proxy
|
||||||
|
for HTTP/1.1 requests (and for HTTP/1.0 requests with Host header set).
|
||||||
|
- fast-redirects{} catch redirects to https URLs as well.
|
||||||
|
- redirect{s@foo@bar@} can be used to redirect to a rewritten
|
||||||
|
version of the original URL.
|
||||||
|
- Trap unsupported gopher proxy requests.
|
||||||
|
- Fixed a bug in the User Manual delivery on Windows
|
||||||
|
(mingw32 only). Images now show up correctly and HTML
|
||||||
|
pages are no longer padded with garbage data.
|
||||||
|
- Fixed several minor memory leaks, most of them discovered with Valgrind.
|
||||||
|
- Only unlink the pidfile if it's actually used.
|
||||||
|
- Retries after connection problems with forced requests
|
||||||
|
aren't blocked again.
|
||||||
|
- On Unix SIGABRT causes a core dump as expected and is no
|
||||||
|
longer treated as normal shutdown signal.
|
||||||
|
- The "access denied" CGI page is more descriptive and
|
||||||
|
allows retries to circumvent the referrer check.
|
||||||
|
- Updated PCRS to handle unexpected PCRE errors properly.
|
||||||
|
Fixed crashes that could occur if Privoxy was build
|
||||||
|
with external PCRE versions newer than Privoxy's internal
|
||||||
|
one. (Reported by Chung-chieh Shan)
|
||||||
|
- Fixed crashes with null bytes in PCRS replacement strings
|
||||||
|
(Patch provided by Felix Gröbert).
|
||||||
|
- Fixed crashes with header time randomization on mingw32.
|
||||||
|
- The CGI style sheet is no longer delivered if the referring
|
||||||
|
page isn't a Privoxy CGI page. This prevents a JavaScript-based
|
||||||
|
Privoxy detection "attack". Note that detecting Privoxy is
|
||||||
|
still possible through other ways and Privoxy was never intended
|
||||||
|
to be invisible anyway.
|
||||||
|
- Added support for AmigaOS 4, fixed build for AmigaOS 3.x.
|
||||||
|
- The show-url-info CGI page displays a warning if Privoxy
|
||||||
|
is currently toggled off.
|
||||||
|
- The show-status CGI page suppresses the edit button
|
||||||
|
for action files if Privoxy has no write access.
|
||||||
|
- Most CGI error pages react properly to HEAD requests.
|
||||||
|
- Requests with RFC 3253 HTTP methods (used by Subversion)
|
||||||
|
are accepted. (Patch provided by Petr Kadlec)
|
||||||
|
- New config option "templdir" to change the location
|
||||||
|
of the CGI templates to make sure customized templates
|
||||||
|
aren't "updated".
|
||||||
|
- Better handling of "HTTP/1.1 100 Continue" responses.
|
||||||
|
- The background of the PNG pattern is transparent.
|
||||||
|
- Fixed XML syntax errors caused by banners-by-size and banners-by-url.
|
||||||
|
- Fixed crashes and possible action file corruptions
|
||||||
|
when lines containing hashes are written through the CGI editor.
|
||||||
|
- Supports dynamic filters which can contain variables.
|
||||||
|
- Supports tags to change the actions based on client or server headers.
|
||||||
|
- Incorrect actions are logged before program termination.
|
||||||
|
- The "actionsfile" syntax in the configuration file is consistent
|
||||||
|
with the rest of the configuration options and requires the
|
||||||
|
whole file name. This is an incompatible change, if you use
|
||||||
|
an old configuration file you might have to append ".action"
|
||||||
|
to your "actionsfile" directives.
|
||||||
|
- With the configuration file option "enforce-blocks" the
|
||||||
|
"go there anyway" mechanism can be disabled without recompiling
|
||||||
|
Privoxy.
|
||||||
|
- More precise error messages in case of incorrect acl syntax.
|
||||||
|
- Logs a warning if filtering is enabled but impossible due
|
||||||
|
to lack of zlib support or use of the prevent-compression action.
|
||||||
|
- Less noisy handling of Cookie:" and "Connection:" headers.
|
||||||
|
- Improved error messages in case of connection problems.
|
||||||
|
- Fix a command-line-parsing bug that was introduced before 3.0.5
|
||||||
|
beta and caused Privoxy to treat the last argument as configuration
|
||||||
|
file if no configuration file was specified.
|
||||||
|
- Treat unknown command line options as fatal errors instead
|
||||||
|
of silently ignoring them.
|
||||||
|
- Use string functions with length checks more often.
|
||||||
|
- Don't log CONNECT requests twice.
|
||||||
|
- Allow to log the source address for ACL-related connection drops.
|
||||||
|
- Don't ignore applying filters if the server didn't
|
||||||
|
specify a Content-Type. Bug reported by Amuro Namie.
|
||||||
|
- Rejected CONNECT requests are logged with log level info
|
||||||
|
(enabled by default) and the reason for the block.
|
||||||
|
- New command line option "--pre-chroot-nslookup hostname" to
|
||||||
|
intialize the resolver library before chroot'ing. On some systems this
|
||||||
|
reduces the number of files that must be copied into the chroot tree.
|
||||||
|
(Patch provided by Stephen Gildea)
|
||||||
|
- Fix a long-standing memory corruption bug that could cause
|
||||||
|
Privoxy to overwrite a single byte in memory it didn't explicitly
|
||||||
|
allocate (but that probably was allocated anyway due to bucket size).
|
||||||
|
- Send template-based CGI pages as HTTP/1.1 unless the client
|
||||||
|
asked for HTTP/1.0.
|
||||||
|
- Let the first line in connection established responses
|
||||||
|
end in \r\n as required by RFC1945. Reported by Bert van Leeuwen.
|
||||||
|
- If no log file has been specified, disable logging instead of logging
|
||||||
|
to stderr.
|
||||||
|
- Don't block stderr when in daemon mode.
|
||||||
|
- Ignore missing zero-chunks when filtering chunk-encoded content.
|
||||||
|
Earlier Privoxy versions would buffer and then forward the content
|
||||||
|
unmodified which caused some browsers to simply show empty pages.
|
||||||
|
- Fix double free in cgi_edit_actions_list(). Reported by Venustech AD-LAB.
|
||||||
|
- The code to add X-Forwarded-For headers when the hide-forwarded-for-headers
|
||||||
|
action isn't being used has been removed.
|
||||||
|
- Fixed trustfile feature which previously didn't work without FEATURE_TOGGLE.
|
||||||
|
Reported by Lee.
|
||||||
|
- Minor code clean-ups, filter and action file updates.
|
||||||
|
(Some of them reported by Davide Alberani, Markus Elfring,
|
||||||
|
Stefan Huehner and Adam Piggott)
|
||||||
|
|
||||||
|
*** Version 3.0.6 ***
|
||||||
|
|
||||||
|
- New content filters: no-ping, google, msn, yahoo and blogspot.
|
||||||
|
- New header filters: x-httpd-php-to-html, html-to-xml, xml-to-html
|
||||||
|
and hide-tor-exit-notation.
|
||||||
|
- The special header "X-Filter: No" now disables header filtering as well.
|
||||||
|
- Improved the filters img-reorder, js-annoyances, webbugs,
|
||||||
|
banners-by-size, banners-by-link and ie-exploits to make them
|
||||||
|
less likely to break anything.
|
||||||
|
- Removed outdated URL patterns in default.action and added new ones.
|
||||||
|
- Added redirection from http://p.p/user-manual to http://p.p/user-manual/
|
||||||
|
- Changed webinterface default values for hide-user-agent, hide-referrer
|
||||||
|
and set-image-blocker.
|
||||||
|
|
||||||
|
*** Version 3.0.5 Beta ***
|
||||||
|
|
||||||
|
- Windows version can be installed/started as a service.
|
||||||
|
- Windows icon stays blue when Privoxy is idle, green when busy.
|
||||||
|
- Integrated Fabian Keil's extensive patch. See:
|
||||||
|
http://www.fabiankeil.de/sourcecode/privoxy/. Includes the
|
||||||
|
following new or significantly improved actions (among many
|
||||||
|
other improvements):
|
||||||
|
|
||||||
|
content-type-overwrite{}
|
||||||
|
crunch-client-header{string}
|
||||||
|
crunch-if-none-match
|
||||||
|
crunch-server-header{string}
|
||||||
|
fast-redirects{check-decoded-url}
|
||||||
|
filter-client-headers
|
||||||
|
filter-server-headers
|
||||||
|
force-text-mode
|
||||||
|
handle-as-empty-document
|
||||||
|
hide-accept-language{}
|
||||||
|
hide-content-disposition{}
|
||||||
|
hide-if-modified-since
|
||||||
|
hide-referrer{conditional-block}
|
||||||
|
overwrite-last-modified{}
|
||||||
|
redirect{URL}
|
||||||
|
treat-forbidden-connects-like-blocks
|
||||||
|
|
||||||
|
- Standard-compliant clients are prevented from displaying cached
|
||||||
|
copies of Privoxy's error messages after the cause of the problem
|
||||||
|
has gone.
|
||||||
|
- Improved DNS error handling.
|
||||||
|
- Multiple filter files can now be specified in config.
|
||||||
|
- Added jpeg filtering to defend against MS jpeg vulnerability MS04-028
|
||||||
|
with the new inspect-jpegs action.
|
||||||
|
- Removed the "arbitrary" 1000 filter limit - addresses tracker #911950
|
||||||
|
- Thanks to Jindrich Makovicka for a race condition fix for the log
|
||||||
|
file. The race condition remains for non-pthread implementations.
|
||||||
|
Reference patch #1175720. Various other logging enhancements.
|
||||||
|
- A pile of assorted bug fixes, memory leaks, enhancements, etc.
|
||||||
|
- Moved Actions file reporting mechanism to SF tracker.
|
||||||
|
- Two new options for config: enable-remote-http-toggle and
|
||||||
|
forwarded-connect-retries.
|
||||||
|
- Trap unsupported FTP requests.
|
||||||
|
- Let text/xml be filtered.
|
||||||
|
- Numerous updates to default.action
|
||||||
|
- Increase the compiled in limit of trusted referrers from 64 to 512
|
||||||
|
(for trustfile users).
|
||||||
|
|
||||||
|
*** Version 3.0.3 ***
|
||||||
|
|
||||||
|
- Fixed yet another two memory leaks. Process growth seems stopped now.
|
||||||
|
- Further tightened security against malicious toggle-off links.
|
||||||
|
- Excluded text/plain MIME types from filtering. This fixes a
|
||||||
|
couple of client-crashing, download corruption and
|
||||||
|
Privoxy performance issues, whose root cause lies in
|
||||||
|
web servers labelling content of unknown type as text/plain.
|
||||||
|
- Assorted fixes for POSIX compliance, signal handling, graceful
|
||||||
|
termination, compiler warnings, OSX support, Win32 systray,
|
||||||
|
error logging, hostname wildcards, correct detection of NetBSD.
|
||||||
|
- Workarounds for client (iTunes etc) and server (PHP < 4.2.3) bugs
|
||||||
|
including the notorious "blank page" problem.
|
||||||
|
- Various filter improvements; most notably the unsolicited-popups
|
||||||
|
filter became less destructive
|
||||||
|
- Major revamp of the actions file
|
||||||
|
|
||||||
|
*** Version 3.0.2 ***
|
||||||
|
|
||||||
|
- Fixed two memory leaks, one serious
|
||||||
|
- Fixed bug in pcrs which could cause crashes with user-defined filters
|
||||||
|
- Fixed bug in domain name matching
|
||||||
|
- Assorted small fixes (Win32 menu, CGI URL editor, ..)
|
||||||
|
- Added basic support for the OPTIONS and TRACE http methods
|
||||||
|
- Added workaround for Bug in Mac OSX that made Privoxy crash occasionally
|
||||||
|
- Refined the default action file through >400 items of user feedback
|
||||||
|
- Filter changes:
|
||||||
|
- 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
|
||||||
|
- New filter "demoronizer" which fixes MS's abuse of std charsets
|
||||||
|
(common cases anyway).
|
||||||
|
- Replaced "nimda" with more general "ie-exploits" filter in which
|
||||||
|
all filters for exploits shall be collected
|
||||||
|
- Improved cookie logging
|
||||||
|
- Rewrote make install target. Added uninstall and install-strip
|
||||||
|
targets.
|
||||||
|
- Fixed a potential (application-level, NOT OS-level!) security
|
||||||
|
problem involving remote toggling and action file manipulation
|
||||||
|
by mailicious websites.
|
||||||
|
- Added ability to chroot (thanks to Sviatoslav Sviridov)
|
||||||
|
- Added more action aliases for prehistoric action names
|
||||||
|
- Add Slackware support to Makefile.
|
||||||
|
|
||||||
|
*** Version 3.0 ***
|
||||||
|
|
||||||
|
- Fixed Windows startmenu items, log window and tray icon menus.
|
||||||
|
- Added warning for bogus install target
|
||||||
|
- Added quicktime-kioskmode filter and improved frameset-borders
|
||||||
|
- Updated default.action based on latest feedback
|
||||||
|
- New PDF doc build process
|
||||||
|
- Add a user contrib module to cvs:
|
||||||
|
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/
|
||||||
|
|
||||||
|
*** Version 2.9.18 ***
|
||||||
|
|
||||||
|
- Added workaround for IE bug that broke CGI interface
|
||||||
|
- Bugfix: String actions now reliably editable through CGI interface
|
||||||
|
- Three filters fixed (again!)
|
||||||
|
- Assorted small fixes and doc enhancements
|
||||||
|
|
||||||
|
*** Version 2.9.16 ***
|
||||||
|
|
||||||
|
- Major revamp of default.action to get rid of years of cruft.
|
||||||
|
- Same for default.filter
|
||||||
|
- Re-design and major improvements to the CGI editor interface.
|
||||||
|
- Address spurious 'out of memory' error due to incorrect file permissions.
|
||||||
|
- Impose buffer limits while reading client and server headers.
|
||||||
|
- Better memory and CPU optimization.
|
||||||
|
- Add Conectiva Linux package.
|
||||||
|
- user-manual directive added to config for help links from within CGI
|
||||||
|
editor.
|
||||||
|
- Multiple actions files can now be specified in config.
|
||||||
|
- Actions files are changed to: default.action, standard.action, and
|
||||||
|
user.action. user.action is for personal/local configuration.
|
||||||
|
- The usual many small and miscellaneous bug and security fixes.
|
||||||
|
|
||||||
|
*** Version 2.9.14 Beta ***
|
||||||
|
|
||||||
|
- Fix Solaris compile problem (gateway.h and filters.h)
|
||||||
|
- Makefile fixes for Solaris, FreeBSD (?)
|
||||||
|
- Fix build failure where certain features were disabled.
|
||||||
|
- 'blocked-compact' template is removed. Various CGI improvements,
|
||||||
|
including an adaptive 'blocked' template.
|
||||||
|
- Various tweaks for actions file to get ready for stable 3.0
|
||||||
|
- Included a 'Bookmarklet' and PHP scripts for reporting actions file
|
||||||
|
problems via web interface at privoxy.org. Accessed via internal CGIs.
|
||||||
|
- Include cgi-style.css for templates.
|
||||||
|
- #include mechansim for common text in templates
|
||||||
|
- Various other minor fixes.
|
||||||
|
|
||||||
|
*** Version 2.9.13 Beta ***
|
||||||
|
|
||||||
|
- *NEWS*: The project has been renamed to Privoxy! The new name is
|
||||||
|
reflected throughout (file locations, etc).
|
||||||
|
- ijb.action is now default.action. re_filterfile is now
|
||||||
|
default.filter.
|
||||||
|
- http://i.j.b/ is now http://p.p/
|
||||||
|
- The 'logo' option for replacing ad iamges is removed now. 'Pattern'
|
||||||
|
(checkerboard) is now the default.
|
||||||
|
- RPM spec file make over.
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.12 Beta ***
|
||||||
|
|
||||||
|
- **READ**: The default listening PORT is NOW 8118!!! Changed from
|
||||||
|
8000 due to conflict with NAS (Network Audio Server, whatever that
|
||||||
|
is.)
|
||||||
|
- More CGI actions editor fixes and improvements.
|
||||||
|
- Win32 command line fix ups.
|
||||||
|
- re_filterfile now has modular sections that can be activated on a
|
||||||
|
per site basis. Some new goodies there too.
|
||||||
|
- +filter now takes arguments to match FILTER sections in re_filterfile
|
||||||
|
for even more flexibility.
|
||||||
|
- Added a new image blocker option: +image-blocker{pattern}, which
|
||||||
|
displays a checkerboard patthern and scales better than the logo.
|
||||||
|
- PNG images will be used in place of GIF for JB built-in images
|
||||||
|
if configured with --enable-no-gif.
|
||||||
|
- Clean up compiler warnings (mostly).
|
||||||
|
- Improved handling of failed DNS lookups & diagnostics for failed bind
|
||||||
|
to listen socket
|
||||||
|
- Made --no-daemon mode log to tty instead of logfile.
|
||||||
|
- Various spec file and init script cleanups and improvements (Redhat and
|
||||||
|
SuSE).
|
||||||
|
- CGI Editor works on OS/2 now.
|
||||||
|
- Fix restart failure where sockets were in TIME_WAIT.
|
||||||
|
- Fixes for actions cgi editor, make sure we have right file.
|
||||||
|
- A --pidfile command line option now, in addition to --help,
|
||||||
|
--version, --no-daemon, --user and configfile. --no-daemon replaces
|
||||||
|
the former -d option and _DEBUG define. --user will drop privileges
|
||||||
|
to the specified user.
|
||||||
|
- Signal handling cleanups (*nix).
|
||||||
|
- CGI actions editor improvements and fixes.
|
||||||
|
- Error handling improvements, especially out of memory.
|
||||||
|
- Default re_filterfile fix that caused spurious IJB logos
|
||||||
|
(instead of 'blank').
|
||||||
|
- configure.in threading fixes for Solaris.
|
||||||
|
- Various other minor fixes.
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.11 Beta Changes ***
|
||||||
|
|
||||||
|
- Add "session" cookie concept where cookies exist for the life
|
||||||
|
of that browser session only (ie never goes to disk).
|
||||||
|
- Checks for correct header length.
|
||||||
|
- Fix user:pass@host.domain.com auth bug.
|
||||||
|
- Better signal handling on *nix.
|
||||||
|
- Fix CFLAGS hard-coded in configure.in
|
||||||
|
- Fix threading bug re: gethostbyname() that caused random
|
||||||
|
URLs to fail in some cases.
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.11 Alpha Changes ***
|
||||||
|
|
||||||
|
- A web-based editor for the actions file is included (go to http://i.j.b/).
|
||||||
|
- Web-based toggle IJB on/off support.
|
||||||
|
- Cookie handling has changed - the new +no-cookies-keep feature is now the
|
||||||
|
default.
|
||||||
|
- actionsfile is renamed to ijb.action.
|
||||||
|
- junkbstr.txt is now config.txt on Win32.
|
||||||
|
- Support for running IJB as a UNIX daemon process has improved.
|
||||||
|
- Unix daemon now returns error code on failed start.
|
||||||
|
- Timestamps in logfile and jarfile now.
|
||||||
|
- Fix for the Netscape bug reintroduced in 2.9.9.
|
||||||
|
- make should now abort if gmake (GNU make) not present.
|
||||||
|
- Many other minor bugfixes
|
||||||
|
- Start a ChangeLog :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.3 pre-Alpha Changes ***
|
||||||
|
|
||||||
|
- Amiga support (completely untested by me - I don't have an Amiga)
|
||||||
|
- "tinygif 3" support (redirects blocked images to a specified URL, so
|
||||||
|
the browser doesn't have to load and cache many copies of the same
|
||||||
|
image).
|
||||||
|
- one case where there were both local and global "referrer" variables
|
||||||
|
(yuck!) clarified by renaming the local one to "refer".
|
||||||
|
- Fixed some places where close() was used instead of close_socket().
|
||||||
|
Thanks to Jörg Strohmayer (joergs at users.sourceforge.net) for these.
|
||||||
|
- Temporary hack to get FORCE_LOAD to work with IE. I just lowercased the
|
||||||
|
FORCE_LOAD_PREFIX. Needs fixing properly.
|
||||||
|
- Most URLs hardcoded into Junkbuster were changed to go through a script
|
||||||
|
e.g. http://ijbswa.sourceforge.net/redirect.php?v=2.9.3&to=faq
|
||||||
|
The only other URLs left are the GNU GPL:
|
||||||
|
http://www.fsf.org/copyleft/gpl.html
|
||||||
|
and the home page:
|
||||||
|
http://ijbswa.sourceforge.net/
|
||||||
|
... and various URLs which will be intercepted by Junkbuster anyway.
|
||||||
|
TODO: Still need to do something with the URLs in Junkbuster Corp's
|
||||||
|
copyright/trademark notice on the bottom of the show-proxy-args page.
|
||||||
|
- PCRE or GNU Regex is now a #define option.
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.2 pre-Alpha Changes ***
|
||||||
|
|
||||||
|
- Andreas applied the latest version of the FORCE patch.
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.1 pre-Alpha Changes ***
|
||||||
|
|
||||||
|
- in parsers.c, fixed two #ifdef FORCE to #ifdef FORCE_LOAD
|
||||||
|
(BTW: I think FORCE is precise enough, since loading remote
|
||||||
|
data is the whole purpose of a proxy..)
|
||||||
|
- Set the FORCE_PREFIX (back) to 'IJB-FORCE-LOAD-'. While 'noijb.'
|
||||||
|
is more elegant and looks like a hostname in the URL, it doesn't
|
||||||
|
make clear to the inexperienced user that the proxy is bypassed. It
|
||||||
|
also has a higher name collision risk.
|
||||||
|
- Filled in the function header templates for my functions in
|
||||||
|
parsers.c (again). They obviously got lost in our current
|
||||||
|
patch war ;-)
|
||||||
|
- Cut the credit for the §-referrer-option from the config file,
|
||||||
|
that Stefan had placed there.
|
||||||
|
- Improved the re_filterfile
|
||||||
|
|
||||||
|
|
||||||
|
*** Version 2.9.0 pre-Alpha Changes ***
|
||||||
|
|
||||||
|
- Now use PCRE, not GNU REGEX. I have not yet had chance to check the
|
||||||
|
syntax of the block/image/cookie file to ensure that they match what
|
||||||
|
is expected - however they seem to work.
|
||||||
|
- Replaced "configure" script with one generated by "autoconf". Also
|
||||||
|
use a header "config.h" (was ijbconfig.h in my previous release) for
|
||||||
|
the #defines. "config.h" is now generated with "autoheader" from
|
||||||
|
"acconfig.h" and "configure.in". (Note that to install you do not
|
||||||
|
need autoconf or autoheader - just run "./configure".)
|
||||||
|
To see command-line options, run "./configure --help".
|
||||||
|
This is my first ever autoconf script, so it has some rough edges
|
||||||
|
(how PCRE is handled is the roughest).
|
||||||
|
- Error logging code replaced with new module errlog.c, based on the
|
||||||
|
one from JunkbusterMT (but with the threading code removed).
|
||||||
|
- Most of Rodney's 0.21 and 0.21A patches applied. (Marked *). I did not
|
||||||
|
apply all of these, since I had already independently done conditional
|
||||||
|
popup file, conditional image file, and integration of popup code.
|
||||||
|
- ACL, Jar and trust files conditionally compiled.
|
||||||
|
- New source file headers.
|
||||||
|
- Various cosmetic changes. (But I have not consistently ordered the
|
||||||
|
config files - I think that's worthwhile, but it's 1am and I want to
|
||||||
|
get this released!)
|
||||||
|
- RCS tags on .h files.
|
||||||
|
- RCS tags are const char[] rather than const char *. (Saves 4 bytes
|
||||||
|
per tag ;-)
|
||||||
|
- VC++ project files renamed to vc_junkbuster.*.
|
||||||
|
- show-proxy-args now shows status of all conditionals, not just REGEX
|
||||||
|
- Various functions moved around. Most notably all the system-specific
|
||||||
|
sockets code which was spread between jcc.c, bind.c, and connect.c,
|
||||||
|
has been moved to "jbsockets.c". The non-system-specific code from
|
||||||
|
connect.c and socks4.c has been movet to "gateway.c". Also, the
|
||||||
|
config file loader and the global variables it writes to have been
|
||||||
|
moved to "loadcfg.c". (Maybe this should go into loaders.c?)
|
||||||
|
And candidate for the "worst filename ever" award is "miscutil.c",
|
||||||
|
which contains, well, miscellaneous utility functions like zalloc.
|
||||||
|
(Suggestions for a better name for this file are welcome!)
|
||||||
|
- Loaders now use a common function to read a line and skip comments,
|
||||||
|
and this function also stores the proxy_args.
|
||||||
|
- Added ./junkbuster --help (Not for Win32 GUI)
|
||||||
|
- Added ./junkbuster --version (Not for Win32 GUI)
|
||||||
|
- Win32 resources are now all marked as "U.S. English", rather than
|
||||||
|
being a mix of "U.S. English", "U.K. English" and "Irish English".
|
||||||
|
- Version number changes to 2.9.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||||
|
Privoxy team. http://www.privoxy.org/
|
||||||
|
|
||||||
|
Based on the Internet Junkbuster originally written
|
||||||
|
by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
Junkbusters Corporation. http://www.junkbusters.com/
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU General
|
||||||
|
Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at
|
||||||
|
your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will
|
||||||
|
be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
|
The GNU General Public License should be included with
|
||||||
|
this file. If not, you can view it at
|
||||||
|
http://www.gnu.org/copyleft/gpl.html
|
||||||
|
or write to the Free Software Foundation, Inc., 59
|
||||||
|
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
@ -0,0 +1,173 @@
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/INSTALL,v $
|
||||||
|
*
|
||||||
|
* Purpose : INSTALL file to help with installing from source.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
To build Privoxy from source, autoconf, GNU make (gmake), and, of course, a C
|
||||||
|
compiler like gcc are required.
|
||||||
|
|
||||||
|
When building from a source tarball, first unpack the source:
|
||||||
|
|
||||||
|
tar xzvf privoxy-3.0.12-stable-src.tar.gz
|
||||||
|
cd privoxy-3.0.12-stable
|
||||||
|
|
||||||
|
|
||||||
|
For retrieving the current CVS sources, you'll need a CVS client installed.
|
||||||
|
Note that sources from CVS are typically development quality, and may not be
|
||||||
|
stable, or well tested. To download CVS source, check the Sourceforge
|
||||||
|
documentation, which might give commands like:
|
||||||
|
|
||||||
|
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
|
||||||
|
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
||||||
|
cd current
|
||||||
|
|
||||||
|
|
||||||
|
This will create a directory named current/, which will contain the source
|
||||||
|
tree.
|
||||||
|
|
||||||
|
You can also check out any Privoxy "branch", just exchange the current name
|
||||||
|
with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs tree).
|
||||||
|
|
||||||
|
It is also strongly recommended to not run Privoxy as root. You should
|
||||||
|
configure/install/run Privoxy as an unprivileged user, preferably by creating a
|
||||||
|
"privoxy" user and group just for this purpose. See your local documentation
|
||||||
|
for the correct command line to do add new users and groups (something like
|
||||||
|
adduser, but the command syntax may vary from platform to platform).
|
||||||
|
|
||||||
|
/etc/passwd might then look like:
|
||||||
|
|
||||||
|
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
|
||||||
|
|
||||||
|
|
||||||
|
And then /etc/group, like:
|
||||||
|
|
||||||
|
privoxy:*:7777:
|
||||||
|
|
||||||
|
|
||||||
|
Some binary packages may do this for you.
|
||||||
|
|
||||||
|
Then, to build from either unpacked tarball or CVS source:
|
||||||
|
|
||||||
|
autoheader
|
||||||
|
autoconf
|
||||||
|
./configure # (--help to see options)
|
||||||
|
make # (the make from GNU, sometimes called gmake)
|
||||||
|
su # Possibly required
|
||||||
|
make -n install # (to see where all the files will go)
|
||||||
|
make -s install # (to really install, -s to silence output)
|
||||||
|
|
||||||
|
|
||||||
|
Using GNU make, you can have the first four steps automatically done for you by
|
||||||
|
just typing:
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
|
||||||
|
in the freshly downloaded or unpacked source directory.
|
||||||
|
|
||||||
|
To build an executable with security enhanced features so that users cannot
|
||||||
|
easily bypass the proxy (e.g. "Go There Anyway"), or alter their own
|
||||||
|
configurations, configure like this:
|
||||||
|
|
||||||
|
./configure --disable-toggle --disable-editor --disable-force
|
||||||
|
|
||||||
|
|
||||||
|
Then build as above. In Privoxy 3.0.7 and later, all of these options can also
|
||||||
|
be disabled through the configuration file.
|
||||||
|
|
||||||
|
WARNING: If installing as root, the install will fail unless a non-root user or
|
||||||
|
group is specified, or a privoxy user and group already exist on the system. If
|
||||||
|
a non-root user is specified, and no group, then the installation will try to
|
||||||
|
also use a group of the same name as "user". If a group is specified (and no
|
||||||
|
user), then the support files will be installed as writable by that group, and
|
||||||
|
owned by the user running the installation.
|
||||||
|
|
||||||
|
configure accepts --with-user and --with-group options for setting user and
|
||||||
|
group ownership of the configuration files (which need to be writable by the
|
||||||
|
daemon). The specified user must already exist. When starting Privoxy, it must
|
||||||
|
be run as this same user to insure write access to configuration and log files!
|
||||||
|
|
||||||
|
Alternately, you can specify user and group on the make command line, but be
|
||||||
|
sure both already exist:
|
||||||
|
|
||||||
|
make -s install USER=privoxy GROUP=privoxy
|
||||||
|
|
||||||
|
|
||||||
|
The default installation path for make install is /usr/local. This may of
|
||||||
|
course be customized with the various ./configure path options. If you are
|
||||||
|
doing an install to anywhere besides /usr/local, be sure to set the appropriate
|
||||||
|
paths with the correct configure options (./configure --help). Non-privileged
|
||||||
|
users must of course have write access permissions to wherever the target
|
||||||
|
installation is going.
|
||||||
|
|
||||||
|
If you do install to /usr/local, the install will use sysconfdir=$prefix/etc/
|
||||||
|
privoxy by default. All other destinations, and the direct usage of
|
||||||
|
--sysconfdir flag behave like normal, i.e. will not add the extra privoxy
|
||||||
|
directory. This is for a safer install, as there may already exist another
|
||||||
|
program that uses a file with the "config" name, and thus makes /usr/local/etc
|
||||||
|
cleaner.
|
||||||
|
|
||||||
|
If installing to /usr/local, the documentation will go by default to $prefix/
|
||||||
|
share/doc. But if this directory doesn't exist, it will then try $prefix/doc
|
||||||
|
and install there before creating a new $prefix/share/doc just for Privoxy.
|
||||||
|
|
||||||
|
Again, if the installs goes to /usr/local, the localstatedir (ie: var/) will
|
||||||
|
default to /var instead of $prefix/var so the logs will go to /var/log/privoxy
|
||||||
|
/, and the pid file will be created in /var/run/privoxy.pid.
|
||||||
|
|
||||||
|
make install will attempt to set the correct values in config (main
|
||||||
|
configuration file). You should check this to make sure all values are correct.
|
||||||
|
If appropriate, an init script will be installed, but it is up to the user to
|
||||||
|
determine how and where to start Privoxy. The init script should be checked for
|
||||||
|
correct paths and values, if anything other than a default install is done.
|
||||||
|
|
||||||
|
If install finds previous versions of local configuration files, most of these
|
||||||
|
will not be overwritten, and the new ones will be installed with a "new"
|
||||||
|
extension. default.action and default.filter will be overwritten. You will then
|
||||||
|
need to manually update the other installed configuration files as needed. The
|
||||||
|
default template files will be overwritten. If you have customized, local
|
||||||
|
templates, these should be stored safely in a separate directory and defined in
|
||||||
|
config by the "templdir" directive. It is of course wise to always back-up any
|
||||||
|
important configuration files "just in case". If a previous version of Privoxy
|
||||||
|
is already running, you will have to restart it manually.
|
||||||
|
|
||||||
|
For more detailed instructions on how to build Redhat RPMs, Windows
|
||||||
|
self-extracting installers, building on platforms with special requirements
|
||||||
|
etc, please consult the developer manual.
|
||||||
|
|
||||||
|
The simplest command line to start Privoxy is $path/privoxy --user=privoxy
|
||||||
|
$path/etc/privoxy/config. See privoxy --usage, or the man page, for other
|
||||||
|
options, and configuration.
|
||||||
|
|
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
|
@ -0,0 +1,108 @@
|
||||||
|
# $Id: Makefile,v 1.11 2006/07/18 14:48:45 david__schmidt Exp $
|
||||||
|
#
|
||||||
|
# Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
# Privoxy team. http://www.privoxy.org/
|
||||||
|
#
|
||||||
|
# Based on the Internet Junkbuster originally written
|
||||||
|
# by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
# Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it
|
||||||
|
# and/or modify it under the terms of the GNU General
|
||||||
|
# Public License as published by the Free Software
|
||||||
|
# Foundation; either version 2 of the License, or (at
|
||||||
|
# your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will
|
||||||
|
# be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
# License for more details.
|
||||||
|
#
|
||||||
|
# The GNU General Public License should be included with
|
||||||
|
# this file. If not, you can view it at
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
# or write to the Free Software Foundation, Inc., 59
|
||||||
|
# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
#
|
||||||
|
# $Log: Makefile,v $
|
||||||
|
# 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.5.2.2 2002/10/25 02:44:23 hal9
|
||||||
|
# Port of make install, etc from main trunk. Needs testing! Add Slackware
|
||||||
|
# support, and other related changes. Update related docs.
|
||||||
|
#
|
||||||
|
# Revision 1.5.2.1 2002/08/05 17:46:13 oes
|
||||||
|
# Change make to gmake to fix auto-build on Solaris
|
||||||
|
#
|
||||||
|
# Revision 1.5 2002/04/11 12:51:34 oes
|
||||||
|
# Bugfix
|
||||||
|
#
|
||||||
|
# Revision 1.4 2002/04/09 16:38:10 oes
|
||||||
|
# Added option to run the whole build process
|
||||||
|
#
|
||||||
|
# Revision 1.3 2002/03/26 22:29:54 swa
|
||||||
|
# we have a new homepage!
|
||||||
|
#
|
||||||
|
# Revision 1.2 2002/03/24 13:25:42 swa
|
||||||
|
# name change related issues
|
||||||
|
#
|
||||||
|
# Revision 1.1 2001/12/01 11:24:29 jongfoster
|
||||||
|
# Will display a warning if non-GNU make is used
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
GNU_MAKE_CMD = gmake
|
||||||
|
MAKE_CMD = make
|
||||||
|
|
||||||
|
error:
|
||||||
|
@if [ -f GNUmakefile ]; then \
|
||||||
|
echo "***"; \
|
||||||
|
echo "*** You are not using the GNU version of Make - maybe it's called gmake"; \
|
||||||
|
echo "*** or it's in a different PATH? Please read INSTALL." ; \
|
||||||
|
echo "***"; \
|
||||||
|
exit 1; \
|
||||||
|
elif test -n "$(HOST_ARCH)" && test -z "$(MAKE_VERSION)" ; then \
|
||||||
|
echo "***"; \
|
||||||
|
echo "*** You are not using GNU Make on Solaris, please make sure you do" ; \
|
||||||
|
echo "*** and re-run 'make' "; \
|
||||||
|
echo "***"; \
|
||||||
|
exit 1 ; \
|
||||||
|
elif test -n "$(MACHINE_ARCH)" && test -z "$(MAKE_VERSION)" ; then \
|
||||||
|
echo "***"; \
|
||||||
|
echo "*** You are not using GNU Make on FreeBSD, please make sure you do" ; \
|
||||||
|
echo "*** and re-run 'make' "; \
|
||||||
|
echo "***"; \
|
||||||
|
exit 1 ; \
|
||||||
|
else \
|
||||||
|
echo "***"; \
|
||||||
|
echo "*** To build this program, you must run"; \
|
||||||
|
echo "*** autoheader && autoconf && ./configure and then run GNU make."; \
|
||||||
|
echo "***"; \
|
||||||
|
echo -n "*** Shall I do this for you now? (y/n) "; \
|
||||||
|
read answer; \
|
||||||
|
if [ "$$answer" = "y" ]; then \
|
||||||
|
autoheader && autoconf && ./configure || exit 1; \
|
||||||
|
if $(GNU_MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
|
||||||
|
$(GNU_MAKE_CMD) ;\
|
||||||
|
elif $(MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
|
||||||
|
$(MAKE_CMD) ;\
|
||||||
|
else \
|
||||||
|
echo "Neither 'make' nor 'gmake' are GNU compatible!" ; \
|
||||||
|
echo "Please read INSTALL." ; \
|
||||||
|
exit 1 ; \
|
||||||
|
fi ;\
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
.PHONY: error
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
## Local Variables:
|
||||||
|
## tab-width: 3
|
||||||
|
## end:
|
|
@ -0,0 +1,280 @@
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/README,v $
|
||||||
|
*
|
||||||
|
* Purpose : README file to give a short intro.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
This README is included with Privoxy 3.0.12. See http://www.privoxy.org/ for
|
||||||
|
more information. The current code maturity level is "stable".
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Privoxy is Free Software and licensed under the GPL2.
|
||||||
|
|
||||||
|
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
Donations are welcome.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
1. IMPORTANT CHANGES
|
||||||
|
|
||||||
|
March 2009, Privoxy 3.0.12 is released.
|
||||||
|
|
||||||
|
This is primarily a bug fix release. See the "ChangeLog", and the "What's New"
|
||||||
|
section and the "Upgrader's Notes" in the User Manual for details.
|
||||||
|
|
||||||
|
February 2009, Privoxy 3.0.11 is released.
|
||||||
|
|
||||||
|
As usual there are changes that effect the configuration. See the "ChangeLog",
|
||||||
|
and the "What's New" section and the "Upgrader's Notes" in the User Manual for
|
||||||
|
details and specifics.
|
||||||
|
|
||||||
|
This is a stable release, and marks a departure for Privoxy development.
|
||||||
|
|
||||||
|
Previously, odd numbered releases were considered beta versions and were only
|
||||||
|
released at the end of the development cycle when the code was already believed
|
||||||
|
to be stable. Usually it was, so the stable release contained pretty much the
|
||||||
|
same code, but got a higher version number. In the future we intend to release
|
||||||
|
several snapshots between stable releases. There will probably still be about
|
||||||
|
two stable releases per year, but hopefully about six snapshots instead of the
|
||||||
|
two betas we have now. The intentions is to make testing without CVS access
|
||||||
|
easier.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2. INSTALL
|
||||||
|
|
||||||
|
See the INSTALL file in this directory, for installing from raw source, and the
|
||||||
|
User Manual, for all other installation types.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
3. RUN
|
||||||
|
|
||||||
|
privoxy [--help] [--version] [--no-daemon] [--pidfile PIDFILE] [--user USER
|
||||||
|
[.GROUP]] [--chroot] [--pre-chroot-nslookup HOSTNAME ][config_file]
|
||||||
|
|
||||||
|
See the man page or User Manual for an explanation of each option, and other
|
||||||
|
configuration and usage issues.
|
||||||
|
|
||||||
|
If no config_file is specified on the command line, Privoxy will look for a
|
||||||
|
file named 'config' in the current directory (except Win32 which will look for
|
||||||
|
'config.txt'). If no config_file is found, Privoxy will fail to start.
|
||||||
|
|
||||||
|
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
|
||||||
|
|
||||||
|
Or Debian and Ubuntu: /etc/init.d/privoxy start
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
4. CONFIGURATION
|
||||||
|
|
||||||
|
See: 'config', 'default.action', 'user.action', 'default.filter', and
|
||||||
|
'user.filter'. 'user.action' and 'user.filter' are for personal and local
|
||||||
|
configuration preferences. These are all well commented. Most of the magic is
|
||||||
|
in '*.action' files. 'user.action' should be used for any actions
|
||||||
|
customizations. On Unix-like systems, these files are typically installed in /
|
||||||
|
etc/privoxy. On Windows, then wherever the executable itself is installed.
|
||||||
|
There are many significant changes and advances from earlier versions. The User
|
||||||
|
Manual has an explanation of all configuration options, and examples: http://
|
||||||
|
www.privoxy.org/user-manual/.
|
||||||
|
|
||||||
|
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
|
||||||
|
you specify in the config file under 'listen-address'. DEFAULT is
|
||||||
|
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
|
||||||
|
try it with FTP or other protocols for the simple reason it does not work.
|
||||||
|
|
||||||
|
The actions list can be configured via the web interface accessed via http://
|
||||||
|
p.p/, as well other options.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
5. DOCUMENTATION
|
||||||
|
|
||||||
|
There should be documentation in the 'doc' subdirectory. In particular, see the
|
||||||
|
User Manual there, the FAQ, and those interested in Privoxy development, should
|
||||||
|
look at developer-manual.
|
||||||
|
|
||||||
|
The source and configuration files are all well commented. The main
|
||||||
|
configuration files are: 'config', 'default.action', and 'default.filter'.
|
||||||
|
|
||||||
|
Included documentation may vary according to platform and packager. All
|
||||||
|
documentation is posted on http://www.privoxy.org, in case you don't have it,
|
||||||
|
or can't find it.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6. CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS
|
||||||
|
|
||||||
|
We value your feedback. In fact, we rely on it to improve Privoxy and its
|
||||||
|
configuration. However, please note the following hints, so we can provide you
|
||||||
|
with the best support:
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6.1. Get Support
|
||||||
|
|
||||||
|
For casual users, our support forum at SourceForge is probably best suited:
|
||||||
|
http://sourceforge.net/tracker/?group_id=11118&atid=211118
|
||||||
|
|
||||||
|
All users are of course welcome to discuss their issues on the users mailing
|
||||||
|
list, where the developers also hang around.
|
||||||
|
|
||||||
|
Please don't sent private support requests to individual Privoxy developers,
|
||||||
|
either use the mailing lists or the support trackers.
|
||||||
|
|
||||||
|
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
|
addresses have to be accepted manually by a moderator. This may cause a delay
|
||||||
|
of several days and if you use a subject that doesn't clearly mention Privoxy
|
||||||
|
or one of its features, your message may be accidentally discarded as spam.
|
||||||
|
|
||||||
|
If you aren't subscribed, you should therefore spend a few seconds to come up
|
||||||
|
with a proper subject. Additionally you should make it clear that you want to
|
||||||
|
get CC'd. Otherwise some responses will be directed to the mailing list only,
|
||||||
|
and you won't see them.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6.2. Reporting Problems
|
||||||
|
|
||||||
|
"Problems" for our purposes, come in two forms:
|
||||||
|
|
||||||
|
* Configuration issues, such as ads that slip through, or sites that don't
|
||||||
|
function properly due to one Privoxy "action" or another being turned "on".
|
||||||
|
|
||||||
|
* "Bugs" in the programming code that makes up Privoxy, such as that might
|
||||||
|
cause a crash.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6.2.1. Reporting Ads or Other Configuration Problems
|
||||||
|
|
||||||
|
Please send feedback on ads that slipped through, innocent images that were
|
||||||
|
blocked, sites that don't work properly, and other configuration related
|
||||||
|
problem of default.action file, to http://sourceforge.net/tracker/?group_id=
|
||||||
|
11118&atid=460288, the Actions File Tracker.
|
||||||
|
|
||||||
|
New, improved default.action files may occasionally be made available based on
|
||||||
|
your feedback. These will be announced on the ijbswa-announce list and
|
||||||
|
available from our the files section of our project page.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6.2.2. Reporting Bugs
|
||||||
|
|
||||||
|
Please report all bugs through our bug tracker: http://sourceforge.net/tracker
|
||||||
|
/?group_id=11118&atid=111118.
|
||||||
|
|
||||||
|
Before doing so, please make sure that the bug has not already been submitted
|
||||||
|
and observe the additional hints at the top of the submit form. If already
|
||||||
|
submitted, please feel free to add any info to the original report that might
|
||||||
|
help to solve the issue.
|
||||||
|
|
||||||
|
Please try to verify that it is a Privoxy bug, and not a browser or site bug or
|
||||||
|
documented behaviour that just happens to be different than what you expected.
|
||||||
|
If unsure, try toggling off Privoxy, and see if the problem persists.
|
||||||
|
|
||||||
|
If you are using your own custom configuration, please try the stock configs to
|
||||||
|
see if the problem is configuration related. If you're having problems with a
|
||||||
|
feature that is disabled by default, please ask around on the mailing list if
|
||||||
|
others can reproduce the problem.
|
||||||
|
|
||||||
|
If you aren't using the latest Privoxy version, the bug may have been found and
|
||||||
|
fixed in the meantime. We would appreciate if you could take the time to
|
||||||
|
upgrade to the latest version (or even the latest CVS snapshot) and verify that
|
||||||
|
your bug still exists.
|
||||||
|
|
||||||
|
Please be sure to provide the following information:
|
||||||
|
|
||||||
|
* The exact Privoxy version you are using (if you got the source from CVS,
|
||||||
|
please also provide the source code revisions as shown in http://
|
||||||
|
config.privoxy.org/show-version).
|
||||||
|
|
||||||
|
* The operating system and versions you run Privoxy on, (e.g. Windows XP
|
||||||
|
SP2), if you are using a Unix flavor, sending the output of "uname -a"
|
||||||
|
should do, in case of GNU/Linux, please also name the distribution.
|
||||||
|
|
||||||
|
* The name, platform, and version of the browser you were using (e.g.
|
||||||
|
Internet Explorer v5.5 for Mac).
|
||||||
|
|
||||||
|
* The URL where the problem occurred, or some way for us to duplicate the
|
||||||
|
problem (e.g. http://somesite.example.com/?somethingelse=123).
|
||||||
|
|
||||||
|
* Whether your version of Privoxy is one supplied by the Privoxy developers
|
||||||
|
via SourceForge, or if you got your copy somewhere else.
|
||||||
|
|
||||||
|
* Whether you are using Privoxy in tandem with another proxy such as Tor. If
|
||||||
|
so, please temporary disable the other proxy to see if the symptoms change.
|
||||||
|
|
||||||
|
* Whether you are using a personal firewall product. If so, does Privoxy work
|
||||||
|
without it?
|
||||||
|
|
||||||
|
* 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).
|
||||||
|
|
||||||
|
You don't have to tell us your actual name when filing a problem report, but
|
||||||
|
please use a nickname so we can differentiate between your messages and the
|
||||||
|
ones entered by other "anonymous" users that may respond to your request if
|
||||||
|
they have the same problem or already found a solution.
|
||||||
|
|
||||||
|
Please also check the status of your request a few days after submitting it, as
|
||||||
|
we may request additional information. If you use a SF id, you should
|
||||||
|
automatically get a mail when someone responds to your request.
|
||||||
|
|
||||||
|
The appendix of the Privoxy User Manual also has helpful information on
|
||||||
|
understanding actions, and action debugging.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6.3. Request New Features
|
||||||
|
|
||||||
|
You are welcome to submit ideas on new features or other proposals for
|
||||||
|
improvement through our feature request tracker at http://sourceforge.net/
|
||||||
|
tracker/?atid=361118&group_id=11118.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
6.4. Other
|
||||||
|
|
||||||
|
For any other issues, feel free to use the mailing lists. Technically
|
||||||
|
interested users and people who wish to contribute to the project are also
|
||||||
|
welcome on the developers list! You can find an overview of all Privoxy-related
|
||||||
|
mailing lists, including list archives, at: http://sourceforge.net/mail/?
|
||||||
|
group_id=11118.
|
||||||
|
|
|
@ -0,0 +1,495 @@
|
||||||
|
#ifndef CONFIG_H_INCLUDED
|
||||||
|
#define CONFIG_H_INCLUDED
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : This file should be the first thing included in every
|
||||||
|
* .c file. (Before even system headers). It contains
|
||||||
|
* #define statements for various features. It was
|
||||||
|
* introduced because the compile command line started
|
||||||
|
* getting ludicrously long with feature defines.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: acconfig.h,v $
|
||||||
|
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
|
||||||
|
* Connection keep-alive support is ready for testing,
|
||||||
|
* allow enabling it through the configure script.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
|
||||||
|
* Oh well, rename the --enable-pcre-host-patterns option to
|
||||||
|
* --enable-extended-host-patterns as it's not really PCRE syntax.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
|
||||||
|
* Use PCRE syntax in host patterns when configured
|
||||||
|
* with --enable-pcre-host-patterns.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
|
||||||
|
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
|
||||||
|
* Cosmetics
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
|
||||||
|
* Another shot at Bug #707467
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
|
||||||
|
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
|
||||||
|
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
|
||||||
|
* are located in a pcre/ subdir to the include path.
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/25 19:13:57 morcego
|
||||||
|
* Removed RPM release number declaration on configure.in
|
||||||
|
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
|
||||||
|
* targets (will produce an error, explaining who to do it, if no value
|
||||||
|
* if provided).
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/04/11 11:00:21 oes
|
||||||
|
* Applied Moritz' fix for socklen_t on Solaris
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/04/06 20:38:01 jongfoster
|
||||||
|
* Renaming VC++ versions of config.h
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/04/04 00:36:36 gliptak
|
||||||
|
* always use pcre for matching
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/04/03 22:28:03 gliptak
|
||||||
|
* Removed references to gnu_regex
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/24 14:31:08 swa
|
||||||
|
* remove more crappy files. set RPM
|
||||||
|
* release version correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/24 13:46:44 swa
|
||||||
|
* name change related issue.
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/03/24 13:25:42 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.18 2002/03/08 16:40:28 oes
|
||||||
|
* Added FEATURE_NO_GIFS
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/03/04 17:52:44 oes
|
||||||
|
* Deleted PID_FILE_PATH
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/01/10 12:36:18 oes
|
||||||
|
* Moved HAVE_*_R to acconfig.h, where they belong.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2001/12/30 14:07:31 steudten
|
||||||
|
* - Add signal handling (unix)
|
||||||
|
* - Add SIGHUP handler (unix)
|
||||||
|
* - Add creation of pidfile (unix)
|
||||||
|
* - Add action 'top' in rc file (RH)
|
||||||
|
* - Add entry 'SIGNALS' to manpage
|
||||||
|
* - Add exit message to logfile (unix)
|
||||||
|
*
|
||||||
|
* Revision 1.14 2001/10/23 21:24:09 jongfoster
|
||||||
|
* Support for FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.13 2001/10/07 15:30:41 oes
|
||||||
|
* Removed FEATURE_DENY_GZIP
|
||||||
|
*
|
||||||
|
* Revision 1.12 2001/09/13 19:56:37 jongfoster
|
||||||
|
* Reverting to revision 1.10 - previous checking was majorly broken.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2001/07/30 22:08:36 jongfoster
|
||||||
|
* Tidying up #defines:
|
||||||
|
* - All feature #defines are now of the form FEATURE_xxx
|
||||||
|
* - Permanently turned off WIN_GUI_EDIT
|
||||||
|
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/07/29 19:08:52 jongfoster
|
||||||
|
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
|
||||||
|
* Also added protection against using a MinGW32 or CygWin version of
|
||||||
|
* config.h from within MS Visual C++
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/07/29 17:09:17 jongfoster
|
||||||
|
* Major changes to build system in order to fix these bugs:
|
||||||
|
* - pthreads under Linux was broken - changed -lpthread to -pthread
|
||||||
|
* - Compiling in MinGW32 mode under CygWin now correctly detects
|
||||||
|
* which shared libraries are available
|
||||||
|
* - Solaris support (?) (Not tested under Solaris yet)
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/07/25 22:53:59 jongfoster
|
||||||
|
* Will #error if pthreads is enabled under BeOs
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/07/15 17:54:29 jongfoster
|
||||||
|
* Renaming #define STATIC to STATIC_PCRE
|
||||||
|
* Adding new #define FEATURE_PTHREAD that will be used to enable
|
||||||
|
* POSIX threads support.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/13 13:48:37 oes
|
||||||
|
* - (Fix:) Copied CODE_STATUS #define from config.h.in
|
||||||
|
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
|
||||||
|
* and removed PCRE.
|
||||||
|
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
|
||||||
|
* - Moved STATIC (for pcre) here from Makefile.in
|
||||||
|
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
|
||||||
|
* libpcrs
|
||||||
|
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/05/29 09:50:24 jongfoster
|
||||||
|
* Unified blocklist/imagelist/permissionslist.
|
||||||
|
* File format is still under discussion, but the internal changes
|
||||||
|
* are (mostly) done.
|
||||||
|
*
|
||||||
|
* Also modified interceptor behaviour:
|
||||||
|
* - We now intercept all URLs beginning with one of the following
|
||||||
|
* prefixes (and *only* these prefixes):
|
||||||
|
* * http://i.j.b/
|
||||||
|
* * http://ijbswa.sf.net/config/
|
||||||
|
* * http://ijbswa.sourceforge.net/config/
|
||||||
|
* - New interceptors "home page" - go to http://i.j.b/ to see it.
|
||||||
|
* - Internal changes so that intercepted and fast redirect pages
|
||||||
|
* are not replaced with an image.
|
||||||
|
* - Interceptors now have the option to send a binary page direct
|
||||||
|
* to the client. (i.e. ijb-send-banner uses this)
|
||||||
|
* - Implemented show-url-info interceptor. (Which is why I needed
|
||||||
|
* the above interceptors changes - a typical URL is
|
||||||
|
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
|
||||||
|
* The previous mechanism would not have intercepted that, and
|
||||||
|
* if it had been intercepted then it then it would have replaced
|
||||||
|
* it with an image.)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/05/26 01:26:34 jongfoster
|
||||||
|
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
|
||||||
|
* This #define cannot be set from ./configure - there's no point, it
|
||||||
|
* doesn't work yet. See feature request # 425722
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/22 17:43:35 oes
|
||||||
|
*
|
||||||
|
* - Enabled filtering banners by size rather than URL
|
||||||
|
* by adding patterns that replace all standard banner
|
||||||
|
* sizes with the "Junkbuster" gif to the re_filterfile
|
||||||
|
*
|
||||||
|
* - Enabled filtering WebBugs by providing a pattern
|
||||||
|
* which kills all 1x1 images
|
||||||
|
*
|
||||||
|
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
|
||||||
|
* which is selected by the (nonstandard and therefore
|
||||||
|
* capital) letter 'U' in the option string.
|
||||||
|
* It causes the quantifiers to be ungreedy by default.
|
||||||
|
* Appending a ? turns back to greedy (!).
|
||||||
|
*
|
||||||
|
* - Added a new interceptor ijb-send-banner, which
|
||||||
|
* sends back the "Junkbuster" gif. Without imagelist or
|
||||||
|
* MSIE detection support, or if tinygif = 1, or the
|
||||||
|
* URL isn't recognized as an imageurl, a lame HTML
|
||||||
|
* explanation is sent instead.
|
||||||
|
*
|
||||||
|
* - Added new feature, which permits blocking remote
|
||||||
|
* script redirects and firing back a local redirect
|
||||||
|
* to the browser.
|
||||||
|
* The feature is conditionally compiled, i.e. it
|
||||||
|
* can be disabled with --disable-fast-redirects,
|
||||||
|
* plus it must be activated by a "fast-redirects"
|
||||||
|
* line in the config file, has its own log level
|
||||||
|
* and of course wants to be displayed by show-proxy-args
|
||||||
|
* Note: Boy, all the #ifdefs in 1001 locations and
|
||||||
|
* all the fumbling with configure.in and acconfig.h
|
||||||
|
* were *way* more work than the feature itself :-(
|
||||||
|
*
|
||||||
|
* - Because a generic redirect template was needed for
|
||||||
|
* this, tinygif = 3 now uses the same.
|
||||||
|
*
|
||||||
|
* - Moved GIFs, and other static HTTP response templates
|
||||||
|
* to project.h
|
||||||
|
*
|
||||||
|
* - Many minor fixes
|
||||||
|
*
|
||||||
|
* - Removed some >400 CRs again (Jon, you really worked
|
||||||
|
* a lot! ;-)
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
@TOP@
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Major (X._._)
|
||||||
|
*/
|
||||||
|
#undef VERSION_MAJOR
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Minor (_.X._)
|
||||||
|
*/
|
||||||
|
#undef VERSION_MINOR
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Point (_._.X)
|
||||||
|
*/
|
||||||
|
#undef VERSION_POINT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number, as a string
|
||||||
|
*/
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Status of the code: "alpha", "beta" or "stable".
|
||||||
|
*/
|
||||||
|
#undef CODE_STATUS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Should pcre be statically built in instead of linkling with libpcre?
|
||||||
|
* (This is determined by configure depending on the availiability of
|
||||||
|
* libpcre and user preferences). The name is ugly, but pcre needs it.
|
||||||
|
* Don't bother to change this here! Use configure instead.
|
||||||
|
*/
|
||||||
|
#undef STATIC_PCRE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Should pcrs be statically built in instead of linkling with libpcrs?
|
||||||
|
* (This is determined by configure depending on the availiability of
|
||||||
|
* libpcrs and user preferences).
|
||||||
|
* Don't bother to change this here! Use configure instead.
|
||||||
|
*/
|
||||||
|
#undef STATIC_PCRS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of an ACL to control access to the proxy by IP address.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_ACL
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enables the web-based configuration (actionsfile) editor. If you
|
||||||
|
* have a shared proxy, you might want to turn this off.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of jar files to capture cookies.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_COOKIE_JAR
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Locally redirect remote script-redirect URLs
|
||||||
|
*/
|
||||||
|
#undef FEATURE_FAST_REDIRECTS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bypass filtering for 1 page only
|
||||||
|
*/
|
||||||
|
#undef FEATURE_FORCE_LOAD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow blocking using images as well as HTML.
|
||||||
|
* If you do not define this then everything is blocked as HTML.
|
||||||
|
*
|
||||||
|
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_IMAGE_BLOCKING
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Detect image requests automatically for MSIE. Will fall back to
|
||||||
|
* other image-detection methods (i.e. "+image" permission) for other
|
||||||
|
* browsers.
|
||||||
|
*
|
||||||
|
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
|
||||||
|
*
|
||||||
|
* It detects the following header pair as an image request:
|
||||||
|
*
|
||||||
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
|
* Accept: * / *
|
||||||
|
*
|
||||||
|
* And the following as a HTML request:
|
||||||
|
*
|
||||||
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
|
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
|
||||||
|
*
|
||||||
|
* And no, I haven't got that backwards - IE is being wierd.
|
||||||
|
*
|
||||||
|
* Known limitations:
|
||||||
|
* 1) If you press shift-reload on a blocked HTML page, you get
|
||||||
|
* the image "blocked" page, not the HTML "blocked" page.
|
||||||
|
* 2) Once an image "blocked" page has been sent, viewing it
|
||||||
|
* in it's own browser window *should* bring up the HTML
|
||||||
|
* "blocked" page, but it doesn't. You need to clear the
|
||||||
|
* browser cache to get the HTML version again.
|
||||||
|
*
|
||||||
|
* These limitations are due to IE making inconsistent choices
|
||||||
|
* about which "Accept:" header to send.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_IMAGE_DETECT_MSIE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Kills JavaScript popups - window.open, onunload, etc.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_KILL_POPUPS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use PNG instead of GIF for built-in images
|
||||||
|
*/
|
||||||
|
#undef FEATURE_NO_GIFS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow to shutdown Privoxy through the webinterface.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_GRACEFUL_TERMINATION
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow PCRE syntax in host patterns.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_EXTENDED_HOST_PATTERNS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keep outgoing connections alive if possible.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use POSIX threads instead of native threads.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_PTHREAD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enables statistics function.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_STATISTICS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
|
||||||
|
* non-anonymizing proxy. This is useful if you're trying to access a
|
||||||
|
* blocked or broken site - just change the setting in the config file,
|
||||||
|
* or use the handy "Disable" menu option in the Windows GUI.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_TOGGLE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of trust files.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_TRUST
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined on Solaris only. Makes the system libraries thread safe.
|
||||||
|
*/
|
||||||
|
#undef _REENTRANT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined on Solaris only. Without this, many important functions are not
|
||||||
|
* defined in the system headers.
|
||||||
|
*/
|
||||||
|
#undef __EXTENSIONS__
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined always.
|
||||||
|
* FIXME: Don't know what it does or why we need it.
|
||||||
|
* (presumably something to do with MultiThreading?)
|
||||||
|
*/
|
||||||
|
#undef __MT__
|
||||||
|
|
||||||
|
/* If the (nonstandard and thread-safe) function gethostbyname_r
|
||||||
|
* is available, select which signature to use
|
||||||
|
*/
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R_6_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R_5_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R_3_ARGS
|
||||||
|
|
||||||
|
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
|
||||||
|
* is available, select which signature to use
|
||||||
|
*/
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R_8_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R_7_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R_5_ARGS
|
||||||
|
|
||||||
|
/* Defined if you have gmtime_r and localtime_r with a signature
|
||||||
|
* of (struct time *, struct tm *)
|
||||||
|
*/
|
||||||
|
#undef HAVE_GMTIME_R
|
||||||
|
#undef HAVE_LOCALTIME_R
|
||||||
|
|
||||||
|
/* Define to 'int' if <sys/socket.h> doesn't have it.
|
||||||
|
*/
|
||||||
|
#undef socklen_t
|
||||||
|
|
||||||
|
/* Define if pcre.h must be included as <pcre/pcre.h>
|
||||||
|
*/
|
||||||
|
#undef PCRE_H_IN_SUBDIR
|
||||||
|
|
||||||
|
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
|
||||||
|
*/
|
||||||
|
#undef PCREPOSIX_H_IN_SUBDIR
|
||||||
|
|
||||||
|
@BOTTOM@
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined always.
|
||||||
|
* FIXME: Don't know what it does or why we need it.
|
||||||
|
* (presumably something to do with ANSI Standard C?)
|
||||||
|
*/
|
||||||
|
#ifndef __STDC__
|
||||||
|
#define __STDC__ 1
|
||||||
|
#endif /* ndef __STDC__ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Need to set up this define only for the Pthreads library for
|
||||||
|
* Win32, available from http://sources.redhat.com/pthreads-win32/
|
||||||
|
*/
|
||||||
|
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
|
||||||
|
#define __CLEANUP_C
|
||||||
|
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BEOS does not currently support POSIX threads.
|
||||||
|
* This *should* be detected by ./configure, but let's be sure.
|
||||||
|
*/
|
||||||
|
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
|
||||||
|
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
|
||||||
|
|
||||||
|
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
|
||||||
|
* symbol unix; it defines __unix__ and sometimes not even that:
|
||||||
|
*/
|
||||||
|
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
|
||||||
|
#define unix 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
||||||
|
* under VC++, and it usually gives many wierd error messages. Let's make
|
||||||
|
* the error messages understandable, by bailing out now.
|
||||||
|
*/
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
|
||||||
|
#endif /* def _MSC_VER */
|
||||||
|
|
||||||
|
#endif /* CONFIG_H_INCLUDED */
|
|
@ -0,0 +1,306 @@
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/actionlist.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : Master list of supported actions.
|
||||||
|
* Not really a header, since it generates code.
|
||||||
|
* This is included (3 times!) from actions.c
|
||||||
|
* Each time, the following macros are defined to
|
||||||
|
* suitable values beforehand:
|
||||||
|
* DEFINE_ACTION_MULTI()
|
||||||
|
* DEFINE_ACTION_STRING()
|
||||||
|
* DEFINE_ACTION_BOOL()
|
||||||
|
* DEFINE_ACTION_ALIAS
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: actionlist.h,v $
|
||||||
|
* Revision 1.36 2008/09/20 10:04:33 fabiankeil
|
||||||
|
* Remove hide-forwarded-for-headers action which has
|
||||||
|
* been obsoleted by change-x-forwarded-for{block}.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2008/09/19 15:43:54 fabiankeil
|
||||||
|
* Fix sorting.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/09/19 15:26:28 fabiankeil
|
||||||
|
* Add change-x-forwarded-for{} action to block or add
|
||||||
|
* X-Forwarded-For headers. Mostly based on code removed
|
||||||
|
* before 3.0.7.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2008/03/29 12:13:45 fabiankeil
|
||||||
|
* Remove send-wafer and send-vanilla-wafer actions.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2008/03/28 15:13:42 fabiankeil
|
||||||
|
* Remove inspect-jpegs action.
|
||||||
|
*
|
||||||
|
* Revision 1.31 2008/03/27 18:27:20 fabiankeil
|
||||||
|
* Remove kill-popups action.
|
||||||
|
*
|
||||||
|
* Revision 1.30 2008/03/04 18:30:34 fabiankeil
|
||||||
|
* Remove the treat-forbidden-connects-like-blocks action. We now
|
||||||
|
* use the "blocked" page for forbidden CONNECT requests by default.
|
||||||
|
*
|
||||||
|
* Revision 1.29 2008/03/01 14:00:43 fabiankeil
|
||||||
|
* Let the block action take the reason for the block
|
||||||
|
* as argument and show it on the "blocked" page.
|
||||||
|
*
|
||||||
|
* Revision 1.28 2007/12/11 21:08:29 fabiankeil
|
||||||
|
* Let the CGI editor suggest a forward-override
|
||||||
|
* parameter whose syntax is actually valid.
|
||||||
|
*
|
||||||
|
* Revision 1.27 2007/11/10 15:04:08 fabiankeil
|
||||||
|
* Tell the CGI editor about +hide-referrer{conditional-forge}.
|
||||||
|
*
|
||||||
|
* Revision 1.26 2007/06/01 16:54:28 fabiankeil
|
||||||
|
* Add forward-override{} to change the forwarding settings through
|
||||||
|
* action sections. This is mainly interesting to forward different
|
||||||
|
* clients differently (for example based on User-Agent or request
|
||||||
|
* origin).
|
||||||
|
*
|
||||||
|
* Revision 1.25 2007/04/15 16:39:20 fabiankeil
|
||||||
|
* Introduce tags as alternative way to specify which
|
||||||
|
* actions apply to a request. At the moment tags can be
|
||||||
|
* created based on client and server headers.
|
||||||
|
*
|
||||||
|
* Revision 1.24 2007/03/20 15:16:34 fabiankeil
|
||||||
|
* Use dedicated header filter actions instead of abusing "filter".
|
||||||
|
* Replace "filter-client-headers" and "filter-client-headers"
|
||||||
|
* with "server-header-filter" and "client-header-filter".
|
||||||
|
*
|
||||||
|
* Revision 1.23 2006/10/09 10:26:18 fabiankeil
|
||||||
|
* Changed the path in set-image-blocker's redirection default to
|
||||||
|
* "send-banner?type=pattern" instead of "show-banner?type=pattern"
|
||||||
|
* which isn't caught by Privoxy. Fixes BR 1573468.
|
||||||
|
*
|
||||||
|
* Changed hide-user-agent's default value to "Privoxy VERSION".
|
||||||
|
*
|
||||||
|
* Changed hide-referrer's default fake value to "http://www.privoxy.org/".
|
||||||
|
* A static referrer is obviously fake anyway, so we might as well
|
||||||
|
* advertise ourselves.
|
||||||
|
*
|
||||||
|
* Revision 1.22 2006/09/01 17:14:18 hal9
|
||||||
|
* Re-ordered the actions list so that they display in the actions editor in
|
||||||
|
* alphabetical order. Some of the new actions were "out of order".
|
||||||
|
*
|
||||||
|
* Revision 1.21 2006/08/14 08:25:19 fabiankeil
|
||||||
|
* Split filter-headers{} into filter-client-headers{}
|
||||||
|
* and filter-server-headers{}.
|
||||||
|
* Added parse_header_time() to share some code.
|
||||||
|
* Replaced timegm() with mktime().
|
||||||
|
*
|
||||||
|
* Revision 1.20 2006/08/03 02:46:41 david__schmidt
|
||||||
|
* Incorporate Fabian Keil's patch work:
http://www.fabiankeil.de/sourcecode/privoxy/
|
||||||
|
*
|
||||||
|
* Revision 1.19 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.17.2.3 2004/10/03 12:53:32 david__schmidt
|
||||||
|
* Add the ability to check jpeg images for invalid
|
||||||
|
* lengths of comment blocks. Defensive strategy
|
||||||
|
* against the exploit:
|
||||||
|
* Microsoft Security Bulletin MS04-028
|
||||||
|
* Buffer Overrun in JPEG Processing (GDI+) Could
|
||||||
|
* Allow Code Execution (833987)
|
||||||
|
* Enabled with +inspect-jpegs in actions files.
|
||||||
|
*
|
||||||
|
* Revision 1.17.2.2 2002/09/25 15:25:25 oes
|
||||||
|
* Added more aliases for prehistoric action names
|
||||||
|
*
|
||||||
|
* Revision 1.17.2.1 2002/08/02 12:50:47 oes
|
||||||
|
* Consistency with docs: Change default name for action from hide-referer to hide-referrer
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/05/14 21:25:55 oes
|
||||||
|
* Renamed prevent-(setting/reading)-cookies to crunch-(incoming/outgoing)-cookies
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/04/24 02:15:18 oes
|
||||||
|
* Renamed actions as discussed, Aliased old action names to new ones.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.14 2002/03/24 16:32:08 jongfoster
|
||||||
|
* Removing logo option
|
||||||
|
*
|
||||||
|
* Revision 1.13 2002/03/24 15:23:33 jongfoster
|
||||||
|
* Name changes
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/03/12 01:42:49 oes
|
||||||
|
* Introduced modular filters
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/03/08 18:19:14 jongfoster
|
||||||
|
* Adding +image-blocker{pattern} option to edit interface
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/11/22 21:58:41 jongfoster
|
||||||
|
* Adding action +no-cookies-keep
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/10/10 16:42:52 oes
|
||||||
|
* Fixed a bug, Added +limit-connect string action
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/10/07 15:33:59 oes
|
||||||
|
* Introduced a +no-compression action
|
||||||
|
* Introduced a +downgrade action
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/09/16 15:47:37 jongfoster
|
||||||
|
* First version of CGI-based edit interface. This is very much a
|
||||||
|
* work-in-progress, and you can't actually use it to edit anything
|
||||||
|
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
||||||
|
* to have any effect.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/18 12:27:03 oes
|
||||||
|
* Changed deanimate-gifs to string action
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/07/13 13:52:12 oes
|
||||||
|
* - Formatting
|
||||||
|
* - Introduced new action ACTION_DEANIMATE
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/06/07 23:03:56 jongfoster
|
||||||
|
* Added standard comment at top of file.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING))
|
||||||
|
#error Please define lots of macros before including "actionlist.h".
|
||||||
|
#endif /* !defined(all the DEFINE_ACTION_xxx macros) */
|
||||||
|
|
||||||
|
#ifndef DEFINE_CGI_PARAM_RADIO
|
||||||
|
#define DEFINE_CGI_PARAM_RADIO(name, bit, index, value, is_default)
|
||||||
|
#define DEFINE_CGI_PARAM_CUSTOM(name, bit, index, default_val)
|
||||||
|
#define DEFINE_CGI_PARAM_NO_RADIO(name, bit, index, default_val)
|
||||||
|
#endif /* ndef DEFINE_CGI_PARAM_RADIO */
|
||||||
|
|
||||||
|
DEFINE_ACTION_MULTI ("add-header", ACTION_MULTI_ADD_HEADER)
|
||||||
|
DEFINE_ACTION_STRING ("block", ACTION_BLOCK, ACTION_STRING_BLOCK)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("block", ACTION_BLOCK, ACTION_STRING_BLOCK, "No reason specified.")
|
||||||
|
DEFINE_ACTION_STRING ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR, "block", 0)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR, "add", 1)
|
||||||
|
DEFINE_ACTION_MULTI ("client-header-filter", ACTION_MULTI_CLIENT_HEADER_FILTER)
|
||||||
|
DEFINE_ACTION_MULTI ("client-header-tagger", ACTION_MULTI_CLIENT_HEADER_TAGGER)
|
||||||
|
DEFINE_ACTION_STRING ("content-type-overwrite", ACTION_CONTENT_TYPE_OVERWRITE, ACTION_STRING_CONTENT_TYPE)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("content-type-overwrite", ACTION_CONTENT_TYPE_OVERWRITE, ACTION_STRING_CONTENT_TYPE, "text/html")
|
||||||
|
DEFINE_ACTION_STRING ("crunch-client-header", ACTION_CRUNCH_CLIENT_HEADER, ACTION_STRING_CLIENT_HEADER)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("crunch-client-header", ACTION_CRUNCH_CLIENT_HEADER, ACTION_STRING_CLIENT_HEADER, "X-Whatever:")
|
||||||
|
DEFINE_ACTION_BOOL ("crunch-if-none-match", ACTION_CRUNCH_IF_NONE_MATCH)
|
||||||
|
DEFINE_ACTION_BOOL ("crunch-incoming-cookies", ACTION_NO_COOKIE_SET)
|
||||||
|
DEFINE_ACTION_BOOL ("crunch-outgoing-cookies", ACTION_NO_COOKIE_READ)
|
||||||
|
DEFINE_ACTION_STRING ("crunch-server-header", ACTION_CRUNCH_SERVER_HEADER, ACTION_STRING_SERVER_HEADER)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("crunch-server-header", ACTION_CRUNCH_SERVER_HEADER, ACTION_STRING_SERVER_HEADER, "X-Whatever:")
|
||||||
|
DEFINE_ACTION_STRING ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "first", 0)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1)
|
||||||
|
DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE)
|
||||||
|
DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1)
|
||||||
|
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
|
||||||
|
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
|
||||||
|
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE, "forward .")
|
||||||
|
DEFINE_ACTION_BOOL ("handle-as-empty-document", ACTION_HANDLE_AS_EMPTY_DOCUMENT)
|
||||||
|
DEFINE_ACTION_BOOL ("handle-as-image", ACTION_IMAGE)
|
||||||
|
DEFINE_ACTION_STRING ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE, "block", 0)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE, "de-de")
|
||||||
|
DEFINE_ACTION_STRING ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION, "block", 0)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION, "attachment; filename=WHATEVER.txt")
|
||||||
|
DEFINE_ACTION_STRING ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM, "block", 1)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM, "spam_me_senseless@sittingduck.xyz")
|
||||||
|
DEFINE_ACTION_STRING ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE, "block", 0)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE, "-1")
|
||||||
|
DEFINE_ACTION_STRING ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "conditional-forge", 3)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "conditional-block", 2)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "forge", 1)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "block", 0)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "http://www.privoxy.org/")
|
||||||
|
DEFINE_ACTION_STRING ("hide-user-agent", ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("hide-user-agent", ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT, "Privoxy " VERSION)
|
||||||
|
DEFINE_ACTION_STRING ("limit-connect", ACTION_LIMIT_CONNECT, ACTION_STRING_LIMIT_CONNECT)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("limit-connect", ACTION_LIMIT_CONNECT, ACTION_STRING_LIMIT_CONNECT, "443")
|
||||||
|
DEFINE_ACTION_STRING ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "block", 0)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "reset-to-request-time", 1)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "randomize", 2)
|
||||||
|
DEFINE_ACTION_BOOL ("prevent-compression", ACTION_NO_COMPRESSION)
|
||||||
|
DEFINE_ACTION_STRING ("redirect", ACTION_REDIRECT, ACTION_STRING_REDIRECT)
|
||||||
|
DEFINE_CGI_PARAM_NO_RADIO("redirect", ACTION_REDIRECT, ACTION_STRING_REDIRECT, "http://localhost/")
|
||||||
|
DEFINE_ACTION_MULTI ("server-header-filter", ACTION_MULTI_SERVER_HEADER_FILTER)
|
||||||
|
DEFINE_ACTION_MULTI ("server-header-tagger", ACTION_MULTI_SERVER_HEADER_TAGGER)
|
||||||
|
DEFINE_ACTION_BOOL ("session-cookies-only", ACTION_NO_COOKIE_KEEP)
|
||||||
|
DEFINE_ACTION_STRING ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, "pattern", 1)
|
||||||
|
DEFINE_CGI_PARAM_RADIO ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, "blank", 0)
|
||||||
|
DEFINE_CGI_PARAM_CUSTOM ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, CGI_PREFIX "send-banner?type=pattern")
|
||||||
|
|
||||||
|
#if DEFINE_ACTION_ALIAS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Alternative spellings
|
||||||
|
*/
|
||||||
|
DEFINE_ACTION_STRING ("hide-referer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
|
||||||
|
DEFINE_ACTION_BOOL ("prevent-keeping-cookies", ACTION_NO_COOKIE_KEEP)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Pre-3.0.7 (pseudo) compatibility
|
||||||
|
*/
|
||||||
|
DEFINE_ACTION_MULTI ("filter-client-headers", ACTION_MULTI_CLIENT_HEADER_FILTER)
|
||||||
|
DEFINE_ACTION_MULTI ("filter-server-headers", ACTION_MULTI_SERVER_HEADER_FILTER)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Pre-3.0 compatibility
|
||||||
|
*/
|
||||||
|
DEFINE_ACTION_BOOL ("no-cookie-read", ACTION_NO_COOKIE_READ)
|
||||||
|
DEFINE_ACTION_BOOL ("no-cookie-set", ACTION_NO_COOKIE_SET)
|
||||||
|
DEFINE_ACTION_BOOL ("prevent-reading-cookies", ACTION_NO_COOKIE_READ)
|
||||||
|
DEFINE_ACTION_BOOL ("prevent-setting-cookies", ACTION_NO_COOKIE_SET)
|
||||||
|
DEFINE_ACTION_BOOL ("downgrade", ACTION_DOWNGRADE)
|
||||||
|
DEFINE_ACTION_STRING ("hide-from", ACTION_HIDE_FROM, ACTION_STRING_FROM)
|
||||||
|
DEFINE_ACTION_BOOL ("image", ACTION_IMAGE)
|
||||||
|
DEFINE_ACTION_STRING ("image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER)
|
||||||
|
DEFINE_ACTION_BOOL ("no-compression", ACTION_NO_COMPRESSION)
|
||||||
|
DEFINE_ACTION_BOOL ("no-cookies-keep", ACTION_NO_COOKIE_KEEP)
|
||||||
|
DEFINE_ACTION_BOOL ("no-cookies-read", ACTION_NO_COOKIE_READ)
|
||||||
|
DEFINE_ACTION_BOOL ("no-cookies-set", ACTION_NO_COOKIE_SET)
|
||||||
|
#endif /* if DEFINE_ACTION_ALIAS */
|
||||||
|
|
||||||
|
#undef DEFINE_ACTION_MULTI
|
||||||
|
#undef DEFINE_ACTION_STRING
|
||||||
|
#undef DEFINE_ACTION_BOOL
|
||||||
|
#undef DEFINE_ACTION_ALIAS
|
||||||
|
#undef DEFINE_CGI_PARAM_CUSTOM
|
||||||
|
#undef DEFINE_CGI_PARAM_RADIO
|
||||||
|
#undef DEFINE_CGI_PARAM_NO_RADIO
|
||||||
|
|
|
@ -0,0 +1,187 @@
|
||||||
|
#ifndef ACTIONS_H_INCLUDED
|
||||||
|
#define ACTIONS_H_INCLUDED
|
||||||
|
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.18 2008/03/30 14:52:00 fabiankeil Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/actions.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : Declares functions to work with actions files
|
||||||
|
* Functions declared include: FIXME
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: actions.h,v $
|
||||||
|
* Revision 1.18 2008/03/30 14:52:00 fabiankeil
|
||||||
|
* Rename load_actions_file() and load_re_filterfile()
|
||||||
|
* as they load multiple files "now".
|
||||||
|
*
|
||||||
|
* Revision 1.17 2008/01/28 20:17:40 fabiankeil
|
||||||
|
* - Mark some parameters as immutable.
|
||||||
|
* - Hide update_action_bits_for_all_tags() while it's unused.
|
||||||
|
*
|
||||||
|
* Revision 1.16 2007/04/17 18:21:45 fabiankeil
|
||||||
|
* Split update_action_bits() into
|
||||||
|
* update_action_bits_for_all_tags()
|
||||||
|
* and update_action_bits_for_tag().
|
||||||
|
*
|
||||||
|
* Revision 1.15 2007/04/15 16:39:20 fabiankeil
|
||||||
|
* Introduce tags as alternative way to specify which
|
||||||
|
* actions apply to a request. At the moment tags can be
|
||||||
|
* created based on client and server headers.
|
||||||
|
*
|
||||||
|
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.12 2002/05/06 07:56:50 oes
|
||||||
|
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.11 2002/04/30 11:14:52 oes
|
||||||
|
* Made csp the first parameter in *action_to_html
|
||||||
|
*
|
||||||
|
* Revision 1.10 2002/04/26 12:53:33 oes
|
||||||
|
* - actions_to_html signature change
|
||||||
|
* - current_action_to_text: renamed to current_action_to_html
|
||||||
|
* and signature change
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/16 23:54:06 jongfoster
|
||||||
|
* Adding graceful termination feature, to help look for memory leaks.
|
||||||
|
* If you enable this (which, by design, has to be done by hand
|
||||||
|
* editing config.h) and then go to http://i.j.b/die, then the program
|
||||||
|
* will exit cleanly after the *next* request. It should free all the
|
||||||
|
* memory that was used.
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/10/23 21:30:30 jongfoster
|
||||||
|
* Adding error-checking to selected functions.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/10/14 21:58:22 jongfoster
|
||||||
|
* Adding support for the CGI-based editor:
|
||||||
|
* - Exported get_actions()
|
||||||
|
* - Added new function free_alias_list()
|
||||||
|
* - Added support for {{settings}} and {{description}} blocks
|
||||||
|
* in the actions file. They are currently ignored.
|
||||||
|
* - Added restriction to only one {{alias}} block which must appear
|
||||||
|
* first in the file, to simplify the editor's rewriting rules.
|
||||||
|
* - Note that load_actions_file() is no longer used by the CGI-based
|
||||||
|
* editor, but some of the other routines in this file are.
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/09/16 15:47:37 jongfoster
|
||||||
|
* First version of CGI-based edit interface. This is very much a
|
||||||
|
* work-in-progress, and you can't actually use it to edit anything
|
||||||
|
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
||||||
|
* to have any effect.
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/09/14 00:17:32 jongfoster
|
||||||
|
* Tidying up memory allocation. New function init_action().
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/29 19:01:11 jongfoster
|
||||||
|
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
|
||||||
|
* Added forward declarations for needed structures.
|
||||||
|
*
|
||||||
|
* Revision 1.1 2001/05/31 21:16:46 jongfoster
|
||||||
|
* Moved functions to process the action list into this new file.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
struct action_spec;
|
||||||
|
struct current_action_spec;
|
||||||
|
struct client_state;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* This structure is used to hold user-defined aliases */
|
||||||
|
struct action_alias
|
||||||
|
{
|
||||||
|
const char * name;
|
||||||
|
struct action_spec action[1];
|
||||||
|
struct action_alias * next;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern jb_err get_actions (char *line,
|
||||||
|
struct action_alias * alias_list,
|
||||||
|
struct action_spec *cur_action);
|
||||||
|
extern void free_alias_list(struct action_alias *alias_list);
|
||||||
|
|
||||||
|
extern void init_action(struct action_spec *dest);
|
||||||
|
extern void free_action(struct action_spec *src);
|
||||||
|
extern jb_err merge_actions (struct action_spec *dest,
|
||||||
|
const struct action_spec *src);
|
||||||
|
#if 0
|
||||||
|
extern int update_action_bits_for_all_tags(struct client_state *csp);
|
||||||
|
#endif
|
||||||
|
extern int update_action_bits_for_tag(struct client_state *csp, const char *tag);
|
||||||
|
extern jb_err copy_action (struct action_spec *dest,
|
||||||
|
const struct action_spec *src);
|
||||||
|
extern char * actions_to_text (const struct action_spec *action);
|
||||||
|
extern char * actions_to_html (const struct client_state *csp,
|
||||||
|
const struct action_spec *action);
|
||||||
|
extern void init_current_action (struct current_action_spec *dest);
|
||||||
|
extern void free_current_action (struct current_action_spec *src);
|
||||||
|
extern jb_err merge_current_action (struct current_action_spec *dest,
|
||||||
|
const struct action_spec *src);
|
||||||
|
extern char * current_action_to_html(const struct client_state *csp,
|
||||||
|
const struct current_action_spec *action);
|
||||||
|
|
||||||
|
extern jb_err get_action_token(char **line, char **name, char **value);
|
||||||
|
extern void unload_actions_file(void *file_data);
|
||||||
|
extern int load_action_files(struct client_state *csp);
|
||||||
|
|
||||||
|
#ifdef FEATURE_GRACEFUL_TERMINATION
|
||||||
|
void unload_current_actions_file(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Revision control strings from this header and associated .c file */
|
||||||
|
extern const char actions_rcs[];
|
||||||
|
extern const char actions_h_rcs[];
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ndef ACTIONS_H_INCLUDED */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
||||||
|
|
|
@ -0,0 +1,341 @@
|
||||||
|
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 $
|
||||||
|
*
|
||||||
|
* Purpose : Amiga-specific declarations.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
||||||
|
|
||||||
|
#ifdef AMIGA
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
|
#include "project.h"
|
||||||
|
|
||||||
|
const char amiga_h_rcs[] = AMIGA_H_VERSION;
|
||||||
|
|
||||||
|
static char *ver USED = "$VER: Privoxy " __AMIGAVERSION__ " (" __AMIGADATE__ ")";
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
static char *stack USED = "$STACK: 524288";
|
||||||
|
#else
|
||||||
|
unsigned long __stack = 100*1024;
|
||||||
|
#endif
|
||||||
|
struct Task *main_task = NULL;
|
||||||
|
int childs = 0;
|
||||||
|
|
||||||
|
void serve(struct client_state *csp);
|
||||||
|
|
||||||
|
SAVEDS ULONG server_thread(void)
|
||||||
|
{
|
||||||
|
struct client_state *local_csp;
|
||||||
|
struct UserData UserData;
|
||||||
|
struct Task *me=FindTask(NULL);
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
struct Library *SocketBase;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Wait(SIGF_SINGLE);
|
||||||
|
local_csp=(struct client_state *)(me->tc_UserData);
|
||||||
|
me->tc_UserData=&UserData;
|
||||||
|
SocketBase=(APTR)OpenLibrary("bsdsocket.library",3);
|
||||||
|
if (SocketBase)
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
{
|
||||||
|
ISocket = (struct SocketIFace *)GetInterface(SocketBase, "main", 1, NULL);
|
||||||
|
}
|
||||||
|
if (ISocket)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
SetErrnoPtr(&(UserData.eno),sizeof(int));
|
||||||
|
local_csp->cfd=ObtainSocket(local_csp->cfd, AF_INET, SOCK_STREAM, 0);
|
||||||
|
if(JB_INVALID_SOCKET!=local_csp->cfd)
|
||||||
|
{
|
||||||
|
Signal(main_task,SIGF_SINGLE);
|
||||||
|
serve((struct client_state *) local_csp);
|
||||||
|
} else {
|
||||||
|
local_csp->flags &= ~CSP_FLAG_ACTIVE;
|
||||||
|
Signal(main_task,SIGF_SINGLE);
|
||||||
|
}
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
DropInterface((struct Interface *)ISocket);
|
||||||
|
#endif
|
||||||
|
CloseLibrary(SocketBase);
|
||||||
|
} else {
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
CloseLibrary(SocketBase);
|
||||||
|
#endif
|
||||||
|
local_csp->flags &= ~CSP_FLAG_ACTIVE;
|
||||||
|
Signal(main_task,SIGF_SINGLE);
|
||||||
|
}
|
||||||
|
childs--;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static BPTR olddir;
|
||||||
|
|
||||||
|
void amiga_exit(void)
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
if (ISocket)
|
||||||
|
#else
|
||||||
|
if (SocketBase)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
struct Library *SocketBase = ISocket->Data.LibBase;
|
||||||
|
DropInterface((struct Interface *)ISocket);
|
||||||
|
#endif
|
||||||
|
CloseLibrary(SocketBase);
|
||||||
|
}
|
||||||
|
CurrentDir(olddir);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef __amigaos4__
|
||||||
|
static struct SignalSemaphore memsem;
|
||||||
|
static struct SignalSemaphore *memsemptr = NULL;
|
||||||
|
#endif
|
||||||
|
static struct UserData GlobalUserData;
|
||||||
|
|
||||||
|
void InitAmiga(void)
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
struct Library *SocketBase;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
main_task = FindTask(NULL);
|
||||||
|
main_task->tc_UserData = &GlobalUserData;
|
||||||
|
|
||||||
|
if (((struct Library *)SysBase)->lib_Version < 39)
|
||||||
|
{
|
||||||
|
exit(RETURN_FAIL);
|
||||||
|
}
|
||||||
|
|
||||||
|
signal(SIGINT,SIG_IGN);
|
||||||
|
SocketBase = (APTR)OpenLibrary("bsdsocket.library",3);
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
if (SocketBase)
|
||||||
|
{
|
||||||
|
ISocket = (struct SocketIFace *)GetInterface(SocketBase, "main", 1, NULL);
|
||||||
|
}
|
||||||
|
if (!ISocket)
|
||||||
|
#else
|
||||||
|
if (!SocketBase)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
CloseLibrary(SocketBase);
|
||||||
|
#endif
|
||||||
|
fprintf(stderr, "Can't open bsdsocket.library V3+\n");
|
||||||
|
exit(RETURN_ERROR);
|
||||||
|
}
|
||||||
|
SetErrnoPtr(&(GlobalUserData.eno),sizeof(int));
|
||||||
|
#ifndef __amigaos4__
|
||||||
|
InitSemaphore(&memsem);
|
||||||
|
memsemptr = &memsem;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
olddir=CurrentDir(GetProgramDir());
|
||||||
|
atexit(amiga_exit);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef __amigaos4__
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#ifdef libnix
|
||||||
|
/* multithreadingsafe libnix replacements */
|
||||||
|
static void *memPool=NULL;
|
||||||
|
|
||||||
|
void *malloc (size_t s)
|
||||||
|
{
|
||||||
|
ULONG *mem;
|
||||||
|
LONG size = s;
|
||||||
|
|
||||||
|
if (size<=0)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (!memPool)
|
||||||
|
{
|
||||||
|
if (!(memPool=CreatePool(MEMF_ANY,32*1024,8*1024)))
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
size += sizeof(ULONG) + MEM_BLOCKMASK;
|
||||||
|
size &= ~MEM_BLOCKMASK;
|
||||||
|
if (memsemptr)
|
||||||
|
{
|
||||||
|
ObtainSemaphore(memsemptr);
|
||||||
|
}
|
||||||
|
if ((mem=AllocPooled(memPool,size)))
|
||||||
|
{
|
||||||
|
*mem++=size;
|
||||||
|
}
|
||||||
|
if (memsemptr)
|
||||||
|
{
|
||||||
|
ReleaseSemaphore(memsemptr);
|
||||||
|
}
|
||||||
|
return mem;
|
||||||
|
}
|
||||||
|
|
||||||
|
void free (void *m)
|
||||||
|
{
|
||||||
|
ULONG *mem = m;
|
||||||
|
|
||||||
|
if(mem && memPool)
|
||||||
|
{
|
||||||
|
ULONG size=*--mem;
|
||||||
|
|
||||||
|
if (memsemptr)
|
||||||
|
{
|
||||||
|
ObtainSemaphore(memsemptr);
|
||||||
|
}
|
||||||
|
FreePooled(memPool,mem,size);
|
||||||
|
if (memsemptr)
|
||||||
|
{
|
||||||
|
ReleaseSemaphore(memsemptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void *realloc (void *old, size_t ns)
|
||||||
|
{
|
||||||
|
void *new;
|
||||||
|
LONG osize, *o = old;
|
||||||
|
LONG nsize = ns;
|
||||||
|
|
||||||
|
if (!old)
|
||||||
|
{
|
||||||
|
return malloc(nsize);
|
||||||
|
}
|
||||||
|
osize = (*(o-1)) - sizeof(ULONG);
|
||||||
|
if (nsize <= osize)
|
||||||
|
{
|
||||||
|
return old;
|
||||||
|
}
|
||||||
|
if ((new = malloc(nsize)))
|
||||||
|
{
|
||||||
|
ULONG *n = new;
|
||||||
|
|
||||||
|
osize >>= 2;
|
||||||
|
while(osize--)
|
||||||
|
{
|
||||||
|
*n++ = *o++;
|
||||||
|
}
|
||||||
|
free(old);
|
||||||
|
}
|
||||||
|
return new;
|
||||||
|
}
|
||||||
|
|
||||||
|
void __memCleanUp (void)
|
||||||
|
{
|
||||||
|
if (memsemptr)
|
||||||
|
{
|
||||||
|
ObtainSemaphore(memsemptr);
|
||||||
|
}
|
||||||
|
if (memPool)
|
||||||
|
{
|
||||||
|
DeletePool(memPool);
|
||||||
|
}
|
||||||
|
if (memsemptr)
|
||||||
|
{
|
||||||
|
ReleaseSemaphore(memsemptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define ADD2LIST(a,b,c) asm(".stabs \"_" #b "\"," #c ",0,0,_" #a )
|
||||||
|
#define ADD2EXIT(a,pri) ADD2LIST(a,__EXIT_LIST__,22); \
|
||||||
|
asm(".stabs \"___EXIT_LIST__\",20,0,0," #pri "+128")
|
||||||
|
ADD2EXIT(__memCleanUp,-50);
|
||||||
|
#elif !defined(ixemul)
|
||||||
|
#error No libnix and no ixemul!?
|
||||||
|
#endif /* libnix */
|
||||||
|
#else
|
||||||
|
#error Only GCC is supported, multithreading safe malloc/free required.
|
||||||
|
#endif /* __GNUC__ */
|
||||||
|
#endif /* !__amigaos4__ */
|
||||||
|
|
||||||
|
#endif /* def AMIGA */
|
|
@ -0,0 +1,176 @@
|
||||||
|
#ifdef AMIGA
|
||||||
|
#ifndef AMIGA_H_INCLUDED
|
||||||
|
#define AMIGA_H_INCLUDED
|
||||||
|
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.12 2007/01/07 07:40:52 joergs Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : Amiga-specific declarations.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: amiga.h,v $
|
||||||
|
* Revision 1.12 2007/01/07 07:40:52 joergs
|
||||||
|
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.9 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/03 09:18:03 joergs
|
||||||
|
* Made jumbjuster work on AmigaOS again.
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/10/13 12:46:08 joergs
|
||||||
|
* Added #undef EINTR to avoid warnings
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/29 18:43:08 jongfoster
|
||||||
|
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
||||||
|
* ANSI C rules.
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/05/29 20:05:06 joergs
|
||||||
|
* Fixed exit() macro not exiting if called before InitAmiga()
|
||||||
|
* (junkbuster --help and --version).
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/05/25 21:53:27 jongfoster
|
||||||
|
* Fixing indentation
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/23 00:13:58 joergs
|
||||||
|
* AmigaOS support fixed.
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#define _KERNEL
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#undef _KERNEL
|
||||||
|
|
||||||
|
#define __NOLIBBASE__
|
||||||
|
#define __NOGLOBALIFACE__
|
||||||
|
#include <proto/socket.h>
|
||||||
|
#undef __NOLIBBASE__
|
||||||
|
#undef __NOGLOBALIFACE__
|
||||||
|
|
||||||
|
#define __CONSTLIBBASEDECL__ const
|
||||||
|
#include <proto/exec.h>
|
||||||
|
#include <exec/tasks.h>
|
||||||
|
#include <proto/dos.h>
|
||||||
|
#include <dos/dostags.h>
|
||||||
|
|
||||||
|
struct UserData
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
struct SocketIFace *si;
|
||||||
|
#else
|
||||||
|
struct Library *sb;
|
||||||
|
#endif
|
||||||
|
int eno;
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
#define ISocket (((struct UserData *)(FindTask(NULL)->tc_UserData))->si)
|
||||||
|
#undef errno
|
||||||
|
#else
|
||||||
|
#define SocketBase ((struct Library *)(((struct UserData *)(FindTask(NULL)->tc_UserData))->sb))
|
||||||
|
#endif
|
||||||
|
#define errno (((struct UserData *)(FindTask(NULL)->tc_UserData))->eno)
|
||||||
|
#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,NULL)
|
||||||
|
#define inet_ntoa(x) Inet_NtoA(x.s_addr)
|
||||||
|
|
||||||
|
extern int childs;
|
||||||
|
extern struct Task *main_task;
|
||||||
|
|
||||||
|
void InitAmiga(void);
|
||||||
|
void amiga_exit(void);
|
||||||
|
void __memCleanUp(void);
|
||||||
|
SAVEDS ULONG server_thread(void);
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
#define exit(x) \
|
||||||
|
{ \
|
||||||
|
if(main_task) \
|
||||||
|
{ \
|
||||||
|
if(main_task == FindTask(NULL)) \
|
||||||
|
{ \
|
||||||
|
while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
if (ISocket) \
|
||||||
|
{ \
|
||||||
|
struct Library *sb = ISocket->Data.LibBase; \
|
||||||
|
DropInterface((struct Interface *)ISocket); \
|
||||||
|
CloseLibrary(sb); \
|
||||||
|
} \
|
||||||
|
childs--; \
|
||||||
|
RemTask(NULL); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
exit(x); \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define exit(x) \
|
||||||
|
{ \
|
||||||
|
if(main_task) \
|
||||||
|
{ \
|
||||||
|
if(main_task == FindTask(NULL)) \
|
||||||
|
{ \
|
||||||
|
while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
CloseLibrary(SocketBase); \
|
||||||
|
childs--; \
|
||||||
|
RemTask(NULL); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
exit(x); \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
#undef HAVE_RANDOM
|
||||||
|
#define h_errno 0
|
||||||
|
#define HAVE_TIMEGM
|
||||||
|
#define timegm(tm) mktime(tm)
|
||||||
|
#endif /* __amigaos4__ */
|
||||||
|
|
||||||
|
#undef EINTR
|
||||||
|
#define EINTR 0
|
||||||
|
|
||||||
|
#endif /* ndef AMIGA_H_INCLUDED */
|
||||||
|
#endif /* def AMIGA */
|
|
@ -0,0 +1,75 @@
|
||||||
|
# This file was generated by Autom4te Sun Nov 6 20:57:04 UTC 2011.
|
||||||
|
# It contains the lists of macros which have been traced.
|
||||||
|
# It can be safely removed.
|
||||||
|
|
||||||
|
@request = (
|
||||||
|
bless( [
|
||||||
|
'0',
|
||||||
|
1,
|
||||||
|
[
|
||||||
|
'/usr/share/autoconf'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||||
|
'configure.in'
|
||||||
|
],
|
||||||
|
{
|
||||||
|
'AM_PROG_F77_C_O' => 1,
|
||||||
|
'_LT_AC_TAGCONFIG' => 1,
|
||||||
|
'm4_pattern_forbid' => 1,
|
||||||
|
'AC_INIT' => 1,
|
||||||
|
'AC_CANONICAL_TARGET' => 1,
|
||||||
|
'_AM_COND_IF' => 1,
|
||||||
|
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||||
|
'AC_SUBST' => 1,
|
||||||
|
'AC_CANONICAL_HOST' => 1,
|
||||||
|
'AC_FC_SRCEXT' => 1,
|
||||||
|
'AC_PROG_LIBTOOL' => 1,
|
||||||
|
'AM_INIT_AUTOMAKE' => 1,
|
||||||
|
'AC_CONFIG_SUBDIRS' => 1,
|
||||||
|
'AM_PATH_GUILE' => 1,
|
||||||
|
'AM_AUTOMAKE_VERSION' => 1,
|
||||||
|
'LT_CONFIG_LTDL_DIR' => 1,
|
||||||
|
'AC_CONFIG_LINKS' => 1,
|
||||||
|
'AC_REQUIRE_AUX_FILE' => 1,
|
||||||
|
'LT_SUPPORTED_TAG' => 1,
|
||||||
|
'm4_sinclude' => 1,
|
||||||
|
'AM_MAINTAINER_MODE' => 1,
|
||||||
|
'AM_NLS' => 1,
|
||||||
|
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||||
|
'_m4_warn' => 1,
|
||||||
|
'AM_MAKEFILE_INCLUDE' => 1,
|
||||||
|
'AM_PROG_CXX_C_O' => 1,
|
||||||
|
'_AM_MAKEFILE_INCLUDE' => 1,
|
||||||
|
'_AM_COND_ENDIF' => 1,
|
||||||
|
'AM_ENABLE_MULTILIB' => 1,
|
||||||
|
'AM_SILENT_RULES' => 1,
|
||||||
|
'AM_PROG_MOC' => 1,
|
||||||
|
'AC_CONFIG_FILES' => 1,
|
||||||
|
'LT_INIT' => 1,
|
||||||
|
'include' => 1,
|
||||||
|
'AM_GNU_GETTEXT' => 1,
|
||||||
|
'AM_PROG_AR' => 1,
|
||||||
|
'AC_LIBSOURCE' => 1,
|
||||||
|
'AC_CANONICAL_BUILD' => 1,
|
||||||
|
'AM_PROG_FC_C_O' => 1,
|
||||||
|
'AC_FC_FREEFORM' => 1,
|
||||||
|
'AH_OUTPUT' => 1,
|
||||||
|
'AC_CONFIG_AUX_DIR' => 1,
|
||||||
|
'_AM_SUBST_NOTMAKE' => 1,
|
||||||
|
'm4_pattern_allow' => 1,
|
||||||
|
'AM_PROG_CC_C_O' => 1,
|
||||||
|
'sinclude' => 1,
|
||||||
|
'AM_CONDITIONAL' => 1,
|
||||||
|
'AC_CANONICAL_SYSTEM' => 1,
|
||||||
|
'AM_XGETTEXT_OPTION' => 1,
|
||||||
|
'AC_CONFIG_HEADERS' => 1,
|
||||||
|
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||||
|
'AM_POT_TOOLS' => 1,
|
||||||
|
'm4_include' => 1,
|
||||||
|
'_AM_COND_ELSE' => 1,
|
||||||
|
'AC_SUBST_TRACE' => 1
|
||||||
|
}
|
||||||
|
], 'Autom4te::Request' )
|
||||||
|
);
|
||||||
|
|
|
@ -0,0 +1,726 @@
|
||||||
|
m4trace:configure.in:570: -1- AC_INIT([jcc.c])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_forbid([_AC_])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^AS_FLAGS$])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?m4_])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_forbid([^dnl$])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?AS_])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([SHELL])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([SHELL])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^SHELL$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PATH_SEPARATOR])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PATH_SEPARATOR$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_NAME])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_STRING])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_URL])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([exec_prefix], [NONE])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([exec_prefix])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^exec_prefix$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([prefix], [NONE])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([prefix])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^prefix$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([program_transform_name], [s,x,x,])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([program_transform_name])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^program_transform_name$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([bindir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^bindir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sbindir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^sbindir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([libexecdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^libexecdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([datarootdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^datarootdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([datadir], ['${datarootdir}'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([datadir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^datadir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sysconfdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^sysconfdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sharedstatedir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^sharedstatedir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([localstatedir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^localstatedir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([includedir], ['${prefix}/include'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([includedir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^includedir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([oldincludedir], ['/usr/include'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([oldincludedir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^oldincludedir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
|
||||||
|
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
|
||||||
|
['${datarootdir}/doc/${PACKAGE}'])])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([docdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^docdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([infodir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^infodir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([htmldir], ['${docdir}'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([htmldir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^htmldir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([dvidir], ['${docdir}'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([dvidir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^dvidir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([pdfdir], ['${docdir}'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([pdfdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^pdfdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([psdir], ['${docdir}'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([psdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^psdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([libdir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^libdir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([localedir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^localedir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([mandir])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^mandir$])
|
||||||
|
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||||
|
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
|
||||||
|
@%:@undef PACKAGE_NAME])
|
||||||
|
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||||
|
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
|
||||||
|
@%:@undef PACKAGE_TARNAME])
|
||||||
|
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||||
|
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
|
||||||
|
@%:@undef PACKAGE_VERSION])
|
||||||
|
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||||
|
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
|
||||||
|
@%:@undef PACKAGE_STRING])
|
||||||
|
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||||
|
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
@%:@undef PACKAGE_BUGREPORT])
|
||||||
|
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||||
|
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
|
||||||
|
@%:@undef PACKAGE_URL])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([DEFS])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([DEFS])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^DEFS$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([ECHO_C])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_C])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_C$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([ECHO_N])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_N])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_N$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([ECHO_T])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_T])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_T$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([LIBS])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([LIBS])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^LIBS$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([build_alias])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([build_alias])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^build_alias$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([host_alias])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([host_alias])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^host_alias$])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST([target_alias])
|
||||||
|
m4trace:configure.in:570: -1- AC_SUBST_TRACE([target_alias])
|
||||||
|
m4trace:configure.in:570: -1- m4_pattern_allow([^target_alias$])
|
||||||
|
m4trace:configure.in:583: -1- AC_CONFIG_HEADERS([config.h])
|
||||||
|
m4trace:configure.in:584: -1- AC_CANONICAL_HOST
|
||||||
|
m4trace:configure.in:584: -1- AC_CANONICAL_BUILD
|
||||||
|
m4trace:configure.in:584: -1- AC_REQUIRE_AUX_FILE([config.sub])
|
||||||
|
m4trace:configure.in:584: -1- AC_REQUIRE_AUX_FILE([config.guess])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([build], [$ac_cv_build])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^build$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([build_cpu], [$[1]])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_cpu])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^build_cpu$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([build_vendor], [$[2]])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_vendor])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^build_vendor$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([build_os])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_os])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^build_os$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([host], [$ac_cv_host])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^host$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([host_cpu], [$[1]])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_cpu])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^host_cpu$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([host_vendor], [$[2]])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_vendor])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^host_vendor$])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST([host_os])
|
||||||
|
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_os])
|
||||||
|
m4trace:configure.in:584: -1- m4_pattern_allow([^host_os$])
|
||||||
|
m4trace:configure.in:626: -1- AC_SUBST([VERSION_MAJOR])
|
||||||
|
m4trace:configure.in:626: -1- AC_SUBST_TRACE([VERSION_MAJOR])
|
||||||
|
m4trace:configure.in:626: -1- m4_pattern_allow([^VERSION_MAJOR$])
|
||||||
|
m4trace:configure.in:627: -1- AC_SUBST([VERSION_MINOR])
|
||||||
|
m4trace:configure.in:627: -1- AC_SUBST_TRACE([VERSION_MINOR])
|
||||||
|
m4trace:configure.in:627: -1- m4_pattern_allow([^VERSION_MINOR$])
|
||||||
|
m4trace:configure.in:628: -1- AC_SUBST([VERSION_POINT])
|
||||||
|
m4trace:configure.in:628: -1- AC_SUBST_TRACE([VERSION_POINT])
|
||||||
|
m4trace:configure.in:628: -1- m4_pattern_allow([^VERSION_POINT$])
|
||||||
|
m4trace:configure.in:629: -1- AC_SUBST([CODE_STATUS])
|
||||||
|
m4trace:configure.in:629: -1- AC_SUBST_TRACE([CODE_STATUS])
|
||||||
|
m4trace:configure.in:629: -1- m4_pattern_allow([^CODE_STATUS$])
|
||||||
|
m4trace:configure.in:632: -1- AC_DEFINE_TRACE_LITERAL([VERSION_MAJOR])
|
||||||
|
m4trace:configure.in:632: -1- m4_pattern_allow([^VERSION_MAJOR$])
|
||||||
|
m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([VERSION_MINOR])
|
||||||
|
m4trace:configure.in:633: -1- m4_pattern_allow([^VERSION_MINOR$])
|
||||||
|
m4trace:configure.in:634: -1- AC_DEFINE_TRACE_LITERAL([VERSION_POINT])
|
||||||
|
m4trace:configure.in:634: -1- m4_pattern_allow([^VERSION_POINT$])
|
||||||
|
m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
|
||||||
|
m4trace:configure.in:635: -1- m4_pattern_allow([^VERSION$])
|
||||||
|
m4trace:configure.in:636: -1- AC_DEFINE_TRACE_LITERAL([CODE_STATUS])
|
||||||
|
m4trace:configure.in:636: -1- m4_pattern_allow([^CODE_STATUS$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CC])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CFLAGS])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CFLAGS])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CFLAGS$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([LDFLAGS])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([LDFLAGS])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^LDFLAGS$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([LIBS])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([LIBS])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^LIBS$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CPPFLAGS])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CC])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CC])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CC])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([CC])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([ac_ct_CC])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([ac_ct_CC])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^ac_ct_CC$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([EXEEXT])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^EXEEXT$])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
|
||||||
|
m4trace:configure.in:647: -1- AC_SUBST_TRACE([OBJEXT])
|
||||||
|
m4trace:configure.in:647: -1- m4_pattern_allow([^OBJEXT$])
|
||||||
|
m4trace:configure.in:648: -1- AC_SUBST([CPP])
|
||||||
|
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPP])
|
||||||
|
m4trace:configure.in:648: -1- m4_pattern_allow([^CPP$])
|
||||||
|
m4trace:configure.in:648: -1- AC_SUBST([CPPFLAGS])
|
||||||
|
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||||
|
m4trace:configure.in:648: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||||
|
m4trace:configure.in:648: -1- AC_SUBST([CPP])
|
||||||
|
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPP])
|
||||||
|
m4trace:configure.in:648: -1- m4_pattern_allow([^CPP$])
|
||||||
|
m4trace:configure.in:649: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||||
|
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_PROGRAM])
|
||||||
|
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
|
||||||
|
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
|
||||||
|
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_SCRIPT])
|
||||||
|
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
|
||||||
|
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
|
||||||
|
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_DATA])
|
||||||
|
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_DATA])
|
||||||
|
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_DATA$])
|
||||||
|
m4trace:configure.in:650: -1- AC_SUBST([LN_S], [$as_ln_s])
|
||||||
|
m4trace:configure.in:650: -1- AC_SUBST_TRACE([LN_S])
|
||||||
|
m4trace:configure.in:650: -1- m4_pattern_allow([^LN_S$])
|
||||||
|
m4trace:configure.in:651: -1- AC_SUBST([SET_MAKE])
|
||||||
|
m4trace:configure.in:651: -1- AC_SUBST_TRACE([SET_MAKE])
|
||||||
|
m4trace:configure.in:651: -1- m4_pattern_allow([^SET_MAKE$])
|
||||||
|
m4trace:configure.in:652: -1- AC_SUBST([AWK])
|
||||||
|
m4trace:configure.in:652: -1- AC_SUBST_TRACE([AWK])
|
||||||
|
m4trace:configure.in:652: -1- m4_pattern_allow([^AWK$])
|
||||||
|
m4trace:configure.in:654: -1- AC_SUBST([GDB])
|
||||||
|
m4trace:configure.in:654: -1- AC_SUBST_TRACE([GDB])
|
||||||
|
m4trace:configure.in:654: -1- m4_pattern_allow([^GDB$])
|
||||||
|
m4trace:configure.in:655: -1- AC_SUBST([BGROUPS])
|
||||||
|
m4trace:configure.in:655: -1- AC_SUBST_TRACE([BGROUPS])
|
||||||
|
m4trace:configure.in:655: -1- m4_pattern_allow([^BGROUPS$])
|
||||||
|
m4trace:configure.in:656: -1- AC_SUBST([ID])
|
||||||
|
m4trace:configure.in:656: -1- AC_SUBST_TRACE([ID])
|
||||||
|
m4trace:configure.in:656: -1- m4_pattern_allow([^ID$])
|
||||||
|
m4trace:configure.in:657: -1- AC_SUBST([ID])
|
||||||
|
m4trace:configure.in:657: -1- AC_SUBST_TRACE([ID])
|
||||||
|
m4trace:configure.in:657: -1- m4_pattern_allow([^ID$])
|
||||||
|
m4trace:configure.in:658: -1- AC_SUBST([BGROUPS])
|
||||||
|
m4trace:configure.in:658: -1- AC_SUBST_TRACE([BGROUPS])
|
||||||
|
m4trace:configure.in:658: -1- m4_pattern_allow([^BGROUPS$])
|
||||||
|
m4trace:configure.in:734: -1- AC_SUBST([USER])
|
||||||
|
m4trace:configure.in:734: -1- AC_SUBST_TRACE([USER])
|
||||||
|
m4trace:configure.in:734: -1- m4_pattern_allow([^USER$])
|
||||||
|
m4trace:configure.in:771: -1- AC_SUBST([GROUP])
|
||||||
|
m4trace:configure.in:771: -1- AC_SUBST_TRACE([GROUP])
|
||||||
|
m4trace:configure.in:771: -1- m4_pattern_allow([^GROUP$])
|
||||||
|
m4trace:configure.in:799: -1- _m4_warn([obsolete], [The macro `AC_MINGW32' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/specific.m4:345: AC_MINGW32 is expanded from...
|
||||||
|
configure.in:799: the top level])
|
||||||
|
m4trace:configure.in:799: -1- AC_CANONICAL_HOST
|
||||||
|
m4trace:configure.in:800: -1- _m4_warn([obsolete], [The macro `AC_CYGWIN' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/specific.m4:317: AC_CYGWIN is expanded from...
|
||||||
|
configure.in:800: the top level])
|
||||||
|
m4trace:configure.in:800: -1- AC_CANONICAL_HOST
|
||||||
|
m4trace:configure.in:849: -1- AC_SUBST([WIN_ONLY])
|
||||||
|
m4trace:configure.in:849: -1- AC_SUBST_TRACE([WIN_ONLY])
|
||||||
|
m4trace:configure.in:849: -1- m4_pattern_allow([^WIN_ONLY$])
|
||||||
|
m4trace:configure.in:853: -1- AC_SUBST([WDUMP])
|
||||||
|
m4trace:configure.in:853: -1- AC_SUBST_TRACE([WDUMP])
|
||||||
|
m4trace:configure.in:853: -1- m4_pattern_allow([^WDUMP$])
|
||||||
|
m4trace:configure.in:861: -1- AC_SUBST([DB2HTML])
|
||||||
|
m4trace:configure.in:861: -1- AC_SUBST_TRACE([DB2HTML])
|
||||||
|
m4trace:configure.in:861: -1- m4_pattern_allow([^DB2HTML$])
|
||||||
|
m4trace:configure.in:864: -1- AC_SUBST([WDUMP])
|
||||||
|
m4trace:configure.in:864: -1- AC_SUBST_TRACE([WDUMP])
|
||||||
|
m4trace:configure.in:864: -1- m4_pattern_allow([^WDUMP$])
|
||||||
|
m4trace:configure.in:865: -1- AC_SUBST([DB2HTML])
|
||||||
|
m4trace:configure.in:865: -1- AC_SUBST_TRACE([DB2HTML])
|
||||||
|
m4trace:configure.in:865: -1- m4_pattern_allow([^DB2HTML$])
|
||||||
|
m4trace:configure.in:868: -1- AC_SUBST([RPMBIN])
|
||||||
|
m4trace:configure.in:868: -1- AC_SUBST_TRACE([RPMBIN])
|
||||||
|
m4trace:configure.in:868: -1- m4_pattern_allow([^RPMBIN$])
|
||||||
|
m4trace:configure.in:875: -1- AC_SUBST([RPM_BASE])
|
||||||
|
m4trace:configure.in:875: -1- AC_SUBST_TRACE([RPM_BASE])
|
||||||
|
m4trace:configure.in:875: -1- m4_pattern_allow([^RPM_BASE$])
|
||||||
|
m4trace:configure.in:878: -1- AC_SUBST([JADEBIN])
|
||||||
|
m4trace:configure.in:878: -1- AC_SUBST_TRACE([JADEBIN])
|
||||||
|
m4trace:configure.in:878: -1- m4_pattern_allow([^JADEBIN$])
|
||||||
|
m4trace:configure.in:879: -1- AC_SUBST([JADEBIN])
|
||||||
|
m4trace:configure.in:879: -1- AC_SUBST_TRACE([JADEBIN])
|
||||||
|
m4trace:configure.in:879: -1- m4_pattern_allow([^JADEBIN$])
|
||||||
|
m4trace:configure.in:882: -1- AC_SUBST([MAN2HTML])
|
||||||
|
m4trace:configure.in:882: -1- AC_SUBST_TRACE([MAN2HTML])
|
||||||
|
m4trace:configure.in:882: -1- m4_pattern_allow([^MAN2HTML$])
|
||||||
|
m4trace:configure.in:883: -1- AC_SUBST([MAN2HTML])
|
||||||
|
m4trace:configure.in:883: -1- AC_SUBST_TRACE([MAN2HTML])
|
||||||
|
m4trace:configure.in:883: -1- m4_pattern_allow([^MAN2HTML$])
|
||||||
|
m4trace:configure.in:890: -1- AC_SUBST([DOC_STATUS])
|
||||||
|
m4trace:configure.in:890: -1- AC_SUBST_TRACE([DOC_STATUS])
|
||||||
|
m4trace:configure.in:890: -1- m4_pattern_allow([^DOC_STATUS$])
|
||||||
|
m4trace:configure.in:932: -1- AC_SUBST([JADECAT])
|
||||||
|
m4trace:configure.in:932: -1- AC_SUBST_TRACE([JADECAT])
|
||||||
|
m4trace:configure.in:932: -1- m4_pattern_allow([^JADECAT$])
|
||||||
|
m4trace:configure.in:933: -1- AC_SUBST([DKPREFIX])
|
||||||
|
m4trace:configure.in:933: -1- AC_SUBST_TRACE([DKPREFIX])
|
||||||
|
m4trace:configure.in:933: -1- m4_pattern_allow([^DKPREFIX$])
|
||||||
|
m4trace:configure.in:951: -1- AC_SUBST([GREP])
|
||||||
|
m4trace:configure.in:951: -1- AC_SUBST_TRACE([GREP])
|
||||||
|
m4trace:configure.in:951: -1- m4_pattern_allow([^GREP$])
|
||||||
|
m4trace:configure.in:951: -1- AC_SUBST([EGREP])
|
||||||
|
m4trace:configure.in:951: -1- AC_SUBST_TRACE([EGREP])
|
||||||
|
m4trace:configure.in:951: -1- m4_pattern_allow([^EGREP$])
|
||||||
|
m4trace:configure.in:951: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
|
||||||
|
m4trace:configure.in:951: -1- m4_pattern_allow([^STDC_HEADERS$])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
@%:@undef STDC_HEADERS])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_TYPES_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_STAT_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
@%:@undef HAVE_STDLIB_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
@%:@undef HAVE_STRING_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
@%:@undef HAVE_MEMORY_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
@%:@undef HAVE_STRINGS_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
@%:@undef HAVE_INTTYPES_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
@%:@undef HAVE_STDINT_H])
|
||||||
|
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
@%:@undef HAVE_UNISTD_H])
|
||||||
|
m4trace:configure.in:966: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_PTHREAD])
|
||||||
|
m4trace:configure.in:966: -1- m4_pattern_allow([^FEATURE_PTHREAD$])
|
||||||
|
m4trace:configure.in:973: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
|
||||||
|
configure.in:973: the top level])
|
||||||
|
m4trace:configure.in:989: -1- AC_SUBST([PTHREAD_ONLY])
|
||||||
|
m4trace:configure.in:989: -1- AC_SUBST_TRACE([PTHREAD_ONLY])
|
||||||
|
m4trace:configure.in:989: -1- m4_pattern_allow([^PTHREAD_ONLY$])
|
||||||
|
m4trace:configure.in:997: -1- AH_OUTPUT([HAVE_LIBNSL], [/* Define to 1 if you have the `nsl\' library (-lnsl). */
|
||||||
|
@%:@undef HAVE_LIBNSL])
|
||||||
|
m4trace:configure.in:997: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNSL])
|
||||||
|
m4trace:configure.in:997: -1- m4_pattern_allow([^HAVE_LIBNSL$])
|
||||||
|
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:999: the top level])
|
||||||
|
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_8_ARGS])
|
||||||
|
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_8_ARGS$])
|
||||||
|
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:999: the top level])
|
||||||
|
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_7_ARGS])
|
||||||
|
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_7_ARGS$])
|
||||||
|
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:999: the top level])
|
||||||
|
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_5_ARGS])
|
||||||
|
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_5_ARGS$])
|
||||||
|
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:1043: the top level])
|
||||||
|
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_6_ARGS])
|
||||||
|
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_6_ARGS$])
|
||||||
|
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:1043: the top level])
|
||||||
|
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_5_ARGS])
|
||||||
|
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_5_ARGS$])
|
||||||
|
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
|
||||||
|
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:1043: the top level])
|
||||||
|
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_3_ARGS])
|
||||||
|
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_3_ARGS$])
|
||||||
|
m4trace:configure.in:1086: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:1086: the top level])
|
||||||
|
m4trace:configure.in:1086: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GMTIME_R])
|
||||||
|
m4trace:configure.in:1086: -1- m4_pattern_allow([^HAVE_GMTIME_R$])
|
||||||
|
m4trace:configure.in:1104: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
|
||||||
|
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||||
|
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
|
||||||
|
configure.in:1104: the top level])
|
||||||
|
m4trace:configure.in:1104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALTIME_R])
|
||||||
|
m4trace:configure.in:1104: -1- m4_pattern_allow([^HAVE_LOCALTIME_R$])
|
||||||
|
m4trace:configure.in:1136: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
|
||||||
|
m4trace:configure.in:1136: -1- m4_pattern_allow([^__EXTENSIONS__$])
|
||||||
|
m4trace:configure.in:1149: -1- AC_SUBST([SOCKET_LIB])
|
||||||
|
m4trace:configure.in:1149: -1- AC_SUBST_TRACE([SOCKET_LIB])
|
||||||
|
m4trace:configure.in:1149: -1- m4_pattern_allow([^SOCKET_LIB$])
|
||||||
|
m4trace:configure.in:1158: -2- AC_DEFINE_TRACE_LITERAL([socklen_t])
|
||||||
|
m4trace:configure.in:1158: -2- m4_pattern_allow([^socklen_t$])
|
||||||
|
m4trace:configure.in:1158: -2- AH_OUTPUT([socklen_t], [/* Define to \'int\' if <sys/socket.h> doesn\'t have it. */
|
||||||
|
@%:@undef socklen_t])
|
||||||
|
m4trace:configure.in:1171: -1- AC_SUBST([SOCKET_LIB])
|
||||||
|
m4trace:configure.in:1171: -1- AC_SUBST_TRACE([SOCKET_LIB])
|
||||||
|
m4trace:configure.in:1171: -1- m4_pattern_allow([^SOCKET_LIB$])
|
||||||
|
m4trace:configure.in:1202: -1- AC_SUBST([AMIGAOS_ONLY])
|
||||||
|
m4trace:configure.in:1202: -1- AC_SUBST_TRACE([AMIGAOS_ONLY])
|
||||||
|
m4trace:configure.in:1202: -1- m4_pattern_allow([^AMIGAOS_ONLY$])
|
||||||
|
m4trace:configure.in:1210: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
|
||||||
|
m4trace:configure.in:1210: -1- m4_pattern_allow([^STDC_HEADERS$])
|
||||||
|
m4trace:configure.in:1210: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
@%:@undef STDC_HEADERS])
|
||||||
|
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
|
||||||
|
*/
|
||||||
|
@%:@undef HAVE_DIRENT_H])
|
||||||
|
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
|
||||||
|
*/
|
||||||
|
@%:@undef HAVE_SYS_NDIR_H])
|
||||||
|
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
|
||||||
|
*/
|
||||||
|
@%:@undef HAVE_SYS_DIR_H])
|
||||||
|
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
|
||||||
|
@%:@undef HAVE_NDIR_H])
|
||||||
|
m4trace:configure.in:1212: -1- AC_DEFINE_TRACE_LITERAL([const])
|
||||||
|
m4trace:configure.in:1212: -1- m4_pattern_allow([^const$])
|
||||||
|
m4trace:configure.in:1212: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
|
||||||
|
@%:@undef const])
|
||||||
|
m4trace:configure.in:1213: -1- AC_DEFINE_TRACE_LITERAL([size_t])
|
||||||
|
m4trace:configure.in:1213: -1- m4_pattern_allow([^size_t$])
|
||||||
|
m4trace:configure.in:1213: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
|
||||||
|
@%:@undef size_t])
|
||||||
|
m4trace:configure.in:1214: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
|
||||||
|
m4trace:configure.in:1214: -1- m4_pattern_allow([^pid_t$])
|
||||||
|
m4trace:configure.in:1214: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
|
||||||
|
@%:@undef pid_t])
|
||||||
|
m4trace:configure.in:1215: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
|
||||||
|
m4trace:configure.in:1215: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
|
||||||
|
m4trace:configure.in:1215: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||||
|
@%:@undef TIME_WITH_SYS_TIME])
|
||||||
|
m4trace:configure.in:1216: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
|
||||||
|
m4trace:configure.in:1216: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
|
||||||
|
m4trace:configure.in:1216: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
|
||||||
|
@%:@undef TM_IN_SYS_TIME])
|
||||||
|
m4trace:configure.in:1217: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
|
||||||
|
m4trace:configure.in:1217: -1- m4_pattern_allow([^SIZEOF_INT$])
|
||||||
|
m4trace:configure.in:1217: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
|
||||||
|
@%:@undef SIZEOF_INT])
|
||||||
|
m4trace:configure.in:1218: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
|
||||||
|
m4trace:configure.in:1218: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
|
||||||
|
m4trace:configure.in:1218: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
|
||||||
|
@%:@undef SIZEOF_CHAR_P])
|
||||||
|
m4trace:configure.in:1219: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
|
||||||
|
m4trace:configure.in:1219: -1- m4_pattern_allow([^SIZEOF_LONG$])
|
||||||
|
m4trace:configure.in:1219: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
|
||||||
|
@%:@undef SIZEOF_LONG])
|
||||||
|
m4trace:configure.in:1220: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
|
||||||
|
m4trace:configure.in:1220: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
|
||||||
|
m4trace:configure.in:1220: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
|
||||||
|
@%:@undef SIZEOF_LONG_LONG])
|
||||||
|
m4trace:configure.in:1221: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SIZE_T])
|
||||||
|
m4trace:configure.in:1221: -1- m4_pattern_allow([^SIZEOF_SIZE_T$])
|
||||||
|
m4trace:configure.in:1221: -1- AH_OUTPUT([SIZEOF_SIZE_T], [/* The size of `size_t\', as computed by sizeof. */
|
||||||
|
@%:@undef SIZEOF_SIZE_T])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_OS_H], [/* Define to 1 if you have the <OS.h> header file. */
|
||||||
|
@%:@undef HAVE_OS_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||||
|
@%:@undef HAVE_ARPA_INET_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
|
||||||
|
@%:@undef HAVE_ERRNO_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
@%:@undef HAVE_FCNTL_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
|
||||||
|
@%:@undef HAVE_LIMITS_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
|
||||||
|
@%:@undef HAVE_LOCALE_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
|
||||||
|
@%:@undef HAVE_NETDB_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||||
|
@%:@undef HAVE_NETINET_IN_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
|
||||||
|
@%:@undef HAVE_STDDEF_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
@%:@undef HAVE_STDLIB_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
@%:@undef HAVE_STRING_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_IOCTL_H], [/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_IOCTL_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_SOCKET_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_TIME_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_TIMEB_H], [/* Define to 1 if you have the <sys/timeb.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_TIMEB_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
|
||||||
|
@%:@undef HAVE_SYS_WAIT_H])
|
||||||
|
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
@%:@undef HAVE_UNISTD_H])
|
||||||
|
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
|
||||||
|
@%:@undef HAVE_STRERROR])
|
||||||
|
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
|
||||||
|
@%:@undef HAVE_BCOPY])
|
||||||
|
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
|
||||||
|
@%:@undef HAVE_MEMMOVE])
|
||||||
|
m4trace:configure.in:1236: -1- AC_DEFINE_TRACE_LITERAL([SETPGRP_VOID])
|
||||||
|
m4trace:configure.in:1236: -1- m4_pattern_allow([^SETPGRP_VOID$])
|
||||||
|
m4trace:configure.in:1236: -1- AH_OUTPUT([SETPGRP_VOID], [/* Define to 1 if the `setpgrp\' function takes no argument. */
|
||||||
|
@%:@undef SETPGRP_VOID])
|
||||||
|
m4trace:configure.in:1237: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
|
||||||
|
You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
|
||||||
|
configure.in:1237: the top level])
|
||||||
|
m4trace:configure.in:1237: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
|
||||||
|
m4trace:configure.in:1237: -1- m4_pattern_allow([^RETSIGTYPE$])
|
||||||
|
m4trace:configure.in:1237: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
|
||||||
|
@%:@undef RETSIGTYPE])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_ACCESS], [/* Define to 1 if you have the `access\' function. */
|
||||||
|
@%:@undef HAVE_ACCESS])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_ATEXIT], [/* Define to 1 if you have the `atexit\' function. */
|
||||||
|
@%:@undef HAVE_ATEXIT])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
|
||||||
|
@%:@undef HAVE_GETCWD])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYADDR], [/* Define to 1 if you have the `gethostbyaddr\' function. */
|
||||||
|
@%:@undef HAVE_GETHOSTBYADDR])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYADDR_R], [/* Define to 1 if you have the `gethostbyaddr_r\' function. */
|
||||||
|
@%:@undef HAVE_GETHOSTBYADDR_R])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
|
||||||
|
@%:@undef HAVE_GETHOSTBYNAME])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME_R], [/* Define to 1 if you have the `gethostbyname_r\' function. */
|
||||||
|
@%:@undef HAVE_GETHOSTBYNAME_R])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
|
||||||
|
@%:@undef HAVE_GETTIMEOFDAY])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_INET_NTOA], [/* Define to 1 if you have the `inet_ntoa\' function. */
|
||||||
|
@%:@undef HAVE_INET_NTOA])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_LOCALTIME_R], [/* Define to 1 if you have the `localtime_r\' function. */
|
||||||
|
@%:@undef HAVE_LOCALTIME_R])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMCHR], [/* Define to 1 if you have the `memchr\' function. */
|
||||||
|
@%:@undef HAVE_MEMCHR])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
|
||||||
|
@%:@undef HAVE_MEMMOVE])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
|
||||||
|
@%:@undef HAVE_MEMSET])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_POLL], [/* Define to 1 if you have the `poll\' function. */
|
||||||
|
@%:@undef HAVE_POLL])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
|
||||||
|
@%:@undef HAVE_PUTENV])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_RANDOM], [/* Define to 1 if you have the `random\' function. */
|
||||||
|
@%:@undef HAVE_RANDOM])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
|
||||||
|
@%:@undef HAVE_REGCOMP])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
|
||||||
|
@%:@undef HAVE_SELECT])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
|
||||||
|
@%:@undef HAVE_SETLOCALE])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
|
||||||
|
@%:@undef HAVE_SNPRINTF])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
|
||||||
|
@%:@undef HAVE_SOCKET])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
|
||||||
|
@%:@undef HAVE_STRCHR])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
|
||||||
|
@%:@undef HAVE_STRDUP])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
|
||||||
|
@%:@undef HAVE_STRERROR])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
|
||||||
|
@%:@undef HAVE_STRFTIME])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRLCAT], [/* Define to 1 if you have the `strlcat\' function. */
|
||||||
|
@%:@undef HAVE_STRLCAT])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */
|
||||||
|
@%:@undef HAVE_STRLCPY])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRPTIME], [/* Define to 1 if you have the `strptime\' function. */
|
||||||
|
@%:@undef HAVE_STRPTIME])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
|
||||||
|
@%:@undef HAVE_STRSTR])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
|
||||||
|
@%:@undef HAVE_STRTOUL])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_TIMEGM], [/* Define to 1 if you have the `timegm\' function. */
|
||||||
|
@%:@undef HAVE_TIMEGM])
|
||||||
|
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
|
||||||
|
@%:@undef HAVE_TZSET])
|
||||||
|
m4trace:configure.in:1249: -1- AC_DEFINE_TRACE_LITERAL([PCRE_H_IN_SUBDIR])
|
||||||
|
m4trace:configure.in:1249: -1- m4_pattern_allow([^PCRE_H_IN_SUBDIR$])
|
||||||
|
m4trace:configure.in:1259: -1- AC_DEFINE_TRACE_LITERAL([PCREPOSIX_H_IN_SUBDIR])
|
||||||
|
m4trace:configure.in:1259: -1- m4_pattern_allow([^PCREPOSIX_H_IN_SUBDIR$])
|
||||||
|
m4trace:configure.in:1284: -1- AC_DEFINE_TRACE_LITERAL([__MT__])
|
||||||
|
m4trace:configure.in:1284: -1- m4_pattern_allow([^__MT__$])
|
||||||
|
m4trace:configure.in:1294: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_TOGGLE])
|
||||||
|
m4trace:configure.in:1294: -2- m4_pattern_allow([^FEATURE_TOGGLE$])
|
||||||
|
m4trace:configure.in:1290: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_TOGGLE])
|
||||||
|
m4trace:configure.in:1290: -1- m4_pattern_allow([^FEATURE_TOGGLE$])
|
||||||
|
m4trace:configure.in:1300: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_FORCE_LOAD])
|
||||||
|
m4trace:configure.in:1300: -2- m4_pattern_allow([^FEATURE_FORCE_LOAD$])
|
||||||
|
m4trace:configure.in:1296: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_FORCE_LOAD])
|
||||||
|
m4trace:configure.in:1296: -1- m4_pattern_allow([^FEATURE_FORCE_LOAD$])
|
||||||
|
m4trace:configure.in:1306: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_FAST_REDIRECTS])
|
||||||
|
m4trace:configure.in:1306: -2- m4_pattern_allow([^FEATURE_FAST_REDIRECTS$])
|
||||||
|
m4trace:configure.in:1302: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_FAST_REDIRECTS])
|
||||||
|
m4trace:configure.in:1302: -1- m4_pattern_allow([^FEATURE_FAST_REDIRECTS$])
|
||||||
|
m4trace:configure.in:1312: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_STATISTICS])
|
||||||
|
m4trace:configure.in:1312: -2- m4_pattern_allow([^FEATURE_STATISTICS$])
|
||||||
|
m4trace:configure.in:1308: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_STATISTICS])
|
||||||
|
m4trace:configure.in:1308: -1- m4_pattern_allow([^FEATURE_STATISTICS$])
|
||||||
|
m4trace:configure.in:1314: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_DETECT_MSIE])
|
||||||
|
m4trace:configure.in:1314: -1- m4_pattern_allow([^FEATURE_IMAGE_DETECT_MSIE$])
|
||||||
|
m4trace:configure.in:1327: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_BLOCKING])
|
||||||
|
m4trace:configure.in:1327: -2- m4_pattern_allow([^FEATURE_IMAGE_BLOCKING$])
|
||||||
|
m4trace:configure.in:1321: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_BLOCKING])
|
||||||
|
m4trace:configure.in:1321: -1- m4_pattern_allow([^FEATURE_IMAGE_BLOCKING$])
|
||||||
|
m4trace:configure.in:1335: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_ACL])
|
||||||
|
m4trace:configure.in:1335: -2- m4_pattern_allow([^FEATURE_ACL$])
|
||||||
|
m4trace:configure.in:1329: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_ACL])
|
||||||
|
m4trace:configure.in:1329: -1- m4_pattern_allow([^FEATURE_ACL$])
|
||||||
|
m4trace:configure.in:1342: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_TRUST])
|
||||||
|
m4trace:configure.in:1342: -2- m4_pattern_allow([^FEATURE_TRUST$])
|
||||||
|
m4trace:configure.in:1337: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_TRUST])
|
||||||
|
m4trace:configure.in:1337: -1- m4_pattern_allow([^FEATURE_TRUST$])
|
||||||
|
m4trace:configure.in:1350: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_CGI_EDIT_ACTIONS])
|
||||||
|
m4trace:configure.in:1350: -2- m4_pattern_allow([^FEATURE_CGI_EDIT_ACTIONS$])
|
||||||
|
m4trace:configure.in:1344: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_CGI_EDIT_ACTIONS])
|
||||||
|
m4trace:configure.in:1344: -1- m4_pattern_allow([^FEATURE_CGI_EDIT_ACTIONS$])
|
||||||
|
m4trace:configure.in:1352: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_NO_GIFS])
|
||||||
|
m4trace:configure.in:1352: -1- m4_pattern_allow([^FEATURE_NO_GIFS$])
|
||||||
|
m4trace:configure.in:1359: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_GRACEFUL_TERMINATION])
|
||||||
|
m4trace:configure.in:1359: -1- m4_pattern_allow([^FEATURE_GRACEFUL_TERMINATION$])
|
||||||
|
m4trace:configure.in:1365: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_EXTENDED_HOST_PATTERNS])
|
||||||
|
m4trace:configure.in:1365: -1- m4_pattern_allow([^FEATURE_EXTENDED_HOST_PATTERNS$])
|
||||||
|
m4trace:configure.in:1400: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_ZLIB])
|
||||||
|
m4trace:configure.in:1400: -1- m4_pattern_allow([^FEATURE_ZLIB$])
|
||||||
|
m4trace:configure.in:1400: -1- AH_OUTPUT([FEATURE_ZLIB], [/* Define to 1 to use compression through the zlib library. */
|
||||||
|
@%:@undef FEATURE_ZLIB])
|
||||||
|
m4trace:configure.in:1422: -1- AC_DEFINE_TRACE_LITERAL([STATIC_PCRE])
|
||||||
|
m4trace:configure.in:1422: -1- m4_pattern_allow([^STATIC_PCRE$])
|
||||||
|
m4trace:configure.in:1428: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_CONNECTION_KEEP_ALIVE])
|
||||||
|
m4trace:configure.in:1428: -1- m4_pattern_allow([^FEATURE_CONNECTION_KEEP_ALIVE$])
|
||||||
|
m4trace:configure.in:1445: -1- AC_DEFINE_TRACE_LITERAL([STATIC_PCRS])
|
||||||
|
m4trace:configure.in:1445: -1- m4_pattern_allow([^STATIC_PCRS$])
|
||||||
|
m4trace:configure.in:1449: -1- AC_SUBST([STATIC_PCRE_ONLY])
|
||||||
|
m4trace:configure.in:1449: -1- AC_SUBST_TRACE([STATIC_PCRE_ONLY])
|
||||||
|
m4trace:configure.in:1449: -1- m4_pattern_allow([^STATIC_PCRE_ONLY$])
|
||||||
|
m4trace:configure.in:1450: -1- AC_SUBST([STATIC_PCRS_ONLY])
|
||||||
|
m4trace:configure.in:1450: -1- AC_SUBST_TRACE([STATIC_PCRS_ONLY])
|
||||||
|
m4trace:configure.in:1450: -1- m4_pattern_allow([^STATIC_PCRS_ONLY$])
|
||||||
|
m4trace:configure.in:1459: -1- AC_SUBST([SPECIAL_CFLAGS])
|
||||||
|
m4trace:configure.in:1459: -1- AC_SUBST_TRACE([SPECIAL_CFLAGS])
|
||||||
|
m4trace:configure.in:1459: -1- m4_pattern_allow([^SPECIAL_CFLAGS$])
|
||||||
|
m4trace:configure.in:1461: -1- AC_SUBST([PTHREAD_LIB])
|
||||||
|
m4trace:configure.in:1461: -1- AC_SUBST_TRACE([PTHREAD_LIB])
|
||||||
|
m4trace:configure.in:1461: -1- m4_pattern_allow([^PTHREAD_LIB$])
|
||||||
|
m4trace:configure.in:1463: -1- AC_CONFIG_FILES([GNUmakefile doc/source/ldp.dsl])
|
||||||
|
m4trace:configure.in:1463: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
|
||||||
|
You should run autoupdate.], [])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||||
|
m4trace:configure.in:1463: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||||
|
m4trace:configure.in:1463: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_builddir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([srcdir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_srcdir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([builddir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_builddir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||||
|
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([INSTALL])
|
|
@ -0,0 +1,289 @@
|
||||||
|
#ifndef CGI_H_INCLUDED
|
||||||
|
#define CGI_H_INCLUDED
|
||||||
|
#define CGI_H_VERSION "$Id: cgi.h,v 1.35 2008/05/21 15:24:37 fabiankeil Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/cgi.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : Declares functions to intercept request, generate
|
||||||
|
* html or gif answers, and to compose HTTP resonses.
|
||||||
|
*
|
||||||
|
* Functions declared include:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Main dispatch function
|
||||||
|
*/
|
||||||
|
extern struct http_response *dispatch_cgi(struct client_state *csp);
|
||||||
|
|
||||||
|
/* Not exactly a CGI */
|
||||||
|
extern struct http_response * error_response(struct client_state *csp,
|
||||||
|
const char *templatename,
|
||||||
|
int err);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CGI support functions
|
||||||
|
*/
|
||||||
|
extern struct http_response * alloc_http_response(void);
|
||||||
|
extern void free_http_response(struct http_response *rsp);
|
||||||
|
|
||||||
|
extern struct http_response *finish_http_response(const struct client_state *csp,
|
||||||
|
struct http_response *rsp);
|
||||||
|
|
||||||
|
extern struct map * default_exports(const struct client_state *csp, const char *caller);
|
||||||
|
|
||||||
|
extern jb_err map_block_killer (struct map *exports, const char *name);
|
||||||
|
extern jb_err map_block_keep (struct map *exports, const char *name);
|
||||||
|
extern jb_err map_conditional (struct map *exports, const char *name, int choose_first);
|
||||||
|
|
||||||
|
extern jb_err template_load(const struct client_state *csp, char ** template_ptr,
|
||||||
|
const char *templatename, int recursive);
|
||||||
|
extern jb_err template_fill(char ** template_ptr, const struct map *exports);
|
||||||
|
extern jb_err template_fill_for_cgi(const struct client_state *csp,
|
||||||
|
const char *templatename,
|
||||||
|
struct map *exports,
|
||||||
|
struct http_response *rsp);
|
||||||
|
|
||||||
|
extern void cgi_init_error_messages(void);
|
||||||
|
extern struct http_response *cgi_error_memory(void);
|
||||||
|
extern jb_err cgi_redirect (struct http_response * rsp, const char *target);
|
||||||
|
|
||||||
|
extern jb_err cgi_error_no_template(const struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const char *template_name);
|
||||||
|
extern jb_err cgi_error_bad_param(const struct client_state *csp,
|
||||||
|
struct http_response *rsp);
|
||||||
|
extern jb_err cgi_error_disabled(const struct client_state *csp,
|
||||||
|
struct http_response *rsp);
|
||||||
|
extern jb_err cgi_error_unknown(const struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
jb_err error_to_report);
|
||||||
|
|
||||||
|
extern jb_err get_number_param(struct client_state *csp,
|
||||||
|
const struct map *parameters,
|
||||||
|
char *name,
|
||||||
|
unsigned *pvalue);
|
||||||
|
extern jb_err get_string_param(const struct map *parameters,
|
||||||
|
const char *param_name,
|
||||||
|
const char **pparam);
|
||||||
|
extern char get_char_param(const struct map *parameters,
|
||||||
|
const char *param_name);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Text generators
|
||||||
|
*/
|
||||||
|
extern void get_http_time(int time_offset, char *buf, size_t buffer_size);
|
||||||
|
extern char *add_help_link(const char *item, struct configuration_spec *config);
|
||||||
|
extern char *make_menu(const char *self, const unsigned feature_flags);
|
||||||
|
extern char *dump_map(const struct map *the_map);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ad replacement images
|
||||||
|
*/
|
||||||
|
extern const char image_pattern_data[];
|
||||||
|
extern const size_t image_pattern_length;
|
||||||
|
extern const char image_blank_data[];
|
||||||
|
extern const size_t image_blank_length;
|
||||||
|
|
||||||
|
/* Revision control strings from this header and associated .c file */
|
||||||
|
extern const char cgi_rcs[];
|
||||||
|
extern const char cgi_h_rcs[];
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ndef CGI_H_INCLUDED */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
|
@ -0,0 +1,175 @@
|
||||||
|
#ifndef CGIEDIT_H_INCLUDED
|
||||||
|
#define CGIEDIT_H_INCLUDED
|
||||||
|
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.10 2008/08/31 15:59:03 fabiankeil Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : CGI-based actionsfile editor.
|
||||||
|
*
|
||||||
|
* Functions declared include:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CGI functions
|
||||||
|
*/
|
||||||
|
#ifdef FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
extern jb_err cgi_edit_actions (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_for_url(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_list (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_submit (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_url (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_url_form(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_add_url(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_add_url_form(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_remove_url (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_remove_url_form(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_section_remove(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_section_add (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_edit_actions_section_swap (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
#endif /* def FEATURE_CGI_EDIT_ACTIONS */
|
||||||
|
#ifdef FEATURE_TOGGLE
|
||||||
|
extern jb_err cgi_toggle(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
#endif /* def FEATURE_TOGGLE */
|
||||||
|
|
||||||
|
/* Revision control strings from this header and associated .c file */
|
||||||
|
extern const char cgiedit_rcs[];
|
||||||
|
extern const char cgiedit_h_rcs[];
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ndef CGI_H_INCLUDED */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
|
@ -0,0 +1,185 @@
|
||||||
|
#ifndef CGISIMPLE_H_INCLUDED
|
||||||
|
#define CGISIMPLE_H_INCLUDED
|
||||||
|
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.16 2008/05/26 17:30:55 fabiankeil Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : Declares functions to intercept request, generate
|
||||||
|
* html or gif answers, and to compose HTTP resonses.
|
||||||
|
*
|
||||||
|
* Functions declared include:
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CGI functions
|
||||||
|
*/
|
||||||
|
extern jb_err cgi_default (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_error_404 (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_robots_txt (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_send_banner (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_show_status (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_show_url_info(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_show_version (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_show_request (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_transparent_image (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_send_error_favicon (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_send_default_favicon (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_send_stylesheet(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_send_url_info_osd(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
extern jb_err cgi_send_user_manual(struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FEATURE_GRACEFUL_TERMINATION
|
||||||
|
extern jb_err cgi_die (struct client_state *csp,
|
||||||
|
struct http_response *rsp,
|
||||||
|
const struct map *parameters);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Revision control strings from this header and associated .c file */
|
||||||
|
extern const char cgisimple_rcs[];
|
||||||
|
extern const char cgisimple_h_rcs[];
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ndef CGISIMPLE_H_INCLUDED */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
|
@ -0,0 +1,744 @@
|
||||||
|
/* config.h. Generated from config.h.in by configure. */
|
||||||
|
/* config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
#ifndef CONFIG_H_INCLUDED
|
||||||
|
#define CONFIG_H_INCLUDED
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : This file should be the first thing included in every
|
||||||
|
* .c file. (Before even system headers). It contains
|
||||||
|
* #define statements for various features. It was
|
||||||
|
* introduced because the compile command line started
|
||||||
|
* getting ludicrously long with feature defines.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: acconfig.h,v $
|
||||||
|
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
|
||||||
|
* Connection keep-alive support is ready for testing,
|
||||||
|
* allow enabling it through the configure script.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
|
||||||
|
* Oh well, rename the --enable-pcre-host-patterns option to
|
||||||
|
* --enable-extended-host-patterns as it's not really PCRE syntax.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
|
||||||
|
* Use PCRE syntax in host patterns when configured
|
||||||
|
* with --enable-pcre-host-patterns.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
|
||||||
|
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
|
||||||
|
* Cosmetics
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
|
||||||
|
* Another shot at Bug #707467
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
|
||||||
|
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
|
||||||
|
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
|
||||||
|
* are located in a pcre/ subdir to the include path.
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/25 19:13:57 morcego
|
||||||
|
* Removed RPM release number declaration on configure.in
|
||||||
|
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
|
||||||
|
* targets (will produce an error, explaining who to do it, if no value
|
||||||
|
* if provided).
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/04/11 11:00:21 oes
|
||||||
|
* Applied Moritz' fix for socklen_t on Solaris
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/04/06 20:38:01 jongfoster
|
||||||
|
* Renaming VC++ versions of config.h
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/04/04 00:36:36 gliptak
|
||||||
|
* always use pcre for matching
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/04/03 22:28:03 gliptak
|
||||||
|
* Removed references to gnu_regex
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/24 14:31:08 swa
|
||||||
|
* remove more crappy files. set RPM
|
||||||
|
* release version correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/24 13:46:44 swa
|
||||||
|
* name change related issue.
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/03/24 13:25:42 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.18 2002/03/08 16:40:28 oes
|
||||||
|
* Added FEATURE_NO_GIFS
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/03/04 17:52:44 oes
|
||||||
|
* Deleted PID_FILE_PATH
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/01/10 12:36:18 oes
|
||||||
|
* Moved HAVE_*_R to acconfig.h, where they belong.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2001/12/30 14:07:31 steudten
|
||||||
|
* - Add signal handling (unix)
|
||||||
|
* - Add SIGHUP handler (unix)
|
||||||
|
* - Add creation of pidfile (unix)
|
||||||
|
* - Add action 'top' in rc file (RH)
|
||||||
|
* - Add entry 'SIGNALS' to manpage
|
||||||
|
* - Add exit message to logfile (unix)
|
||||||
|
*
|
||||||
|
* Revision 1.14 2001/10/23 21:24:09 jongfoster
|
||||||
|
* Support for FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.13 2001/10/07 15:30:41 oes
|
||||||
|
* Removed FEATURE_DENY_GZIP
|
||||||
|
*
|
||||||
|
* Revision 1.12 2001/09/13 19:56:37 jongfoster
|
||||||
|
* Reverting to revision 1.10 - previous checking was majorly broken.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2001/07/30 22:08:36 jongfoster
|
||||||
|
* Tidying up #defines:
|
||||||
|
* - All feature #defines are now of the form FEATURE_xxx
|
||||||
|
* - Permanently turned off WIN_GUI_EDIT
|
||||||
|
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/07/29 19:08:52 jongfoster
|
||||||
|
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
|
||||||
|
* Also added protection against using a MinGW32 or CygWin version of
|
||||||
|
* config.h from within MS Visual C++
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/07/29 17:09:17 jongfoster
|
||||||
|
* Major changes to build system in order to fix these bugs:
|
||||||
|
* - pthreads under Linux was broken - changed -lpthread to -pthread
|
||||||
|
* - Compiling in MinGW32 mode under CygWin now correctly detects
|
||||||
|
* which shared libraries are available
|
||||||
|
* - Solaris support (?) (Not tested under Solaris yet)
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/07/25 22:53:59 jongfoster
|
||||||
|
* Will #error if pthreads is enabled under BeOs
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/07/15 17:54:29 jongfoster
|
||||||
|
* Renaming #define STATIC to STATIC_PCRE
|
||||||
|
* Adding new #define FEATURE_PTHREAD that will be used to enable
|
||||||
|
* POSIX threads support.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/13 13:48:37 oes
|
||||||
|
* - (Fix:) Copied CODE_STATUS #define from config.h.in
|
||||||
|
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
|
||||||
|
* and removed PCRE.
|
||||||
|
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
|
||||||
|
* - Moved STATIC (for pcre) here from Makefile.in
|
||||||
|
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
|
||||||
|
* libpcrs
|
||||||
|
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/05/29 09:50:24 jongfoster
|
||||||
|
* Unified blocklist/imagelist/permissionslist.
|
||||||
|
* File format is still under discussion, but the internal changes
|
||||||
|
* are (mostly) done.
|
||||||
|
*
|
||||||
|
* Also modified interceptor behaviour:
|
||||||
|
* - We now intercept all URLs beginning with one of the following
|
||||||
|
* prefixes (and *only* these prefixes):
|
||||||
|
* * http://i.j.b/
|
||||||
|
* * http://ijbswa.sf.net/config/
|
||||||
|
* * http://ijbswa.sourceforge.net/config/
|
||||||
|
* - New interceptors "home page" - go to http://i.j.b/ to see it.
|
||||||
|
* - Internal changes so that intercepted and fast redirect pages
|
||||||
|
* are not replaced with an image.
|
||||||
|
* - Interceptors now have the option to send a binary page direct
|
||||||
|
* to the client. (i.e. ijb-send-banner uses this)
|
||||||
|
* - Implemented show-url-info interceptor. (Which is why I needed
|
||||||
|
* the above interceptors changes - a typical URL is
|
||||||
|
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
|
||||||
|
* The previous mechanism would not have intercepted that, and
|
||||||
|
* if it had been intercepted then it then it would have replaced
|
||||||
|
* it with an image.)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/05/26 01:26:34 jongfoster
|
||||||
|
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
|
||||||
|
* This #define cannot be set from ./configure - there's no point, it
|
||||||
|
* doesn't work yet. See feature request # 425722
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/22 17:43:35 oes
|
||||||
|
*
|
||||||
|
* - Enabled filtering banners by size rather than URL
|
||||||
|
* by adding patterns that replace all standard banner
|
||||||
|
* sizes with the "Junkbuster" gif to the re_filterfile
|
||||||
|
*
|
||||||
|
* - Enabled filtering WebBugs by providing a pattern
|
||||||
|
* which kills all 1x1 images
|
||||||
|
*
|
||||||
|
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
|
||||||
|
* which is selected by the (nonstandard and therefore
|
||||||
|
* capital) letter 'U' in the option string.
|
||||||
|
* It causes the quantifiers to be ungreedy by default.
|
||||||
|
* Appending a ? turns back to greedy (!).
|
||||||
|
*
|
||||||
|
* - Added a new interceptor ijb-send-banner, which
|
||||||
|
* sends back the "Junkbuster" gif. Without imagelist or
|
||||||
|
* MSIE detection support, or if tinygif = 1, or the
|
||||||
|
* URL isn't recognized as an imageurl, a lame HTML
|
||||||
|
* explanation is sent instead.
|
||||||
|
*
|
||||||
|
* - Added new feature, which permits blocking remote
|
||||||
|
* script redirects and firing back a local redirect
|
||||||
|
* to the browser.
|
||||||
|
* The feature is conditionally compiled, i.e. it
|
||||||
|
* can be disabled with --disable-fast-redirects,
|
||||||
|
* plus it must be activated by a "fast-redirects"
|
||||||
|
* line in the config file, has its own log level
|
||||||
|
* and of course wants to be displayed by show-proxy-args
|
||||||
|
* Note: Boy, all the #ifdefs in 1001 locations and
|
||||||
|
* all the fumbling with configure.in and acconfig.h
|
||||||
|
* were *way* more work than the feature itself :-(
|
||||||
|
*
|
||||||
|
* - Because a generic redirect template was needed for
|
||||||
|
* this, tinygif = 3 now uses the same.
|
||||||
|
*
|
||||||
|
* - Moved GIFs, and other static HTTP response templates
|
||||||
|
* to project.h
|
||||||
|
*
|
||||||
|
* - Many minor fixes
|
||||||
|
*
|
||||||
|
* - Removed some >400 CRs again (Jon, you really worked
|
||||||
|
* a lot! ;-)
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Major (X._._)
|
||||||
|
*/
|
||||||
|
#define VERSION_MAJOR 3
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Minor (_.X._)
|
||||||
|
*/
|
||||||
|
#define VERSION_MINOR 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Point (_._.X)
|
||||||
|
*/
|
||||||
|
#define VERSION_POINT 12
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number, as a string
|
||||||
|
*/
|
||||||
|
#define VERSION "3.0.12"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Status of the code: "alpha", "beta" or "stable".
|
||||||
|
*/
|
||||||
|
#define CODE_STATUS "stable"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Should pcre be statically built in instead of linkling with libpcre?
|
||||||
|
* (This is determined by configure depending on the availiability of
|
||||||
|
* libpcre and user preferences). The name is ugly, but pcre needs it.
|
||||||
|
* Don't bother to change this here! Use configure instead.
|
||||||
|
*/
|
||||||
|
#define STATIC_PCRE 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Should pcrs be statically built in instead of linkling with libpcrs?
|
||||||
|
* (This is determined by configure depending on the availiability of
|
||||||
|
* libpcrs and user preferences).
|
||||||
|
* Don't bother to change this here! Use configure instead.
|
||||||
|
*/
|
||||||
|
#define STATIC_PCRS 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of an ACL to control access to the proxy by IP address.
|
||||||
|
*/
|
||||||
|
#define FEATURE_ACL 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enables the web-based configuration (actionsfile) editor. If you
|
||||||
|
* have a shared proxy, you might want to turn this off.
|
||||||
|
*/
|
||||||
|
#define FEATURE_CGI_EDIT_ACTIONS 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of jar files to capture cookies.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_COOKIE_JAR */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Locally redirect remote script-redirect URLs
|
||||||
|
*/
|
||||||
|
#define FEATURE_FAST_REDIRECTS 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bypass filtering for 1 page only
|
||||||
|
*/
|
||||||
|
#define FEATURE_FORCE_LOAD 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow blocking using images as well as HTML.
|
||||||
|
* If you do not define this then everything is blocked as HTML.
|
||||||
|
*
|
||||||
|
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
|
||||||
|
*/
|
||||||
|
#define FEATURE_IMAGE_BLOCKING 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Detect image requests automatically for MSIE. Will fall back to
|
||||||
|
* other image-detection methods (i.e. "+image" permission) for other
|
||||||
|
* browsers.
|
||||||
|
*
|
||||||
|
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
|
||||||
|
*
|
||||||
|
* It detects the following header pair as an image request:
|
||||||
|
*
|
||||||
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
|
* Accept: * / *
|
||||||
|
*
|
||||||
|
* And the following as a HTML request:
|
||||||
|
*
|
||||||
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
|
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
|
||||||
|
*
|
||||||
|
* And no, I haven't got that backwards - IE is being wierd.
|
||||||
|
*
|
||||||
|
* Known limitations:
|
||||||
|
* 1) If you press shift-reload on a blocked HTML page, you get
|
||||||
|
* the image "blocked" page, not the HTML "blocked" page.
|
||||||
|
* 2) Once an image "blocked" page has been sent, viewing it
|
||||||
|
* in it's own browser window *should* bring up the HTML
|
||||||
|
* "blocked" page, but it doesn't. You need to clear the
|
||||||
|
* browser cache to get the HTML version again.
|
||||||
|
*
|
||||||
|
* These limitations are due to IE making inconsistent choices
|
||||||
|
* about which "Accept:" header to send.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_IMAGE_DETECT_MSIE */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Kills JavaScript popups - window.open, onunload, etc.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_KILL_POPUPS */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use PNG instead of GIF for built-in images
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_NO_GIFS */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow to shutdown Privoxy through the webinterface.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_GRACEFUL_TERMINATION */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow PCRE syntax in host patterns.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_EXTENDED_HOST_PATTERNS */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keep outgoing connections alive if possible.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_CONNECTION_KEEP_ALIVE */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use POSIX threads instead of native threads.
|
||||||
|
*/
|
||||||
|
/* #undef FEATURE_PTHREAD */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enables statistics function.
|
||||||
|
*/
|
||||||
|
#define FEATURE_STATISTICS 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
|
||||||
|
* non-anonymizing proxy. This is useful if you're trying to access a
|
||||||
|
* blocked or broken site - just change the setting in the config file,
|
||||||
|
* or use the handy "Disable" menu option in the Windows GUI.
|
||||||
|
*/
|
||||||
|
#define FEATURE_TOGGLE 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of trust files.
|
||||||
|
*/
|
||||||
|
#define FEATURE_TRUST 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined on Solaris only. Makes the system libraries thread safe.
|
||||||
|
*/
|
||||||
|
/* #undef _REENTRANT */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined on Solaris only. Without this, many important functions are not
|
||||||
|
* defined in the system headers.
|
||||||
|
*/
|
||||||
|
/* #undef __EXTENSIONS__ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined always.
|
||||||
|
* FIXME: Don't know what it does or why we need it.
|
||||||
|
* (presumably something to do with MultiThreading?)
|
||||||
|
*/
|
||||||
|
#define __MT__ 1
|
||||||
|
|
||||||
|
/* If the (nonstandard and thread-safe) function gethostbyname_r
|
||||||
|
* is available, select which signature to use
|
||||||
|
*/
|
||||||
|
#define HAVE_GETHOSTBYNAME_R_6_ARGS 1
|
||||||
|
/* #undef HAVE_GETHOSTBYNAME_R_5_ARGS */
|
||||||
|
/* #undef HAVE_GETHOSTBYNAME_R_3_ARGS */
|
||||||
|
|
||||||
|
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
|
||||||
|
* is available, select which signature to use
|
||||||
|
*/
|
||||||
|
/* #undef HAVE_GETHOSTBYADDR_R_8_ARGS */
|
||||||
|
/* #undef HAVE_GETHOSTBYADDR_R_7_ARGS */
|
||||||
|
/* #undef HAVE_GETHOSTBYADDR_R_5_ARGS */
|
||||||
|
|
||||||
|
/* Defined if you have gmtime_r and localtime_r with a signature
|
||||||
|
* of (struct time *, struct tm *)
|
||||||
|
*/
|
||||||
|
#define HAVE_GMTIME_R 1
|
||||||
|
#define HAVE_LOCALTIME_R 1
|
||||||
|
|
||||||
|
/* Define to 'int' if <sys/socket.h> doesn't have it.
|
||||||
|
*/
|
||||||
|
/* #undef socklen_t */
|
||||||
|
|
||||||
|
/* Define if pcre.h must be included as <pcre/pcre.h>
|
||||||
|
*/
|
||||||
|
/* #undef PCRE_H_IN_SUBDIR */
|
||||||
|
|
||||||
|
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
|
||||||
|
*/
|
||||||
|
/* #undef PCREPOSIX_H_IN_SUBDIR */
|
||||||
|
|
||||||
|
|
||||||
|
/* Define to 1 to use compression through the zlib library. */
|
||||||
|
#define FEATURE_ZLIB 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `access' function. */
|
||||||
|
#define HAVE_ACCESS 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||||
|
#define HAVE_ARPA_INET_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `atexit' function. */
|
||||||
|
#define HAVE_ATEXIT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `bcopy' function. */
|
||||||
|
#define HAVE_BCOPY 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
|
||||||
|
*/
|
||||||
|
#define HAVE_DIRENT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <errno.h> header file. */
|
||||||
|
#define HAVE_ERRNO_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#define HAVE_FCNTL_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getcwd' function. */
|
||||||
|
#define HAVE_GETCWD 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyaddr' function. */
|
||||||
|
#define HAVE_GETHOSTBYADDR 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyaddr_r' function. */
|
||||||
|
/* #undef HAVE_GETHOSTBYADDR_R */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyname' function. */
|
||||||
|
#define HAVE_GETHOSTBYNAME 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyname_r' function. */
|
||||||
|
#define HAVE_GETHOSTBYNAME_R 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gettimeofday' function. */
|
||||||
|
#define HAVE_GETTIMEOFDAY 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `inet_ntoa' function. */
|
||||||
|
#define HAVE_INET_NTOA 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#define HAVE_INTTYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
||||||
|
/* #undef HAVE_LIBNSL */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <limits.h> header file. */
|
||||||
|
#define HAVE_LIMITS_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <locale.h> header file. */
|
||||||
|
#define HAVE_LOCALE_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `localtime_r' function. */
|
||||||
|
#define HAVE_LOCALTIME_R 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memchr' function. */
|
||||||
|
#define HAVE_MEMCHR 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memmove' function. */
|
||||||
|
#define HAVE_MEMMOVE 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memset' function. */
|
||||||
|
#define HAVE_MEMSET 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
||||||
|
/* #undef HAVE_NDIR_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <netdb.h> header file. */
|
||||||
|
#define HAVE_NETDB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||||
|
#define HAVE_NETINET_IN_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <OS.h> header file. */
|
||||||
|
/* #undef HAVE_OS_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `poll' function. */
|
||||||
|
#define HAVE_POLL 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `putenv' function. */
|
||||||
|
#define HAVE_PUTENV 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `random' function. */
|
||||||
|
/* #undef HAVE_RANDOM */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `regcomp' function. */
|
||||||
|
#define HAVE_REGCOMP 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `select' function. */
|
||||||
|
#define HAVE_SELECT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `setlocale' function. */
|
||||||
|
#define HAVE_SETLOCALE 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `snprintf' function. */
|
||||||
|
#define HAVE_SNPRINTF 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `socket' function. */
|
||||||
|
#define HAVE_SOCKET 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stddef.h> header file. */
|
||||||
|
#define HAVE_STDDEF_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#define HAVE_STDINT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strchr' function. */
|
||||||
|
#define HAVE_STRCHR 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strdup' function. */
|
||||||
|
#define HAVE_STRDUP 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strerror' function. */
|
||||||
|
#define HAVE_STRERROR 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strftime' function. */
|
||||||
|
#define HAVE_STRFTIME 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strlcat' function. */
|
||||||
|
#define HAVE_STRLCAT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strlcpy' function. */
|
||||||
|
#define HAVE_STRLCPY 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strptime' function. */
|
||||||
|
#define HAVE_STRPTIME 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strstr' function. */
|
||||||
|
#define HAVE_STRSTR 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strtoul' function. */
|
||||||
|
#define HAVE_STRTOUL 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
|
||||||
|
*/
|
||||||
|
/* #undef HAVE_SYS_DIR_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||||
|
#define HAVE_SYS_IOCTL_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
|
||||||
|
*/
|
||||||
|
/* #undef HAVE_SYS_NDIR_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||||
|
#define HAVE_SYS_SOCKET_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#define HAVE_SYS_STAT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/timeb.h> header file. */
|
||||||
|
#define HAVE_SYS_TIMEB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
#define HAVE_SYS_TIME_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#define HAVE_SYS_TYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/wait.h> header file. */
|
||||||
|
#define HAVE_SYS_WAIT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `timegm' function. */
|
||||||
|
/* #undef HAVE_TIMEGM */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `tzset' function. */
|
||||||
|
#define HAVE_TZSET 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#define PACKAGE_BUGREPORT ""
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#define PACKAGE_NAME ""
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#define PACKAGE_STRING ""
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#define PACKAGE_TARNAME ""
|
||||||
|
|
||||||
|
/* Define to the home page for this package. */
|
||||||
|
#define PACKAGE_URL ""
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#define PACKAGE_VERSION ""
|
||||||
|
|
||||||
|
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||||
|
#define RETSIGTYPE void
|
||||||
|
|
||||||
|
/* Define to 1 if the `setpgrp' function takes no argument. */
|
||||||
|
#define SETPGRP_VOID 1
|
||||||
|
|
||||||
|
/* The size of `char *', as computed by sizeof. */
|
||||||
|
#define SIZEOF_CHAR_P 4
|
||||||
|
|
||||||
|
/* The size of `int', as computed by sizeof. */
|
||||||
|
#define SIZEOF_INT 4
|
||||||
|
|
||||||
|
/* The size of `long', as computed by sizeof. */
|
||||||
|
#define SIZEOF_LONG 4
|
||||||
|
|
||||||
|
/* The size of `long long', as computed by sizeof. */
|
||||||
|
#define SIZEOF_LONG_LONG 8
|
||||||
|
|
||||||
|
/* The size of `size_t', as computed by sizeof. */
|
||||||
|
#define SIZEOF_SIZE_T 4
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||||
|
#define TIME_WITH_SYS_TIME 1
|
||||||
|
|
||||||
|
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
|
||||||
|
/* #undef TM_IN_SYS_TIME */
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
/* #undef const */
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
|
/* #undef pid_t */
|
||||||
|
|
||||||
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
|
/* #undef size_t */
|
||||||
|
|
||||||
|
/* Define to 'int' if <sys/socket.h> doesn't have it. */
|
||||||
|
/* #undef socklen_t */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined always.
|
||||||
|
* FIXME: Don't know what it does or why we need it.
|
||||||
|
* (presumably something to do with ANSI Standard C?)
|
||||||
|
*/
|
||||||
|
#ifndef __STDC__
|
||||||
|
#define __STDC__ 1
|
||||||
|
#endif /* ndef __STDC__ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Need to set up this define only for the Pthreads library for
|
||||||
|
* Win32, available from http://sources.redhat.com/pthreads-win32/
|
||||||
|
*/
|
||||||
|
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
|
||||||
|
#define __CLEANUP_C
|
||||||
|
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BEOS does not currently support POSIX threads.
|
||||||
|
* This *should* be detected by ./configure, but let's be sure.
|
||||||
|
*/
|
||||||
|
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
|
||||||
|
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
|
||||||
|
|
||||||
|
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
|
||||||
|
* symbol unix; it defines __unix__ and sometimes not even that:
|
||||||
|
*/
|
||||||
|
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
|
||||||
|
#define unix 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
||||||
|
* under VC++, and it usually gives many wierd error messages. Let's make
|
||||||
|
* the error messages understandable, by bailing out now.
|
||||||
|
*/
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
|
||||||
|
#endif /* def _MSC_VER */
|
||||||
|
|
||||||
|
#endif /* CONFIG_H_INCLUDED */
|
|
@ -0,0 +1,743 @@
|
||||||
|
/* config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
#ifndef CONFIG_H_INCLUDED
|
||||||
|
#define CONFIG_H_INCLUDED
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : This file should be the first thing included in every
|
||||||
|
* .c file. (Before even system headers). It contains
|
||||||
|
* #define statements for various features. It was
|
||||||
|
* introduced because the compile command line started
|
||||||
|
* getting ludicrously long with feature defines.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: acconfig.h,v $
|
||||||
|
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
|
||||||
|
* Connection keep-alive support is ready for testing,
|
||||||
|
* allow enabling it through the configure script.
|
||||||
|
*
|
||||||
|
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
|
||||||
|
* Oh well, rename the --enable-pcre-host-patterns option to
|
||||||
|
* --enable-extended-host-patterns as it's not really PCRE syntax.
|
||||||
|
*
|
||||||
|
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
|
||||||
|
* Use PCRE syntax in host patterns when configured
|
||||||
|
* with --enable-pcre-host-patterns.
|
||||||
|
*
|
||||||
|
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
|
||||||
|
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
|
||||||
|
*
|
||||||
|
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
|
||||||
|
* Cosmetics
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
|
||||||
|
* Another shot at Bug #707467
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
|
||||||
|
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
|
||||||
|
*
|
||||||
|
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
|
||||||
|
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
|
||||||
|
* are located in a pcre/ subdir to the include path.
|
||||||
|
*
|
||||||
|
* Revision 1.27 2002/04/25 19:13:57 morcego
|
||||||
|
* Removed RPM release number declaration on configure.in
|
||||||
|
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
|
||||||
|
* targets (will produce an error, explaining who to do it, if no value
|
||||||
|
* if provided).
|
||||||
|
*
|
||||||
|
* Revision 1.26 2002/04/11 11:00:21 oes
|
||||||
|
* Applied Moritz' fix for socklen_t on Solaris
|
||||||
|
*
|
||||||
|
* Revision 1.25 2002/04/06 20:38:01 jongfoster
|
||||||
|
* Renaming VC++ versions of config.h
|
||||||
|
*
|
||||||
|
* Revision 1.24 2002/04/04 00:36:36 gliptak
|
||||||
|
* always use pcre for matching
|
||||||
|
*
|
||||||
|
* Revision 1.23 2002/04/03 22:28:03 gliptak
|
||||||
|
* Removed references to gnu_regex
|
||||||
|
*
|
||||||
|
* Revision 1.22 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.21 2002/03/24 14:31:08 swa
|
||||||
|
* remove more crappy files. set RPM
|
||||||
|
* release version correctly.
|
||||||
|
*
|
||||||
|
* Revision 1.20 2002/03/24 13:46:44 swa
|
||||||
|
* name change related issue.
|
||||||
|
*
|
||||||
|
* Revision 1.19 2002/03/24 13:25:42 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.18 2002/03/08 16:40:28 oes
|
||||||
|
* Added FEATURE_NO_GIFS
|
||||||
|
*
|
||||||
|
* Revision 1.17 2002/03/04 17:52:44 oes
|
||||||
|
* Deleted PID_FILE_PATH
|
||||||
|
*
|
||||||
|
* Revision 1.16 2002/01/10 12:36:18 oes
|
||||||
|
* Moved HAVE_*_R to acconfig.h, where they belong.
|
||||||
|
*
|
||||||
|
* Revision 1.15 2001/12/30 14:07:31 steudten
|
||||||
|
* - Add signal handling (unix)
|
||||||
|
* - Add SIGHUP handler (unix)
|
||||||
|
* - Add creation of pidfile (unix)
|
||||||
|
* - Add action 'top' in rc file (RH)
|
||||||
|
* - Add entry 'SIGNALS' to manpage
|
||||||
|
* - Add exit message to logfile (unix)
|
||||||
|
*
|
||||||
|
* Revision 1.14 2001/10/23 21:24:09 jongfoster
|
||||||
|
* Support for FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
*
|
||||||
|
* Revision 1.13 2001/10/07 15:30:41 oes
|
||||||
|
* Removed FEATURE_DENY_GZIP
|
||||||
|
*
|
||||||
|
* Revision 1.12 2001/09/13 19:56:37 jongfoster
|
||||||
|
* Reverting to revision 1.10 - previous checking was majorly broken.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2001/07/30 22:08:36 jongfoster
|
||||||
|
* Tidying up #defines:
|
||||||
|
* - All feature #defines are now of the form FEATURE_xxx
|
||||||
|
* - Permanently turned off WIN_GUI_EDIT
|
||||||
|
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
||||||
|
*
|
||||||
|
* Revision 1.9 2001/07/29 19:08:52 jongfoster
|
||||||
|
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
|
||||||
|
* Also added protection against using a MinGW32 or CygWin version of
|
||||||
|
* config.h from within MS Visual C++
|
||||||
|
*
|
||||||
|
* Revision 1.8 2001/07/29 17:09:17 jongfoster
|
||||||
|
* Major changes to build system in order to fix these bugs:
|
||||||
|
* - pthreads under Linux was broken - changed -lpthread to -pthread
|
||||||
|
* - Compiling in MinGW32 mode under CygWin now correctly detects
|
||||||
|
* which shared libraries are available
|
||||||
|
* - Solaris support (?) (Not tested under Solaris yet)
|
||||||
|
*
|
||||||
|
* Revision 1.7 2001/07/25 22:53:59 jongfoster
|
||||||
|
* Will #error if pthreads is enabled under BeOs
|
||||||
|
*
|
||||||
|
* Revision 1.6 2001/07/15 17:54:29 jongfoster
|
||||||
|
* Renaming #define STATIC to STATIC_PCRE
|
||||||
|
* Adding new #define FEATURE_PTHREAD that will be used to enable
|
||||||
|
* POSIX threads support.
|
||||||
|
*
|
||||||
|
* Revision 1.5 2001/07/13 13:48:37 oes
|
||||||
|
* - (Fix:) Copied CODE_STATUS #define from config.h.in
|
||||||
|
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
|
||||||
|
* and removed PCRE.
|
||||||
|
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
|
||||||
|
* - Moved STATIC (for pcre) here from Makefile.in
|
||||||
|
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
|
||||||
|
* libpcrs
|
||||||
|
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/05/29 09:50:24 jongfoster
|
||||||
|
* Unified blocklist/imagelist/permissionslist.
|
||||||
|
* File format is still under discussion, but the internal changes
|
||||||
|
* are (mostly) done.
|
||||||
|
*
|
||||||
|
* Also modified interceptor behaviour:
|
||||||
|
* - We now intercept all URLs beginning with one of the following
|
||||||
|
* prefixes (and *only* these prefixes):
|
||||||
|
* * http://i.j.b/
|
||||||
|
* * http://ijbswa.sf.net/config/
|
||||||
|
* * http://ijbswa.sourceforge.net/config/
|
||||||
|
* - New interceptors "home page" - go to http://i.j.b/ to see it.
|
||||||
|
* - Internal changes so that intercepted and fast redirect pages
|
||||||
|
* are not replaced with an image.
|
||||||
|
* - Interceptors now have the option to send a binary page direct
|
||||||
|
* to the client. (i.e. ijb-send-banner uses this)
|
||||||
|
* - Implemented show-url-info interceptor. (Which is why I needed
|
||||||
|
* the above interceptors changes - a typical URL is
|
||||||
|
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
|
||||||
|
* The previous mechanism would not have intercepted that, and
|
||||||
|
* if it had been intercepted then it then it would have replaced
|
||||||
|
* it with an image.)
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/05/26 01:26:34 jongfoster
|
||||||
|
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
|
||||||
|
* This #define cannot be set from ./configure - there's no point, it
|
||||||
|
* doesn't work yet. See feature request # 425722
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/05/22 17:43:35 oes
|
||||||
|
*
|
||||||
|
* - Enabled filtering banners by size rather than URL
|
||||||
|
* by adding patterns that replace all standard banner
|
||||||
|
* sizes with the "Junkbuster" gif to the re_filterfile
|
||||||
|
*
|
||||||
|
* - Enabled filtering WebBugs by providing a pattern
|
||||||
|
* which kills all 1x1 images
|
||||||
|
*
|
||||||
|
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
|
||||||
|
* which is selected by the (nonstandard and therefore
|
||||||
|
* capital) letter 'U' in the option string.
|
||||||
|
* It causes the quantifiers to be ungreedy by default.
|
||||||
|
* Appending a ? turns back to greedy (!).
|
||||||
|
*
|
||||||
|
* - Added a new interceptor ijb-send-banner, which
|
||||||
|
* sends back the "Junkbuster" gif. Without imagelist or
|
||||||
|
* MSIE detection support, or if tinygif = 1, or the
|
||||||
|
* URL isn't recognized as an imageurl, a lame HTML
|
||||||
|
* explanation is sent instead.
|
||||||
|
*
|
||||||
|
* - Added new feature, which permits blocking remote
|
||||||
|
* script redirects and firing back a local redirect
|
||||||
|
* to the browser.
|
||||||
|
* The feature is conditionally compiled, i.e. it
|
||||||
|
* can be disabled with --disable-fast-redirects,
|
||||||
|
* plus it must be activated by a "fast-redirects"
|
||||||
|
* line in the config file, has its own log level
|
||||||
|
* and of course wants to be displayed by show-proxy-args
|
||||||
|
* Note: Boy, all the #ifdefs in 1001 locations and
|
||||||
|
* all the fumbling with configure.in and acconfig.h
|
||||||
|
* were *way* more work than the feature itself :-(
|
||||||
|
*
|
||||||
|
* - Because a generic redirect template was needed for
|
||||||
|
* this, tinygif = 3 now uses the same.
|
||||||
|
*
|
||||||
|
* - Moved GIFs, and other static HTTP response templates
|
||||||
|
* to project.h
|
||||||
|
*
|
||||||
|
* - Many minor fixes
|
||||||
|
*
|
||||||
|
* - Removed some >400 CRs again (Jon, you really worked
|
||||||
|
* a lot! ;-)
|
||||||
|
*
|
||||||
|
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
|
||||||
|
* Initial import of version 2.9.3 source tree
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Major (X._._)
|
||||||
|
*/
|
||||||
|
#undef VERSION_MAJOR
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Minor (_.X._)
|
||||||
|
*/
|
||||||
|
#undef VERSION_MINOR
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number - Point (_._.X)
|
||||||
|
*/
|
||||||
|
#undef VERSION_POINT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version number, as a string
|
||||||
|
*/
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Status of the code: "alpha", "beta" or "stable".
|
||||||
|
*/
|
||||||
|
#undef CODE_STATUS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Should pcre be statically built in instead of linkling with libpcre?
|
||||||
|
* (This is determined by configure depending on the availiability of
|
||||||
|
* libpcre and user preferences). The name is ugly, but pcre needs it.
|
||||||
|
* Don't bother to change this here! Use configure instead.
|
||||||
|
*/
|
||||||
|
#undef STATIC_PCRE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Should pcrs be statically built in instead of linkling with libpcrs?
|
||||||
|
* (This is determined by configure depending on the availiability of
|
||||||
|
* libpcrs and user preferences).
|
||||||
|
* Don't bother to change this here! Use configure instead.
|
||||||
|
*/
|
||||||
|
#undef STATIC_PCRS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of an ACL to control access to the proxy by IP address.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_ACL
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enables the web-based configuration (actionsfile) editor. If you
|
||||||
|
* have a shared proxy, you might want to turn this off.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_CGI_EDIT_ACTIONS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of jar files to capture cookies.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_COOKIE_JAR
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Locally redirect remote script-redirect URLs
|
||||||
|
*/
|
||||||
|
#undef FEATURE_FAST_REDIRECTS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bypass filtering for 1 page only
|
||||||
|
*/
|
||||||
|
#undef FEATURE_FORCE_LOAD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow blocking using images as well as HTML.
|
||||||
|
* If you do not define this then everything is blocked as HTML.
|
||||||
|
*
|
||||||
|
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_IMAGE_BLOCKING
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Detect image requests automatically for MSIE. Will fall back to
|
||||||
|
* other image-detection methods (i.e. "+image" permission) for other
|
||||||
|
* browsers.
|
||||||
|
*
|
||||||
|
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
|
||||||
|
*
|
||||||
|
* It detects the following header pair as an image request:
|
||||||
|
*
|
||||||
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
|
* Accept: * / *
|
||||||
|
*
|
||||||
|
* And the following as a HTML request:
|
||||||
|
*
|
||||||
|
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
||||||
|
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
|
||||||
|
*
|
||||||
|
* And no, I haven't got that backwards - IE is being wierd.
|
||||||
|
*
|
||||||
|
* Known limitations:
|
||||||
|
* 1) If you press shift-reload on a blocked HTML page, you get
|
||||||
|
* the image "blocked" page, not the HTML "blocked" page.
|
||||||
|
* 2) Once an image "blocked" page has been sent, viewing it
|
||||||
|
* in it's own browser window *should* bring up the HTML
|
||||||
|
* "blocked" page, but it doesn't. You need to clear the
|
||||||
|
* browser cache to get the HTML version again.
|
||||||
|
*
|
||||||
|
* These limitations are due to IE making inconsistent choices
|
||||||
|
* about which "Accept:" header to send.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_IMAGE_DETECT_MSIE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Kills JavaScript popups - window.open, onunload, etc.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_KILL_POPUPS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use PNG instead of GIF for built-in images
|
||||||
|
*/
|
||||||
|
#undef FEATURE_NO_GIFS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow to shutdown Privoxy through the webinterface.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_GRACEFUL_TERMINATION
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow PCRE syntax in host patterns.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_EXTENDED_HOST_PATTERNS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keep outgoing connections alive if possible.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_CONNECTION_KEEP_ALIVE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Use POSIX threads instead of native threads.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_PTHREAD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enables statistics function.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_STATISTICS
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
|
||||||
|
* non-anonymizing proxy. This is useful if you're trying to access a
|
||||||
|
* blocked or broken site - just change the setting in the config file,
|
||||||
|
* or use the handy "Disable" menu option in the Windows GUI.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_TOGGLE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Allows the use of trust files.
|
||||||
|
*/
|
||||||
|
#undef FEATURE_TRUST
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined on Solaris only. Makes the system libraries thread safe.
|
||||||
|
*/
|
||||||
|
#undef _REENTRANT
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined on Solaris only. Without this, many important functions are not
|
||||||
|
* defined in the system headers.
|
||||||
|
*/
|
||||||
|
#undef __EXTENSIONS__
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined always.
|
||||||
|
* FIXME: Don't know what it does or why we need it.
|
||||||
|
* (presumably something to do with MultiThreading?)
|
||||||
|
*/
|
||||||
|
#undef __MT__
|
||||||
|
|
||||||
|
/* If the (nonstandard and thread-safe) function gethostbyname_r
|
||||||
|
* is available, select which signature to use
|
||||||
|
*/
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R_6_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R_5_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R_3_ARGS
|
||||||
|
|
||||||
|
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
|
||||||
|
* is available, select which signature to use
|
||||||
|
*/
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R_8_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R_7_ARGS
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R_5_ARGS
|
||||||
|
|
||||||
|
/* Defined if you have gmtime_r and localtime_r with a signature
|
||||||
|
* of (struct time *, struct tm *)
|
||||||
|
*/
|
||||||
|
#undef HAVE_GMTIME_R
|
||||||
|
#undef HAVE_LOCALTIME_R
|
||||||
|
|
||||||
|
/* Define to 'int' if <sys/socket.h> doesn't have it.
|
||||||
|
*/
|
||||||
|
#undef socklen_t
|
||||||
|
|
||||||
|
/* Define if pcre.h must be included as <pcre/pcre.h>
|
||||||
|
*/
|
||||||
|
#undef PCRE_H_IN_SUBDIR
|
||||||
|
|
||||||
|
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
|
||||||
|
*/
|
||||||
|
#undef PCREPOSIX_H_IN_SUBDIR
|
||||||
|
|
||||||
|
|
||||||
|
/* Define to 1 to use compression through the zlib library. */
|
||||||
|
#undef FEATURE_ZLIB
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `access' function. */
|
||||||
|
#undef HAVE_ACCESS
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||||
|
#undef HAVE_ARPA_INET_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `atexit' function. */
|
||||||
|
#undef HAVE_ATEXIT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `bcopy' function. */
|
||||||
|
#undef HAVE_BCOPY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
|
||||||
|
*/
|
||||||
|
#undef HAVE_DIRENT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <errno.h> header file. */
|
||||||
|
#undef HAVE_ERRNO_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#undef HAVE_FCNTL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getcwd' function. */
|
||||||
|
#undef HAVE_GETCWD
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyaddr' function. */
|
||||||
|
#undef HAVE_GETHOSTBYADDR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyaddr_r' function. */
|
||||||
|
#undef HAVE_GETHOSTBYADDR_R
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyname' function. */
|
||||||
|
#undef HAVE_GETHOSTBYNAME
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gethostbyname_r' function. */
|
||||||
|
#undef HAVE_GETHOSTBYNAME_R
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `gettimeofday' function. */
|
||||||
|
#undef HAVE_GETTIMEOFDAY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `inet_ntoa' function. */
|
||||||
|
#undef HAVE_INET_NTOA
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
||||||
|
#undef HAVE_LIBNSL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <limits.h> header file. */
|
||||||
|
#undef HAVE_LIMITS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <locale.h> header file. */
|
||||||
|
#undef HAVE_LOCALE_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `localtime_r' function. */
|
||||||
|
#undef HAVE_LOCALTIME_R
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memchr' function. */
|
||||||
|
#undef HAVE_MEMCHR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memmove' function. */
|
||||||
|
#undef HAVE_MEMMOVE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memset' function. */
|
||||||
|
#undef HAVE_MEMSET
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
||||||
|
#undef HAVE_NDIR_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <netdb.h> header file. */
|
||||||
|
#undef HAVE_NETDB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||||
|
#undef HAVE_NETINET_IN_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <OS.h> header file. */
|
||||||
|
#undef HAVE_OS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `poll' function. */
|
||||||
|
#undef HAVE_POLL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `putenv' function. */
|
||||||
|
#undef HAVE_PUTENV
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `random' function. */
|
||||||
|
#undef HAVE_RANDOM
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `regcomp' function. */
|
||||||
|
#undef HAVE_REGCOMP
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `select' function. */
|
||||||
|
#undef HAVE_SELECT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `setlocale' function. */
|
||||||
|
#undef HAVE_SETLOCALE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `snprintf' function. */
|
||||||
|
#undef HAVE_SNPRINTF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `socket' function. */
|
||||||
|
#undef HAVE_SOCKET
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stddef.h> header file. */
|
||||||
|
#undef HAVE_STDDEF_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strchr' function. */
|
||||||
|
#undef HAVE_STRCHR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strdup' function. */
|
||||||
|
#undef HAVE_STRDUP
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strerror' function. */
|
||||||
|
#undef HAVE_STRERROR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strftime' function. */
|
||||||
|
#undef HAVE_STRFTIME
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strlcat' function. */
|
||||||
|
#undef HAVE_STRLCAT
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strlcpy' function. */
|
||||||
|
#undef HAVE_STRLCPY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strptime' function. */
|
||||||
|
#undef HAVE_STRPTIME
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strstr' function. */
|
||||||
|
#undef HAVE_STRSTR
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `strtoul' function. */
|
||||||
|
#undef HAVE_STRTOUL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
|
||||||
|
*/
|
||||||
|
#undef HAVE_SYS_DIR_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||||
|
#undef HAVE_SYS_IOCTL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
|
||||||
|
*/
|
||||||
|
#undef HAVE_SYS_NDIR_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||||
|
#undef HAVE_SYS_SOCKET_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/timeb.h> header file. */
|
||||||
|
#undef HAVE_SYS_TIMEB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
#undef HAVE_SYS_TIME_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/wait.h> header file. */
|
||||||
|
#undef HAVE_SYS_WAIT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `timegm' function. */
|
||||||
|
#undef HAVE_TIMEGM
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `tzset' function. */
|
||||||
|
#undef HAVE_TZSET
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the home page for this package. */
|
||||||
|
#undef PACKAGE_URL
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||||
|
#undef RETSIGTYPE
|
||||||
|
|
||||||
|
/* Define to 1 if the `setpgrp' function takes no argument. */
|
||||||
|
#undef SETPGRP_VOID
|
||||||
|
|
||||||
|
/* The size of `char *', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_CHAR_P
|
||||||
|
|
||||||
|
/* The size of `int', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_INT
|
||||||
|
|
||||||
|
/* The size of `long', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_LONG
|
||||||
|
|
||||||
|
/* The size of `long long', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_LONG_LONG
|
||||||
|
|
||||||
|
/* The size of `size_t', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_SIZE_T
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||||
|
#undef TIME_WITH_SYS_TIME
|
||||||
|
|
||||||
|
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
|
||||||
|
#undef TM_IN_SYS_TIME
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
#undef const
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
|
#undef pid_t
|
||||||
|
|
||||||
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
|
#undef size_t
|
||||||
|
|
||||||
|
/* Define to 'int' if <sys/socket.h> doesn't have it. */
|
||||||
|
#undef socklen_t
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Defined always.
|
||||||
|
* FIXME: Don't know what it does or why we need it.
|
||||||
|
* (presumably something to do with ANSI Standard C?)
|
||||||
|
*/
|
||||||
|
#ifndef __STDC__
|
||||||
|
#define __STDC__ 1
|
||||||
|
#endif /* ndef __STDC__ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Need to set up this define only for the Pthreads library for
|
||||||
|
* Win32, available from http://sources.redhat.com/pthreads-win32/
|
||||||
|
*/
|
||||||
|
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
|
||||||
|
#define __CLEANUP_C
|
||||||
|
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BEOS does not currently support POSIX threads.
|
||||||
|
* This *should* be detected by ./configure, but let's be sure.
|
||||||
|
*/
|
||||||
|
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
|
||||||
|
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
|
||||||
|
|
||||||
|
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
|
||||||
|
* symbol unix; it defines __unix__ and sometimes not even that:
|
||||||
|
*/
|
||||||
|
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
|
||||||
|
#define unix 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
||||||
|
* under VC++, and it usually gives many wierd error messages. Let's make
|
||||||
|
* the error messages understandable, by bailing out now.
|
||||||
|
*/
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
|
||||||
|
#endif /* def _MSC_VER */
|
||||||
|
|
||||||
|
#endif /* CONFIG_H_INCLUDED */
|
|
@ -0,0 +1,80 @@
|
||||||
|
#ifndef CYGWIN_H_INCLUDED
|
||||||
|
#define CYGWIN_H_INCLUDED
|
||||||
|
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.6 2006/07/18 14:48:45 david__schmidt Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : The windows.h file seems to be a *tad* different, so I
|
||||||
|
* will bridge the gaps here. Perhaps I should convert the
|
||||||
|
* latest SDK too? Shudder, I think not.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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. */
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
|
||||||
|
/* Hmmm, seems to be overlooked. */
|
||||||
|
#define _RICHEDIT_VER 0x0300
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Named slightly different ... but not in Cygwin v1.3.1 ...
|
||||||
|
*
|
||||||
|
* #define LVITEM LV_ITEM
|
||||||
|
* #define LVCOLUMN LV_COLUMN
|
||||||
|
*/
|
||||||
|
|
||||||
|
#endif /* def __MINGW32__ */
|
||||||
|
#endif /* ndef CYGWIN_H_INCLUDED */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
|
@ -0,0 +1,554 @@
|
||||||
|
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 $
|
||||||
|
*
|
||||||
|
* Purpose : Declares functions to manipulate binary images on the
|
||||||
|
* fly. High-level functions include:
|
||||||
|
* - Deanimation of GIF images
|
||||||
|
*
|
||||||
|
* Functions declared include: gif_deanimate, buf_free,
|
||||||
|
* buf_copy, buf_getbyte, gif_skip_data_block
|
||||||
|
* and gif_extract_image
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 - 2004, 2006 by the
|
||||||
|
* SourceForge Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the GIF file format specification (see
|
||||||
|
* http://tronche.com/computer-graphics/gif/gif89a.html)
|
||||||
|
* and ideas from the Image::DeAnim Perl module by
|
||||||
|
* Ken MacFarlane, <ksm+cpan@universal.dca.net>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: 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 <string.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
#include "errlog.h"
|
||||||
|
#include "project.h"
|
||||||
|
#include "deanimate.h"
|
||||||
|
#include "miscutil.h"
|
||||||
|
|
||||||
|
const char deanimate_h_rcs[] = DEANIMATE_H_VERSION;
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : buf_free
|
||||||
|
*
|
||||||
|
* Description : Safely frees a struct binbuffer
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : buf = Pointer to the binbuffer to be freed
|
||||||
|
*
|
||||||
|
* Returns : N/A
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
void buf_free(struct binbuffer *buf)
|
||||||
|
{
|
||||||
|
if (buf == NULL) return;
|
||||||
|
|
||||||
|
if (buf->buffer != NULL)
|
||||||
|
{
|
||||||
|
free(buf->buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(buf);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : buf_extend
|
||||||
|
*
|
||||||
|
* Description : Ensure that a given binbuffer can hold a given amount
|
||||||
|
* of bytes, by reallocating its buffer if necessary.
|
||||||
|
* Allocate new mem in chunks of 1024 bytes, so we don't
|
||||||
|
* have to realloc() too often.
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : buf = Pointer to the binbuffer
|
||||||
|
* 2 : length = Desired minimum size
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Returns : 0 on success, 1 on failure.
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
static int buf_extend(struct binbuffer *buf, size_t length)
|
||||||
|
{
|
||||||
|
char *newbuf;
|
||||||
|
|
||||||
|
if (buf->offset + length > buf->size)
|
||||||
|
{
|
||||||
|
buf->size = ((buf->size + length + (size_t)1023) & ~(size_t)1023);
|
||||||
|
newbuf = (char *)realloc(buf->buffer, buf->size);
|
||||||
|
|
||||||
|
if (newbuf == NULL)
|
||||||
|
{
|
||||||
|
freez(buf->buffer);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buf->buffer = newbuf;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : buf_copy
|
||||||
|
*
|
||||||
|
* Description : Safely copies a given amount of bytes from one
|
||||||
|
* struct binbuffer to another, advancing the
|
||||||
|
* offsets appropriately.
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : src = Pointer to the source binbuffer
|
||||||
|
* 2 : dst = Pointer to the destination binbuffer
|
||||||
|
* 3 : length = Number of bytes to be copied
|
||||||
|
*
|
||||||
|
* Returns : 0 on success, 1 on failure.
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
static int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sanity check: Can't copy more data than we have
|
||||||
|
*/
|
||||||
|
if (src->offset + length > src->size)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ensure that dst can hold the new data
|
||||||
|
*/
|
||||||
|
if (buf_extend(dst, length))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Now that it's safe, memcpy() the desired amount of
|
||||||
|
* data from src to dst and adjust the offsets
|
||||||
|
*/
|
||||||
|
memcpy(dst->buffer + dst->offset, src->buffer + src->offset, length);
|
||||||
|
src->offset += length;
|
||||||
|
dst->offset += length;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : buf_getbyte
|
||||||
|
*
|
||||||
|
* Description : Safely gets a byte from a given binbuffer at a
|
||||||
|
* given offset
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : src = Pointer to the source binbuffer
|
||||||
|
* 2 : offset = Offset to the desired byte
|
||||||
|
*
|
||||||
|
* Returns : The byte on success, or 0 on failure
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
static unsigned char buf_getbyte(const struct binbuffer *src, size_t offset)
|
||||||
|
{
|
||||||
|
if (src->offset + offset < src->size)
|
||||||
|
{
|
||||||
|
return (unsigned char)*(src->buffer + src->offset + offset);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : gif_skip_data_block
|
||||||
|
*
|
||||||
|
* Description : Safely advances the offset of a given struct binbuffer
|
||||||
|
* that contains a GIF image and whose offset is
|
||||||
|
* positioned at the start of a data block, behind
|
||||||
|
* that block.
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : buf = Pointer to the binbuffer
|
||||||
|
*
|
||||||
|
* Returns : 0 on success, or 1 on failure
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
static int gif_skip_data_block(struct binbuffer *buf)
|
||||||
|
{
|
||||||
|
unsigned char c;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Data blocks are sequences of chunks, which are headed
|
||||||
|
* by a one-byte length field, with the last chunk having
|
||||||
|
* zero length.
|
||||||
|
*/
|
||||||
|
while((c = buf_getbyte(buf, 0)) != '\0')
|
||||||
|
{
|
||||||
|
buf->offset += (size_t)c + 1;
|
||||||
|
if (buf->offset >= buf->size - 1)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
buf->offset++;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : gif_extract_image
|
||||||
|
*
|
||||||
|
* Description : Safely extracts an image data block from a given
|
||||||
|
* struct binbuffer that contains a GIF image and whose
|
||||||
|
* offset is positioned at the start of a data block
|
||||||
|
* into a given destination binbuffer.
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : src = Pointer to the source binbuffer
|
||||||
|
* 2 : dst = Pointer to the destination binbuffer
|
||||||
|
*
|
||||||
|
* Returns : 0 on success, or 1 on failure
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
static int gif_extract_image(struct binbuffer *src, struct binbuffer *dst)
|
||||||
|
{
|
||||||
|
unsigned char c;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remember the colormap flag and copy the image head
|
||||||
|
*/
|
||||||
|
c = buf_getbyte(src, 9);
|
||||||
|
if (buf_copy(src, dst, 10))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the image has a local colormap, copy it.
|
||||||
|
*/
|
||||||
|
if (c & 0x80)
|
||||||
|
{
|
||||||
|
int map_length = 3 * (1 << ((c & 0x07) + 1));
|
||||||
|
if (map_length <= 0)
|
||||||
|
{
|
||||||
|
log_error(LOG_LEVEL_DEANIMATE,
|
||||||
|
"colormap length = %d (%c)?", map_length, c);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (buf_copy(src, dst, (size_t)map_length))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (buf_copy(src, dst, 1)) return 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copy the image chunk by chunk.
|
||||||
|
*/
|
||||||
|
while((c = buf_getbyte(src, 0)) != '\0')
|
||||||
|
{
|
||||||
|
if (buf_copy(src, dst, 1 + (size_t) c)) return 1;
|
||||||
|
}
|
||||||
|
if (buf_copy(src, dst, 1)) return 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Trim and rewind the dst buffer
|
||||||
|
*/
|
||||||
|
if (NULL == (dst->buffer = (char *)realloc(dst->buffer, dst->offset))) return 1;
|
||||||
|
dst->size = dst->offset;
|
||||||
|
dst->offset = 0;
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* Function : gif_deanimate
|
||||||
|
*
|
||||||
|
* Description : Deanimate a given GIF image, i.e. given a GIF with
|
||||||
|
* an (optional) image block and an arbitrary number
|
||||||
|
* of image extension blocks, produce an output GIF with
|
||||||
|
* only one image block that contains the last image
|
||||||
|
* (extenstion) block of the original.
|
||||||
|
* Also strip Comments, Application extenstions, etc.
|
||||||
|
*
|
||||||
|
* Parameters :
|
||||||
|
* 1 : src = Pointer to the source binbuffer
|
||||||
|
* 2 : dst = Pointer to the destination binbuffer
|
||||||
|
* 3 : get_first_image = Flag: If set, get the first image
|
||||||
|
* If unset (default), get the last
|
||||||
|
*
|
||||||
|
* Returns : 0 on success, or 1 on failure
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image)
|
||||||
|
{
|
||||||
|
unsigned char c;
|
||||||
|
struct binbuffer *image;
|
||||||
|
|
||||||
|
if (NULL == src || NULL == dst)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
c = buf_getbyte(src, 10);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check & copy GIF header
|
||||||
|
*/
|
||||||
|
if (strncmp(src->buffer, "GIF89a", 6) && strncmp(src->buffer, "GIF87a", 6))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (buf_copy(src, dst, 13))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Look for global colormap and copy if found.
|
||||||
|
*/
|
||||||
|
if(c & 0x80)
|
||||||
|
{
|
||||||
|
int map_length = 3 * (1 << ((c & 0x07) + 1));
|
||||||
|
if (map_length <= 0)
|
||||||
|
{
|
||||||
|
log_error(LOG_LEVEL_DEANIMATE,
|
||||||
|
"colormap length = %d (%c)?", map_length, c);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (buf_copy(src, dst, (size_t)map_length))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Reserve a buffer for the current image block
|
||||||
|
*/
|
||||||
|
if (NULL == (image = (struct binbuffer *)zalloc(sizeof(*image))))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Parse the GIF block by block and copy the relevant
|
||||||
|
* parts to dst
|
||||||
|
*/
|
||||||
|
while(src->offset < src->size)
|
||||||
|
{
|
||||||
|
switch(buf_getbyte(src, 0))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* End-of-GIF Marker: Append current image and return
|
||||||
|
*/
|
||||||
|
case 0x3b:
|
||||||
|
goto write;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Image block: Extract to current image buffer.
|
||||||
|
*/
|
||||||
|
case 0x2c:
|
||||||
|
image->offset = 0;
|
||||||
|
if (gif_extract_image(src, image)) goto failed;
|
||||||
|
if (get_first_image) goto write;
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Extension block: Look at next byte and decide
|
||||||
|
*/
|
||||||
|
case 0x21:
|
||||||
|
switch (buf_getbyte(src, 1))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Image extension: Copy extension header and image
|
||||||
|
* to the current image buffer
|
||||||
|
*/
|
||||||
|
case 0xf9:
|
||||||
|
image->offset = 0;
|
||||||
|
if (buf_copy(src, image, 8) || buf_getbyte(src, 0) != 0x2c) goto failed;
|
||||||
|
if (gif_extract_image(src, image)) goto failed;
|
||||||
|
if (get_first_image) goto write;
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Application extension: Skip
|
||||||
|
*/
|
||||||
|
case 0xff:
|
||||||
|
if ((src->offset += 14) >= src->size || gif_skip_data_block(src)) goto failed;
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Comment extension: Skip
|
||||||
|
*/
|
||||||
|
case 0xfe:
|
||||||
|
if ((src->offset += 2) >= src->size || gif_skip_data_block(src)) goto failed;
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Plain text extension: Skip
|
||||||
|
*/
|
||||||
|
case 0x01:
|
||||||
|
if ((src->offset += 15) >= src->size || gif_skip_data_block(src)) goto failed;
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ooops, what type of extension is that?
|
||||||
|
*/
|
||||||
|
default:
|
||||||
|
goto failed;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ooops, what type of block is that?
|
||||||
|
*/
|
||||||
|
default:
|
||||||
|
goto failed;
|
||||||
|
|
||||||
|
}
|
||||||
|
} /* -END- while src */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Either we got here by goto, or because the GIF is
|
||||||
|
* bogus and EOF was reached before an end-of-gif marker
|
||||||
|
* was found.
|
||||||
|
*/
|
||||||
|
|
||||||
|
failed:
|
||||||
|
buf_free(image);
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Append the current image to dst and return
|
||||||
|
*/
|
||||||
|
|
||||||
|
write:
|
||||||
|
if (buf_copy(image, dst, image->size)) goto failed;
|
||||||
|
if (buf_extend(dst, 1)) goto failed;
|
||||||
|
*(dst->buffer + dst->offset++) = 0x3b;
|
||||||
|
buf_free(image);
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
|
@ -0,0 +1,126 @@
|
||||||
|
#ifndef DEANIMATE_H_INCLUDED
|
||||||
|
#define DEANIMATE_H_INCLUDED
|
||||||
|
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.12 2008/03/28 15:13:39 fabiankeil Exp $"
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $
|
||||||
|
*
|
||||||
|
* Purpose : Declares functions to manipulate binary images on the
|
||||||
|
* fly. High-level functions include:
|
||||||
|
* - Deanimation of GIF images
|
||||||
|
*
|
||||||
|
* Functions declared include: gif_deanimate and buf_free.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001 - 2004 by the the
|
||||||
|
* SourceForge Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on ideas from the Image::DeAnim Perl module by
|
||||||
|
* Ken MacFarlane, <ksm+cpan@universal.dca.net>
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc., 59
|
||||||
|
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Revisions :
|
||||||
|
* $Log: deanimate.h,v $
|
||||||
|
* Revision 1.12 2008/03/28 15:13:39 fabiankeil
|
||||||
|
* Remove inspect-jpegs action.
|
||||||
|
*
|
||||||
|
* Revision 1.11 2007/01/12 15:41:00 fabiankeil
|
||||||
|
* Remove some white space at EOL.
|
||||||
|
*
|
||||||
|
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
|
||||||
|
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
||||||
|
* with what was really the latest development (the v_3_0_branch branch)
|
||||||
|
*
|
||||||
|
* Revision 1.8.2.1 2004/10/03 12:53:32 david__schmidt
|
||||||
|
* Add the ability to check jpeg images for invalid
|
||||||
|
* lengths of comment blocks. Defensive strategy
|
||||||
|
* against the exploit:
|
||||||
|
* Microsoft Security Bulletin MS04-028
|
||||||
|
* Buffer Overrun in JPEG Processing (GDI+) Could
|
||||||
|
* Allow Code Execution (833987)
|
||||||
|
* Enabled with +inspect-jpegs in actions files.
|
||||||
|
*
|
||||||
|
* Revision 1.8 2002/03/26 22:29:54 swa
|
||||||
|
* we have a new homepage!
|
||||||
|
*
|
||||||
|
* Revision 1.7 2002/03/24 13:25:43 swa
|
||||||
|
* name change related issues
|
||||||
|
*
|
||||||
|
* Revision 1.6 2002/03/08 17:46:04 jongfoster
|
||||||
|
* Fixing int/size_t warnings
|
||||||
|
*
|
||||||
|
* Revision 1.5 2002/03/07 03:46:17 oes
|
||||||
|
* Fixed compiler warnings
|
||||||
|
*
|
||||||
|
* Revision 1.4 2001/07/29 18:50:04 jongfoster
|
||||||
|
* Fixing "extern C" block, and renaming #define _DEANIMATE_H
|
||||||
|
*
|
||||||
|
* Revision 1.3 2001/07/18 12:29:05 oes
|
||||||
|
* Updated prototype for gif_deanimate
|
||||||
|
*
|
||||||
|
* Revision 1.2 2001/07/13 13:46:20 oes
|
||||||
|
* Introduced GIF deanimation feature
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A struct that holds a buffer, a read/write offset,
|
||||||
|
* and the buffer's capacity.
|
||||||
|
*/
|
||||||
|
struct binbuffer
|
||||||
|
{
|
||||||
|
char *buffer;
|
||||||
|
size_t offset;
|
||||||
|
size_t size;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Function prototypes
|
||||||
|
*/
|
||||||
|
extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image);
|
||||||
|
extern void buf_free(struct binbuffer *buf);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Revision control strings from this header and associated .c file
|
||||||
|
*/
|
||||||
|
extern const char deanimate_rcs[];
|
||||||
|
extern const char deanimate_h_rcs[];
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ndef DEANIMATE_H_INCLUDED */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
tab-width: 3
|
||||||
|
end:
|
||||||
|
*/
|
|
@ -0,0 +1,560 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<!-- $Id: gpl.html,v 1.4 2002/04/08 20:39:43 swa Exp $
|
||||||
|
|
||||||
|
See copyright details at end of file
|
||||||
|
|
||||||
|
After changing this file, please run it through "HTML Tidy"
|
||||||
|
(from http://www.w3.org/People/Raggett/tidy/)
|
||||||
|
It should have no warnings or errors.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>The GNU General Public License</title>
|
||||||
|
<meta name="description" content=
|
||||||
|
"GNU General Public License, as used by Junkbuster">
|
||||||
|
<meta name="keywords" content="">
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
h2 { text-align: Center; font-family: arial, helvetica, sans-serif }
|
||||||
|
p.sans { font-family: arial, helvetica, sans-serif }
|
||||||
|
b.dot { color: #FF0000 }
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body bgcolor="#f8f8f0" link="#000078" alink="#ff0022" vlink=
|
||||||
|
"#787878">
|
||||||
|
<p class="sans"><a href="http://www.privoxy.org/">
|
||||||
|
Website</a> <b class="dot">·</b> <a href="ijbman.html">
|
||||||
|
Manual</a> <b class="dot">·</b> <a href="ijbfaq.html">
|
||||||
|
FAQ</a> <b class="dot">·</b> <b>GPL</b></p>
|
||||||
|
|
||||||
|
<h1 align="center"><a name="top_of_page">Internet J<small>UNK<i
|
||||||
|
style="color: #FF0000">BUSTER</i></small> License</a></h1>
|
||||||
|
|
||||||
|
<h1>This document is out of date</h1>
|
||||||
|
|
||||||
|
<p><b>Development of Junkbuster is ongoing and this document is
|
||||||
|
no longer current. However, it may provide some assistance. If
|
||||||
|
you have problems, please use the <a href=
|
||||||
|
"http://groups.yahoo.com/group/junkbuster-users/">Yahoo Groups
|
||||||
|
mailing list</a> (which includes an archive of mail), the
|
||||||
|
SourceForge.net <a href=
|
||||||
|
"http://sourceforge.net/projects/ijbswa/">project page</a>, or
|
||||||
|
see the project's <a href="http://www.privoxy.org/">home
|
||||||
|
page</a>. Please also bear in mind that versions 2.9.x of
|
||||||
|
Junkbuster are development releases, and are not production
|
||||||
|
quality.</b></p>
|
||||||
|
|
||||||
|
<h3 align="center">The GNU General Public License</h3>
|
||||||
|
|
||||||
|
<p class="sans"><a name="notus"><b>We did not write the GPL:
|
||||||
|
the <a href="http://www.fsf.org/fsf/fsf.html">Free Software
|
||||||
|
Foundation</a> did</b></a></p>
|
||||||
|
|
||||||
|
<h3><img border="0" width="14" height="14" src="fb.gif" alt=
|
||||||
|
"*"> The GPL allows copying and changing of copyrighted
|
||||||
|
documents</h3>
|
||||||
|
|
||||||
|
<p><a name="fsf">The Free Software Foundation</a> <a href=
|
||||||
|
"http://www.fsf.org/fsf/fsf.html">(FSF)</a> is a non-profit
|
||||||
|
institution that designed the GNU General Public License (GPL)
|
||||||
|
to promote the publication of free software. The GPL is used by
|
||||||
|
thousands of programmers who want to give others the right to
|
||||||
|
copy and modify the source code of their programs. Millions of
|
||||||
|
people benefit from this.</p>
|
||||||
|
|
||||||
|
<p><a name="junkbuster">We use the GPL</a> to allow everyone to
|
||||||
|
use, copy and modify the Internet Junkbuster as they wish. <a
|
||||||
|
name="separate">Companies can use it for commercial
|
||||||
|
purposes,</a> but they are not permitted to use it in products
|
||||||
|
that they claim as their property.</p>
|
||||||
|
|
||||||
|
<p><a name="text">The GPL</a> can also be used on documents
|
||||||
|
written in human languages. This documentation for the Internet
|
||||||
|
Junkbuster is also under the GPL. This means that you do not
|
||||||
|
have to break copyright laws in order to print a page or email
|
||||||
|
a screen of the text to someone, for example.</p>
|
||||||
|
|
||||||
|
<p><a name="rest">The</a> remainder of this page is the text of
|
||||||
|
the GPL. As legal documents go it's relatively clear, but
|
||||||
|
unfortunately it's fairly long because it has to cover a lot of
|
||||||
|
details. The HTML formatting is ours, and should not be
|
||||||
|
misinterpreted as changing the license in any way.</p>
|
||||||
|
|
||||||
|
<p align="center"><a href="#top_of_page"><img border="0" width=
|
||||||
|
"250" height="15" src="top.gif" alt=
|
||||||
|
"--- Back to Top of Page ---"></a></p>
|
||||||
|
|
||||||
|
<h2><a name="v2">Version 2, June 1991</a></h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a name="crn">Copyright 1989, 1991</a><br>
|
||||||
|
<a name="address">Free Software Foundation, Inc.</a><br>
|
||||||
|
675 Mass Ave.<br>
|
||||||
|
Cambridge, MA 02139<br>
|
||||||
|
USA
|
||||||
|
</blockquote>
|
||||||
|
<a name="changing">Everyone</a>
|
||||||
|
|
||||||
|
<p>is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.</p>
|
||||||
|
|
||||||
|
<h3><a name="pream"><img border="0" width="14" height="14" src=
|
||||||
|
"fb.gif" alt="*"></a> Preamble</h3>
|
||||||
|
|
||||||
|
<p>The licenses for most software are designed to take away
|
||||||
|
your freedom to share and change it. By contrast, the GNU
|
||||||
|
General Public License is intended to guarantee your freedom to
|
||||||
|
share and change free software--to make sure the software is
|
||||||
|
free for all its users. This General Public License applies to
|
||||||
|
most of the Free Software Foundation's software and to any
|
||||||
|
other program whose authors commit to using it. (Some other
|
||||||
|
Free Software Foundation software is covered by the GNU Library
|
||||||
|
General Public License instead.) You can apply it to your
|
||||||
|
programs, too.</p>
|
||||||
|
|
||||||
|
<p><a name="freedom">When we speak of free software,</a> we are
|
||||||
|
referring to freedom, not price. Our General Public Licenses
|
||||||
|
are designed to make sure that you have the freedom to
|
||||||
|
distribute copies of free software (and charge for this service
|
||||||
|
if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these
|
||||||
|
things.</p>
|
||||||
|
|
||||||
|
<p><a name="forbid">To protect your rights,</a> we need to make
|
||||||
|
restrictions that forbid anyone to deny you these rights or to
|
||||||
|
ask you to surrender the rights. These restrictions translate
|
||||||
|
to certain responsibilities for you if you distribute copies of
|
||||||
|
the software, or if you modify it.</p>
|
||||||
|
|
||||||
|
<p><a name="allrights">For example,</a> if you distribute
|
||||||
|
copies of such a program, whether gratis or for a fee, you must
|
||||||
|
give the recipients all the rights that you have. You must make
|
||||||
|
sure that they, too, receive or can get the source code. And
|
||||||
|
you must show them these terms so they know their rights.</p>
|
||||||
|
|
||||||
|
<p><a name="steps">We protect your rights with two steps:</a>
|
||||||
|
(1) copyright the software, and (2) offer you this license
|
||||||
|
which gives you legal permission to copy, distribute and/or
|
||||||
|
modify the software.</p>
|
||||||
|
|
||||||
|
<p><a name="protection">Also,</a> for each author's protection
|
||||||
|
and ours, we want to make certain that everyone understands
|
||||||
|
that there is no warranty for this free software. If the
|
||||||
|
software is modified by someone else and passed on, we want its
|
||||||
|
recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the
|
||||||
|
original authors' reputations.</p>
|
||||||
|
|
||||||
|
<p><a name="threat">Finally,</a> any free program is threatened
|
||||||
|
constantly by software patents. We wish to avoid the danger
|
||||||
|
that redistributors of a free program will individually obtain
|
||||||
|
patent licenses, in effect making the program proprietary. To
|
||||||
|
prevent this, we have made it clear that any patent must be
|
||||||
|
licensed for everyone's free use or not licensed at all.</p>
|
||||||
|
|
||||||
|
<p><a name="terms">The precise terms and conditions</a> for
|
||||||
|
copying, distribution and modification follow.</p>
|
||||||
|
|
||||||
|
<h3><a name="tnc"><img border="0" width="14" height="14" src=
|
||||||
|
"fb.gif" alt="*"></a> GNU General Public License: Terms
|
||||||
|
and Conditions for Copying, Distribution and Modification</h3>
|
||||||
|
|
||||||
|
<p><a name="applies">O.</a> This License applies to any program
|
||||||
|
or other work which contains a notice placed by the copyright
|
||||||
|
holder saying it may be distributed under the terms of this
|
||||||
|
General Public License. The "Program", below, refers to any
|
||||||
|
such program or work, and a "work based on the Program" means
|
||||||
|
either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of
|
||||||
|
it, either verbatim or with modifications and/or translated
|
||||||
|
into another language. (Hereinafter, translation is included
|
||||||
|
without limitation in the term "modification".) Each licensee
|
||||||
|
is addressed as "you".</p>
|
||||||
|
|
||||||
|
<p><a name="scope">Activities</a> other than copying,
|
||||||
|
distribution and modification are not covered by this License;
|
||||||
|
they are outside its scope. The act of running the Program is
|
||||||
|
not restricted, and the output from the Program is covered only
|
||||||
|
if its contents constitute a work based on the Program
|
||||||
|
(independent of having been made by running the Program).</p>
|
||||||
|
|
||||||
|
<p><a name="depends">Whether that is true depends on what the
|
||||||
|
Program does.</a><br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<ol type="1">
|
||||||
|
<li>
|
||||||
|
<a name="verbatim">You may copy</a> and distribute verbatim
|
||||||
|
copies of the Program's source code as you receive it, in
|
||||||
|
any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright
|
||||||
|
notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of
|
||||||
|
any warranty; and give any other recipients of the Program
|
||||||
|
a copy of this License along with the Program.
|
||||||
|
|
||||||
|
<p><a name="fee">You may charge a fee</a> for the physical
|
||||||
|
act of transferring a copy, and you may at your option
|
||||||
|
offer warranty protection in exchange for a fee.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a name="modify">You may modify</a> your copy or copies of
|
||||||
|
the Program or any portion of it, thus forming a work based
|
||||||
|
on the Program, and copy and distribute such modifications
|
||||||
|
or work under the terms of Section 1 above, provided that
|
||||||
|
you also meet all of these conditions:<br>
|
||||||
|
|
||||||
|
|
||||||
|
<ol type="a">
|
||||||
|
<li><a name="notices">You must cause</a> the modified
|
||||||
|
files to carry prominent notices stating that you changed
|
||||||
|
the files and the date of any change.</li>
|
||||||
|
|
||||||
|
<li><a name="nocharge">You must</a> cause any work that
|
||||||
|
you distribute or publish, that in whole or in part
|
||||||
|
contains or is derived from the Program or any part
|
||||||
|
thereof, to be licensed as a whole at no charge to all
|
||||||
|
third parties under the terms of this License.</li>
|
||||||
|
|
||||||
|
<li><a name="interactive">If the modified program</a>
|
||||||
|
normally reads commands interactively when run, you must
|
||||||
|
cause it, when started running for such interactive use
|
||||||
|
in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice
|
||||||
|
and a notice that there is no warranty (or else, saying
|
||||||
|
that you provide a warranty) and that users may
|
||||||
|
redistribute the program under these conditions, and
|
||||||
|
telling the user how to view a copy of this License.
|
||||||
|
(Exception: if the Program itself is interactive but does
|
||||||
|
not normally print such an announcement, your work based
|
||||||
|
on the Program is not required to print an
|
||||||
|
announcement.)</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p><a name="sections">These requirements</a> apply to the
|
||||||
|
modified work as a whole. If identifiable sections of that
|
||||||
|
work are not derived from the Program, and can be
|
||||||
|
reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply
|
||||||
|
to those sections when you distribute them as separate
|
||||||
|
works. But when you distribute the same sections as part of
|
||||||
|
a whole which is a work based on the Program, the
|
||||||
|
distribution of the whole must be on the terms of this
|
||||||
|
License, whose permissions for other licensees extend to
|
||||||
|
the entire whole, and thus to each and every part
|
||||||
|
regardless of who wrote it.</p>
|
||||||
|
|
||||||
|
<p><a name="intent">Thus,</a> it is not the intent of this
|
||||||
|
section to claim rights or contest your rights to work
|
||||||
|
written entirely by you; rather, the intent is to exercise
|
||||||
|
the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.</p>
|
||||||
|
|
||||||
|
<p><a name="aggregation">In addition,</a> mere aggregation
|
||||||
|
of another work not based on the Program with the Program
|
||||||
|
(or with a work based on the Program) on a volume of a
|
||||||
|
storage or distribution medium does not bring the other
|
||||||
|
work under the scope of this License.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a name="exeutable">You may copy</a> and distribute the
|
||||||
|
Program (or a work based on it, under Section 2) in object
|
||||||
|
code or executable form under the terms of Sections 1 and 2
|
||||||
|
above provided that you also do one of the following:<br>
|
||||||
|
|
||||||
|
|
||||||
|
<ol type="a">
|
||||||
|
<li><a name="medium">Accompany it</a> with the complete
|
||||||
|
corresponding machine-readable source code, which must be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on
|
||||||
|
a medium customarily used for software interchange;
|
||||||
|
or,</li>
|
||||||
|
|
||||||
|
<li><a name="written">Accompany it with a written
|
||||||
|
offer,</a> valid for at least three years, to give any
|
||||||
|
third party, for a charge no more than your cost of
|
||||||
|
physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code,
|
||||||
|
to be distributed under the terms of Sections 1 and 2
|
||||||
|
above on a medium customarily used for software
|
||||||
|
interchange; or,</li>
|
||||||
|
|
||||||
|
<li><a name="distrib">Accompany it</a> with the
|
||||||
|
information you received as to the offer to distribute
|
||||||
|
corresponding source code. (This alternative is allowed
|
||||||
|
only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form
|
||||||
|
with such an offer, in accord with Subsection b
|
||||||
|
above.)</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p><a name="preferred">The source code</a> for a work means
|
||||||
|
the preferred form of the work for making modifications to
|
||||||
|
it. For an executable work, complete source code means all
|
||||||
|
the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts
|
||||||
|
used to control compilation and installation of the
|
||||||
|
executable. However, as a special exception, the source
|
||||||
|
code distributed need not include anything that is normally
|
||||||
|
distributed (in either source or binary form) with the
|
||||||
|
major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that
|
||||||
|
component itself accompanies the executable.</p>
|
||||||
|
|
||||||
|
<p><a name="access">If distribution of executable or object
|
||||||
|
code is made</a> by offering access to copy from a
|
||||||
|
designated place, then offering equivalent access to copy
|
||||||
|
the source code from the same place counts as distribution
|
||||||
|
of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object
|
||||||
|
code.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li><a name="otherwise">You may not copy,</a> modify,
|
||||||
|
sublicense, or distribute the Program except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to copy,
|
||||||
|
modify, sublicense or distribute the Program is void, and
|
||||||
|
will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from
|
||||||
|
you under this License will not have their licenses
|
||||||
|
terminated so long as such parties remain in full
|
||||||
|
compliance.</li>
|
||||||
|
|
||||||
|
<li><a name="voluntary">You are not required</a> to accept
|
||||||
|
this License, since you have not signed it. However, nothing
|
||||||
|
else grants you permission to modify or distribute the
|
||||||
|
Program or its derivative works. These actions are prohibited
|
||||||
|
by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on
|
||||||
|
the Program), you indicate your acceptance of this License to
|
||||||
|
do so, and all its terms and conditions for copying,
|
||||||
|
distributing or modifying the Program or works based on
|
||||||
|
it.</li>
|
||||||
|
|
||||||
|
<li><a name="redistrib">Each time you redistribute</a> the
|
||||||
|
Program (or any work based on the Program), the recipient
|
||||||
|
automatically receives a license from the original licensor
|
||||||
|
to copy, distribute or modify the Program subject to these
|
||||||
|
terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights
|
||||||
|
granted herein. You are not responsible for enforcing
|
||||||
|
compliance by third parties to this License.</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a name="patent">If, as a consequence of a court
|
||||||
|
judgment</a> or allegation of patent infringement or for
|
||||||
|
any other reason (not limited to patent issues), conditions
|
||||||
|
are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License,
|
||||||
|
they do not excuse you from the conditions of this License.
|
||||||
|
If you cannot distribute so as to satisfy simultaneously
|
||||||
|
your obligations under this License and any other pertinent
|
||||||
|
obligations, then as a consequence you may not distribute
|
||||||
|
the Program at all. For example, if a patent license would
|
||||||
|
not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through
|
||||||
|
you, then the only way you could satisfy both it and this
|
||||||
|
License would be to refrain entirely from distribution of
|
||||||
|
the Program.
|
||||||
|
|
||||||
|
<p><a name="invalid">If any portion</a> of this section is
|
||||||
|
held invalid or unenforceable under any particular
|
||||||
|
circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in
|
||||||
|
other circumstances.</p>
|
||||||
|
|
||||||
|
<p><a name="induce">It is not the purpose</a> of this
|
||||||
|
section to induce you to infringe any patents or other
|
||||||
|
property right claims or to contest validity of any such
|
||||||
|
claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which
|
||||||
|
is implemented by public license practices. Many people
|
||||||
|
have made generous contributions to the wide range of
|
||||||
|
software distributed through that system in reliance on
|
||||||
|
consistent application of that system; it is up to the
|
||||||
|
author/donor to decide if he or she is willing to
|
||||||
|
distribute software through any other system and a licensee
|
||||||
|
cannot impose that choice.</p>
|
||||||
|
|
||||||
|
<p><a name="clarify">This section</a> is intended to make
|
||||||
|
thoroughly clear what is believed to be a consequence of
|
||||||
|
the rest of this License.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li><a name="geog">If the distribution</a> and/or use of the
|
||||||
|
Program is restricted in certain countries either by patents
|
||||||
|
or by copyrighted interfaces, the original copyright holder
|
||||||
|
who places the Program under this License may add an explicit
|
||||||
|
geographical distribution limitation excluding those
|
||||||
|
countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License
|
||||||
|
incorporates the limitation as if written in the body of this
|
||||||
|
License.</li>
|
||||||
|
|
||||||
|
<li><a name="revise">The Free Software Foundation</a> may
|
||||||
|
publish revised and/or new versions of the General Public
|
||||||
|
License from time to time. Such new versions will be similar
|
||||||
|
in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns. Each version is given a
|
||||||
|
distinguishing version number. If the Program specifies a
|
||||||
|
version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms
|
||||||
|
and conditions either of that version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Program
|
||||||
|
does not specify a version number of this License, you may
|
||||||
|
choose any version ever published by the Free Software
|
||||||
|
Foundation.</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a name="permission">If you wish to incorporate parts</a>
|
||||||
|
of the Program into other free programs whose distribution
|
||||||
|
conditions are different, write to the author to ask for
|
||||||
|
permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation;
|
||||||
|
we sometimes make exceptions for this. Our decision will be
|
||||||
|
guided by the two goals of preserving the free status of
|
||||||
|
all derivatives of our free software and of promoting the
|
||||||
|
sharing and reuse of software generally.
|
||||||
|
|
||||||
|
<p><a name="nowarr">NO WARRANTY</a></p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li><a name="foc">BECAUSE THE PROGRAM IS LICENSED FREE OF
|
||||||
|
CHARGE,</a> THERE IS NO WARRANTY FOR THE PROGRAM, TO THE
|
||||||
|
EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||||
|
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||||
|
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
|
||||||
|
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
||||||
|
SERVICING, REPAIR OR CORRECTION.</li>
|
||||||
|
|
||||||
|
<li><a name="liable">IN NO EVENT UNLESS REQUIRED</a> BY
|
||||||
|
APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT
|
||||||
|
HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
|
||||||
|
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||||
|
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||||
|
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p>END OF TERMS AND CONDITIONS<br>
|
||||||
|
<br>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3><a name="append"><img border="0" width="14" height="14"
|
||||||
|
src="fb.gif" alt="*"></a> Appendix: How to Apply These
|
||||||
|
Terms to Your New Programs</h3>
|
||||||
|
|
||||||
|
<p>If you develop a new program, and you want it to be of the
|
||||||
|
greatest possible use to the public, the best way to achieve
|
||||||
|
this is to make it free software which everyone can
|
||||||
|
redistribute and change under these terms.</p>
|
||||||
|
|
||||||
|
<p><a name="attach">To do so,</a> attach the following notices
|
||||||
|
to the program. It is safest to attach them to the start of
|
||||||
|
each source file to most effectively convey the exclusion of
|
||||||
|
warranty; and each file should have at least the "copyright"
|
||||||
|
line and a pointer to where the full notice is found.</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<one line to give the program's name and a brief idea of
|
||||||
|
what it does.> Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
<p><a name="free">This program is free software;</a> you can
|
||||||
|
redistribute it and/or modify it under the terms of the GNU
|
||||||
|
General Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at your
|
||||||
|
option) any later version.</p>
|
||||||
|
|
||||||
|
<p><a name="merchant">This program</a> is distributed in the
|
||||||
|
hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
License for more details.</p>
|
||||||
|
|
||||||
|
<p><a name="ifnot">You should</a> have received a copy of the
|
||||||
|
GNU General Public License along with this program; if not,
|
||||||
|
write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||||
|
Cambridge, MA 02139, USA.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><a name="contact">Also add</a> information on how to contact
|
||||||
|
you by electronic and paper mail.</p>
|
||||||
|
|
||||||
|
<p><a name="short">If the program is interactive,</a> make it
|
||||||
|
output a short notice like this when it starts in an
|
||||||
|
interactive mode:</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
|
||||||
|
type `show w'. This is free software, and you are welcome to
|
||||||
|
redistribute it under certain conditions; type `show c' for
|
||||||
|
details.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><a name="hypo">The hypothetical</a> commands `show w' and
|
||||||
|
`show c' should show the appropriate parts of the General
|
||||||
|
Public License. Of course, the commands you use may be called
|
||||||
|
something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.</p>
|
||||||
|
|
||||||
|
<p><a name="disclaimer">You should also get your employer</a>
|
||||||
|
(if you work as a programmer) or your school, if any, to sign a
|
||||||
|
"copyright disclaimer" for the program, if necessary. Here is a
|
||||||
|
sample; alter the names:</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in
|
||||||
|
the program `Gnomovision' (which makes passes at compilers)
|
||||||
|
written by James Hacker. <signature of Ty Coon>, 1
|
||||||
|
April 1989<br>
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><a name="library">This General Public License</a> does not
|
||||||
|
permit incorporating your program into proprietary programs. If
|
||||||
|
your program is a subroutine library, you may consider it more
|
||||||
|
useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Library
|
||||||
|
General Public License instead of this License.</p>
|
||||||
|
|
||||||
|
<p align="center"><a href="#top_of_page"><img border="0" width=
|
||||||
|
"250" height="15" src="top.gif" alt=
|
||||||
|
"--- Back to Top of Page ---"></a></p>
|
||||||
|
|
||||||
|
<p class="sans"><a href="http://www.privoxy.org/">
|
||||||
|
Website</a> <b class="dot">·</b> <a href="ijbman.html">
|
||||||
|
Manual</a> <b class="dot">·</b> <a href="ijbfaq.html">
|
||||||
|
FAQ</a> <b class="dot">·</b> <b>GPL</b></p>
|
||||||
|
|
||||||
|
<p class="sans"><small><small><a href="gpl.html#text">
|
||||||
|
Copyright</a> © 1996-8 <a href=
|
||||||
|
"http://www.junkbusters.com/">Junkbusters</a> <a href=
|
||||||
|
"http://www.junkbusters.com/ht/en/legal.html#marks">®</a>
|
||||||
|
Corporation. <a href="gpl.html#text">Copyright</a> © 2001
|
||||||
|
<a href="http://sourceforge.net/projects/ijbswa/">Jon
|
||||||
|
Foster</a>. Copying and distribution permitted under the <a
|
||||||
|
href="gpl.html">GNU</a> General Public License. The text of the
|
||||||
|
GNU GPL itself is copyrighted by the FSF, and may be copied but
|
||||||
|
not modified.</small></small></p>
|
||||||
|
|
||||||
|
<p><small><code><a href=
|
||||||
|
"http://sourceforge.net/projects/ijbswa/">
|
||||||
|
http://sourceforge.net/projects/ijbswa/</a></code></small></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
|
@ -0,0 +1,488 @@
|
||||||
|
.\" Copyright (c) 2001-2003 Andreas S. Oesterhelt <oes@oesterhelt.org>
|
||||||
|
.\"
|
||||||
|
.\" This is free documentation; you can redistribute it and/or
|
||||||
|
.\" modify it under the terms of the GNU General Public License as
|
||||||
|
.\" published by the Free Software Foundation; either version 2 of
|
||||||
|
.\" the License, or (at your option) any later version.
|
||||||
|
.\"
|
||||||
|
.\" The GNU General Public License's references to "object code"
|
||||||
|
.\" and "executables" are to be interpreted as the output of any
|
||||||
|
.\" document formatting or typesetting system, including
|
||||||
|
.\" intermediate and printed output.
|
||||||
|
.\"
|
||||||
|
.\" This manual is distributed in the hope that it will be useful,
|
||||||
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
.\" GNU General Public License for more details.
|
||||||
|
.\"
|
||||||
|
.\" You should have received a copy of the GNU General Public
|
||||||
|
.\" License along with this manual; if not, write to the Free
|
||||||
|
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
.\" MA 02111, USA.
|
||||||
|
.\"
|
||||||
|
.TH PCRS 3 "2 December 2003" "pcrs-0.0.3"
|
||||||
|
.SH NAME
|
||||||
|
pcrs - Perl-compatible regular substitution.
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.br
|
||||||
|
.B "#include <pcrs.h>"
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "pcrs_job *pcrs_compile(const char *" pattern ","
|
||||||
|
.ti +5n
|
||||||
|
.BI "const char *" substitute ", const char *" options ,
|
||||||
|
.ti +5n
|
||||||
|
.BI "int *" errptr );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "pcrs_job *pcrs_compile_command(const char *" command ,
|
||||||
|
.ti +5n
|
||||||
|
.BI "int *" errptr );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "int pcrs_execute(pcrs_job *" job ", char *" subject ,
|
||||||
|
.ti +5n
|
||||||
|
.BI "int " subject_length ", char **" result ,
|
||||||
|
.ti +5n
|
||||||
|
.BI "int *" result_length );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "int pcrs_execute_list (pcrs_job *" joblist ", char *" subject ,
|
||||||
|
.ti +5n
|
||||||
|
.BI "int " subject_length ", char **" result ,
|
||||||
|
.ti +5n
|
||||||
|
.BI "int *" result_length );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "pcrs_job *pcrs_free_job(pcrs_job *" job );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "void pcrs_free_joblist(pcrs_job *" joblist );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
.BI "char *pcrs_strerror(int " err );
|
||||||
|
.PP
|
||||||
|
.br
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
The
|
||||||
|
.SM PCRS
|
||||||
|
library is a supplement to the
|
||||||
|
.SB PCRE(3)
|
||||||
|
library that implements
|
||||||
|
.RB "regular expression based substitution, like provided by " Perl(1) "'s 's'"
|
||||||
|
operator. It uses the same syntax and semantics as Perl 5, with just a few
|
||||||
|
differences (see below).
|
||||||
|
|
||||||
|
In a first step, the information on a substitution, i.e. the pattern, the
|
||||||
|
substitute and the options are compiled from Perl syntax to an internal form
|
||||||
|
.RB "called " pcrs_job " by using either the " pcrs_compile() " or "
|
||||||
|
.BR pcrs_compile_command() " functions."
|
||||||
|
|
||||||
|
Once the job is compiled, it can be used on subjects, which are arbitrary
|
||||||
|
memory areas containing string or binary data, by calling
|
||||||
|
.BR pcrs_execute() ". Jobs can be chained to joblists and whole"
|
||||||
|
.RB "joblists can be applied to a subject using " pcrs_execute_list() .
|
||||||
|
|
||||||
|
There are also convenience functions for freeing the jobs and for errno-to-string
|
||||||
|
.RB "conversion, namely " pcrs_free_job() ", " pcrs_free_joblist() " and "
|
||||||
|
.BR pcrs_strerror() .
|
||||||
|
|
||||||
|
.SH COMPILING JOBS
|
||||||
|
|
||||||
|
.RB "The function " pcrs_compile() " is called to compile a " pcrs_job
|
||||||
|
.RI "from a " pattern ", " substitute " and " options " string."
|
||||||
|
.RB "The resulting " "pcrs_job" " structure is dynamically allocated and it"
|
||||||
|
.RB "is the caller's responsibility to call " "pcrs_free_job()" " when it's no longer needed."
|
||||||
|
|
||||||
|
.BR "pcrs_compile_command()" " is a convenience wrapper function that parses a Perl"
|
||||||
|
.IR "command" " of the form"
|
||||||
|
.BI "s/" "pattern" "/" "substitute" "/[" "options" "]"
|
||||||
|
.RB "into its components and then calls " "pcrs_compile()" ". As in Perl, you"
|
||||||
|
.RB "are not bound to the '" "/" "' character: Whatever"
|
||||||
|
.RB "follows the '" "s" "' will be used as the delimiter. Patterns or substitutes"
|
||||||
|
that contain the delimiter need to quote it:
|
||||||
|
\fBs/th\\/is/th\\/at/\fR
|
||||||
|
.RB "will replace " "th/is" " by " "th/at" " and can be written more simply as"
|
||||||
|
.BR "s|th/is|th/at|" "."
|
||||||
|
|
||||||
|
.IR "pattern" ", " "substitute" ", " "options" " and " "command" " must be"
|
||||||
|
.RI "zero-terminated C strings. " "substitute" " and " "options" " may be"
|
||||||
|
.BR "NULL" ", in which case they are treated like the empty string."
|
||||||
|
|
||||||
|
.SS "Return value and diagnostics"
|
||||||
|
On success, both functions return a pointer to the compiled job.
|
||||||
|
.RB "On failure, " "NULL"
|
||||||
|
.RI "is returned. In that case, the pcrs error code is written to *" "err" "."
|
||||||
|
|
||||||
|
.SS Patterns
|
||||||
|
.RI "For the syntax of the " "pattern" ", see the "
|
||||||
|
.BR "PCRE(3)" " manual page."
|
||||||
|
|
||||||
|
.SS Substitutes
|
||||||
|
.RI "The " "substitute" " uses"
|
||||||
|
.RB "Perl syntax as documented in the " "perlre(1)" " manual page, with"
|
||||||
|
some exceptions:
|
||||||
|
|
||||||
|
Most notably and evidently, since
|
||||||
|
.SM PCRS
|
||||||
|
is not Perl, variable interpolation or Perl command substitution won't work.
|
||||||
|
Special variables that do get interpolated, are:
|
||||||
|
.TP
|
||||||
|
.B "$1, $2, ..., $n"
|
||||||
|
Like in Perl, these variables refer to what the nth capturing subpattern
|
||||||
|
in the pattern matched.
|
||||||
|
.TP
|
||||||
|
.B "$& and $0"
|
||||||
|
.RB "refer to the whole match. Note that " "$0" " is deprecated in recent"
|
||||||
|
Perl versions and now refers to the program name.
|
||||||
|
.TP
|
||||||
|
.B "$+"
|
||||||
|
refers to what the last capturing subpattern matched.
|
||||||
|
.TP
|
||||||
|
.BR "$` and $'" " (backtick and tick)"
|
||||||
|
.RI "refer to the areas of the " "subject" " before and after the match, respectively."
|
||||||
|
.RB "Note that, like in Perl, the " "unmodified" " subject is used, even"
|
||||||
|
if a global substitution previously matched.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Perl4-style references to subpattern matches of the form
|
||||||
|
\fB\\1, \\2, ...\fR
|
||||||
|
.RB "which only exist in Perl5 for backwards compatibility, are " "not"
|
||||||
|
supported.
|
||||||
|
|
||||||
|
Also, since the substitute is a double-quoted string in Perl, you
|
||||||
|
might expect all Perl syntax for special characters to apply. In fact,
|
||||||
|
only the following are supported:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\\n\fR
|
||||||
|
newline (0x0a)
|
||||||
|
.TP
|
||||||
|
\fB\\r\fR
|
||||||
|
carriage return (0x0d)
|
||||||
|
.TP
|
||||||
|
\fB\\t\fR
|
||||||
|
horizontal tab (0x09)
|
||||||
|
.TP
|
||||||
|
\fB\\f\fR
|
||||||
|
form feed (0x0c)
|
||||||
|
.TP
|
||||||
|
\fB\\b\fR
|
||||||
|
backspace (0x08)
|
||||||
|
.TP
|
||||||
|
\fB\\a\fR
|
||||||
|
alarm, bell (0x07)
|
||||||
|
.TP
|
||||||
|
\fB\\e\fR
|
||||||
|
escape (0x1b)
|
||||||
|
.TP
|
||||||
|
\fB\\0\fR
|
||||||
|
binary zero (0x00)
|
||||||
|
|
||||||
|
.SS "Options"
|
||||||
|
.RB "The options " "gmisx" " are supported. " "e" " is not, since it would"
|
||||||
|
.RB "require a Perl interpreter and neither is " o ", because the pattern
|
||||||
|
is explicitly compiled, anyway. Additionally,
|
||||||
|
.SM PCRS
|
||||||
|
.RB "honors the options " "U" " and " "T" "."
|
||||||
|
Where
|
||||||
|
.SM PCRE
|
||||||
|
.RB "options are mentioned below, refer to " PCRE(3) " for the subtle differences"
|
||||||
|
to Perl behaviour.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B g
|
||||||
|
.RB "Replace " all " instances of"
|
||||||
|
.IR pattern " in " subject ,
|
||||||
|
not just the first one.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B i
|
||||||
|
.RI "Match the " pattern " without respect to case. This translates to"
|
||||||
|
.SM PCRE_CASELESS.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B m
|
||||||
|
.RI "Treat the " subject " as consisting of multiple lines, i.e."
|
||||||
|
.RB ' ^ "' matches immediately after, and '" $ "' immediately before each newline."
|
||||||
|
Translates to
|
||||||
|
.SM PCRE_MULTILINE.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B s
|
||||||
|
.RI "Treat the " subject " as consisting of one single line, i.e."
|
||||||
|
.RB "let the scope of the '" . "' metacharacter include newlines."
|
||||||
|
Translates to
|
||||||
|
.SM PCRE_DOTALL.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B x
|
||||||
|
.RI "Allow extended regular expression syntax in the " pattern ","
|
||||||
|
.RB "enabling whitespace and comments in complex patterns."
|
||||||
|
Translates to
|
||||||
|
.SM PCRE_EXTENDED.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B U
|
||||||
|
.RB "Switch the default behaviour of the '" * "' and '" + "' quantifiers"
|
||||||
|
.RB "to ungreedy. Note that appending a '" ? "' switches back to greedy(!)."
|
||||||
|
.RB "The explicit in-pattern switches " (?U) " and " (?-U) " remain unaffected."
|
||||||
|
Translates to
|
||||||
|
.SM PCRE_UNGREEDY.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B T
|
||||||
|
.RI "Consider the " substitute " trivial, i.e. do not interpret any references"
|
||||||
|
or special character escape sequences in the substitute. Handy for large
|
||||||
|
user-supplied substitutes, which would otherwise have to be examined and properly
|
||||||
|
quoted.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Unsupported options are silently ignored.
|
||||||
|
|
||||||
|
.SH EXECUTING JOBS
|
||||||
|
|
||||||
|
.RI "Calling " pcrs_execute() " produces a modified copy of the " subject ", in which"
|
||||||
|
.RB "the first (or all, if the '" g "' option was given when compiling the job)"
|
||||||
|
.RI "occurance(s) of the job's " pattern " in the " subject " is replaced by the job's"
|
||||||
|
.IR substitute .
|
||||||
|
|
||||||
|
.RI "The first " subject_length " bytes following " subject " are processed, so"
|
||||||
|
.RI "a " subject_length " that exceeds the actual " subject " is dangerous."
|
||||||
|
.RI "Note that for zero-terminated C strings, you should set " subject_length " to"
|
||||||
|
.BI strlen( subject ) \fR,
|
||||||
|
so that the dollar metacharacter matches at the end of the string, not after
|
||||||
|
the string-terminating null byte. For convenience, an extra null byte is
|
||||||
|
appended to the result so it can again be used as a string.
|
||||||
|
|
||||||
|
.RI "The " subject " itself is left untouched, and the " *result " is dynamically"
|
||||||
|
.RB "allocated, so it is the caller's responsibility to " free() " it when it's"
|
||||||
|
no longer needed.
|
||||||
|
|
||||||
|
.RI "The result's length (excluding the extra null byte) is written to " *result_length "."
|
||||||
|
|
||||||
|
.RB "If the job matched, the " PCRS_SUCCESS " flag in"
|
||||||
|
.IB job ->flags
|
||||||
|
is set.
|
||||||
|
|
||||||
|
|
||||||
|
.SS String subjects
|
||||||
|
If your
|
||||||
|
|
||||||
|
.SS Return value and diagnostics
|
||||||
|
|
||||||
|
.RB "On success, " pcrs_execute() " returns the number of substitutions that"
|
||||||
|
were made, which is limited to 0 or 1 for non-global searches.
|
||||||
|
.RI "On failure, a negative error code is returned and " result " is set"
|
||||||
|
.RB "to " NULL .
|
||||||
|
|
||||||
|
.SH FREEING JOBS
|
||||||
|
.RB "It is not sufficient to call " free() " on a " pcrs_job ", because it "
|
||||||
|
contains pointers to other dynamically allocated structures.
|
||||||
|
.RB "Use " pcrs_free_job() " instead. It is safe to pass " NULL " pointers "
|
||||||
|
.RB "(or pointers to invalid " pcrs_job "s that contain " NULL " pointers"
|
||||||
|
.RB "to dependant structures) to " pcrs_free_job() "."
|
||||||
|
|
||||||
|
.SS Return value
|
||||||
|
.RB "The value of the job's " next " pointer."
|
||||||
|
|
||||||
|
|
||||||
|
.SH CHAINING JOBS
|
||||||
|
|
||||||
|
.SM PCRS
|
||||||
|
.RB "supports to some extent the chaining of multiple " pcrs_job " structures by"
|
||||||
|
.RB "means of their " next " member."
|
||||||
|
|
||||||
|
Chaining the jobs is up to you, but once you have built a linked list of jobs,
|
||||||
|
.RI "you can execute a whole " joblist " on a given subject by"
|
||||||
|
.RB "a single call to " pcrs_execute_list() ", which will sequentially traverse"
|
||||||
|
.RB "the linked list until it reaches a " NULL " pointer, and call " pcrs_execute()
|
||||||
|
.RI "for each job it encounters, feeding the " result " and " result_length " of each"
|
||||||
|
.RI "call into the next as the " subject " and " subject_length ". As in the single"
|
||||||
|
.RI "job case, the original " subject " remains untouched, but all interim " result "s"
|
||||||
|
.RB "are of course " free() "d. The return value is the accumulated number of matches"
|
||||||
|
.RI "for all jobs in the " joblist "."
|
||||||
|
.RI "Note that while this is handy, it reduces the diagnostic value of " err ", since "
|
||||||
|
you won't know which job failed.
|
||||||
|
|
||||||
|
.RI "In analogy, you can free all jobs in a given " joblist " by calling"
|
||||||
|
.BR pcrs_free_joblist() .
|
||||||
|
|
||||||
|
.SH QUOTING
|
||||||
|
The quote character is (surprise!) '\fB\\\fR'. It quotes the delimiter in a
|
||||||
|
.IR command ", the"
|
||||||
|
.RB ' $ "' in a"
|
||||||
|
.IR substitute ", and, of course, itself. Note that the"
|
||||||
|
.RB ' $ "' doesn't need to be quoted if it isn't followed by " [0-9+'`&] "."
|
||||||
|
|
||||||
|
.RI "For quoting in the " pattern ", please refer to"
|
||||||
|
.BR PCRE(3) .
|
||||||
|
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
|
||||||
|
.RB "When " compiling " a job either via the " pcrs_compile() " or " pcrs_compile_command()
|
||||||
|
.RB "functions, you know that something went wrong when you are returned a " NULL " pointer."
|
||||||
|
.RI "In that case, or in the event of non-fatal warnings, the integer pointed to by " err
|
||||||
|
contains a nonzero error code, which is either a passed-through
|
||||||
|
.SM PCRE
|
||||||
|
error code or one generated by
|
||||||
|
.SM PCRS.
|
||||||
|
Under normal circumstances, it can take the following values:
|
||||||
|
.TP
|
||||||
|
.B PCRE_ERROR_NOMEMORY
|
||||||
|
While compiling the pattern,
|
||||||
|
.SM PCRE
|
||||||
|
ran out of memory.
|
||||||
|
.TP
|
||||||
|
.B PCRS_ERR_NOMEM
|
||||||
|
While compiling the job,
|
||||||
|
.SM PCRS
|
||||||
|
ran out of memory.
|
||||||
|
.TP
|
||||||
|
.B PCRS_ERR_CMDSYNTAX
|
||||||
|
.BR pcrs_compile_command() " didn't find four tokens while parsing the"
|
||||||
|
.IR command .
|
||||||
|
.TP
|
||||||
|
.B PCRS_ERR_STUDY
|
||||||
|
A
|
||||||
|
.SM PCRE
|
||||||
|
.RB "error occured while studying the compiled pattern. Since " pcre_study()
|
||||||
|
only provides textual diagnostic information, the details are lost.
|
||||||
|
.TP
|
||||||
|
.B PCRS_WARN_BADREF
|
||||||
|
.RI "The " substitute " contains a reference to a capturing subpattern that"
|
||||||
|
.RI "has a higher index than the number of capturing subpatterns in the " pattern
|
||||||
|
or that exceeds the current hard limit of 33 (See LIMITATIONS below). As in Perl,
|
||||||
|
this is non-fatal and results in substitutions with the empty string.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
.RB "When " executing " jobs via " pcrs_execute() " or " pcrs_execute_list() ","
|
||||||
|
.RI "a negative return code indicates an error. In that case, *" result
|
||||||
|
.RB "is " NULL ". Possible error codes are:"
|
||||||
|
.TP
|
||||||
|
.B PCRE_ERROR_NOMEMORY
|
||||||
|
While matching the pattern,
|
||||||
|
.SM PCRE
|
||||||
|
ran out of memory. This can only happen if there are more than 33 backrefrences
|
||||||
|
.RI "in the " pattern "(!)"
|
||||||
|
.BR and " memory is too tight to extend storage for more."
|
||||||
|
.TP
|
||||||
|
.B PCRS_ERR_NOMEM
|
||||||
|
While executing the job,
|
||||||
|
.SM PCRS
|
||||||
|
ran out of memory.
|
||||||
|
.TP
|
||||||
|
.B PCRS_ERR_BADJOB
|
||||||
|
.RB "The " pcrs_job "* passed to " pcrs_execute " was NULL, or the"
|
||||||
|
.RB "job is bogus (it contains " NULL " pointers to the compiled
|
||||||
|
pattern, extra, or substitute).
|
||||||
|
|
||||||
|
.PP
|
||||||
|
If you see any other
|
||||||
|
.SM PCRE
|
||||||
|
error code passed through, you've either messed with the compiled job
|
||||||
|
or found a bug in
|
||||||
|
.SM PCRS.
|
||||||
|
Please send me an email.
|
||||||
|
|
||||||
|
.RB "Ah, and don't look for " PCRE_ERROR_NOMATCH ", since this"
|
||||||
|
is not an error in the context of
|
||||||
|
.SM PCRS.
|
||||||
|
.RI "Should there be no match, an exact copy of the " subject " is"
|
||||||
|
.RI "found at *" result " and the return code is 0 (matches)."
|
||||||
|
|
||||||
|
All error codes can be translated into human readable text by means
|
||||||
|
.RB "of the " pcrs_strerror() " function."
|
||||||
|
|
||||||
|
|
||||||
|
.SH EXAMPLE
|
||||||
|
A trivial command-line test program for
|
||||||
|
.SM PCRS
|
||||||
|
might look like:
|
||||||
|
|
||||||
|
.nf
|
||||||
|
#include <pcrs.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(int Argc, char **Argv)
|
||||||
|
{
|
||||||
|
pcrs_job *job;
|
||||||
|
char *result;
|
||||||
|
size_t newsize;
|
||||||
|
int err;
|
||||||
|
|
||||||
|
if (Argc != 3)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Usage: %s s/pattern/substitute/[options] subject\\n", Argv[0]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NULL == (job = pcrs_compile_command(Argv[1], &err)))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: compile error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 > (err = pcrs_execute(job, Argv[2], strlen(Argv[2]), &result, &newsize)))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "%s: exec error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Result: *%s*\\n", result);
|
||||||
|
free(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
pcrs_free_job(job);
|
||||||
|
return(err < 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.fi
|
||||||
|
|
||||||
|
|
||||||
|
.SH LIMITATIONS
|
||||||
|
The number of matches that a global job can have is only limited by the
|
||||||
|
available memory. An initial storage for 40 matches is reserved, which
|
||||||
|
is dynamically resized by the factor 1.6 whenever it is exhausted.
|
||||||
|
|
||||||
|
The number of capturing subpatterns is currently limited to 33, which
|
||||||
|
is a Bad Thing[tm]. It should be dynamically expanded until it reaches the
|
||||||
|
.SM PCRE
|
||||||
|
limit of 99.
|
||||||
|
.br
|
||||||
|
This limitation is particularly embarassing since
|
||||||
|
.SM PCRE
|
||||||
|
3.5 has raised the capturing subpattern limit to 65K.
|
||||||
|
|
||||||
|
All of the above values can be adjusted in the "Capacity" section
|
||||||
|
.RB "of " pcrs.h "."
|
||||||
|
|
||||||
|
The Perl-style escape sequences for special characters \\\fInnn\fR,
|
||||||
|
\\x\fInn\fR, and \\c\fIX\fR are currently unsupported.
|
||||||
|
|
||||||
|
.SH BUGS
|
||||||
|
This library has only been tested in the context of one application
|
||||||
|
and should be considered high risk.
|
||||||
|
|
||||||
|
.SH HISTORY
|
||||||
|
.SM PCRS
|
||||||
|
was originally written for the Privoxy project
|
||||||
|
(http://www.privoxy.org/).
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.B PCRE(3), perl(1), perlre(1)
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
|
||||||
|
.SM PCRS
|
||||||
|
is Copyright 2000 - 2003 by Andreas Oesterhelt <andreas@oesterhelt.org> and is
|
||||||
|
licensed under the terms of the GNU Lesser General Public License (LGPL),
|
||||||
|
version 2.1, which should be included in this distribution, with the exception
|
||||||
|
that the permission to replace that license with the GNU General Public
|
||||||
|
License (GPL) given in section 3 is restricted to version 2 of the GPL.
|
||||||
|
|
||||||
|
If it is missing from this distribution, the LGPL can be obtained from
|
||||||
|
http://www.gnu.org/licenses/lgpl.html or by mail: Write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
@ -0,0 +1,67 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/authors.sgml,v $
|
||||||
|
|
||||||
|
Purpose : AUTHORS file for Privoxy
|
||||||
|
|
||||||
|
$Id: authors.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
|
||||||
|
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: Please read developer-manual/documentation.html before touching
|
||||||
|
anything in this, or other Privoxy documentation. You have been warned!
|
||||||
|
Failure to abide by this rule will result in the revocation of your license
|
||||||
|
to live a peaceful existence!
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
===================================================================
|
||||||
|
READ: Document Note: This file generates the AUTHORS file in the
|
||||||
|
top level source directory. See p-authors.sgml for list of developers
|
||||||
|
and contributors, etc. They were split from here for use in man page.
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
-->
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
|
<!entity % dummy "IGNORE">
|
||||||
|
<!entity authors SYSTEM "p-authors.sgml">
|
||||||
|
<!entity p-version "3.0.11">
|
||||||
|
<!entity p-status "stable">
|
||||||
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
<!entity % p-stable "INCLUDE">
|
||||||
|
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
|
||||||
|
<!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc -->
|
||||||
|
]>
|
||||||
|
|
||||||
|
<article id="index">
|
||||||
|
|
||||||
|
<![%dummy;[
|
||||||
|
<para>
|
||||||
|
<comment>
|
||||||
|
This is here to keep vim syntax file from breaking :/
|
||||||
|
If I knew enough to fix it, I would.
|
||||||
|
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
||||||
|
</comment>
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
Authors of <application>Privoxy</application> v2.9.x and 3.x
|
||||||
|
===========================================================================
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<!-- include boilerplate p-authors.sgml -->
|
||||||
|
&authors;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If we've missed you off this list, please let us know!
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
Privoxy team. <ulink url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>
|
||||||
|
<email>ijbswa-developers@lists.sourceforge.net</email>
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
</article>
|
|
@ -0,0 +1,256 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: buildsource.sgml,v 2.18 2009/02/23 09:03:12 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
user-manual
|
||||||
|
INSTALL
|
||||||
|
|
||||||
|
-->
|
||||||
|
<para>
|
||||||
|
To build <application>Privoxy</application> from source,
|
||||||
|
<ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>,
|
||||||
|
<ulink
|
||||||
|
url="http://www.gnu.org/software/make/make.html">GNU make
|
||||||
|
(gmake)</ulink>, and, of course, a C compiler like <ulink
|
||||||
|
url="http://www.gnu.org/software/gcc/gcc.html">gcc</ulink> are required.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
When building from a source tarball,
|
||||||
|
<!--
|
||||||
|
no longer available ...
|
||||||
|
<ulink
|
||||||
|
url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS
|
||||||
|
tarball</ulink>),
|
||||||
|
--> first unpack the source:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen>
|
||||||
|
tar xzvf privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>-src.tar.gz
|
||||||
|
cd privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>
|
||||||
|
</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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
|
||||||
|
stable, or well tested. To download CVS source, check the Sourceforge
|
||||||
|
documentation, which might give commands like:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen>
|
||||||
|
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
|
||||||
|
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
||||||
|
cd current
|
||||||
|
</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This will create a directory named <filename>current/</filename>, which will
|
||||||
|
contain the source tree.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You can also check out any <application>Privoxy</application>
|
||||||
|
<quote>branch</quote>, just exchange the <application>current</application>
|
||||||
|
name with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs
|
||||||
|
tree).
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is also strongly recommended to not run <application>Privoxy</application>
|
||||||
|
as root. You should configure/install/run <application>Privoxy</application> as
|
||||||
|
an unprivileged user, preferably by creating a <quote>privoxy</quote> user
|
||||||
|
and group just for this purpose. See your local documentation for the correct
|
||||||
|
command line to do add new users and groups (something like
|
||||||
|
<command>adduser</command>, but the command syntax may vary from platform
|
||||||
|
to platform).
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<filename>/etc/passwd</filename> might then look like:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen> privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
And then <filename>/etc/group</filename>, like:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen> privoxy:*:7777:</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Some binary packages may do this for you.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Then, to build from either unpacked tarball or CVS source:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen>
|
||||||
|
autoheader
|
||||||
|
autoconf
|
||||||
|
./configure # (--help to see options)
|
||||||
|
make # (the make from GNU, sometimes called gmake)
|
||||||
|
su # Possibly required
|
||||||
|
make -n install # (to see where all the files will go)
|
||||||
|
make -s install # (to really install, -s to silence output)</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Using GNU <command>make</command>, you can have the first four steps
|
||||||
|
automatically done for you by just typing:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen>
|
||||||
|
make
|
||||||
|
</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
in the freshly downloaded or unpacked source directory.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
To build an executable with security enhanced features so that
|
||||||
|
users cannot easily bypass the proxy (e.g. <quote>Go There Anyway</quote>), or
|
||||||
|
alter their own configurations, <command>configure</command> like this:
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<screen>
|
||||||
|
./configure --disable-toggle --disable-editor --disable-force</screen>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Then build as above. In Privoxy 3.0.7 and later, all of these options
|
||||||
|
can also be disabled through the configuration file.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<emphasis>WARNING:</emphasis> If installing as root, the install will fail
|
||||||
|
unless a non-root user or group is specified, or a <literal>privoxy</literal>
|
||||||
|
user and group already exist on the system. If a non-root user is specified,
|
||||||
|
and no group, then the installation will try to also use a group of the same name
|
||||||
|
as <quote>user</quote>. If a group is specified (and no user), then the
|
||||||
|
support files will be installed as writable by that group, and owned by the
|
||||||
|
user running the installation.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>configure</command> accepts <literal>--with-user</literal> and
|
||||||
|
<literal>--with-group</literal> options for setting user and group ownership
|
||||||
|
of the configuration files (which need to be writable by the daemon). The
|
||||||
|
specified <emphasis>user must already exist</emphasis>. When starting
|
||||||
|
<application>Privoxy</application>, it must be run as this same user to
|
||||||
|
insure write access to configuration and log files!
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Alternately, you can specify <literal>user</literal> and <literal>group</literal>
|
||||||
|
on the <command>make</command> command line, but be sure both already exist:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<screen>
|
||||||
|
make -s install USER=privoxy GROUP=privoxy</screen>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The default installation path for <command>make install</command> is
|
||||||
|
<filename>/usr/local</filename>. This may of course be customized with
|
||||||
|
the various <command>./configure</command> path options. If you are doing
|
||||||
|
an install to anywhere besides <filename>/usr/local</filename>, be
|
||||||
|
sure to set the appropriate paths with the correct configure options
|
||||||
|
(<command>./configure --help</command>). Non-privileged users must of course
|
||||||
|
have write access permissions to wherever the target installation is going.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If you do install to <filename>/usr/local</filename>, the install will use
|
||||||
|
<literal>sysconfdir=$prefix/etc/privoxy</literal> by default. All other
|
||||||
|
destinations, and the direct usage of <literal>--sysconfdir</literal> flag
|
||||||
|
behave like normal, i.e. will not add the extra <filename>privoxy</filename>
|
||||||
|
directory. This is for a safer install, as there may already exist another
|
||||||
|
program that uses a file with the <quote>config</quote> name, and thus makes
|
||||||
|
<filename>/usr/local/etc</filename> cleaner.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If installing to <filename>/usr/local</filename>, the documentation will go
|
||||||
|
by default to <filename>$prefix/share/doc</filename>. But if this directory
|
||||||
|
doesn't exist, it will then try <filename>$prefix/doc</filename> and install
|
||||||
|
there before creating a new <filename>$prefix/share/doc</filename> just for
|
||||||
|
<application>Privoxy</application>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Again, if the installs goes to <filename>/usr/local</filename>, the
|
||||||
|
<literal>localstatedir</literal> (ie: <filename>var/</filename>) will default
|
||||||
|
to <filename>/var</filename> instead of <literal>$prefix/var</literal> so
|
||||||
|
the logs will go to <filename>/var/log/privoxy/</filename>, and the pid file
|
||||||
|
will be created in <filename>/var/run/privoxy.pid</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>make install</command> will attempt to set the correct values
|
||||||
|
in <filename>config</filename> (main configuration file). You should
|
||||||
|
check this to make sure all values are correct. If appropriate,
|
||||||
|
an init script will be installed, but it is up to the user to determine
|
||||||
|
how and where to start <application>Privoxy</application>. The init
|
||||||
|
script should be checked for correct paths and values, if anything other than
|
||||||
|
a default install is done.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If install finds previous versions of local configuration files, most of
|
||||||
|
these will not be overwritten, and the new ones will be installed with a
|
||||||
|
<quote>new</quote> extension. default.action and default.filter
|
||||||
|
<emphasis>will be overwritten</emphasis>. You will then need
|
||||||
|
to manually update the other installed configuration files as needed. The
|
||||||
|
default template files <emphasis>will</emphasis> be overwritten. If you have
|
||||||
|
customized, local templates, these should be stored safely in a separate
|
||||||
|
directory and defined in <filename>config</filename> by the
|
||||||
|
<quote>templdir</quote> directive. It is of course wise to always back-up any
|
||||||
|
important configuration files <quote>just in case</quote>. If a previous
|
||||||
|
version of <application>Privoxy</application> is already running, you will
|
||||||
|
have to restart it manually.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
For more detailed instructions on how to build Redhat RPMs,
|
||||||
|
Windows self-extracting installers, building on platforms with
|
||||||
|
special requirements etc, please consult the <ulink
|
||||||
|
url="http://www.privoxy.org/developer-manual/newrelease.html">developer manual</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<!-- print for README only -->
|
||||||
|
<!-- Actually this is now in INSTALL -->
|
||||||
|
<![%p-readme;[
|
||||||
|
<para>
|
||||||
|
The simplest command line to start <application>Privoxy</application> is
|
||||||
|
<command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>.
|
||||||
|
See <command>privoxy --usage</command>, or the man page, for other options,
|
||||||
|
and configuration.
|
||||||
|
</para>
|
||||||
|
]]>
|
|
@ -0,0 +1,36 @@
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
|
||||||
|
<!entity % dummy "IGNORE">
|
||||||
|
<!entity config SYSTEM "p-config.sgml">
|
||||||
|
<!entity p-version "3.0.11">
|
||||||
|
<!entity p-status "stable">
|
||||||
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
<!entity % user-man "IGNORE">
|
||||||
|
<!entity % config-file "IGNORE">
|
||||||
|
<!entity my-app "<application>Privoxy</application>">
|
||||||
|
]>
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/config.sgml,v $
|
||||||
|
|
||||||
|
Purpose : config file generation
|
||||||
|
|
||||||
|
$Id: config.sgml,v 2.12 2009/02/12 16:08:26 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: Please read developer-manual/documentation.html before touching
|
||||||
|
anything in this, or other Privoxy documentation.
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
This file is used to generate the main Privoxy config file. It is mostly
|
||||||
|
content included from p-config.sgml (where all the data is). See that
|
||||||
|
file for more comments.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<!-- include config.sgml -->
|
||||||
|
&config;
|
||||||
|
<!-- end include -->
|
||||||
|
</article>
|
|
@ -0,0 +1,262 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/contacting.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: contacting.sgml,v 2.14 2008/04/26 11:38:51 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
faq
|
||||||
|
developer-manual
|
||||||
|
README
|
||||||
|
user-manual
|
||||||
|
webserver/index.sgml
|
||||||
|
announce.sgml
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- READ: -->
|
||||||
|
<!-- Careful of the literallayout tags and finished formatting -->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
We value your feedback. In fact, we rely on it to improve
|
||||||
|
<application>Privoxy</application> and its configuration.
|
||||||
|
However, please note the following hints, so we can
|
||||||
|
provide you with the best support:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2 id="contact-support"><title>Get Support</title>
|
||||||
|
<para>
|
||||||
|
For casual users, our
|
||||||
|
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=211118">support forum at SourceForge</ulink>
|
||||||
|
is probably best suited:
|
||||||
|
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=211118">http://sourceforge.net/tracker/?group_id=11118&atid=211118</ulink>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
All users are of course welcome to discuss their issues on the <ulink
|
||||||
|
url="http://lists.sourceforge.net/lists/listinfo/ijbswa-users">users
|
||||||
|
mailing list</ulink>, where the developers also hang around.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Please don't sent private support requests to individual Privoxy
|
||||||
|
developers, either use the mailing lists or the support trackers.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
|
delay of several days and if you use a subject that doesn't clearly
|
||||||
|
mention Privoxy or one of its features, your message may be accidentally
|
||||||
|
discarded as spam.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If you aren't subscribed, you should therefore spend a few seconds
|
||||||
|
to come up with a proper subject. Additionally you should make it clear
|
||||||
|
that you want to get CC'd. Otherwise some responses will be directed to
|
||||||
|
the mailing list only, and you won't see them.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 id="reporting"><title>Reporting Problems</title>
|
||||||
|
<para>
|
||||||
|
<quote>Problems</quote> for our purposes, come in two forms:
|
||||||
|
</para>
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Configuration issues, such as ads that slip through, or sites that
|
||||||
|
don't function properly due to one <application>Privoxy</application>
|
||||||
|
<quote>action</quote> or another being turned <quote>on</quote>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<quote>Bugs</quote> in the programming code that makes up
|
||||||
|
<application>Privoxy</application>, such as that might cause a crash.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
|
||||||
|
<sect3 id="contact-ads"><title>Reporting Ads or Other Configuration Problems</title>
|
||||||
|
<para>
|
||||||
|
Please send feedback on ads that slipped through, innocent images that were
|
||||||
|
blocked, sites that don't work properly, and other configuration related problem of
|
||||||
|
<filename>default.action</filename> file, to
|
||||||
|
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=460288">
|
||||||
|
http://sourceforge.net/tracker/?group_id=11118&atid=460288</ulink>,
|
||||||
|
the Actions File Tracker.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
New, improved <filename>default.action</filename> files may occasionally be made
|
||||||
|
available based on your feedback. These will be announced on the <ulink
|
||||||
|
url="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce">ijbswa-announce</ulink>
|
||||||
|
list and available from our the <ulink
|
||||||
|
url="http://sourceforge.net/project/showfiles.php?group_id=11118">files section</ulink> of
|
||||||
|
our <ulink url="http://sf.net/projects/ijbswa/">project page</ulink>.
|
||||||
|
</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
|
||||||
|
<sect3 id="contact-bugs"><title>Reporting Bugs</title>
|
||||||
|
<para>
|
||||||
|
Please report all bugs through our bug tracker:
|
||||||
|
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=111118">http://sourceforge.net/tracker/?group_id=11118&atid=111118</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Before doing so, please make sure that the bug has <emphasis>not already been submitted</emphasis>
|
||||||
|
and observe the additional hints at the top of the <ulink
|
||||||
|
url="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118">submit
|
||||||
|
form</ulink>. If already submitted, please feel free to add any info to the
|
||||||
|
original report that might help to solve the issue.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Please try to verify that it is a <application>Privoxy</application> bug,
|
||||||
|
and not a browser or site bug or documented behaviour that just happens
|
||||||
|
to be different than what you expected. If unsure,
|
||||||
|
try <ulink url="http://config.privoxy.org/toggle?set=disable">toggling
|
||||||
|
off</ulink> <application>Privoxy</application>, and see if the problem persists.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If you are using your own custom configuration, please try
|
||||||
|
the stock configs to see if the problem is configuration related.
|
||||||
|
If you're having problems with a feature that is disabled by default,
|
||||||
|
please ask around on the mailing list if others can reproduce the problem.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If you aren't using the latest Privoxy version, the bug may have been found
|
||||||
|
and fixed in the meantime. We would appreciate if you could take the time
|
||||||
|
to <ulink url="http://www.privoxy.org/user-manual/installation.html">upgrade
|
||||||
|
to the latest version</ulink> (or even the latest CVS snapshot) and verify
|
||||||
|
that your bug still exists.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Please be sure to provide the following information:
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The exact <application>Privoxy</application> version you are using
|
||||||
|
(if you got the source from CVS, please also provide the source code revisions
|
||||||
|
as shown in <ulink url="http://config.privoxy.org/show-version">http://config.privoxy.org/show-version</ulink>).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The operating system and versions you run
|
||||||
|
<application>Privoxy</application> on, (e.g. <application>Windows
|
||||||
|
XP SP2</application>), if you are using a Unix flavor,
|
||||||
|
sending the output of <quote>uname -a</quote> should do,
|
||||||
|
in case of GNU/Linux, please also name the distribution.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The name, platform, and version of the <application>browser</application>
|
||||||
|
you were using (e.g. <application>Internet Explorer v5.5</application> for Mac).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The URL where the problem occurred, or some way for us to duplicate the
|
||||||
|
problem (e.g. <literal>http://somesite.example.com/?somethingelse=123</literal>).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Whether your version of <application>Privoxy</application> is one supplied
|
||||||
|
by the <application>Privoxy</application> developers via SourceForge,
|
||||||
|
or if you got your copy somewhere else.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Whether you are using <application>Privoxy</application> in tandem with
|
||||||
|
another proxy such as <application>Tor</application>. If so, please
|
||||||
|
temporary disable the other proxy to see if the symptoms change.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Whether you are using a personal firewall product. If so, does
|
||||||
|
<application>Privoxy</application> work without it?
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Any other pertinent information to help identify the problem such as config
|
||||||
|
or log file excerpts (yes, you should have log file entries for each
|
||||||
|
action taken).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Please also check the status of your request a few days after submitting
|
||||||
|
it, as we may request additional information. If you use a SF id,
|
||||||
|
you should automatically get a mail when someone responds to your request.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <ulink url="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT">appendix
|
||||||
|
of the Privoxy User Manual</ulink> also has helpful information
|
||||||
|
on understanding <literal>actions</literal>, and <literal>action</literal> debugging.
|
||||||
|
</para>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 id="contact-feature"><title>Request New Features</title>
|
||||||
|
<para>
|
||||||
|
You are welcome to submit ideas on new features or other proposals
|
||||||
|
for improvement through our feature request tracker at
|
||||||
|
<ulink url="http://sourceforge.net/tracker/?atid=361118&group_id=11118">http://sourceforge.net/tracker/?atid=361118&group_id=11118</ulink>.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 id="contact-other"><title>Other</title>
|
||||||
|
<para>
|
||||||
|
For any other issues, feel free to use the mailing lists. Technically interested users
|
||||||
|
and people who wish to contribute to the project are also welcome on the developers list!
|
||||||
|
You can find an overview of all <application>Privoxy</application>-related mailing lists,
|
||||||
|
including list archives, at:
|
||||||
|
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
|
@ -0,0 +1,47 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/copyright.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: copyright.sgml,v 2.10 2009/02/10 16:13:30 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
privoxy-man-page
|
||||||
|
user-manual
|
||||||
|
developer-manual
|
||||||
|
faq
|
||||||
|
|
||||||
|
**************************************************************
|
||||||
|
NOTE: the &my-copy entity must be defined in any file that will
|
||||||
|
include this file. (This is a workaround for docbook2man not
|
||||||
|
handling the standard © entity in the man page processing.)
|
||||||
|
**************************************************************
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
GFDL:
|
||||||
|
http://www.gnu.org/licenses/fdl.html
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Copyright &my-copy; 2001-2009 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Some source code is based on code Copyright &my-copy; 1997 by Anonymous Coders
|
||||||
|
and Junkbusters, Inc. and licensed under the <citetitle>GNU General Public
|
||||||
|
License</citetitle>.
|
||||||
|
</para>
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/history.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: history.sgml,v 2.7 2009/02/22 11:05:21 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
user-manual
|
||||||
|
developer-manual
|
||||||
|
faq
|
||||||
|
webserver/index.sgml
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A long time ago, there was the
|
||||||
|
<ulink url="http://www.junkbusters.com/ijb.html"><application>Internet Junkbuster</application></ulink>,
|
||||||
|
by Anonymous Coders and <ulink url="http://www.junkbusters.com/">Junkbusters
|
||||||
|
Corporation</ulink>. This saved many users a lot of pain in the early days of
|
||||||
|
web advertising and user tracking.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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 <application>Internet
|
||||||
|
Junkbuster</application> did not. Version 2.0.2, published in 1998, was
|
||||||
|
(and is) the last official
|
||||||
|
<ulink url="http://www.junkbusters.com/ijbdist.html#release">release</ulink>
|
||||||
|
available from <ulink url="http://www.junkbusters.com">Junkbusters Corporation</ulink>.
|
||||||
|
Fortunately, it had been released under the GNU
|
||||||
|
<ulink url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPL</ulink>,
|
||||||
|
which allowed further development by others.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Then, some
|
||||||
|
<ulink url="http://www.privoxy.org/user-manual/copyright.html#AUTHORS">developers</ulink>
|
||||||
|
picked up the thread, and started turning the software inside out, upside down,
|
||||||
|
and then reassembled it, adding many
|
||||||
|
<ulink url="http://www.privoxy.org/user-manual/introduction.html#FEATURES">new
|
||||||
|
features</ulink> along the way.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The result of this is <application>Privoxy</application>, whose first
|
||||||
|
stable version, 3.0, was released August, 2002.
|
||||||
|
<!-- Cautious!!!!!!!!! ;) -->
|
||||||
|
</para>
|
|
@ -0,0 +1,106 @@
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
|
<!entity % dummy "IGNORE">
|
||||||
|
<!entity buildsource SYSTEM "buildsource.sgml">
|
||||||
|
<!entity p-version "3.0.11">
|
||||||
|
<!entity p-status "stable">
|
||||||
|
<!entity % p-stable "INCLUDE">
|
||||||
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
<!entity % p-alpha "IGNORE">
|
||||||
|
<!entity % p-beta "IGNORE">
|
||||||
|
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
|
||||||
|
<!entity % p-doc "IGNORE"> <!-- and never a text doc -->
|
||||||
|
<!entity % p-readme "INCLUDE"> <!-- This is now in INSTALL -->
|
||||||
|
]>
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
|
||||||
|
|
||||||
|
Purpose : INSTALL file for Privoxy
|
||||||
|
|
||||||
|
$Id: install.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: Please read developer-manual/documentation.html before touching
|
||||||
|
anything in this, or other Privoxy documentation. You have been warned!
|
||||||
|
Failure to abide by this rule will result in the revocation of your license
|
||||||
|
to live a peaceful existence!
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
===================================================================
|
||||||
|
READ: Document Note: This file generates the INSTALL file in the top level
|
||||||
|
source directory. It is generated as only a plain text file. The current
|
||||||
|
markup is not suitable for other formats. Build from Makefile with 'make
|
||||||
|
dok-readme'.
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
-->
|
||||||
|
<article id="index">
|
||||||
|
<artheader>
|
||||||
|
<![%dummy;[
|
||||||
|
<para>
|
||||||
|
<comment>
|
||||||
|
This is here to keep vim syntax file from breaking :/
|
||||||
|
If I knew enough to fix it, I would.
|
||||||
|
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
||||||
|
</comment>
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
<abstract>
|
||||||
|
<para>
|
||||||
|
<literal>
|
||||||
|
<msgtext>
|
||||||
|
<literallayout>
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
|
||||||
|
*
|
||||||
|
* Purpose : INSTALL file to help with installing from source.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2009 the
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
</literallayout>
|
||||||
|
</msgtext>
|
||||||
|
</literal>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</abstract>
|
||||||
|
</artheader>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<msgtext>
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<!-- include buildsource.sgml boilerplate: -->
|
||||||
|
&buildsource;
|
||||||
|
<!-- end boilderplate -->
|
||||||
|
</msgtext>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
|
@ -0,0 +1,420 @@
|
||||||
|
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||||
|
<!ENTITY % html "IGNORE">
|
||||||
|
<![%html;[
|
||||||
|
<!ENTITY % print "IGNORE">
|
||||||
|
<!ENTITY docbook.dsl SYSTEM "none/html/docbook.dsl" CDATA dsssl>
|
||||||
|
]]>
|
||||||
|
<!ENTITY % print "INCLUDE">
|
||||||
|
<![%print;[
|
||||||
|
<!ENTITY docbook.dsl SYSTEM "none/print/docbook.dsl" CDATA dsssl>
|
||||||
|
]]>
|
||||||
|
]>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
;; borrowed from the LDP stylesheet, with modifications, HB.
|
||||||
|
;; Added support for css 03/20/02, and other mods.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<style-sheet>
|
||||||
|
|
||||||
|
<style-specification id="print" use="docbook">
|
||||||
|
<style-specification-body>
|
||||||
|
|
||||||
|
;; ==============================
|
||||||
|
;; customize the print stylesheet
|
||||||
|
;; ==============================
|
||||||
|
;;
|
||||||
|
;; see http://docbook.sourceforge.net/projects/dsssl/doc/print.html
|
||||||
|
;;
|
||||||
|
|
||||||
|
(define %indent-screen-lines%
|
||||||
|
;; Indent lines in a 'Screen'?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %callout-fancy-bug%
|
||||||
|
;; Use fancy callout bugs?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %chap-app-running-heads%
|
||||||
|
;; Generate running headers and footers on chapter-level elements?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %chap-app-running-head-autolabel%
|
||||||
|
;; Put chapter labels in running heads?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; this is necessary because right now jadetex does not understand
|
||||||
|
;; symbolic entities, whereas things work well with numeric entities.
|
||||||
|
(declare-characteristic preserve-sdata?
|
||||||
|
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;; put the legal notice in a separate file
|
||||||
|
(define %generate-legalnotice-link%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; use graphics in admonitions, and have their path be "stylesheet-images"
|
||||||
|
;; NO: they do not yet look very good
|
||||||
|
(define %admon-graphics-path%
|
||||||
|
"./stylesheet-images/")
|
||||||
|
|
||||||
|
(define %admon-graphics%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
(define %funcsynopsis-decoration%
|
||||||
|
;; make funcsynopsis look pretty
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;(define %shade-verbatim%
|
||||||
|
;; #t)
|
||||||
|
|
||||||
|
(define %section-autolabel% #t)
|
||||||
|
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
||||||
|
|
||||||
|
;; HB changed TOC depth to 3 levels.
|
||||||
|
(define (toc-depth nd)
|
||||||
|
3)
|
||||||
|
|
||||||
|
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(define %body-attr%
|
||||||
|
;; REFENTRY body-attr
|
||||||
|
;; PURP What attributes should be hung off of BODY?
|
||||||
|
;; DESC
|
||||||
|
;; A list of the the BODY attributes that should be generated.
|
||||||
|
;; The format is a list of lists, each interior list contains the
|
||||||
|
;; name and value of a BODY attribute.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
(list
|
||||||
|
(list "BGCOLOR" "#EEEEEE")
|
||||||
|
(list "TEXT" "#000000")
|
||||||
|
(list "LINK" "#0000FF")
|
||||||
|
(list "VLINK" "#840084")
|
||||||
|
(list "ALINK" "#0000FF")))
|
||||||
|
|
||||||
|
(define %stylesheet%
|
||||||
|
;; REFENTRY stylesheet
|
||||||
|
;; PURP Name of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
|
||||||
|
;; suppress the stylesheet LINK.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"../p_doc.css")
|
||||||
|
|
||||||
|
(define %stylesheet-type%
|
||||||
|
;; REFENTRY stylesheet-type
|
||||||
|
;; PURP The type of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The type of the stylesheet to place in the HTML LINK TAG.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"text/css")
|
||||||
|
|
||||||
|
(define %css-liststyle-alist%
|
||||||
|
;; REFENTRY css-liststyle-alist
|
||||||
|
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then the list-style-type property of
|
||||||
|
;; list items will be set to reflect the list item style selected in the
|
||||||
|
;; DocBook instance. This associative list maps the style type names used
|
||||||
|
;; in your instance to the appropriate CSS names. If no mapping exists,
|
||||||
|
;; the name from the instance will be used.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
'(("bullet" "disc")
|
||||||
|
("box" "square")))
|
||||||
|
|
||||||
|
(define %css-decoration%
|
||||||
|
;; REFENTRY css-decoration
|
||||||
|
;; PURP Enable CSS decoration of elements
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then HTML elements produced by the
|
||||||
|
;; stylesheet may be decorated with STYLE attributes. For example, the
|
||||||
|
;; LI tags produced for list items may include a fragment of CSS in the
|
||||||
|
;; STYLE attribute which sets the CSS property "list-style-type".
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; swa1
|
||||||
|
|
||||||
|
(define %generate-part-toc%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
(define %generate-article-toc%
|
||||||
|
;; Should a Table of Contents be produced for Articles?
|
||||||
|
;; If true, a Table of Contents will be generated for each 'Article'.
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %generate-part-toc-on-titlepage%
|
||||||
|
;; Should the Part TOC appear on the Part title page?
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;;Do you want a separate page for the title?
|
||||||
|
(define %generate-article-titlepage-on-separate-page%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;Do you want the article toc on the titlepage or separate?
|
||||||
|
(define %generate-article-toc-on-titlepage%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;;Titlepage Separate?
|
||||||
|
;; This is the one that makes TOC only on first page!! hal.
|
||||||
|
(define (chunk-skip-first-element-list)
|
||||||
|
'())
|
||||||
|
|
||||||
|
(define %body-start-indent%
|
||||||
|
;; Default indent of body text
|
||||||
|
2pi)
|
||||||
|
|
||||||
|
(define %para-indent-firstpara%
|
||||||
|
;; First line start-indent for the first paragraph
|
||||||
|
0pt)
|
||||||
|
|
||||||
|
;; swa2
|
||||||
|
|
||||||
|
(define %para-indent%
|
||||||
|
;; First line start-indent for paragraphs (other than the first)
|
||||||
|
0pt)
|
||||||
|
|
||||||
|
(define %block-start-indent%
|
||||||
|
;; Extra start-indent for block-elements
|
||||||
|
2pt)
|
||||||
|
|
||||||
|
;;Define distance between paragraphs
|
||||||
|
(define %para-sep%
|
||||||
|
(/ %bf-size% 2.0))
|
||||||
|
|
||||||
|
;; with swa2 no effects
|
||||||
|
|
||||||
|
;; swa3
|
||||||
|
|
||||||
|
;;Define distance between block elements (figures, tables, etc.).
|
||||||
|
(define %block-sep%
|
||||||
|
(* %para-sep% 1.0))
|
||||||
|
;; (* %para-sep% 2.0))
|
||||||
|
|
||||||
|
(define %hyphenation%
|
||||||
|
;; Allow automatic hyphenation?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %left-margin% 5pi)
|
||||||
|
(define %right-margin% 5pi)
|
||||||
|
(define %top-margin% 5pi)
|
||||||
|
(define %bottom-margin% 5pi)
|
||||||
|
(define %footer-margin% 2pi)
|
||||||
|
(define %header-margin% 2pi)
|
||||||
|
|
||||||
|
(define %line-spacing-factor% 1.3)
|
||||||
|
;; Factor used to calculate leading
|
||||||
|
;; The leading is calculated by multiplying the current font size by the
|
||||||
|
;; '%line-spacing-factor%'. For example, if the font size is 10pt and
|
||||||
|
;; the '%line-spacing-factor%' is 1.1, then the text will be
|
||||||
|
;; printed "10-on-11".
|
||||||
|
|
||||||
|
(define %head-before-factor%
|
||||||
|
;; Factor used to calculate space above a title
|
||||||
|
;; The space before a title is calculated by multiplying the font size
|
||||||
|
;; used in the title by the '%head-before-factor%'.
|
||||||
|
;; 0.75)
|
||||||
|
0.5)
|
||||||
|
|
||||||
|
(define %head-after-factor%
|
||||||
|
;; Factor used to calculate space below a title
|
||||||
|
;; The space after a title is calculated by multiplying the font size used
|
||||||
|
;; in the title by the '%head-after-factor%'.
|
||||||
|
0.5)
|
||||||
|
|
||||||
|
(define %input-whitespace-treatment% 'collapse)
|
||||||
|
|
||||||
|
(define ($generate-article-lot-list$)
|
||||||
|
;; Which Lists of Titles should be produced for Articles?
|
||||||
|
(list ))
|
||||||
|
|
||||||
|
|
||||||
|
</style-specification-body>
|
||||||
|
</style-specification>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
;; ===================================================
|
||||||
|
;; customize the html stylesheet; borrowed from Cygnus
|
||||||
|
;; at http://sourceware.cygnus.com/ (cygnus-both.dsl)
|
||||||
|
;; ===================================================
|
||||||
|
-->
|
||||||
|
|
||||||
|
<style-specification id="html" use="docbook">
|
||||||
|
<style-specification-body>
|
||||||
|
|
||||||
|
;; this is necessary because right now jadetex does not understand
|
||||||
|
;; symbolic entities, whereas things work well with numeric entities.
|
||||||
|
(declare-characteristic preserve-sdata?
|
||||||
|
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;; put the legal notice in a separate file
|
||||||
|
(define %generate-legalnotice-link%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; use graphics in admonitions, and have their path be "stylesheet-images"
|
||||||
|
;; NO: they do not yet look very good
|
||||||
|
(define %admon-graphics-path%
|
||||||
|
"./stylesheet-images/")
|
||||||
|
|
||||||
|
(define %admon-graphics%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
(define %funcsynopsis-decoration%
|
||||||
|
;; make funcsynopsis look pretty
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %html-ext%
|
||||||
|
".html")
|
||||||
|
|
||||||
|
(define %generate-article-toc%
|
||||||
|
;; Should a Table of Contents be produced for Articles?
|
||||||
|
;; If true, a Table of Contents will be generated for each 'Article'.
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; HB added next three statements 05/03/02.
|
||||||
|
;;Do you want a separate page for the title?
|
||||||
|
(define %generate-article-titlepage-on-separate-page%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;Do you want the article toc on the titlepage or separate?
|
||||||
|
(define %generate-article-toc-on-titlepage%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;Titlepage Separate?
|
||||||
|
;; This is the one that makes TOC only on first page!! hal.
|
||||||
|
(define (chunk-skip-first-element-list)
|
||||||
|
'())
|
||||||
|
|
||||||
|
(define %root-filename%
|
||||||
|
;; The filename of the root HTML document (e.g, "index").
|
||||||
|
"index")
|
||||||
|
|
||||||
|
(define %generate-part-toc%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %shade-verbatim%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %use-id-as-filename%
|
||||||
|
;; Use ID attributes as name for component HTML files?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %graphic-default-extension%
|
||||||
|
"gif")
|
||||||
|
|
||||||
|
(define %section-autolabel% #t)
|
||||||
|
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
||||||
|
|
||||||
|
;; HB changed TOC depth to 3 levels.
|
||||||
|
(define (toc-depth nd)
|
||||||
|
3)
|
||||||
|
|
||||||
|
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(define %body-attr%
|
||||||
|
;; REFENTRY body-attr
|
||||||
|
;; PURP What attributes should be hung off of BODY?
|
||||||
|
;; DESC
|
||||||
|
;; A list of the the BODY attributes that should be generated.
|
||||||
|
;; The format is a list of lists, each interior list contains the
|
||||||
|
;; name and value of a BODY attribute.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
(list
|
||||||
|
(list "BGCOLOR" "#EEEEEE")
|
||||||
|
(list "TEXT" "#000000")
|
||||||
|
(list "LINK" "#0000FF")
|
||||||
|
(list "VLINK" "#840084")
|
||||||
|
(list "ALINK" "#0000FF")))
|
||||||
|
|
||||||
|
(define %stylesheet%
|
||||||
|
;; REFENTRY stylesheet
|
||||||
|
;; PURP Name of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
|
||||||
|
;; suppress the stylesheet LINK.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"../p_doc.css")
|
||||||
|
|
||||||
|
(define %stylesheet-type%
|
||||||
|
;; REFENTRY stylesheet-type
|
||||||
|
;; PURP The type of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The type of the stylesheet to place in the HTML LINK TAG.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"text/css")
|
||||||
|
|
||||||
|
(define %css-liststyle-alist%
|
||||||
|
;; REFENTRY css-liststyle-alist
|
||||||
|
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then the list-style-type property of
|
||||||
|
;; list items will be set to reflect the list item style selected in the
|
||||||
|
;; DocBook instance. This associative list maps the style type names used
|
||||||
|
;; in your instance to the appropriate CSS names. If no mapping exists,
|
||||||
|
;; the name from the instance will be used.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
'(("bullet" "disc")
|
||||||
|
("box" "square")))
|
||||||
|
|
||||||
|
(define %css-decoration%
|
||||||
|
;; REFENTRY css-decoration
|
||||||
|
;; PURP Enable CSS decoration of elements
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then HTML elements produced by the
|
||||||
|
;; stylesheet may be decorated with STYLE attributes. For example, the
|
||||||
|
;; LI tags produced for list items may include a fragment of CSS in the
|
||||||
|
;; STYLE attribute which sets the CSS property "list-style-type".
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; HB added 2008-01-19
|
||||||
|
(define %html-header-tags%
|
||||||
|
'(("META" ("HTTP-EQUIV" "Content-Type") ("CONTENT" "text/html;
|
||||||
|
charset=ISO-8859-1"))))
|
||||||
|
|
||||||
|
</style-specification-body>
|
||||||
|
</style-specification>
|
||||||
|
|
||||||
|
|
||||||
|
<style-specification id="html-notoc" use="html">
|
||||||
|
<style-specification-body>
|
||||||
|
|
||||||
|
;; ===================================================
|
||||||
|
;; Vairant without TOC for the Homepage --oes 24/05/02
|
||||||
|
;; ===================================================
|
||||||
|
|
||||||
|
(define %generate-article-toc%
|
||||||
|
;; Should a Table of Contents be produced for Articles?
|
||||||
|
;; If true, a Table of Contents will be generated for each 'Article'.
|
||||||
|
#f)
|
||||||
|
|
||||||
|
</style-specification-body>
|
||||||
|
</style-specification>
|
||||||
|
|
||||||
|
<external-specification id="docbook" document="docbook.dsl">
|
||||||
|
|
||||||
|
</style-sheet>
|
|
@ -0,0 +1,420 @@
|
||||||
|
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||||
|
<!ENTITY % html "IGNORE">
|
||||||
|
<![%html;[
|
||||||
|
<!ENTITY % print "IGNORE">
|
||||||
|
<!ENTITY docbook.dsl SYSTEM "@DKPREFIX@/html/docbook.dsl" CDATA dsssl>
|
||||||
|
]]>
|
||||||
|
<!ENTITY % print "INCLUDE">
|
||||||
|
<![%print;[
|
||||||
|
<!ENTITY docbook.dsl SYSTEM "@DKPREFIX@/print/docbook.dsl" CDATA dsssl>
|
||||||
|
]]>
|
||||||
|
]>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
;; borrowed from the LDP stylesheet, with modifications, HB.
|
||||||
|
;; Added support for css 03/20/02, and other mods.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<style-sheet>
|
||||||
|
|
||||||
|
<style-specification id="print" use="docbook">
|
||||||
|
<style-specification-body>
|
||||||
|
|
||||||
|
;; ==============================
|
||||||
|
;; customize the print stylesheet
|
||||||
|
;; ==============================
|
||||||
|
;;
|
||||||
|
;; see http://docbook.sourceforge.net/projects/dsssl/doc/print.html
|
||||||
|
;;
|
||||||
|
|
||||||
|
(define %indent-screen-lines%
|
||||||
|
;; Indent lines in a 'Screen'?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %callout-fancy-bug%
|
||||||
|
;; Use fancy callout bugs?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %chap-app-running-heads%
|
||||||
|
;; Generate running headers and footers on chapter-level elements?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %chap-app-running-head-autolabel%
|
||||||
|
;; Put chapter labels in running heads?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; this is necessary because right now jadetex does not understand
|
||||||
|
;; symbolic entities, whereas things work well with numeric entities.
|
||||||
|
(declare-characteristic preserve-sdata?
|
||||||
|
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;; put the legal notice in a separate file
|
||||||
|
(define %generate-legalnotice-link%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; use graphics in admonitions, and have their path be "stylesheet-images"
|
||||||
|
;; NO: they do not yet look very good
|
||||||
|
(define %admon-graphics-path%
|
||||||
|
"./stylesheet-images/")
|
||||||
|
|
||||||
|
(define %admon-graphics%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
(define %funcsynopsis-decoration%
|
||||||
|
;; make funcsynopsis look pretty
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;(define %shade-verbatim%
|
||||||
|
;; #t)
|
||||||
|
|
||||||
|
(define %section-autolabel% #t)
|
||||||
|
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
||||||
|
|
||||||
|
;; HB changed TOC depth to 3 levels.
|
||||||
|
(define (toc-depth nd)
|
||||||
|
3)
|
||||||
|
|
||||||
|
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(define %body-attr%
|
||||||
|
;; REFENTRY body-attr
|
||||||
|
;; PURP What attributes should be hung off of BODY?
|
||||||
|
;; DESC
|
||||||
|
;; A list of the the BODY attributes that should be generated.
|
||||||
|
;; The format is a list of lists, each interior list contains the
|
||||||
|
;; name and value of a BODY attribute.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
(list
|
||||||
|
(list "BGCOLOR" "#EEEEEE")
|
||||||
|
(list "TEXT" "#000000")
|
||||||
|
(list "LINK" "#0000FF")
|
||||||
|
(list "VLINK" "#840084")
|
||||||
|
(list "ALINK" "#0000FF")))
|
||||||
|
|
||||||
|
(define %stylesheet%
|
||||||
|
;; REFENTRY stylesheet
|
||||||
|
;; PURP Name of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
|
||||||
|
;; suppress the stylesheet LINK.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"../p_doc.css")
|
||||||
|
|
||||||
|
(define %stylesheet-type%
|
||||||
|
;; REFENTRY stylesheet-type
|
||||||
|
;; PURP The type of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The type of the stylesheet to place in the HTML LINK TAG.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"text/css")
|
||||||
|
|
||||||
|
(define %css-liststyle-alist%
|
||||||
|
;; REFENTRY css-liststyle-alist
|
||||||
|
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then the list-style-type property of
|
||||||
|
;; list items will be set to reflect the list item style selected in the
|
||||||
|
;; DocBook instance. This associative list maps the style type names used
|
||||||
|
;; in your instance to the appropriate CSS names. If no mapping exists,
|
||||||
|
;; the name from the instance will be used.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
'(("bullet" "disc")
|
||||||
|
("box" "square")))
|
||||||
|
|
||||||
|
(define %css-decoration%
|
||||||
|
;; REFENTRY css-decoration
|
||||||
|
;; PURP Enable CSS decoration of elements
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then HTML elements produced by the
|
||||||
|
;; stylesheet may be decorated with STYLE attributes. For example, the
|
||||||
|
;; LI tags produced for list items may include a fragment of CSS in the
|
||||||
|
;; STYLE attribute which sets the CSS property "list-style-type".
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; swa1
|
||||||
|
|
||||||
|
(define %generate-part-toc%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
(define %generate-article-toc%
|
||||||
|
;; Should a Table of Contents be produced for Articles?
|
||||||
|
;; If true, a Table of Contents will be generated for each 'Article'.
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %generate-part-toc-on-titlepage%
|
||||||
|
;; Should the Part TOC appear on the Part title page?
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;;Do you want a separate page for the title?
|
||||||
|
(define %generate-article-titlepage-on-separate-page%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;Do you want the article toc on the titlepage or separate?
|
||||||
|
(define %generate-article-toc-on-titlepage%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;;Titlepage Separate?
|
||||||
|
;; This is the one that makes TOC only on first page!! hal.
|
||||||
|
(define (chunk-skip-first-element-list)
|
||||||
|
'())
|
||||||
|
|
||||||
|
(define %body-start-indent%
|
||||||
|
;; Default indent of body text
|
||||||
|
2pi)
|
||||||
|
|
||||||
|
(define %para-indent-firstpara%
|
||||||
|
;; First line start-indent for the first paragraph
|
||||||
|
0pt)
|
||||||
|
|
||||||
|
;; swa2
|
||||||
|
|
||||||
|
(define %para-indent%
|
||||||
|
;; First line start-indent for paragraphs (other than the first)
|
||||||
|
0pt)
|
||||||
|
|
||||||
|
(define %block-start-indent%
|
||||||
|
;; Extra start-indent for block-elements
|
||||||
|
2pt)
|
||||||
|
|
||||||
|
;;Define distance between paragraphs
|
||||||
|
(define %para-sep%
|
||||||
|
(/ %bf-size% 2.0))
|
||||||
|
|
||||||
|
;; with swa2 no effects
|
||||||
|
|
||||||
|
;; swa3
|
||||||
|
|
||||||
|
;;Define distance between block elements (figures, tables, etc.).
|
||||||
|
(define %block-sep%
|
||||||
|
(* %para-sep% 1.0))
|
||||||
|
;; (* %para-sep% 2.0))
|
||||||
|
|
||||||
|
(define %hyphenation%
|
||||||
|
;; Allow automatic hyphenation?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %left-margin% 5pi)
|
||||||
|
(define %right-margin% 5pi)
|
||||||
|
(define %top-margin% 5pi)
|
||||||
|
(define %bottom-margin% 5pi)
|
||||||
|
(define %footer-margin% 2pi)
|
||||||
|
(define %header-margin% 2pi)
|
||||||
|
|
||||||
|
(define %line-spacing-factor% 1.3)
|
||||||
|
;; Factor used to calculate leading
|
||||||
|
;; The leading is calculated by multiplying the current font size by the
|
||||||
|
;; '%line-spacing-factor%'. For example, if the font size is 10pt and
|
||||||
|
;; the '%line-spacing-factor%' is 1.1, then the text will be
|
||||||
|
;; printed "10-on-11".
|
||||||
|
|
||||||
|
(define %head-before-factor%
|
||||||
|
;; Factor used to calculate space above a title
|
||||||
|
;; The space before a title is calculated by multiplying the font size
|
||||||
|
;; used in the title by the '%head-before-factor%'.
|
||||||
|
;; 0.75)
|
||||||
|
0.5)
|
||||||
|
|
||||||
|
(define %head-after-factor%
|
||||||
|
;; Factor used to calculate space below a title
|
||||||
|
;; The space after a title is calculated by multiplying the font size used
|
||||||
|
;; in the title by the '%head-after-factor%'.
|
||||||
|
0.5)
|
||||||
|
|
||||||
|
(define %input-whitespace-treatment% 'collapse)
|
||||||
|
|
||||||
|
(define ($generate-article-lot-list$)
|
||||||
|
;; Which Lists of Titles should be produced for Articles?
|
||||||
|
(list ))
|
||||||
|
|
||||||
|
|
||||||
|
</style-specification-body>
|
||||||
|
</style-specification>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
;; ===================================================
|
||||||
|
;; customize the html stylesheet; borrowed from Cygnus
|
||||||
|
;; at http://sourceware.cygnus.com/ (cygnus-both.dsl)
|
||||||
|
;; ===================================================
|
||||||
|
-->
|
||||||
|
|
||||||
|
<style-specification id="html" use="docbook">
|
||||||
|
<style-specification-body>
|
||||||
|
|
||||||
|
;; this is necessary because right now jadetex does not understand
|
||||||
|
;; symbolic entities, whereas things work well with numeric entities.
|
||||||
|
(declare-characteristic preserve-sdata?
|
||||||
|
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
||||||
|
#f)
|
||||||
|
|
||||||
|
;; put the legal notice in a separate file
|
||||||
|
(define %generate-legalnotice-link%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; use graphics in admonitions, and have their path be "stylesheet-images"
|
||||||
|
;; NO: they do not yet look very good
|
||||||
|
(define %admon-graphics-path%
|
||||||
|
"./stylesheet-images/")
|
||||||
|
|
||||||
|
(define %admon-graphics%
|
||||||
|
#f)
|
||||||
|
|
||||||
|
(define %funcsynopsis-decoration%
|
||||||
|
;; make funcsynopsis look pretty
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %html-ext%
|
||||||
|
".html")
|
||||||
|
|
||||||
|
(define %generate-article-toc%
|
||||||
|
;; Should a Table of Contents be produced for Articles?
|
||||||
|
;; If true, a Table of Contents will be generated for each 'Article'.
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; HB added next three statements 05/03/02.
|
||||||
|
;;Do you want a separate page for the title?
|
||||||
|
(define %generate-article-titlepage-on-separate-page%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;Do you want the article toc on the titlepage or separate?
|
||||||
|
(define %generate-article-toc-on-titlepage%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;;Titlepage Separate?
|
||||||
|
;; This is the one that makes TOC only on first page!! hal.
|
||||||
|
(define (chunk-skip-first-element-list)
|
||||||
|
'())
|
||||||
|
|
||||||
|
(define %root-filename%
|
||||||
|
;; The filename of the root HTML document (e.g, "index").
|
||||||
|
"index")
|
||||||
|
|
||||||
|
(define %generate-part-toc%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %shade-verbatim%
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %use-id-as-filename%
|
||||||
|
;; Use ID attributes as name for component HTML files?
|
||||||
|
#t)
|
||||||
|
|
||||||
|
(define %graphic-default-extension%
|
||||||
|
"gif")
|
||||||
|
|
||||||
|
(define %section-autolabel% #t)
|
||||||
|
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
||||||
|
|
||||||
|
;; HB changed TOC depth to 3 levels.
|
||||||
|
(define (toc-depth nd)
|
||||||
|
3)
|
||||||
|
|
||||||
|
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(define %body-attr%
|
||||||
|
;; REFENTRY body-attr
|
||||||
|
;; PURP What attributes should be hung off of BODY?
|
||||||
|
;; DESC
|
||||||
|
;; A list of the the BODY attributes that should be generated.
|
||||||
|
;; The format is a list of lists, each interior list contains the
|
||||||
|
;; name and value of a BODY attribute.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
(list
|
||||||
|
(list "BGCOLOR" "#EEEEEE")
|
||||||
|
(list "TEXT" "#000000")
|
||||||
|
(list "LINK" "#0000FF")
|
||||||
|
(list "VLINK" "#840084")
|
||||||
|
(list "ALINK" "#0000FF")))
|
||||||
|
|
||||||
|
(define %stylesheet%
|
||||||
|
;; REFENTRY stylesheet
|
||||||
|
;; PURP Name of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
|
||||||
|
;; suppress the stylesheet LINK.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"../p_doc.css")
|
||||||
|
|
||||||
|
(define %stylesheet-type%
|
||||||
|
;; REFENTRY stylesheet-type
|
||||||
|
;; PURP The type of the stylesheet to use
|
||||||
|
;; DESC
|
||||||
|
;; The type of the stylesheet to place in the HTML LINK TAG.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
"text/css")
|
||||||
|
|
||||||
|
(define %css-liststyle-alist%
|
||||||
|
;; REFENTRY css-liststyle-alist
|
||||||
|
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then the list-style-type property of
|
||||||
|
;; list items will be set to reflect the list item style selected in the
|
||||||
|
;; DocBook instance. This associative list maps the style type names used
|
||||||
|
;; in your instance to the appropriate CSS names. If no mapping exists,
|
||||||
|
;; the name from the instance will be used.
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
'(("bullet" "disc")
|
||||||
|
("box" "square")))
|
||||||
|
|
||||||
|
(define %css-decoration%
|
||||||
|
;; REFENTRY css-decoration
|
||||||
|
;; PURP Enable CSS decoration of elements
|
||||||
|
;; DESC
|
||||||
|
;; If '%css-decoration%' is turned on then HTML elements produced by the
|
||||||
|
;; stylesheet may be decorated with STYLE attributes. For example, the
|
||||||
|
;; LI tags produced for list items may include a fragment of CSS in the
|
||||||
|
;; STYLE attribute which sets the CSS property "list-style-type".
|
||||||
|
;; /DESC
|
||||||
|
;; AUTHOR N/A
|
||||||
|
;; /REFENTRY
|
||||||
|
#t)
|
||||||
|
|
||||||
|
;; HB added 2008-01-19
|
||||||
|
(define %html-header-tags%
|
||||||
|
'(("META" ("HTTP-EQUIV" "Content-Type") ("CONTENT" "text/html;
|
||||||
|
charset=ISO-8859-1"))))
|
||||||
|
|
||||||
|
</style-specification-body>
|
||||||
|
</style-specification>
|
||||||
|
|
||||||
|
|
||||||
|
<style-specification id="html-notoc" use="html">
|
||||||
|
<style-specification-body>
|
||||||
|
|
||||||
|
;; ===================================================
|
||||||
|
;; Vairant without TOC for the Homepage --oes 24/05/02
|
||||||
|
;; ===================================================
|
||||||
|
|
||||||
|
(define %generate-article-toc%
|
||||||
|
;; Should a Table of Contents be produced for Articles?
|
||||||
|
;; If true, a Table of Contents will be generated for each 'Article'.
|
||||||
|
#f)
|
||||||
|
|
||||||
|
</style-specification-body>
|
||||||
|
</style-specification>
|
||||||
|
|
||||||
|
<external-specification id="docbook" document="docbook.dsl">
|
||||||
|
|
||||||
|
</style-sheet>
|
|
@ -0,0 +1,50 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/license.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: license.sgml,v 2.6 2008/05/23 15:09:48 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
privoxy-man-page
|
||||||
|
user-manual
|
||||||
|
developer-manual
|
||||||
|
faq
|
||||||
|
webserver/index.sgml
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<application>Privoxy</application> is free software; you can
|
||||||
|
redistribute it and/or modify it under the terms of the
|
||||||
|
<citetitle>GNU General Public License</citetitle>, version 2,
|
||||||
|
as published by the Free Software Foundation.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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 <ulink
|
||||||
|
url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">
|
||||||
|
<citetitle>GNU General Public License</citetitle></ulink> for details.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You should have received a copy of the <citetitle>GNU GPL</citetitle>
|
||||||
|
along with this program; if not, write to the <address> Free Software
|
||||||
|
Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street>
|
||||||
|
<city>Boston</city>, <state>MA</state> <postcode>02110-1301</postcode>
|
||||||
|
<country>USA</country> </address>
|
||||||
|
</para>
|
||||||
|
|
|
@ -0,0 +1,156 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/newfeatures.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: newfeatures.sgml,v 2.10 2009/02/14 17:37:13 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
user-manual
|
||||||
|
faq
|
||||||
|
|
||||||
|
-->
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
FIXME: complete the list of features. change the order: most important
|
||||||
|
features to the top of the list. prefix new features with "NEW".
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
-->
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Can keep outgoing connections alive and reuse them later on.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Supports tagging which allows to change the behaviour
|
||||||
|
based on client and server headers.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Can be run as an "intercepting" proxy, which obviates the need to
|
||||||
|
configure browsers individually.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Sophisticated actions and filters for manipulating both server and client
|
||||||
|
headers.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Can be chained with other proxies.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Integrated browser based configuration and control utility at <ulink
|
||||||
|
url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
|
||||||
|
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
|
||||||
|
tracing of rule and filter effects. Remote toggling.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Web page filtering (text replacements, removes banners based on size,
|
||||||
|
invisible <quote>web-bugs</quote>, JavaScript and HTML annoyances,
|
||||||
|
pop-up windows, etc.)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Modularized configuration that allows for standard settings and
|
||||||
|
user settings to reside in separate files, so that installing updated
|
||||||
|
actions files won't overwrite individual user settings.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Support for Perl Compatible Regular Expressions in the configuration files, and
|
||||||
|
a more sophisticated and flexible configuration syntax.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improved cookie management features (e.g. session based cookies).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
GIF de-animation.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Bypass many click-tracking scripts (avoids script redirection).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Multi-threaded (POSIX and native threads).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Auto-detection and re-reading of config file changes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improved signal handling, and a true daemon mode (Unix).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Every feature now controllable on a per-site or per-location basis, configuration
|
||||||
|
more powerful and versatile over-all.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Many smaller new features added, limitations and bugs removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
|
@ -0,0 +1,159 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/p-authors.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: p-authors.sgml,v 2.34 2009/02/08 18:13:26 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
privoxy-man-page
|
||||||
|
AUTHORS
|
||||||
|
user-manual
|
||||||
|
|
||||||
|
-->
|
||||||
|
<![%p-authors-formal;[
|
||||||
|
<para>
|
||||||
|
Current Privoxy Team:
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
Fabian Keil, lead developer
|
||||||
|
David Schmidt, developer
|
||||||
|
<![%p-authors-formal;[
|
||||||
|
]]>
|
||||||
|
|
||||||
|
Hal Burgiss
|
||||||
|
Mark Miller
|
||||||
|
Gerry Murphy
|
||||||
|
Lee Rian
|
||||||
|
Roland Rosenfeld
|
||||||
|
Jörg Strohmayer
|
||||||
|
<![%p-authors-formal;[
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Former Privoxy Team Members:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
Johny Agotnes
|
||||||
|
Rodrigo Barbosa
|
||||||
|
Moritz Barsnick
|
||||||
|
Ian Cummings
|
||||||
|
Brian Dessent
|
||||||
|
Jon Foster
|
||||||
|
Karsten Hopp
|
||||||
|
Alexander Lazic
|
||||||
|
Daniel Leite
|
||||||
|
Gábor Lipták
|
||||||
|
Adam Lock
|
||||||
|
Guy Laroche
|
||||||
|
Justin McMurtry
|
||||||
|
Andreas Oesterhelt
|
||||||
|
Haroon Rafique
|
||||||
|
Georg Sauthoff
|
||||||
|
Thomas Steudten
|
||||||
|
Rodney Stromlund
|
||||||
|
Sviatoslav Sviridov
|
||||||
|
Sarantis Paskalis
|
||||||
|
Stefan Waldherr
|
||||||
|
]]>
|
||||||
|
</literallayout>
|
||||||
|
<![%p-authors-formal;[
|
||||||
|
<para>
|
||||||
|
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):
|
||||||
|
</para>
|
||||||
|
<literallayout>
|
||||||
|
Ken Arromdee
|
||||||
|
Devin Bayer
|
||||||
|
Gergely Bor
|
||||||
|
Reiner Buehl
|
||||||
|
Andrew J. Caines
|
||||||
|
Clifford Caoile
|
||||||
|
Frédéric Crozat
|
||||||
|
Michael T. Davis
|
||||||
|
Mattes Dolak
|
||||||
|
Matthias Drochner
|
||||||
|
Peter E.
|
||||||
|
Florian Effenberger
|
||||||
|
Markus Elfring
|
||||||
|
Dean Gaudet
|
||||||
|
Stephen Gildea
|
||||||
|
Daniel Griscom
|
||||||
|
Felix Gröbert
|
||||||
|
Aaron Hamid
|
||||||
|
Darel Henman
|
||||||
|
Magnus Holmgren
|
||||||
|
Eric M. Hopper
|
||||||
|
Ralf Horstmann
|
||||||
|
Stefan Huehner
|
||||||
|
Peter Hyman
|
||||||
|
Derek Jennings
|
||||||
|
Petr Kadlec
|
||||||
|
David Laight
|
||||||
|
Bert van Leeuwen
|
||||||
|
Don Libes
|
||||||
|
Paul Lieverse
|
||||||
|
Toby Lyward
|
||||||
|
Wil Mahan
|
||||||
|
Jindrich Makovicka
|
||||||
|
David Mediavilla
|
||||||
|
Raphael Moll
|
||||||
|
Amuro Namie
|
||||||
|
Adam Piggott
|
||||||
|
Dan Price
|
||||||
|
Roberto Ragusa
|
||||||
|
Félix Rauch
|
||||||
|
Maynard Riley
|
||||||
|
Chung-chieh Shan
|
||||||
|
Spinor S.
|
||||||
|
Bart Schelstraete
|
||||||
|
Oliver Stoeneberg
|
||||||
|
Peter Thoenen
|
||||||
|
Martin Thomas
|
||||||
|
Bobby G. Vinyard
|
||||||
|
Jochen Voss
|
||||||
|
Glenn Washburn
|
||||||
|
Song Weijia
|
||||||
|
Jörg Weinmann
|
||||||
|
Darren Wiebe
|
||||||
|
Anduin Withers
|
||||||
|
Oliver Yeoh
|
||||||
|
Jamie Zawinski
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Privoxy is based in part on code originally developed by
|
||||||
|
Junkbusters Corp. and Anonymous Coders.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Privoxy heavily relies on Philip Hazel's PCRE.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The code to filter compressed content makes use of zlib
|
||||||
|
which is written by Jean-loup Gailly and Mark Adler.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
]]>
|
|
@ -0,0 +1,352 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy-man-page.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Manual Page
|
||||||
|
This file belongs into
|
||||||
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
|
$Id: privoxy-man-page.sgml,v 2.29 2009/02/19 02:20:22 hal9 Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: Please read developer-manual/documentation.html before touching
|
||||||
|
anything in this, or other Privoxy documentation.
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
Doc NOTES: This is some tricky markup! There are some quirks
|
||||||
|
to how this markup is handled. It is not always so co-operative.
|
||||||
|
Please don't change the markup unless you can verify the changes
|
||||||
|
will improve finished output!
|
||||||
|
|
||||||
|
literallayout tags are particularly sensitive to where they are placed.
|
||||||
|
The 'replaceable' and 'command' tags are used here somewhat unconventionally,
|
||||||
|
since it seems to generate the proper formatting (at least for me :).
|
||||||
|
|
||||||
|
Create man page: 'make man'
|
||||||
|
|
||||||
|
Requires docbook2man (short perl script), see CVS
|
||||||
|
http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
|
||||||
|
perl module.
|
||||||
|
|
||||||
|
For man page references, see:
|
||||||
|
http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/using.html
|
||||||
|
http://docbook.org/tdg/en/html/ch02.html#making-refentry
|
||||||
|
|
||||||
|
-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[
|
||||||
|
<!entity % dummy "IGNORE">
|
||||||
|
<!entity p-intro SYSTEM "privoxy.sgml">
|
||||||
|
<!entity seealso SYSTEM "seealso.sgml">
|
||||||
|
<!entity copyright SYSTEM "copyright.sgml">
|
||||||
|
<!entity license SYSTEM "license.sgml">
|
||||||
|
<!entity authors SYSTEM "p-authors.sgml">
|
||||||
|
<!entity p-version "3.0.11">
|
||||||
|
<!entity p-status "stable">
|
||||||
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
<!entity % p-stable "INCLUDE">
|
||||||
|
<!entity % p-text "IGNORE"> <!-- define we are not a text only doc -->
|
||||||
|
<!entity % p-authors-formal "IGNORE"> <!-- exclude additional formating -->
|
||||||
|
<!entity my-copy "(C)"> <!-- db2man barfs on copyright symbol -->
|
||||||
|
<!entity % seealso-extra "IGNORE"> <!-- for excluding sections of seealso -->
|
||||||
|
]>
|
||||||
|
|
||||||
|
<refentry id="privoxy">
|
||||||
|
<refentryinfo>
|
||||||
|
<date>2009-02-15</date>
|
||||||
|
</refentryinfo>
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>privoxy</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
<refmiscinfo>
|
||||||
|
Privoxy &p-version;<![%p-not-stable;[ &p-status;]]>
|
||||||
|
</refmiscinfo>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname><application>privoxy</application></refname>
|
||||||
|
<refpurpose>Privacy Enhancing Proxy</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>privoxy</command>
|
||||||
|
<arg><option>--help</option></arg>
|
||||||
|
<arg><option>--version</option></arg>
|
||||||
|
<arg><option>--no-daemon</option></arg>
|
||||||
|
<arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg>
|
||||||
|
<arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg>
|
||||||
|
<arg><option>--chroot</option></arg>
|
||||||
|
<arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg>
|
||||||
|
<arg><replaceable class="parameter">configfile</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Options</title>
|
||||||
|
<para>
|
||||||
|
<command>Privoxy</command> may be invoked with the following command line
|
||||||
|
options:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term>--help</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Print brief usage info and exit.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>--version</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Print version info and exit.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>--no-daemon</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>--pidfile <replaceable class="parameter">pidfile</replaceable></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On startup, write the process ID to <replaceable class="parameter">pidfile</replaceable>.
|
||||||
|
Delete the <replaceable class="parameter">pidfile</replaceable> on exit.
|
||||||
|
Failure to create or delete the <replaceable class="parameter">pidfile</replaceable>
|
||||||
|
is non-fatal. If no <command>--pidfile</command> option is given, no PID file will be used.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>--user <replaceable class="parameter">user[.group]</replaceable></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<!-- Note: replaceable is maybe the wrong tag, but generates -->
|
||||||
|
<!-- correct looking man output. -->
|
||||||
|
After (optionally) writing the PID file, assume the user ID of
|
||||||
|
<replaceable class="parameter">user</replaceable> and the GID of
|
||||||
|
<replaceable class="parameter">group</replaceable>, or, if the optional
|
||||||
|
<replaceable class="parameter">group</replaceable> was not given, the default group of
|
||||||
|
<replaceable class="parameter">user</replaceable>. Exit if the privileges are not
|
||||||
|
sufficient to do so.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>--chroot</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
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
|
||||||
|
<command>Privoxy</command> process that the directory tree starts
|
||||||
|
there. If set up carefully, this can limit the impact of possible
|
||||||
|
vulnerabilities in <command>Privoxy</command> to the files contained in
|
||||||
|
that hierarchy.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term>--pre-chroot-nslookup <replaceable class="parameter">hostname</replaceable></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Initialize the resolver library using <replaceable class="parameter">hostname</replaceable>
|
||||||
|
before chroot'ing. On some systems this reduces the number of files
|
||||||
|
that must be copied into the chroot tree.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If the <filename>configfile</filename> is not specified on the command line,
|
||||||
|
<command>Privoxy</command> will look for a file named
|
||||||
|
<filename>config</filename> in the current directory. If no
|
||||||
|
<filename>configfile</filename> is found, <command>Privoxy</command> will
|
||||||
|
fail to start.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Description</title>
|
||||||
|
<!-- Include privoxy.sgml boilerplate: -->
|
||||||
|
&p-intro;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Installation and Usage</title>
|
||||||
|
<para>
|
||||||
|
Browsers can either be individually configured to use
|
||||||
|
<command>Privoxy</command> as a HTTP proxy (recommended),
|
||||||
|
or <command>Privoxy</command> can be combined with a packet
|
||||||
|
filter to build an intercepting proxy
|
||||||
|
(see <filename>config</filename>). The default setting is for
|
||||||
|
localhost, on port 8118 (configurable in the main config file). To set the
|
||||||
|
HTTP proxy in Firefox, go through: <command>Tools</command>;
|
||||||
|
<command>Options</command>; <command>General</command>;
|
||||||
|
<command>Connection Settings</command>;
|
||||||
|
<command>Manual Proxy Configuration</command>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
For Internet Explorer, go through: <command>Tools</command>;
|
||||||
|
<command>Internet Properties</command>; <command>Connections</command>;
|
||||||
|
<command>LAN Settings</command>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
||||||
|
https: URLs will not be proxied. Note: <command>Privoxy</command> can only
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
For other browsers, check the documentation.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Configuration</title>
|
||||||
|
<para>
|
||||||
|
<command>Privoxy</command> can be configured with the various configuration
|
||||||
|
files. The default configuration files are: <filename>config</filename>,
|
||||||
|
<filename>default.filter</filename>, <filename>default.action</filename> and
|
||||||
|
<filename>default.action</filename>. <filename>user.action</filename> should
|
||||||
|
be used for locally defined exceptions to the default rules in
|
||||||
|
<filename>match-all.action</filename> and <filename>default.action</filename>,
|
||||||
|
and <filename>user.filter</filename> for locally defined filters. These are
|
||||||
|
well commented. On Unix and Unix-like systems, these are located in
|
||||||
|
<filename>/etc/privoxy/</filename> by default.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<command>Privoxy</command> uses the concept of <command>actions</command>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The actions list (ad blocks, etc) can also be configured with your
|
||||||
|
web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
|
||||||
|
(assuming the configuration allows it).
|
||||||
|
<command>Privoxy's</command> configuration parameters can also be viewed at
|
||||||
|
the same page. In addition, <command>Privoxy</command> can be toggled on/off.
|
||||||
|
This is an internal page, and does not require Internet access.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
See the <ulink
|
||||||
|
url="http://www.privoxy.org/user-manual/"><citetitle>User Manual</citetitle></ulink> for a detailed
|
||||||
|
explanation of installation, general usage, all configuration options, new
|
||||||
|
features and notes on upgrading.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Files</title>
|
||||||
|
<!-- this is a cheesy way to do this, but WTF. -->
|
||||||
|
<literallayout>
|
||||||
|
<filename>/usr/sbin/privoxy</filename>
|
||||||
|
<filename>/etc/privoxy/config</filename>
|
||||||
|
<filename>/etc/privoxy/match-all.action</filename>
|
||||||
|
<filename>/etc/privoxy/default.action</filename>
|
||||||
|
<filename>/etc/privoxy/user.action</filename>
|
||||||
|
<filename>/etc/privoxy/default.filter</filename>
|
||||||
|
<filename>/etc/privoxy/user.filter</filename>
|
||||||
|
<filename>/etc/privoxy/trust</filename>
|
||||||
|
<filename>/etc/privoxy/templates/*</filename>
|
||||||
|
<filename>/var/log/privoxy/logfile</filename>
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Various other files should be included, but may vary depending on platform
|
||||||
|
and build configuration. Additional documentation should be included in the local
|
||||||
|
documentation directory.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Signals</title>
|
||||||
|
<para>
|
||||||
|
<!-- command tag is used here to get proper looking format -->
|
||||||
|
<command>Privoxy</command> terminates on the <command>SIGINT</command>,
|
||||||
|
<command>SIGTERM</command> and <command>SIGABRT</command> signals. Log
|
||||||
|
rotation scripts may cause a re-opening of the logfile by sending a
|
||||||
|
<command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike
|
||||||
|
other daemons, <command>Privoxy</command> does not need to be made aware of
|
||||||
|
config file changes by <command>SIGHUP</command> -- it will detect them
|
||||||
|
automatically.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Notes</title>
|
||||||
|
<![%p-not-stable;[
|
||||||
|
<para>
|
||||||
|
This is a &p-status; version of <command>Privoxy</command>. Not
|
||||||
|
all features are well tested.
|
||||||
|
</para>]]>
|
||||||
|
<para>
|
||||||
|
Please see the <citetitle>User Manual</citetitle> on how to contact the
|
||||||
|
developers, for feature requests, reporting problems, and other questions.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>See Also</title>
|
||||||
|
<!-- Include seealso.sgml boilerplate: -->
|
||||||
|
&seealso;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Development Team</title>
|
||||||
|
<!-- Include p-authors.sgml boilerplate: -->
|
||||||
|
&authors;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<refsect1><title>Copyright and License</title>
|
||||||
|
|
||||||
|
<refsect2><title>Copyright</title>
|
||||||
|
<!-- Include copyright.sgml boilerplate: -->
|
||||||
|
©right;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
</refsect2>
|
||||||
|
|
||||||
|
<refsect2><title>License</title>
|
||||||
|
<!-- Include license.sgml boilerplate: -->
|
||||||
|
&license;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
</refsect2>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
</refentry>
|
|
@ -0,0 +1,44 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: privoxy.sgml,v 2.9 2009/03/21 12:42:49 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
privoxy-man-page
|
||||||
|
user-manual
|
||||||
|
faq
|
||||||
|
developer-manual
|
||||||
|
README
|
||||||
|
webserver/index.sgml
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
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.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Privoxy is Free Software and licensed under the GPL2.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
<ulink url="http://www.privoxy.org/faq/general.html#DONATE">Donations are welcome</ulink>.
|
||||||
|
</para>
|
|
@ -0,0 +1,268 @@
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
|
<!entity % dummy "IGNORE">
|
||||||
|
<!entity supported SYSTEM "supported.sgml">
|
||||||
|
<!entity p-intro SYSTEM "privoxy.sgml">
|
||||||
|
<!entity contacting SYSTEM "contacting.sgml">
|
||||||
|
<!entity buildsource SYSTEM "buildsource.sgml">
|
||||||
|
<!entity p-version "3.0.12">
|
||||||
|
<!entity p-status "stable">
|
||||||
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
<!entity % p-stable "INCLUDE">
|
||||||
|
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
|
||||||
|
<!entity % p-doc "IGNORE"> <!-- and never a text doc -->
|
||||||
|
<!entity % p-readme "INCLUDE"> <!-- all your README belong to us -->
|
||||||
|
]>
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
|
||||||
|
|
||||||
|
Purpose : README for Privoxy
|
||||||
|
|
||||||
|
$Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: Please read developer-manual/documentation.html before touching
|
||||||
|
anything in this, or other Privoxy documentation. You have been warned!
|
||||||
|
Failure to abide by this rule will result in the revocation of your license
|
||||||
|
to live a peaceful existence!
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
===================================================================
|
||||||
|
READ: Document Note: This file generates the README in the top level
|
||||||
|
source directory. It is generated as only a plain text file. The
|
||||||
|
current markup is not suitable for other formats. Build from
|
||||||
|
Makefile with 'make dok-readme'.
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
READ:
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
NOTE: The left margin spacing is *important* when using 'literallayout'
|
||||||
|
WYSISWYG!!! Don't mess this up!!! Careful with linebreaks too, ie
|
||||||
|
the para tag forces a linebreak. Tags need to be carefully placed as a result
|
||||||
|
to avoid extra blank lines, etc.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
For stable releases, change
|
||||||
|
|
||||||
|
entity % p-not-stable "INCLUDE"
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
entity % p-not-stable "IGNORE"
|
||||||
|
|
||||||
|
in the DTD at the top. This will toggle various text 'off'. BOTH
|
||||||
|
MUST be toggled in this case or you will get both text referencing
|
||||||
|
stable and unstable versions. You only want one or the other!
|
||||||
|
|
||||||
|
-->
|
||||||
|
<article id="index">
|
||||||
|
<artheader>
|
||||||
|
<![%dummy;[
|
||||||
|
<para>
|
||||||
|
<comment>
|
||||||
|
This is here to keep vim syntax file from breaking :/
|
||||||
|
If I knew enough to fix it, I would.
|
||||||
|
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
||||||
|
</comment>
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
<abstract>
|
||||||
|
<para>
|
||||||
|
<literal>
|
||||||
|
<msgtext>
|
||||||
|
<literallayout>
|
||||||
|
/*********************************************************************
|
||||||
|
*
|
||||||
|
* File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
|
||||||
|
*
|
||||||
|
* Purpose : README file to give a short intro.
|
||||||
|
*
|
||||||
|
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
||||||
|
* Privoxy team. http://www.privoxy.org/
|
||||||
|
*
|
||||||
|
* Based on the Internet Junkbuster originally written
|
||||||
|
* by and Copyright (C) 1997 Anonymous Coders and
|
||||||
|
* Junkbusters Corporation. http://www.junkbusters.com
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it
|
||||||
|
* and/or modify it under the terms of the GNU General
|
||||||
|
* Public License as published by the Free Software
|
||||||
|
* Foundation; either version 2 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will
|
||||||
|
* be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
* PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
* License for more details.
|
||||||
|
*
|
||||||
|
* The GNU General Public License should be included with
|
||||||
|
* this file. If not, you can view it at
|
||||||
|
* http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* or write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
|
* USA
|
||||||
|
*
|
||||||
|
*********************************************************************/
|
||||||
|
</literallayout>
|
||||||
|
</msgtext>
|
||||||
|
</literal>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<!-- include some conditional text -->
|
||||||
|
This README is included with <![%p-not-stable;[ the development version of]]>
|
||||||
|
Privoxy &p-version;. See http://www.privoxy.org/ for more information. The current code maturity
|
||||||
|
level is <quote>&p-status;</quote><![%p-not-stable;[, but seems stable to us :)]]>.
|
||||||
|
</para>
|
||||||
|
</abstract>
|
||||||
|
</artheader>
|
||||||
|
|
||||||
|
<!-- Include privoxy.sgml boilerplate: -->
|
||||||
|
&p-intro;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 id="importantchanges" ><title>IMPORTANT CHANGES</title>
|
||||||
|
<para>
|
||||||
|
March 2009, Privoxy 3.0.12 is released.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
This is primarily a bug fix release. See the "ChangeLog", and the "What's
|
||||||
|
New" section and the "Upgrader's Notes" in <citetitle>the User
|
||||||
|
Manual</citetitle> for details.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
February 2009, Privoxy 3.0.11 is released.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
As usual there are changes that effect the configuration. See the "ChangeLog",
|
||||||
|
and the "What's New" section and the "Upgrader's Notes" in
|
||||||
|
<citetitle>the User Manual</citetitle> for details and specifics.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
This is a stable release, and marks a departure for Privoxy development.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Previously, odd numbered releases were considered beta versions and
|
||||||
|
were only released at the end of the development cycle when the code
|
||||||
|
was already believed to be stable. Usually it was, so the stable release
|
||||||
|
contained pretty much the same code, but got a higher version number.
|
||||||
|
In the future we intend to release several snapshots between stable releases.
|
||||||
|
There will probably still be about two stable releases per year,
|
||||||
|
but hopefully about six snapshots instead of the two betas we have now.
|
||||||
|
The intentions is to make testing without CVS access easier.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 id="install" ><title>INSTALL</title>
|
||||||
|
<para>
|
||||||
|
See the <filename>INSTALL</filename> file in this directory, for installing
|
||||||
|
from raw source, and the <citetitle>User Manual</citetitle>, for all other
|
||||||
|
installation types.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 id="run"><title>RUN</title>
|
||||||
|
<para>
|
||||||
|
privoxy [--help] [--version]
|
||||||
|
[--no-daemon] [--pidfile PIDFILE] [--user USER[.GROUP]] [--chroot] [--pre-chroot-nslookup
|
||||||
|
HOSTNAME ][config_file]
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
See the man page or <citetitle>User Manual</citetitle> for an explanation of each option, and
|
||||||
|
other configuration and usage issues.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
If no config_file is specified on the command line, Privoxy will look for a
|
||||||
|
file named 'config' in the current directory (except Win32 which will look
|
||||||
|
for 'config.txt'). If no config_file is found, Privoxy will fail to start.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Or Debian and Ubuntu: /etc/init.d/privoxy start
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 id="configuration"><title>CONFIGURATION</title>
|
||||||
|
<para>
|
||||||
|
See: 'config', 'default.action', 'user.action', 'default.filter', and
|
||||||
|
'user.filter'. 'user.action' and 'user.filter' are for personal and local
|
||||||
|
configuration preferences. These are all well commented. Most of the magic is
|
||||||
|
in '*.action' files. 'user.action' should be used for any actions
|
||||||
|
customizations. On Unix-like systems, these files are typically installed in
|
||||||
|
/etc/privoxy. On Windows, then wherever the executable itself is installed.
|
||||||
|
There are many significant changes and advances from earlier versions. The
|
||||||
|
<citetitle>User Manual</citetitle> has an explanation of all configuration
|
||||||
|
options, and examples: http://www.privoxy.org/user-manual/.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or
|
||||||
|
whatever you specify in the config file under 'listen-address'. DEFAULT is
|
||||||
|
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not try it
|
||||||
|
with FTP or other protocols for the simple reason it does not work.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The actions list can be configured via the web interface accessed via
|
||||||
|
http://p.p/, as well other options.
|
||||||
|
</para>
|
||||||
|
<![%p-not-stable;[
|
||||||
|
<para>
|
||||||
|
All configuration files are subject to unannounced changes during the
|
||||||
|
development process.
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 id="documentation"><title>DOCUMENTATION</title>
|
||||||
|
<para>
|
||||||
|
There should be documentation in the 'doc' subdirectory<![%p-not-stable;[, but it
|
||||||
|
may not be completed at this point]]>. In particular, see the
|
||||||
|
<citetitle>User Manual</citetitle> there,
|
||||||
|
the <citetitle>FAQ</citetitle>, and those interested in Privoxy development, should look at
|
||||||
|
<citetitle>developer-manual</citetitle>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<![%p-not-stable;[
|
||||||
|
The most up to date source of information on the current development version,
|
||||||
|
may still be either comments in the source code, or the included
|
||||||
|
configuration files. ]]>The source and configuration files are all well
|
||||||
|
commented. The main configuration files are: 'config', 'default.action', and
|
||||||
|
'default.filter'<![%p-not-stable;[ in the top-level source directory]]>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Included documentation may vary according to platform and packager. All
|
||||||
|
documentation is posted on http://www.privoxy.org, in case you don't have it,
|
||||||
|
or can't find it.
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 id="contact"><title>CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS</title>
|
||||||
|
<!-- Include contacting.sgml boilerplate: -->
|
||||||
|
&contacting;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!-- <para> -->
|
||||||
|
<!-- <LiteralLayout> -->
|
||||||
|
<!-- ------------------------------------------------------------------------- -->
|
||||||
|
<!-- ijbswa-developers@lists.sourceforge.net -->
|
||||||
|
<!-- </LiteralLayout> -->
|
||||||
|
<!-- </para> -->
|
||||||
|
<!-- <para> -->
|
||||||
|
<!-- $Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $ -->
|
||||||
|
<!-- </para> -->
|
||||||
|
|
||||||
|
</article>
|
|
@ -0,0 +1,113 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/seealso.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: seealso.sgml,v 2.12 2009/02/23 10:42:58 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
privoxy-man-page
|
||||||
|
user-manual
|
||||||
|
faq
|
||||||
|
developer-manual
|
||||||
|
|
||||||
|
NOTE: 04/05/02, HB Removed tags. They were causing docbook2man
|
||||||
|
to barf.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Other references and sites of interest to <application>Privoxy</application>
|
||||||
|
users:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink
|
||||||
|
url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>,
|
||||||
|
the <application>Privoxy</application> Home page.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink
|
||||||
|
url="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/</ulink>,
|
||||||
|
the <application>Privoxy</application> FAQ.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink
|
||||||
|
url="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/</ulink>,
|
||||||
|
the <application>Privoxy</application> developer manual.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/</ulink>,
|
||||||
|
the Project Page for <application>Privoxy</application> on
|
||||||
|
<ulink url="http://sourceforge.net">SourceForge</ulink>.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>,
|
||||||
|
the web-based user interface. <application>Privoxy</application> must be
|
||||||
|
running for this to work. Shortcut: <ulink url="http://p.p/">http://p.p/</ulink>
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="https://sourceforge.net/tracker/?group_id=11118&atid=460288">https://sourceforge.net/tracker/?group_id=11118&atid=460288</ulink>, to submit <quote>misses</quote> and other
|
||||||
|
configuration related suggestions to the developers.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<![%seealso-extra;[
|
||||||
|
<!-- This part only goes into user-manual -->
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="http://www.junkbusters.com/ht/en/cookies.html">http://www.junkbusters.com/ht/en/cookies.html</ulink>,
|
||||||
|
an explanation how cookies are used to track web users.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="http://www.junkbusters.com/ijb.html">http://www.junkbusters.com/ijb.html</ulink>,
|
||||||
|
the original Internet Junkbuster.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="http://www.squid-cache.org/">http://www.squid-cache.org/</ulink>, a popular
|
||||||
|
caching proxy, which is often used together with <application>Privoxy</application>.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="http://www.pps.jussieu.fr/~jch/software/polipo/">http://www.pps.jussieu.fr/~jch/software/polipo/</ulink>,
|
||||||
|
<application>Polipo</application> is a caching proxy with advanced features
|
||||||
|
like pipelining, multiplexing and caching of partial instances. In many setups
|
||||||
|
it can be used as <application>Squid</application> replacement.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
<simplelist>
|
||||||
|
<member>
|
||||||
|
<ulink url="https://www.torproject.org/">https://www.torproject.org/</ulink>,
|
||||||
|
<application>Tor</application> can help anonymize web browsing,
|
||||||
|
web publishing, instant messaging, IRC, SSH, and other applications.
|
||||||
|
</member>
|
||||||
|
</simplelist>
|
||||||
|
]]>
|
||||||
|
</para>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/supported.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Entity included in other project documents.
|
||||||
|
|
||||||
|
$Id: supported.sgml,v 2.9 2008/01/17 01:49:51 hal9 Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
This file used for inclusion with other documents only.
|
||||||
|
======================================================================
|
||||||
|
|
||||||
|
If you make changes to this file, please verify the finished
|
||||||
|
docs all display as intended.
|
||||||
|
|
||||||
|
This file is included into:
|
||||||
|
|
||||||
|
user-manual
|
||||||
|
faq
|
||||||
|
newfeatures
|
||||||
|
announce
|
||||||
|
|
||||||
|
-->
|
||||||
|
<para>
|
||||||
|
At present, <application>Privoxy</application> 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.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<![%p-supp-userman;[
|
||||||
|
<para>
|
||||||
|
But any operating system that runs TCP/IP, can conceivably take advantage of
|
||||||
|
<application>Privoxy</application> in a networked situation where
|
||||||
|
<application>Privoxy</application> would run as a server on a LAN gateway.
|
||||||
|
Then only the <quote>gateway</quote> needs to be running one of the above
|
||||||
|
operating systems.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Source code is freely available, so porting to other operating systems
|
||||||
|
is always a possibility.
|
||||||
|
</para>
|
||||||
|
]]>
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
'refentry:PRIVOXY' => 'privoxy(1)',
|
||||||
|
'' => ''
|
||||||
|
}
|
|
@ -0,0 +1,372 @@
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
||||||
|
<!entity % dummy "IGNORE">
|
||||||
|
<!entity p-intro SYSTEM "privoxy.sgml">
|
||||||
|
<!entity contacting SYSTEM "contacting.sgml">
|
||||||
|
<!entity history SYSTEM "history.sgml">
|
||||||
|
<!entity copyright SYSTEM "copyright.sgml">
|
||||||
|
<!entity license SYSTEM "license.sgml">
|
||||||
|
<!entity p-version "3.0.11">
|
||||||
|
<!entity p-status "stable">
|
||||||
|
<!entity % p-not-stable "IGNORE">
|
||||||
|
<!entity % p-stable "INCLUDE">
|
||||||
|
<!entity my-copy "©"> <!-- kludge for docbook2man -->
|
||||||
|
<!entity % p-homepage "IGNORE"> <!-- toggle for webserver index.html -->
|
||||||
|
<!entity % p-index "IGNORE"> <!-- toggle for local doc index -->
|
||||||
|
]>
|
||||||
|
<!--
|
||||||
|
File : $Source: /cvsroot/ijbswa/current/doc/source/webserver/index.sgml,v $
|
||||||
|
|
||||||
|
Purpose : Index file of the project's homepage and also documentation index
|
||||||
|
This file belongs into
|
||||||
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
|
$Id: index.sgml,v 2.9 2009/02/19 14:12:02 fabiankeil Exp $
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
||||||
|
See LICENSE.
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: Please read developer-manual/documentation.html before touching
|
||||||
|
anything in this, or other Privoxy documentation.
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
Note: This is the Privoxy home page *and* builds a page that can be
|
||||||
|
used with local documentation as a focal point for docs or other points
|
||||||
|
of interest. The Makefile is adding additional meta data and content via
|
||||||
|
perl.
|
||||||
|
|
||||||
|
Generates: index.html, for webserver home page.
|
||||||
|
privoxy-index.html, for packaging with docs
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<article id="index">
|
||||||
|
<artheader>
|
||||||
|
<title>Privoxy - <![%p-homepage;[Home Page]]><![%p-index;[The Privacy Enhancing Proxy]]></title>
|
||||||
|
<![%p-index;[<subtitle>Project Index Page v&p-version;</subtitle>]]>
|
||||||
|
|
||||||
|
<!-- copyright is at bottom of page -->
|
||||||
|
|
||||||
|
<keywordset>
|
||||||
|
<keyword>privoxy</keyword> <keyword>HTTP</keyword> <keyword>proxy</keyword> <keyword>privacy</keyword>
|
||||||
|
<keyword>popups</keyword> <keyword>po-ups</keyword> <keyword>HTML</keyword> <keyword>JavaScript</keyword>
|
||||||
|
<keyword>cleaning</keyword> <keyword>blocking</keyword> <keyword>cleaner</keyword> <keyword>blocker</keyword>
|
||||||
|
<keyword>filter</keyword> <keyword>proxy</keyword> <keyword>junk</keyword> <keyword>ad</keyword>
|
||||||
|
<keyword>advertisement</keyword> <keyword>banner</keyword> <keyword>webbugs</keyword>
|
||||||
|
<keyword>web-bugs</keyword> <keyword>werbung</keyword> <keyword>junkbusters</keyword>
|
||||||
|
<keyword>junkbuster</keyword>
|
||||||
|
</keywordset>
|
||||||
|
|
||||||
|
<abstract>
|
||||||
|
|
||||||
|
<![%dummy;[
|
||||||
|
<para>
|
||||||
|
<comment>
|
||||||
|
This is here to keep vim syntax file from breaking :/
|
||||||
|
If I knew enough to fix it, I would.
|
||||||
|
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
||||||
|
</comment>
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
|
||||||
|
<!-- Include privoxy.sgml boilerplate: -->
|
||||||
|
&p-intro;
|
||||||
|
<!-- end boilerplate -->
|
||||||
|
|
||||||
|
<![%p-homepage;[
|
||||||
|
<para>
|
||||||
|
The most recent release is <ulink url="announce.txt">&p-version; (&p-status;)</ulink>.
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</abstract>
|
||||||
|
</artheader>
|
||||||
|
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
|
||||||
|
|
||||||
|
<sect1 renderas="sect2" id="download" label=""><title>Download</title>
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="https://sourceforge.net/project/showfiles.php?group_id=11118">Download recent releases</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<!--
|
||||||
|
deprecated
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.bz2">Download the latest CVS snapshot (source tarball)</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
-->
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="user-manual/quickstart.html">Quickstart after installation</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 renderas="sect2" id="docs" label=""><title>Documentation</title>
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="user-manual/index.html">User manual</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="faq/index.html">Frequently Asked Questions</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="developer-manual/index.html">Developer Manual</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="man-page/privoxy-man-page.html">Classic Man Page</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 renderas="sect2" id="moreinfo" label=""><title>More information</title>
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="user-manual/contact.html">Support & Service</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="user-manual/copyright.html">Copyright, License, History & Authors</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="user-manual/introduction.html#FEATURES">List of (new) Features</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="https://sourceforge.net/projects/ijbswa/">The project page</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<ulink url="user-manual/seealso.html">Related links</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<!-- please leave this link absolute so this file can be bundled with -->
|
||||||
|
<!-- documentation and still used locally -->
|
||||||
|
<ulink url="http://privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<![%p-homepage;[
|
||||||
|
<!-- ~~~~~ New section ~~~~~ -->
|
||||||
|
<sect1 label="">
|
||||||
|
<!-- dummy section, for spacing -->
|
||||||
|
<title></title>
|
||||||
|
<para>
|
||||||
|
<!-- show the SF logo per AUP -->
|
||||||
|
<informaltable frame=none label="" pgwide="1">
|
||||||
|
<tgroup cols=1 align="center" colsep=1 rowsep=1>
|
||||||
|
<colspec colname=c1 align="center">
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry align="center">Privoxy is developed on:</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry align="center">
|
||||||
|
<ulink url="http://sourceforge.net/">
|
||||||
|
<inlinegraphic fileref="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif"></inlinegraphic>
|
||||||
|
</ulink>
|
||||||
|
</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
</para>
|
||||||
|
]]>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<informalfigure pgwide="1">
|
||||||
|
<ulink url="http://sourceforge.net/">
|
||||||
|
<inlinegraphic align="center" fileref="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif"></inlinegraphic>
|
||||||
|
</ulink>
|
||||||
|
</informalfigure>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<![%p-index;[
|
||||||
|
<sect1 label=""><title></title>
|
||||||
|
<!-- dummy section for layout and spacing -->
|
||||||
|
]]>
|
||||||
|
|
||||||
|
<!-- Formal copyright markup does not work here. HB. -->
|
||||||
|
<!-- NOTE: I could not get docbook to completely ignore © -->
|
||||||
|
<!-- GNUMakefile is inserting this now -->
|
||||||
|
<para>
|
||||||
|
<subscript>
|
||||||
|
Copyright __copy 2001-2009 by Privoxy Developers
|
||||||
|
</subscript>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU General
|
||||||
|
Public License as published by the Free Software
|
||||||
|
Foundation; either version 2 of the License, or (at
|
||||||
|
your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will
|
||||||
|
be useful, but WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. See the GNU General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
|
The GNU General Public License should be included with
|
||||||
|
this file. If not, you can view it at
|
||||||
|
http://www.gnu.org/copyleft/gpl.html
|
||||||
|
or write to the Free Software Foundation, Inc., 59
|
||||||
|
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
$Log: index.sgml,v $
|
||||||
|
Revision 2.9 2009/02/19 14:12:02 fabiankeil
|
||||||
|
Change link to the project page to https://.
|
||||||
|
|
||||||
|
Revision 2.8 2009/02/12 16:09:44 fabiankeil
|
||||||
|
Declare the code stable.
|
||||||
|
|
||||||
|
Revision 2.7 2009/01/13 16:50:36 fabiankeil
|
||||||
|
The standard.action file is gone.
|
||||||
|
|
||||||
|
Revision 2.6 2008/08/16 08:51:28 fabiankeil
|
||||||
|
Update version-related entities.
|
||||||
|
|
||||||
|
Revision 2.5 2008/06/18 17:42:13 fabiankeil
|
||||||
|
- Remove link to soon-to-be-removed PDFs.
|
||||||
|
- Use https for the download URL.
|
||||||
|
- Update copyright year.
|
||||||
|
|
||||||
|
Revision 2.4 2006/08/28 01:08:57 hal9
|
||||||
|
Remove reference to defunct nightly cvs tarballs.
|
||||||
|
|
||||||
|
Revision 2.3 2006/07/18 14:48:51 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.2.12 2004/01/30 14:33:41 oes
|
||||||
|
Vi(m) syntax voodoo now hidden; copyright updated
|
||||||
|
|
||||||
|
Revision 1.16.2.11 2003/08/16 12:16:30 hal9
|
||||||
|
Update cvs tarball URL (to bz2)
|
||||||
|
|
||||||
|
Revision 1.16.2.10 2003/03/28 03:33:09 hal9
|
||||||
|
Include link for announce.txt, and change handling of ©.
|
||||||
|
|
||||||
|
Revision 1.16.2.9 2003/03/26 02:03:45 oes
|
||||||
|
Updated hard-coded copyright dates
|
||||||
|
|
||||||
|
Revision 1.16.2.8 2002/08/16 03:05:42 hal9
|
||||||
|
Put all pdf docs in a zip archive now.
|
||||||
|
|
||||||
|
Revision 1.16.2.7 2002/08/14 16:40:00 hal9
|
||||||
|
Add links to pdf docs.
|
||||||
|
|
||||||
|
Revision 1.16.2.6 2002/07/26 15:22:15 oes
|
||||||
|
Most recent release now inserted automatically (again)
|
||||||
|
|
||||||
|
Revision 1.16.2.5 2002/06/09 18:59:16 hal9
|
||||||
|
Correct typo.
|
||||||
|
|
||||||
|
Revision 1.16.2.4 2002/06/09 16:36:33 hal9
|
||||||
|
Clarifications on filtering and MIME. Hardcode 'latest release' in index.html.
|
||||||
|
|
||||||
|
Revision 1.16.2.3 2002/05/28 02:31:38 hal9
|
||||||
|
New file, privoxy-index.html, for bundling with documentation. Built from
|
||||||
|
index.sgml, like homepage, but with content toggles more suitable for this use.
|
||||||
|
|
||||||
|
Revision 1.16.2.2 2002/05/26 22:04:46 hal9
|
||||||
|
Add several comments, and reworded 'most recent release', ie we don't officially
|
||||||
|
release odd numbered versions.
|
||||||
|
|
||||||
|
Revision 1.16.2.1 2002/05/26 17:40:02 hal9
|
||||||
|
Make team pictures link absolute for docs.
|
||||||
|
|
||||||
|
Revision 1.16 2002/05/24 10:06:31 oes
|
||||||
|
Nit
|
||||||
|
|
||||||
|
Revision 1.15 2002/05/24 00:02:05 oes
|
||||||
|
Tried to make more useful and concise:
|
||||||
|
Reordered, no more TOC, link to instead of include info,
|
||||||
|
added some links. Should we use the free space to better
|
||||||
|
describe what Privoxy is good for?
|
||||||
|
|
||||||
|
Revision 1.14 2002/05/10 01:48:20 hal9
|
||||||
|
This is mostly proposed copyright/licensing additions and changes. Docs
|
||||||
|
are still GPL, but licensing and copyright are more visible. Also, copyright
|
||||||
|
changed in doc header comments (eliminate references to JB except FAQ).
|
||||||
|
|
||||||
|
Revision 1.13 2002/05/05 20:29:59 hal9
|
||||||
|
Ooops, fixing an accidental delete of title element.
|
||||||
|
|
||||||
|
Revision 1.12 2002/05/05 20:26:02 hal9
|
||||||
|
Sorting out license vs copyright in these docs.
|
||||||
|
|
||||||
|
Revision 1.11 2002/05/04 08:44:45 swa
|
||||||
|
bumped version
|
||||||
|
|
||||||
|
Revision 1.10 2002/04/26 17:24:31 swa
|
||||||
|
bookmarks cleaned, changed structure of user manual, screen and programlisting cleanups, and numerous other changes that I forgot
|
||||||
|
|
||||||
|
Revision 1.9 2002/04/14 01:00:07 hal9
|
||||||
|
Fix the logo properly with docbook.
|
||||||
|
|
||||||
|
Revision 1.7 2002/04/12 10:11:53 swa
|
||||||
|
changed bookmarklet text so that users can easily find the bookmark
|
||||||
|
|
||||||
|
Revision 1.6 2002/04/12 08:34:18 swa
|
||||||
|
added link to new page
|
||||||
|
|
||||||
|
Revision 1.5 2002/04/12 02:05:19 david__schmidt
|
||||||
|
Tiny English fix: infos -> info
|
||||||
|
Add copyright date 2002
|
||||||
|
|
||||||
|
Revision 1.4 2002/04/08 20:42:07 swa
|
||||||
|
fixed JB spelling
|
||||||
|
|
||||||
|
Revision 1.3 2002/04/07 20:27:18 hal9
|
||||||
|
Fix meta data.
|
||||||
|
|
||||||
|
Revision 1.2 2002/04/07 09:06:45 swa
|
||||||
|
users can now completely browse offline
|
||||||
|
|
||||||
|
Revision 1.1 2002/04/07 08:10:48 swa
|
||||||
|
create some of the webserver docs
|
||||||
|
automatically (in particular if
|
||||||
|
those docs recycle other documentation
|
||||||
|
fragments). Now committed webserver's
|
||||||
|
index file.
|
||||||
|
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
</article>
|
|
@ -0,0 +1,9 @@
|
||||||
|
All files contained in this directory should eventually be
|
||||||
|
on the project's homepage
|
||||||
|
|
||||||
|
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
||||||
|
|
||||||
|
which is indeed http://ijbswa.sourceforge.net
|
||||||
|
and http://www.privoxy.org/.
|
||||||
|
|
||||||
|
-Stefan, April 2002
|
|
@ -0,0 +1,126 @@
|
||||||
|
Announcing Privoxy v.3.0.12
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
Privoxy 3.0.12-stable is primarily a bugfix release.
|
||||||
|
|
||||||
|
See http://www.privoxy.org/3.0.12/user-manual/whatsnew.html for details.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
ChangeLog for Privoxy
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
*** Version 3.0.12 ***
|
||||||
|
|
||||||
|
- The socket-timeout option now also works on platforms whose
|
||||||
|
select() implementation modifies the timeout structure.
|
||||||
|
Previously the timeout was triggered even if the connection
|
||||||
|
didn't stall. Reported by cyberpatrol.
|
||||||
|
- The Connection: keep-alive code properly deals with files
|
||||||
|
larger than 2GB. Previously the connection was closed too
|
||||||
|
early.
|
||||||
|
- The content length for files above 2GB is logged correctly.
|
||||||
|
- The user-manual directive on the show-status page links to
|
||||||
|
the documentation location specified with the directive,
|
||||||
|
not to the Privoxy website.
|
||||||
|
- When running in daemon mode, Privoxy doesn't log anything
|
||||||
|
to the console unless there are errors before the logfile
|
||||||
|
has been opened.
|
||||||
|
- The show-status page prints warnings about invalid directives
|
||||||
|
on the same line as the directives themselves.
|
||||||
|
- Fixed several justified (but harmless) compiler warnings,
|
||||||
|
mostly on 64 bit platforms.
|
||||||
|
- The mingw32 version explicitly requests the default charset
|
||||||
|
to prevent display problems with some fonts available on more
|
||||||
|
recent Windows versions. Patch by Burberry.
|
||||||
|
- The mingw32 version uses the Privoxy icon in the alt-tab
|
||||||
|
windows. Patch by Burberry.
|
||||||
|
- The timestamp and the thread id is omitted in the "Fatal error"
|
||||||
|
message box on mingw32.
|
||||||
|
- Fixed two related mingw32-only buffer overflows. Triggering
|
||||||
|
them required control over the configuration file, therefore
|
||||||
|
this isn't seen as a security issue.
|
||||||
|
- In verbose mode, or if the new option --show-skipped-tests
|
||||||
|
is used, Privoxy-Regression-Test logs skipped tests and the
|
||||||
|
skip reason.
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
About Privoxy:
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Privoxy is Free Software and licensed under the GPL2.
|
||||||
|
|
||||||
|
Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
Donations are welcome: http://www.privoxy.org/faq/general.html#DONATE
|
||||||
|
|
||||||
|
At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
|
||||||
|
XP, Vista), Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and
|
||||||
|
others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and
|
||||||
|
various other flavors of Unix.
|
||||||
|
|
||||||
|
In addition to the core features of ad blocking and cookie management,
|
||||||
|
Privoxy provides many supplemental features, that give the end-user
|
||||||
|
more control, more privacy and more freedom:
|
||||||
|
|
||||||
|
|
||||||
|
* Can keep outgoing connections alive and reuse them later on.
|
||||||
|
|
||||||
|
* Supports tagging which allows to change the behaviour based on client
|
||||||
|
and server headers.
|
||||||
|
|
||||||
|
* Can be run as an "intercepting" proxy, which obviates the need to
|
||||||
|
configure browsers individually.
|
||||||
|
|
||||||
|
* Sophisticated actions and filters for manipulating both server and
|
||||||
|
client headers.
|
||||||
|
|
||||||
|
* Can be chained with other proxies.
|
||||||
|
|
||||||
|
* Integrated browser based configuration and control utility at
|
||||||
|
http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based
|
||||||
|
tracing of rule and filter effects. Remote toggling.
|
||||||
|
|
||||||
|
* Web page filtering (text replacements, removes banners based on size,
|
||||||
|
invisible "web-bugs", JavaScript and HTML annoyances, pop-up windows,
|
||||||
|
etc.)
|
||||||
|
|
||||||
|
* Modularized configuration that allows for standard settings and user
|
||||||
|
settings to reside in separate files, so that installing updated actions
|
||||||
|
files won't overwrite individual user settings.
|
||||||
|
|
||||||
|
* Support for Perl Compatible Regular Expressions in the configuration
|
||||||
|
files, and a more sophisticated and flexible configuration syntax.
|
||||||
|
|
||||||
|
* Improved cookie management features (e.g. session based cookies).
|
||||||
|
|
||||||
|
* GIF de-animation.
|
||||||
|
|
||||||
|
* Bypass many click-tracking scripts (avoids script redirection).
|
||||||
|
|
||||||
|
* Multi-threaded (POSIX and native threads).
|
||||||
|
|
||||||
|
* User-customizable HTML templates for most proxy-generated pages (e.g.
|
||||||
|
"blocked" page).
|
||||||
|
|
||||||
|
* Auto-detection and re-reading of config file changes.
|
||||||
|
|
||||||
|
* 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:
|
||||||
|
http://sourceforge.net/project/showfiles.php?group_id=11118
|
||||||
|
|
||||||
|
Home Page:
|
||||||
|
http://www.privoxy.org/
|
||||||
|
|
||||||
|
|
||||||
|
- Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
|
@ -0,0 +1,510 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Update the Webserver"
|
||||||
|
HREF="webserver-update.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Privoxy Copyright, License and History"
|
||||||
|
HREF="copyright.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="webserver-update.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT"
|
||||||
|
>8. Contacting the developers, Bug Reporting and Feature Requests</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> We value your feedback. In fact, we rely on it to improve
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> and its configuration.
|
||||||
|
However, please note the following hints, so we can
|
||||||
|
provide you with the best support:</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-SUPPORT"
|
||||||
|
>8.1. Get Support</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> For casual users, our
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
|
TARGET="_top"
|
||||||
|
>support forum at SourceForge</A
|
||||||
|
>
|
||||||
|
is probably best suited:
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> All users are of course welcome to discuss their issues on the <A
|
||||||
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||||
|
TARGET="_top"
|
||||||
|
>users
|
||||||
|
mailing list</A
|
||||||
|
>, where the developers also hang around.</P
|
||||||
|
><P
|
||||||
|
> Please don't sent private support requests to individual Privoxy
|
||||||
|
developers, either use the mailing lists or the support trackers.</P
|
||||||
|
><P
|
||||||
|
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
|
delay of several days and if you use a subject that doesn't clearly
|
||||||
|
mention Privoxy or one of its features, your message may be accidentally
|
||||||
|
discarded as spam.</P
|
||||||
|
><P
|
||||||
|
> If you aren't subscribed, you should therefore spend a few seconds
|
||||||
|
to come up with a proper subject. Additionally you should make it clear
|
||||||
|
that you want to get CC'd. Otherwise some responses will be directed to
|
||||||
|
the mailing list only, and you won't see them.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="REPORTING"
|
||||||
|
>8.2. Reporting Problems</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
><SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Problems"</SPAN
|
||||||
|
> for our purposes, come in two forms:</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Configuration issues, such as ads that slip through, or sites that
|
||||||
|
don't function properly due to one <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"action"</SPAN
|
||||||
|
> or another being turned <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"on"</SPAN
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Bugs"</SPAN
|
||||||
|
> in the programming code that makes up
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, such as that might cause a crash.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT3"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT3"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-ADS"
|
||||||
|
>8.2.1. Reporting Ads or Other Configuration Problems</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> Please send feedback on ads that slipped through, innocent images that were
|
||||||
|
blocked, sites that don't work properly, and other configuration related problem of
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>default.action</TT
|
||||||
|
> file, to
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||||
|
TARGET="_top"
|
||||||
|
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||||
|
>,
|
||||||
|
the Actions File Tracker.</P
|
||||||
|
><P
|
||||||
|
> New, improved <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>default.action</TT
|
||||||
|
> files may occasionally be made
|
||||||
|
available based on your feedback. These will be announced on the <A
|
||||||
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||||
|
TARGET="_top"
|
||||||
|
>ijbswa-announce</A
|
||||||
|
>
|
||||||
|
list and available from our the <A
|
||||||
|
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>files section</A
|
||||||
|
> of
|
||||||
|
our <A
|
||||||
|
HREF="http://sf.net/projects/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
|
>project page</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT3"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT3"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-BUGS"
|
||||||
|
>8.2.2. Reporting Bugs</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> Please report all bugs through our bug tracker:
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||||
|
>. </P
|
||||||
|
><P
|
||||||
|
> Before doing so, please make sure that the bug has <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>not already been submitted</I
|
||||||
|
></SPAN
|
||||||
|
>
|
||||||
|
and observe the additional hints at the top of the <A
|
||||||
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||||
|
TARGET="_top"
|
||||||
|
>submit
|
||||||
|
form</A
|
||||||
|
>. If already submitted, please feel free to add any info to the
|
||||||
|
original report that might help to solve the issue.</P
|
||||||
|
><P
|
||||||
|
> Please try to verify that it is a <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> bug,
|
||||||
|
and not a browser or site bug or documented behaviour that just happens
|
||||||
|
to be different than what you expected. If unsure,
|
||||||
|
try <A
|
||||||
|
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||||
|
TARGET="_top"
|
||||||
|
>toggling
|
||||||
|
off</A
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, and see if the problem persists.</P
|
||||||
|
><P
|
||||||
|
> If you are using your own custom configuration, please try
|
||||||
|
the stock configs to see if the problem is configuration related.
|
||||||
|
If you're having problems with a feature that is disabled by default,
|
||||||
|
please ask around on the mailing list if others can reproduce the problem.</P
|
||||||
|
><P
|
||||||
|
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||||
|
and fixed in the meantime. We would appreciate if you could take the time
|
||||||
|
to <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>upgrade
|
||||||
|
to the latest version</A
|
||||||
|
> (or even the latest CVS snapshot) and verify
|
||||||
|
that your bug still exists.</P
|
||||||
|
><P
|
||||||
|
>Please be sure to provide the following information:</P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The exact <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> version you are using
|
||||||
|
(if you got the source from CVS, please also provide the source code revisions
|
||||||
|
as shown in <A
|
||||||
|
HREF="http://config.privoxy.org/show-version"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://config.privoxy.org/show-version</A
|
||||||
|
>).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The operating system and versions you run
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> on, (e.g. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Windows
|
||||||
|
XP SP2</SPAN
|
||||||
|
>), if you are using a Unix flavor,
|
||||||
|
sending the output of <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"uname -a"</SPAN
|
||||||
|
> should do,
|
||||||
|
in case of GNU/Linux, please also name the distribution.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The name, platform, and version of the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>browser</SPAN
|
||||||
|
>
|
||||||
|
you were using (e.g. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet Explorer v5.5</SPAN
|
||||||
|
> for Mac).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The URL where the problem occurred, or some way for us to duplicate the
|
||||||
|
problem (e.g. <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>http://somesite.example.com/?somethingelse=123</TT
|
||||||
|
>).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether your version of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is one supplied
|
||||||
|
by the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> developers via SourceForge,
|
||||||
|
or if you got your copy somewhere else.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether you are using <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> in tandem with
|
||||||
|
another proxy such as <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Tor</SPAN
|
||||||
|
>. If so, please
|
||||||
|
temporary disable the other proxy to see if the symptoms change.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether you are using a personal firewall product. If so, does
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> work without it?
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Any other pertinent information to help identify the problem such as config
|
||||||
|
or log file excerpts (yes, you should have log file entries for each
|
||||||
|
action taken).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> You don't have to tell us your actual name when filing a problem
|
||||||
|
report, but please use a nickname so we can differentiate between
|
||||||
|
your messages and the ones entered by other "anonymous" users that
|
||||||
|
may respond to your request if they have the same problem or already
|
||||||
|
found a solution.</P
|
||||||
|
><P
|
||||||
|
> Please also check the status of your request a few days after submitting
|
||||||
|
it, as we may request additional information. If you use a SF id,
|
||||||
|
you should automatically get a mail when someone responds to your request.</P
|
||||||
|
><P
|
||||||
|
> The <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
||||||
|
TARGET="_top"
|
||||||
|
>appendix
|
||||||
|
of the Privoxy User Manual</A
|
||||||
|
> also has helpful information
|
||||||
|
on understanding <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>actions</TT
|
||||||
|
>, and <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>action</TT
|
||||||
|
> debugging. </P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-FEATURE"
|
||||||
|
>8.3. Request New Features</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> You are welcome to submit ideas on new features or other proposals
|
||||||
|
for improvement through our feature request tracker at
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/tracker/?atid=361118&group_id=11118</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-OTHER"
|
||||||
|
>8.4. Other</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
>For any other issues, feel free to use the mailing lists. Technically interested users
|
||||||
|
and people who wish to contribute to the project are also welcome on the developers list!
|
||||||
|
You can find an overview of all <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>-related mailing lists,
|
||||||
|
including list archives, at:
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/mail/?group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/mail/?group_id=11118</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="webserver-update.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Update the Webserver</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Privoxy Copyright, License and History</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,298 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Privoxy Copyright, License and History</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||||
|
HREF="contact.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="See also"
|
||||||
|
HREF="seealso.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="seealso.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="COPYRIGHT"
|
||||||
|
>9. Privoxy Copyright, License and History</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||||
|
CLASS="EMAIL"
|
||||||
|
><<A
|
||||||
|
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||||
|
>ijbswa-developers@lists.sourceforge.net</A
|
||||||
|
>></CODE
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||||
|
and Junkbusters, Inc. and licensed under the <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public
|
||||||
|
License</I
|
||||||
|
>.</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="AEN1223"
|
||||||
|
>9.1. License</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is free software; you can
|
||||||
|
redistribute it and/or modify it under the terms of the
|
||||||
|
<I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public License</I
|
||||||
|
>, version 2,
|
||||||
|
as published by the Free Software Foundation.</P
|
||||||
|
><P
|
||||||
|
> This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
||||||
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
|
TARGET="_top"
|
||||||
|
> <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public License</I
|
||||||
|
></A
|
||||||
|
> for details.</P
|
||||||
|
><P
|
||||||
|
> You should have received a copy of the <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU GPL</I
|
||||||
|
>
|
||||||
|
along with this program; if not, write to the <P
|
||||||
|
CLASS="ADDRESS"
|
||||||
|
> Free Software<br>
|
||||||
|
Foundation, Inc. <SPAN
|
||||||
|
CLASS="STREET"
|
||||||
|
>51 Franklin Street, Fifth Floor</SPAN
|
||||||
|
><br>
|
||||||
|
<SPAN
|
||||||
|
CLASS="CITY"
|
||||||
|
>Boston</SPAN
|
||||||
|
>, <SPAN
|
||||||
|
CLASS="STATE"
|
||||||
|
>MA</SPAN
|
||||||
|
> <SPAN
|
||||||
|
CLASS="POSTCODE"
|
||||||
|
>02110-1301</SPAN
|
||||||
|
><br>
|
||||||
|
<SPAN
|
||||||
|
CLASS="COUNTRY"
|
||||||
|
>USA</SPAN
|
||||||
|
> </P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="AEN1239"
|
||||||
|
>9.2. History</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> A long time ago, there was the
|
||||||
|
<A
|
||||||
|
HREF="http://www.junkbusters.com/ijb.html"
|
||||||
|
TARGET="_top"
|
||||||
|
><SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet Junkbuster</SPAN
|
||||||
|
></A
|
||||||
|
>,
|
||||||
|
by Anonymous Coders and <A
|
||||||
|
HREF="http://www.junkbusters.com/"
|
||||||
|
TARGET="_top"
|
||||||
|
>Junkbusters
|
||||||
|
Corporation</A
|
||||||
|
>. This saved many users a lot of pain in the early days of
|
||||||
|
web advertising and user tracking.</P
|
||||||
|
><P
|
||||||
|
> But the web, its protocols and standards, and with it, the techniques for
|
||||||
|
forcing ads on users, give up autonomy over their browsing, and
|
||||||
|
for tracking them, keeps evolving. Unfortunately, the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet
|
||||||
|
Junkbuster</SPAN
|
||||||
|
> did not. Version 2.0.2, published in 1998, was
|
||||||
|
(and is) the last official
|
||||||
|
<A
|
||||||
|
HREF="http://www.junkbusters.com/ijbdist.html#release"
|
||||||
|
TARGET="_top"
|
||||||
|
>release</A
|
||||||
|
>
|
||||||
|
available from <A
|
||||||
|
HREF="http://www.junkbusters.com"
|
||||||
|
TARGET="_top"
|
||||||
|
>Junkbusters Corporation</A
|
||||||
|
>.
|
||||||
|
Fortunately, it had been released under the GNU
|
||||||
|
<A
|
||||||
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>GPL</A
|
||||||
|
>,
|
||||||
|
which allowed further development by others.</P
|
||||||
|
><P
|
||||||
|
> So Stefan Waldherr started maintaining an improved version of the
|
||||||
|
software, to which eventually a number of people contributed patches.
|
||||||
|
It could already replace banners with a transparent image, and had a first
|
||||||
|
version of pop-up killing, but it was still very closely based on the
|
||||||
|
original, with all its limitations, such as the lack of HTTP/1.1 support,
|
||||||
|
flexible per-site configuration, or content modification. The last release
|
||||||
|
from this effort was version 2.0.2-10, published in 2000.</P
|
||||||
|
><P
|
||||||
|
> Then, some
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
|
||||||
|
TARGET="_top"
|
||||||
|
>developers</A
|
||||||
|
>
|
||||||
|
picked up the thread, and started turning the software inside out, upside down,
|
||||||
|
and then reassembled it, adding many
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
||||||
|
TARGET="_top"
|
||||||
|
>new
|
||||||
|
features</A
|
||||||
|
> along the way.</P
|
||||||
|
><P
|
||||||
|
> The result of this is <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, whose first
|
||||||
|
stable version, 3.0, was released August, 2002.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="seealso.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>See also</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,330 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>The CVS Repository</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Introduction"
|
||||||
|
HREF="introduction.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Documentation Guidelines"
|
||||||
|
HREF="documentation.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="introduction.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="documentation.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="CVS"
|
||||||
|
>2. The CVS Repository</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> If you become part of the active development team, you will eventually
|
||||||
|
need write access to our holy grail, the CVS repository. One of the
|
||||||
|
team members will need to set this up for you. Please read
|
||||||
|
this chapter completely before accessing via CVS.
|
||||||
|
</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CVSACCESS"
|
||||||
|
>2.1. Access to CVS</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> The project's CVS repository is hosted on
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/"
|
||||||
|
TARGET="_top"
|
||||||
|
>SourceForge.</A
|
||||||
|
>
|
||||||
|
Please refer to the chapters 6 and 7 in
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/docman/?group_id=1"
|
||||||
|
TARGET="_top"
|
||||||
|
>SF's site
|
||||||
|
documentation</A
|
||||||
|
> for the technical access details for your
|
||||||
|
operating system. For historical reasons, the CVS server is
|
||||||
|
called <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>ijbswa.cvs.sourceforge.net</TT
|
||||||
|
>, the repository is
|
||||||
|
called <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>ijbswa</TT
|
||||||
|
>, and the source tree module is called
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>current</TT
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CVSBRANCHES"
|
||||||
|
>2.2. Branches</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> Within the CVS repository, there are modules and branches. As
|
||||||
|
mentioned, the sources are in the <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>current</TT
|
||||||
|
>
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"module"</SPAN
|
||||||
|
>. Other modules are present for platform specific
|
||||||
|
issues. There is a webview of the CVS hierarchy at <A
|
||||||
|
HREF="http://ijbswa.cvs.sourceforge.net/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://ijbswa.cvs.sourceforge.net/ijbswa/</A
|
||||||
|
>,
|
||||||
|
which might help with visualizing how these pieces fit together.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Branches are used to fork a sub-development path from the main trunk.
|
||||||
|
Within the <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>current</TT
|
||||||
|
> module where the sources are, there
|
||||||
|
is always at least one <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"branch"</SPAN
|
||||||
|
> from the main trunk
|
||||||
|
devoted to a stable release series. The main trunk is where active
|
||||||
|
development takes place for the next stable series (e.g. 3.2.x).
|
||||||
|
So just prior to each stable series (e.g. 3.0.x), a branch is created
|
||||||
|
just for stable series releases (e.g. 3.0.0 -> 3.0.1 -> 3.0.2, etc).
|
||||||
|
Once the initial stable release of any stable branch has taken place,
|
||||||
|
this branch is <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>only used for bugfixes</I
|
||||||
|
></SPAN
|
||||||
|
>, which have
|
||||||
|
had prior testing before being committed to CVS. (See <A
|
||||||
|
HREF="newrelease.html#VERSIONNUMBERS"
|
||||||
|
>Version Numbers</A
|
||||||
|
> below for details on
|
||||||
|
versioning.)
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> At one time there were two distinct branches: stable and unstable. The
|
||||||
|
more drastic changes were to be in the unstable branch. These branches
|
||||||
|
have now been merged to minimize time and effort of maintaining two
|
||||||
|
branches.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CVSCOMMIT"
|
||||||
|
>2.3. CVS Commit Guidelines</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> The source tree is the heart of every software project. Every effort must
|
||||||
|
be made to ensure that it is readable, compilable and consistent at all
|
||||||
|
times. There are differing guidelines for the stable branch and the
|
||||||
|
main development trunk, and we ask anyone with CVS access to strictly
|
||||||
|
adhere to the following guidelines:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Basic Guidelines, for all branches:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Please don't commit even
|
||||||
|
a small change without testing it thoroughly first. When we're
|
||||||
|
close to a public release, ask a fellow developer to review your
|
||||||
|
changes.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Your commit message should give a concise overview of <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>what you
|
||||||
|
changed</I
|
||||||
|
></SPAN
|
||||||
|
> (no big details) and <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>why you changed it</I
|
||||||
|
></SPAN
|
||||||
|
>
|
||||||
|
Just check previous messages for good examples.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Don't use the same message on multiple files, unless it equally applies to
|
||||||
|
all those files.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> If your changes span multiple files, and the code won't recompile unless
|
||||||
|
all changes are committed (e.g. when changing the signature of a function),
|
||||||
|
then commit all files one after another, without long delays in between.
|
||||||
|
If necessary, prepare the commit messages in advance.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Before changing things on CVS, make sure that your changes are in line
|
||||||
|
with the team's general consensus on what should be done.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Note that near a major public release, we get more cautious.
|
||||||
|
There is always the possibility to submit a patch to the <A
|
||||||
|
HREF="http://sourceforge.net/tracker/?atid=311118&group_id=11118&func=browse"
|
||||||
|
TARGET="_top"
|
||||||
|
>patch
|
||||||
|
tracker</A
|
||||||
|
> instead.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="introduction.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="documentation.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Introduction</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Documentation Guidelines</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,944 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Documentation 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="The CVS Repository"
|
||||||
|
HREF="cvs.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Coding Guidelines"
|
||||||
|
HREF="coding.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="cvs.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="coding.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="DOCUMENTATION"
|
||||||
|
>3. Documentation Guidelines</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> All formal documents are maintained in Docbook SGML and located in the
|
||||||
|
<SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>doc/source/*</SAMP
|
||||||
|
> directory. You will need
|
||||||
|
<A
|
||||||
|
HREF="http://www.docbook.org"
|
||||||
|
TARGET="_top"
|
||||||
|
>Docbook</A
|
||||||
|
>, the Docbook
|
||||||
|
DTD's and the Docbook modular stylesheets (or comparable alternatives),
|
||||||
|
and either <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>jade</SPAN
|
||||||
|
> or
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>openjade</SPAN
|
||||||
|
> (recommended) installed in order to
|
||||||
|
build docs from source. Currently there is <A
|
||||||
|
HREF="../user-manual/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
><I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>user-manual</I
|
||||||
|
></A
|
||||||
|
>,
|
||||||
|
<A
|
||||||
|
HREF="../faq/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
><I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>FAQ</I
|
||||||
|
></A
|
||||||
|
>, and, of
|
||||||
|
course this, the <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>developer-manual</I
|
||||||
|
> in this format.
|
||||||
|
The <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>README</I
|
||||||
|
>, <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>AUTHORS</I
|
||||||
|
>,
|
||||||
|
<I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>INSTALL</I
|
||||||
|
>,
|
||||||
|
<I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>privoxy.1</I
|
||||||
|
> (man page), and
|
||||||
|
<I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>config</I
|
||||||
|
> files are also now maintained as Docbook
|
||||||
|
SGML. These files, when built, in the top-level source directory are
|
||||||
|
generated files! Also, the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>index.html</TT
|
||||||
|
> (and a
|
||||||
|
variation on this file, <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>privoxy-index.html</TT
|
||||||
|
>,
|
||||||
|
meant for inclusion with doc packages), are maintained as SGML as well.
|
||||||
|
<SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>DO NOT edit these directly</I
|
||||||
|
></SPAN
|
||||||
|
>. Edit the SGML source, or
|
||||||
|
contact someone involved in the documentation.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>config</TT
|
||||||
|
> requires some special handling. The reason it
|
||||||
|
is maintained this way is so that the extensive comments in the file
|
||||||
|
mirror those in <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>user-manual</I
|
||||||
|
>. But the conversion
|
||||||
|
process requires going from SGML to HTML to text to special formatting
|
||||||
|
required for the embedded comments. Some of this does not survive so
|
||||||
|
well. Especially some of the examples that are longer than 80 characters.
|
||||||
|
The build process for this file outputs to <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>config.new</TT
|
||||||
|
>,
|
||||||
|
which should be reviewed for errors and mis-formatting. Once satisfied
|
||||||
|
that it is correct, then it should be hand copied to
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>config</TT
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Other, less formal documents (e.g. <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>LICENSE</TT
|
||||||
|
>) are
|
||||||
|
maintained as plain text files in the top-level source directory.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Packagers are encouraged to include this documentation. For those without
|
||||||
|
the ability to build the docs locally, text versions of each are kept in
|
||||||
|
CVS. HTML versions are also being kept in CVS under
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/*</TT
|
||||||
|
>. And PDF version are kept in
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/pdf/*</TT
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Formal documents are built with the Makefile targets of
|
||||||
|
<SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>make dok</SAMP
|
||||||
|
>, or alternately
|
||||||
|
<SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>make redhat-dok</SAMP
|
||||||
|
>. If you have problems,
|
||||||
|
try both. The build process uses the document SGML sources in
|
||||||
|
<SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>doc/source/*/*</SAMP
|
||||||
|
> to update all text files in
|
||||||
|
<SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>doc/text/</SAMP
|
||||||
|
> and to update all HTML
|
||||||
|
documents in <SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>doc/webserver/</SAMP
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Documentation writers should please make sure documents build
|
||||||
|
successfully before committing to CVS, if possible.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> How do you update the webserver (i.e. the pages on privoxy.org)?
|
||||||
|
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><OL
|
||||||
|
TYPE="1"
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> First, build the docs by running <SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>make
|
||||||
|
dok</SAMP
|
||||||
|
> (or alternately <SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>make
|
||||||
|
redhat-dok</SAMP
|
||||||
|
>). For PDF docs, do <SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>make
|
||||||
|
dok-pdf</SAMP
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Run <SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>make webserver</SAMP
|
||||||
|
> which copies all
|
||||||
|
files from <SAMP
|
||||||
|
CLASS="COMPUTEROUTPUT"
|
||||||
|
>doc/webserver</SAMP
|
||||||
|
> to the
|
||||||
|
sourceforge webserver via scp.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></OL
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Finished docs should be occasionally submitted to CVS
|
||||||
|
(<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/*/*.html</TT
|
||||||
|
>) so that those without
|
||||||
|
the ability to build them locally, have access to them if needed.
|
||||||
|
This is especially important just prior to a new release! Please
|
||||||
|
do this <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>after</I
|
||||||
|
></SPAN
|
||||||
|
> the <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>$VERSION</TT
|
||||||
|
> and
|
||||||
|
other release specific data in <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>configure.in</TT
|
||||||
|
> has been
|
||||||
|
updated (this is done just prior to a new release).
|
||||||
|
</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="SGML"
|
||||||
|
>3.1. Quickstart to Docbook and SGML</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> If you are not familiar with SGML, it is a markup language similar to HTML.
|
||||||
|
Actually, not a mark up language per se, but a language used to define
|
||||||
|
markup languages. In fact, HTML is an SGML application. Both will use
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"tags"</SPAN
|
||||||
|
> to format text and other content. SGML tags can be much
|
||||||
|
more varied, and flexible, but do much of the same kinds of things. The tags,
|
||||||
|
or <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"elements"</SPAN
|
||||||
|
>, are definable in SGML. There is no set
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"standards"</SPAN
|
||||||
|
>. Since we are using
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Docbook</SPAN
|
||||||
|
>, our tags are those that are defined by
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Docbook</SPAN
|
||||||
|
>. Much of how the finish document is
|
||||||
|
rendered is determined by the <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"stylesheets"</SPAN
|
||||||
|
>.
|
||||||
|
The stylesheets determine how each tag gets translated to HTML, or other
|
||||||
|
formats.</P
|
||||||
|
><P
|
||||||
|
> Tags in Docbook SGML need to be always <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"closed"</SPAN
|
||||||
|
>. If not, you
|
||||||
|
will likely generate errors. Example: <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><title>My
|
||||||
|
Title</title></TT
|
||||||
|
>. They are also case-insensitive, but we
|
||||||
|
strongly suggest using all lower case. This keeps compatibility with
|
||||||
|
[Docbook] <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>XML</SPAN
|
||||||
|
>.</P
|
||||||
|
><P
|
||||||
|
> Our documents use <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"sections"</SPAN
|
||||||
|
> for the most part. Sections
|
||||||
|
will be processed into HTML headers (e.g. <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>h1</TT
|
||||||
|
> for
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>sect1</TT
|
||||||
|
>). The <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Docbook</SPAN
|
||||||
|
> stylesheets
|
||||||
|
will use these to also generate the Table of Contents for each doc. Our
|
||||||
|
TOC's are set to a depth of three. Meaning <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>sect1</TT
|
||||||
|
>,
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>sect2</TT
|
||||||
|
>, and <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>sect3</TT
|
||||||
|
> will have TOC
|
||||||
|
entries, but <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>sect4</TT
|
||||||
|
> will not. Each section requires
|
||||||
|
a <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><title></TT
|
||||||
|
> element, and at least one
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><para></TT
|
||||||
|
>. There is a limit of five section
|
||||||
|
levels in Docbook, but generally three should be sufficient for our
|
||||||
|
purposes.</P
|
||||||
|
><P
|
||||||
|
> Some common elements that you likely will use: </P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><para></para></I
|
||||||
|
></SPAN
|
||||||
|
>, paragraph delimiter. Most
|
||||||
|
text needs to be within paragraph elements (there are some exceptions).
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><emphasis></emphasis></I
|
||||||
|
></SPAN
|
||||||
|
>, the stylesheets
|
||||||
|
make this italics.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><filename></filename></I
|
||||||
|
></SPAN
|
||||||
|
>, files and directories.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><command></command></I
|
||||||
|
></SPAN
|
||||||
|
>, command examples.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><literallayout></literallayout></I
|
||||||
|
></SPAN
|
||||||
|
>, like
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><pre></TT
|
||||||
|
>, more or less.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><itemizedlist></itemizedlist></I
|
||||||
|
></SPAN
|
||||||
|
>, list with bullets.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><listitem></listitem></I
|
||||||
|
></SPAN
|
||||||
|
>, member of the above.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><screen></screen></I
|
||||||
|
></SPAN
|
||||||
|
>, screen output, implies
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><literallayout></TT
|
||||||
|
>.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><ulink url="example.com"></ulink></I
|
||||||
|
></SPAN
|
||||||
|
>, like
|
||||||
|
HTML <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><a></TT
|
||||||
|
> tag.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
><quote></quote></I
|
||||||
|
></SPAN
|
||||||
|
>, for, doh, quoting text.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> Look at any of the existing docs for examples of all these and more.</P
|
||||||
|
><P
|
||||||
|
> You might also find <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"<A
|
||||||
|
HREF="http://opensource.bureau-cornavin.com/crash-course/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Writing Documentation
|
||||||
|
Using DocBook - A Crash Course</A
|
||||||
|
>"</SPAN
|
||||||
|
> useful.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="DOCSTYLE"
|
||||||
|
>3.2. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> Documentation Style</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> It will be easier if everyone follows a similar writing style. This
|
||||||
|
just makes it easier to read what someone else has written if it
|
||||||
|
is all done in a similar fashion.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Here it is:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> All tags should be lower case.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Tags delimiting a <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>block</I
|
||||||
|
></SPAN
|
||||||
|
> of text (even small
|
||||||
|
blocks) should be on their own line. Like:
|
||||||
|
<P
|
||||||
|
CLASS="LITERALLAYOUT"
|
||||||
|
> <para><br>
|
||||||
|
Some text goes here.<br>
|
||||||
|
</para><br>
|
||||||
|
</P
|
||||||
|
>
|
||||||
|
Tags marking individual words, or few words, should be in-line:
|
||||||
|
<P
|
||||||
|
CLASS="LITERALLAYOUT"
|
||||||
|
> Just to <emphasis>emphasize</emphasis>, some text goes here.<br>
|
||||||
|
</P
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Tags should be nested and step indented for block text like: (except
|
||||||
|
in-line tags)
|
||||||
|
<P
|
||||||
|
CLASS="LITERALLAYOUT"
|
||||||
|
> <para><br>
|
||||||
|
<itemizedlist><br>
|
||||||
|
<para><br>
|
||||||
|
<listitem><br>
|
||||||
|
Some text goes here in our list example.<br>
|
||||||
|
</listitem><br>
|
||||||
|
</para><br>
|
||||||
|
</itemizedlist><br>
|
||||||
|
</para><br>
|
||||||
|
</P
|
||||||
|
>
|
||||||
|
This makes it easier to find the text amongst the tags ;-)
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Use white space to separate logical divisions within a document,
|
||||||
|
like between sections. Running everything together consistently
|
||||||
|
makes it harder to read and work on.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Do not hesitate to make comments. Comments can either use the
|
||||||
|
<comment> element, or the <!-- --> style comment
|
||||||
|
familiar from HTML. (Note in Docbook v4.x <comment> is
|
||||||
|
replaced by <remark>.)
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> We have an international audience. Refrain from slang, or English
|
||||||
|
idiosyncrasies (too many to list :). Humor also does not translate
|
||||||
|
well sometimes.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Try to keep overall line lengths in source files to 80 characters or less
|
||||||
|
for obvious reasons. This is not always possible, with lengthy URLs for
|
||||||
|
instance.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Our documents are available in differing formats. Right now, they
|
||||||
|
are just plain text, HTML, and PDF, but others are always a
|
||||||
|
future possibility. Be careful with URLs (<ulink>), and avoid
|
||||||
|
this mistake:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> My favorite site is <ulink url="http://example.com">here</ulink>.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> This will render as <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"My favorite site is here"</SPAN
|
||||||
|
>, which is
|
||||||
|
not real helpful in a text doc. Better like this:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> My favorite site is <ulink url="http://example.com">example.com</ulink>.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> All documents should be spell checked occasionally.
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>aspell</SPAN
|
||||||
|
> can check SGML with the
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>-H</TT
|
||||||
|
> option. (<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>ispell</SPAN
|
||||||
|
> I think
|
||||||
|
too.)
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="AEN217"
|
||||||
|
>3.3. Privoxy Custom Entities</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> documentation is using
|
||||||
|
a number of customized <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"entities"</SPAN
|
||||||
|
> to facilitate
|
||||||
|
documentation maintenance.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> We are using a set of <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"boilerplate"</SPAN
|
||||||
|
> files with generic text,
|
||||||
|
that is used by multiple docs. This way we can write something once, and use
|
||||||
|
it repeatedly without having to re-write the same content over and over again.
|
||||||
|
If editing such a file, keep in mind that it should be
|
||||||
|
<SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>generic</I
|
||||||
|
></SPAN
|
||||||
|
>. That is the purpose; so it can be used in varying
|
||||||
|
contexts without additional modifications.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> We are also using what <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Docbook</SPAN
|
||||||
|
> calls
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"internal entities"</SPAN
|
||||||
|
>. These are like variables in
|
||||||
|
programming. Well, sort of. For instance, we have the
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>p-version</TT
|
||||||
|
> entity that contains the current
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> version string. You are strongly
|
||||||
|
encouraged to use these where possible. Some of these obviously
|
||||||
|
require re-setting with each release (done by the Makefile). A sampling of
|
||||||
|
custom entities are listed below. See any of the main docs for examples.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Re- <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"boilerplate"</SPAN
|
||||||
|
> text entities are defined like:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
><!entity supported SYSTEM "supported.sgml"></TT
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> In this example, the contents of the file,
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>supported.sgml</TT
|
||||||
|
> is available for inclusion anywhere
|
||||||
|
in the doc. To make this happen, just reference the now defined
|
||||||
|
entity: <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>&supported;</TT
|
||||||
|
> (starts with an ampersand
|
||||||
|
and ends with a semi-colon), and the contents will be dumped into
|
||||||
|
the finished doc at that point.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Commonly used <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"internal entities"</SPAN
|
||||||
|
>:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>p-version</I
|
||||||
|
></SPAN
|
||||||
|
>: the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
version string, e.g. <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"3.0.12"</SPAN
|
||||||
|
>.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>p-status</I
|
||||||
|
></SPAN
|
||||||
|
>: the project status, either
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"alpha"</SPAN
|
||||||
|
>, <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"beta"</SPAN
|
||||||
|
>, or <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"stable"</SPAN
|
||||||
|
>.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>p-not-stable</I
|
||||||
|
></SPAN
|
||||||
|
>: use to conditionally include
|
||||||
|
text in <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"not stable"</SPAN
|
||||||
|
> releases (e.g. <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"beta"</SPAN
|
||||||
|
>).
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>p-stable</I
|
||||||
|
></SPAN
|
||||||
|
>: just the opposite.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>p-text</I
|
||||||
|
></SPAN
|
||||||
|
>: this doc is only generated as text.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> There are others in various places that are defined for a specific
|
||||||
|
purpose. Read the source!
|
||||||
|
</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="cvs.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="coding.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>The CVS Repository</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Coding Guidelines</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,688 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Privoxy Developer Manual</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Introduction"
|
||||||
|
HREF="introduction.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="ARTICLE"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="ARTICLE"
|
||||||
|
><DIV
|
||||||
|
CLASS="TITLEPAGE"
|
||||||
|
><H1
|
||||||
|
CLASS="TITLE"
|
||||||
|
><A
|
||||||
|
NAME="AEN2"
|
||||||
|
>Privoxy Developer Manual</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
CLASS="PUBDATE"
|
||||||
|
> <SUB
|
||||||
|
>
|
||||||
|
|
||||||
|
<A
|
||||||
|
HREF="copyright.html"
|
||||||
|
>Copyright</A
|
||||||
|
> © 2001-2009 by
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>Privoxy Developers</A
|
||||||
|
>
|
||||||
|
</SUB
|
||||||
|
>
|
||||||
|
<BR></P
|
||||||
|
><P
|
||||||
|
CLASS="PUBDATE"
|
||||||
|
>$Id: index.html,v 1.42 2009/03/21 12:59:32 fabiankeil Exp $<BR></P
|
||||||
|
><DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="ABSTRACT"
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><A
|
||||||
|
NAME="AEN9"
|
||||||
|
></A
|
||||||
|
><P
|
||||||
|
> The developer manual provides guidance on coding, testing, packaging, documentation
|
||||||
|
and other issues of importance to those involved with
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> development. It is mandatory (and helpful!) reading
|
||||||
|
for anyone who wants to join the team. Note that it's currently out of date
|
||||||
|
and may not be entirely correct. As always, patches are welcome.</P
|
||||||
|
><P
|
||||||
|
> Please note that this document is constantly evolving. This copy represents
|
||||||
|
the state at the release of version 3.0.12.
|
||||||
|
You can find the latest version of the this manual at <A
|
||||||
|
HREF="http://www.privoxy.org/developer-manual/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.privoxy.org/developer-manual/</A
|
||||||
|
>.
|
||||||
|
Please see <A
|
||||||
|
HREF="contact.html"
|
||||||
|
>the Contact section</A
|
||||||
|
>
|
||||||
|
on how to contact the developers.</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><HR></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="TOC"
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
><B
|
||||||
|
>Table of Contents</B
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1. <A
|
||||||
|
HREF="introduction.html"
|
||||||
|
>Introduction</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>1.1. <A
|
||||||
|
HREF="introduction.html#QUICKSTART"
|
||||||
|
>Quickstart to Privoxy Development</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>2. <A
|
||||||
|
HREF="cvs.html"
|
||||||
|
>The CVS Repository</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>2.1. <A
|
||||||
|
HREF="cvs.html#CVSACCESS"
|
||||||
|
>Access to CVS</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.2. <A
|
||||||
|
HREF="cvs.html#CVSBRANCHES"
|
||||||
|
>Branches</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.3. <A
|
||||||
|
HREF="cvs.html#CVSCOMMIT"
|
||||||
|
>CVS Commit Guidelines</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>3. <A
|
||||||
|
HREF="documentation.html"
|
||||||
|
>Documentation Guidelines</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>3.1. <A
|
||||||
|
HREF="documentation.html#SGML"
|
||||||
|
>Quickstart to Docbook and SGML</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.2. <A
|
||||||
|
HREF="documentation.html#DOCSTYLE"
|
||||||
|
><SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> Documentation Style</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.3. <A
|
||||||
|
HREF="documentation.html#AEN217"
|
||||||
|
>Privoxy Custom Entities</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4. <A
|
||||||
|
HREF="coding.html"
|
||||||
|
>Coding Guidelines</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.1. <A
|
||||||
|
HREF="coding.html#S1"
|
||||||
|
>Introduction</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2. <A
|
||||||
|
HREF="coding.html#S2"
|
||||||
|
>Using Comments</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.2.1. <A
|
||||||
|
HREF="coding.html#S3"
|
||||||
|
>Comment, Comment, Comment</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2.2. <A
|
||||||
|
HREF="coding.html#S4"
|
||||||
|
>Use blocks for comments</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2.3. <A
|
||||||
|
HREF="coding.html#S5"
|
||||||
|
>Keep Comments on their own line</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2.4. <A
|
||||||
|
HREF="coding.html#S6"
|
||||||
|
>Comment each logical step</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2.5. <A
|
||||||
|
HREF="coding.html#S7"
|
||||||
|
>Comment All Functions Thoroughly</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2.6. <A
|
||||||
|
HREF="coding.html#S8"
|
||||||
|
>Comment at the end of braces if the
|
||||||
|
content is more than one screen length</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4.3. <A
|
||||||
|
HREF="coding.html#S9"
|
||||||
|
>Naming Conventions</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.3.1. <A
|
||||||
|
HREF="coding.html#S10"
|
||||||
|
>Variable Names</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.3.2. <A
|
||||||
|
HREF="coding.html#S11"
|
||||||
|
>Function Names</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.3.3. <A
|
||||||
|
HREF="coding.html#S12"
|
||||||
|
>Header file prototypes</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.3.4. <A
|
||||||
|
HREF="coding.html#S13"
|
||||||
|
>Enumerations, and #defines</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.3.5. <A
|
||||||
|
HREF="coding.html#S14"
|
||||||
|
>Constants</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4.4. <A
|
||||||
|
HREF="coding.html#S15"
|
||||||
|
>Using Space</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.4.1. <A
|
||||||
|
HREF="coding.html#S16"
|
||||||
|
>Put braces on a line by themselves.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4.2. <A
|
||||||
|
HREF="coding.html#S17"
|
||||||
|
>ALL control statements should have a
|
||||||
|
block</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4.3. <A
|
||||||
|
HREF="coding.html#S18"
|
||||||
|
>Do not belabor/blow-up boolean
|
||||||
|
expressions</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4.4. <A
|
||||||
|
HREF="coding.html#S19"
|
||||||
|
>Use white space freely because it is
|
||||||
|
free</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4.5. <A
|
||||||
|
HREF="coding.html#S20"
|
||||||
|
>Don't use white space around structure
|
||||||
|
operators</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4.6. <A
|
||||||
|
HREF="coding.html#S21"
|
||||||
|
>Make the last brace of a function stand
|
||||||
|
out</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4.7. <A
|
||||||
|
HREF="coding.html#S22"
|
||||||
|
>Use 3 character indentions</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4.5. <A
|
||||||
|
HREF="coding.html#S23"
|
||||||
|
>Initializing</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.5.1. <A
|
||||||
|
HREF="coding.html#S24"
|
||||||
|
>Initialize all variables</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4.6. <A
|
||||||
|
HREF="coding.html#S25"
|
||||||
|
>Functions</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.6.1. <A
|
||||||
|
HREF="coding.html#S26"
|
||||||
|
>Name functions that return a boolean as a
|
||||||
|
question.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.2. <A
|
||||||
|
HREF="coding.html#S27"
|
||||||
|
>Always specify a return type for a
|
||||||
|
function.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.3. <A
|
||||||
|
HREF="coding.html#S28"
|
||||||
|
>Minimize function calls when iterating by
|
||||||
|
using variables</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.4. <A
|
||||||
|
HREF="coding.html#S29"
|
||||||
|
>Pass and Return by Const Reference</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.5. <A
|
||||||
|
HREF="coding.html#S30"
|
||||||
|
>Pass and Return by Value</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.6. <A
|
||||||
|
HREF="coding.html#S31"
|
||||||
|
>Names of include files</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.7. <A
|
||||||
|
HREF="coding.html#S32"
|
||||||
|
>Provide multiple inclusion
|
||||||
|
protection</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.8. <A
|
||||||
|
HREF="coding.html#S33"
|
||||||
|
>Use `extern "C"` when appropriate</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6.9. <A
|
||||||
|
HREF="coding.html#S34"
|
||||||
|
>Where Possible, Use Forward Struct
|
||||||
|
Declaration Instead of Includes</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4.7. <A
|
||||||
|
HREF="coding.html#S35"
|
||||||
|
>General Coding Practices</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.7.1. <A
|
||||||
|
HREF="coding.html#S36"
|
||||||
|
>Turn on warnings</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.2. <A
|
||||||
|
HREF="coding.html#S37"
|
||||||
|
>Provide a default case for all switch
|
||||||
|
statements</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.3. <A
|
||||||
|
HREF="coding.html#S38"
|
||||||
|
>Try to avoid falling through cases in a
|
||||||
|
switch statement.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.4. <A
|
||||||
|
HREF="coding.html#S39"
|
||||||
|
>Use 'long' or 'short' Instead of
|
||||||
|
'int'</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.5. <A
|
||||||
|
HREF="coding.html#S40"
|
||||||
|
>Don't mix size_t and other types</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.6. <A
|
||||||
|
HREF="coding.html#S41"
|
||||||
|
>Declare each variable and struct on its
|
||||||
|
own line.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.7. <A
|
||||||
|
HREF="coding.html#S42"
|
||||||
|
>Use malloc/zalloc sparingly</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.8. <A
|
||||||
|
HREF="coding.html#S43"
|
||||||
|
>The Programmer Who Uses 'malloc' is
|
||||||
|
Responsible for Ensuring 'free'</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.9. <A
|
||||||
|
HREF="coding.html#S44"
|
||||||
|
>Add loaders to the `file_list' structure
|
||||||
|
and in order</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7.10. <A
|
||||||
|
HREF="coding.html#S45"
|
||||||
|
>"Uncertain" new code and/or changes to
|
||||||
|
existing code, use FIXME or XXX</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4.8. <A
|
||||||
|
HREF="coding.html#S46"
|
||||||
|
>Addendum: Template for files and function
|
||||||
|
comment blocks:</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>5. <A
|
||||||
|
HREF="testing.html"
|
||||||
|
>Testing Guidelines</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>5.1. <A
|
||||||
|
HREF="testing.html#TESTING-PLAN"
|
||||||
|
>Testplan for releases</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.2. <A
|
||||||
|
HREF="testing.html#TESTING-REPORT"
|
||||||
|
>Test reports</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>6. <A
|
||||||
|
HREF="newrelease.html"
|
||||||
|
>Releasing a New Version</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>6.1. <A
|
||||||
|
HREF="newrelease.html#VERSIONNUMBERS"
|
||||||
|
>Version numbers</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.2. <A
|
||||||
|
HREF="newrelease.html#BEFORERELEASE"
|
||||||
|
>Before the Release: Freeze</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3. <A
|
||||||
|
HREF="newrelease.html#THERELEASE"
|
||||||
|
>Building and Releasing the Packages</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>6.3.1. <A
|
||||||
|
HREF="newrelease.html#PACK-GUIDELINES"
|
||||||
|
>Note on Privoxy Packaging</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.2. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-TARBALL"
|
||||||
|
>Source Tarball</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.3. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-RPM"
|
||||||
|
>SuSE, Conectiva or Red Hat RPM</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.4. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-OS2"
|
||||||
|
>OS/2</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.5. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-SOLARIS"
|
||||||
|
>Solaris</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.6. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-WINDOWS"
|
||||||
|
>Windows</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.7. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-DEBIAN"
|
||||||
|
>Debian</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.8. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-MACOSX"
|
||||||
|
>Mac OS X</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.9. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-FREEBSD"
|
||||||
|
>FreeBSD</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.10. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-HPUX"
|
||||||
|
>HP-UX 11</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.11. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-AMIGA"
|
||||||
|
>Amiga OS</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.3.12. <A
|
||||||
|
HREF="newrelease.html#NEWRELEASE-AIX"
|
||||||
|
>AIX</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>6.4. <A
|
||||||
|
HREF="newrelease.html#RELEASING"
|
||||||
|
>Uploading and Releasing Your Package</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.5. <A
|
||||||
|
HREF="newrelease.html#AFTERRELEASE"
|
||||||
|
>After the Release</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>7. <A
|
||||||
|
HREF="webserver-update.html"
|
||||||
|
>Update the Webserver</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>8. <A
|
||||||
|
HREF="contact.html"
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>8.1. <A
|
||||||
|
HREF="contact.html#CONTACT-SUPPORT"
|
||||||
|
>Get Support</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>8.2. <A
|
||||||
|
HREF="contact.html#REPORTING"
|
||||||
|
>Reporting Problems</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>8.2.1. <A
|
||||||
|
HREF="contact.html#CONTACT-ADS"
|
||||||
|
>Reporting Ads or Other Configuration Problems</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>8.2.2. <A
|
||||||
|
HREF="contact.html#CONTACT-BUGS"
|
||||||
|
>Reporting Bugs</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>8.3. <A
|
||||||
|
HREF="contact.html#CONTACT-FEATURE"
|
||||||
|
>Request New Features</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>8.4. <A
|
||||||
|
HREF="contact.html#CONTACT-OTHER"
|
||||||
|
>Other</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>9. <A
|
||||||
|
HREF="copyright.html"
|
||||||
|
>Privoxy Copyright, License and History</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>9.1. <A
|
||||||
|
HREF="copyright.html#AEN1223"
|
||||||
|
>License</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>9.2. <A
|
||||||
|
HREF="copyright.html#AEN1239"
|
||||||
|
>History</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>10. <A
|
||||||
|
HREF="seealso.html"
|
||||||
|
>See also</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></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"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="introduction.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Introduction</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,199 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Introduction</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="The CVS Repository"
|
||||||
|
HREF="cvs.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="cvs.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="INTRODUCTION"
|
||||||
|
>1. Introduction</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, as an heir to
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Junkbuster</SPAN
|
||||||
|
>, is a Free Software project
|
||||||
|
and the code is licensed under the GNU General Public License version 2.
|
||||||
|
As such, <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> development is potentially open
|
||||||
|
to anyone who has the time, knowledge, and desire to contribute
|
||||||
|
in any capacity. Our goals are simply to continue the mission,
|
||||||
|
to improve <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, and
|
||||||
|
to make it available to as wide an audience as possible.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> One does not have to be a programmer to contribute. Packaging, testing,
|
||||||
|
documenting and porting, are all important jobs as well.
|
||||||
|
</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="QUICKSTART"
|
||||||
|
>1.1. Quickstart to Privoxy Development</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> The first step is to join the <A
|
||||||
|
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||||
|
TARGET="_top"
|
||||||
|
>developer's mailing list</A
|
||||||
|
>.
|
||||||
|
You can submit your ideas, or even better patches. Patches are best
|
||||||
|
submitted to the Sourceforge tracker set up for this purpose, but
|
||||||
|
can be sent to the list for review too.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> You will also need to have a cvs package installed, which will
|
||||||
|
entail having ssh installed as well (which seems to be a requirement of
|
||||||
|
SourceForge), in order to access the cvs repository. Having the GNU build
|
||||||
|
tools is also going to be important (particularly, autoconf and gmake).
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> For the time being (read, this section is under construction), you can
|
||||||
|
also refer to the extensive comments in the source code. In fact,
|
||||||
|
reading the code is recommended in any case.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="cvs.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Privoxy Developer Manual</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>The CVS Repository</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,150 @@
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Quickstart to Privoxy Development</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
|
||||||
|
"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Introduction"
|
||||||
|
HREF="introduction.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="The CVS Repository"
|
||||||
|
HREF="cvs.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="introduction.html"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="cvs.html"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="QUICKSTART"
|
||||||
|
>3. Quickstart to Privoxy Development</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> You'll need an account on <A
|
||||||
|
HREF="http://sourceforge.net/"
|
||||||
|
TARGET="_top"
|
||||||
|
>Sourceforge</A
|
||||||
|
> to support our
|
||||||
|
development. Mail your ID to <A
|
||||||
|
HREF="mailto:developers@privoxy.org"
|
||||||
|
TARGET="_top"
|
||||||
|
>the list</A
|
||||||
|
> and wait until a
|
||||||
|
project manager has added you.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> For the time being (read, this section is under construction), please
|
||||||
|
refer to the extensive comments in the source code.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="introduction.html"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="cvs.html"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Introduction</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>The CVS Repository</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,405 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>See also</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Privoxy Copyright, License and History"
|
||||||
|
HREF="copyright.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
> </TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="SEEALSO"
|
||||||
|
>10. See also</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> Other references and sites of interest to <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
users:</P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.privoxy.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.privoxy.org/</A
|
||||||
|
>,
|
||||||
|
the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> Home page.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.privoxy.org/faq/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.privoxy.org/faq/</A
|
||||||
|
>,
|
||||||
|
the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> FAQ.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.privoxy.org/developer-manual/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.privoxy.org/developer-manual/</A
|
||||||
|
>,
|
||||||
|
the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> developer manual.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="https://sourceforge.net/projects/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
|
>https://sourceforge.net/projects/ijbswa/</A
|
||||||
|
>,
|
||||||
|
the Project Page for <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> on
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net"
|
||||||
|
TARGET="_top"
|
||||||
|
>SourceForge</A
|
||||||
|
>.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://config.privoxy.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://config.privoxy.org/</A
|
||||||
|
>,
|
||||||
|
the web-based user interface. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> must be
|
||||||
|
running for this to work. Shortcut: <A
|
||||||
|
HREF="http://p.p/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://p.p/</A
|
||||||
|
>
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||||
|
TARGET="_top"
|
||||||
|
>https://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||||
|
>, to submit <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"misses"</SPAN
|
||||||
|
> and other
|
||||||
|
configuration related suggestions to the developers.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
|
||||||
|
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.junkbusters.com/ht/en/cookies.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.junkbusters.com/ht/en/cookies.html</A
|
||||||
|
>,
|
||||||
|
an explanation how cookies are used to track web users.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.junkbusters.com/ijb.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.junkbusters.com/ijb.html</A
|
||||||
|
>,
|
||||||
|
the original Internet Junkbuster.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.squid-cache.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.squid-cache.org/</A
|
||||||
|
>, a popular
|
||||||
|
caching proxy, which is often used together with <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
|
||||||
|
>,
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Polipo</SPAN
|
||||||
|
> is a caching proxy with advanced features
|
||||||
|
like pipelining, multiplexing and caching of partial instances. In many setups
|
||||||
|
it can be used as <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Squid</SPAN
|
||||||
|
> replacement.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
> <A
|
||||||
|
HREF="https://www.torproject.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>https://www.torproject.org/</A
|
||||||
|
>,
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Tor</SPAN
|
||||||
|
> can help anonymize web browsing,
|
||||||
|
web publishing, instant messaging, IRC, SSH, and other applications.
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Privoxy Copyright, License and History</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,259 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Testing Guidelines</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Coding Guidelines"
|
||||||
|
HREF="coding.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Releasing a New Version"
|
||||||
|
HREF="newrelease.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="coding.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="newrelease.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="TESTING"
|
||||||
|
>5. Testing Guidelines</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
>To be filled.</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="TESTING-PLAN"
|
||||||
|
>5.1. Testplan for releases</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> Explain release numbers. major, minor. developer releases. etc.
|
||||||
|
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><OL
|
||||||
|
TYPE="1"
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Remove any existing rpm with rpm -e</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Remove any file that was left over. This includes (but is not limited to)
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>/var/log/privoxy</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>/etc/privoxy</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>/usr/sbin/privoxy</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>/etc/init.d/privoxy</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>/usr/doc/privoxy*</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Install the rpm. Any error messages?</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>start,stop,status <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> with the specific script
|
||||||
|
(e.g. /etc/rc.d/init/privoxy stop). Reboot your machine. Does
|
||||||
|
autostart work?</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Start browsing. Does <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> work? Logfile written?</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Remove the rpm. Any error messages? All files removed?</P
|
||||||
|
></LI
|
||||||
|
></OL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="TESTING-REPORT"
|
||||||
|
>5.2. Test reports</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
>Please submit test reports only with the <A
|
||||||
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=395005"
|
||||||
|
TARGET="_top"
|
||||||
|
>test form</A
|
||||||
|
>
|
||||||
|
at sourceforge. Three simple steps:
|
||||||
|
<P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Select category: the distribution you test on.</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Select group: the version of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> that we are about to release.</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>Fill the Summary and Detailed Description with something
|
||||||
|
intelligent (keep it short and precise).</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
>
|
||||||
|
Do not mail to the mailing list (we cannot keep track on issues there).
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="coding.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="newrelease.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Coding Guidelines</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Releasing a New Version</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,260 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Update the Webserver</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Developer Manual"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Releasing a New Version"
|
||||||
|
HREF="newrelease.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||||
|
HREF="contact.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Developer Manual</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="newrelease.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="WEBSERVER-UPDATE"
|
||||||
|
>7. Update the Webserver</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> The webserver should be updated at least with each stable release. When
|
||||||
|
updating, please follow these steps to make sure that no broken links,
|
||||||
|
inconsistent contents or permission problems will occur (as it has many
|
||||||
|
times in the past!):
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> If you have changed anything in the stable-branch documentation source
|
||||||
|
SGML files, do:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <TABLE
|
||||||
|
BORDER="0"
|
||||||
|
BGCOLOR="#E0E0E0"
|
||||||
|
WIDTH="100%"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
><PRE
|
||||||
|
CLASS="PROGRAMLISTING"
|
||||||
|
> make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)</PRE
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> That will generate <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/user-manual</TT
|
||||||
|
>,
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/developer-manual</TT
|
||||||
|
>,
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/faq</TT
|
||||||
|
>,
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/pdf/*.pdf</TT
|
||||||
|
> and
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/index.html</TT
|
||||||
|
> automatically.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> If you changed the manual page sources, generate
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/man-page/privoxy-man-page.html</TT
|
||||||
|
>
|
||||||
|
by running <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"<B
|
||||||
|
CLASS="COMMAND"
|
||||||
|
>make man</B
|
||||||
|
>"</SPAN
|
||||||
|
>. (This is
|
||||||
|
a separate target due to dependencies on some obscure perl scripts
|
||||||
|
[now in CVS, but not well tested]. See comments in <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>GNUmakefile</TT
|
||||||
|
>.)
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> If you want to add new files to the webserver, create them locally in
|
||||||
|
the <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver/*</TT
|
||||||
|
> directory (or
|
||||||
|
create new directories under <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>doc/webserver</TT
|
||||||
|
>).
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Next, commit any changes from the above steps to CVS. All set?
|
||||||
|
If these are docs in the stable branch, then do:
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <TABLE
|
||||||
|
BORDER="0"
|
||||||
|
BGCOLOR="#E0E0E0"
|
||||||
|
WIDTH="100%"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
><PRE
|
||||||
|
CLASS="PROGRAMLISTING"
|
||||||
|
> make webserver</PRE
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> This will do the upload to <A
|
||||||
|
HREF="http://www.privoxy.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>the
|
||||||
|
webserver</A
|
||||||
|
> (www.privoxy.org) and ensure all files and directories
|
||||||
|
there are group writable.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> Please do <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>NOT</I
|
||||||
|
></SPAN
|
||||||
|
> use any other means of transferring
|
||||||
|
files to the webserver to avoid permission problems. Also, please do not
|
||||||
|
upload docs from development branches or versions. The publicly posted
|
||||||
|
docs should be in sync with the last official release.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="newrelease.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Releasing a New Version</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,510 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Frequently Asked Questions"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Troubleshooting"
|
||||||
|
HREF="trouble.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Privoxy Copyright, License and History"
|
||||||
|
HREF="copyright.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Frequently Asked Questions</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="trouble.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT"
|
||||||
|
>6. Contacting the developers, Bug Reporting and Feature Requests</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> We value your feedback. In fact, we rely on it to improve
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> and its configuration.
|
||||||
|
However, please note the following hints, so we can
|
||||||
|
provide you with the best support:</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-SUPPORT"
|
||||||
|
>6.1. Get Support</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> For casual users, our
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
|
TARGET="_top"
|
||||||
|
>support forum at SourceForge</A
|
||||||
|
>
|
||||||
|
is probably best suited:
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> All users are of course welcome to discuss their issues on the <A
|
||||||
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
||||||
|
TARGET="_top"
|
||||||
|
>users
|
||||||
|
mailing list</A
|
||||||
|
>, where the developers also hang around.</P
|
||||||
|
><P
|
||||||
|
> Please don't sent private support requests to individual Privoxy
|
||||||
|
developers, either use the mailing lists or the support trackers.</P
|
||||||
|
><P
|
||||||
|
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
||||||
|
addresses have to be accepted manually by a moderator. This may cause a
|
||||||
|
delay of several days and if you use a subject that doesn't clearly
|
||||||
|
mention Privoxy or one of its features, your message may be accidentally
|
||||||
|
discarded as spam.</P
|
||||||
|
><P
|
||||||
|
> If you aren't subscribed, you should therefore spend a few seconds
|
||||||
|
to come up with a proper subject. Additionally you should make it clear
|
||||||
|
that you want to get CC'd. Otherwise some responses will be directed to
|
||||||
|
the mailing list only, and you won't see them.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="REPORTING"
|
||||||
|
>6.2. Reporting Problems</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
><SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Problems"</SPAN
|
||||||
|
> for our purposes, come in two forms:</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Configuration issues, such as ads that slip through, or sites that
|
||||||
|
don't function properly due to one <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"action"</SPAN
|
||||||
|
> or another being turned <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"on"</SPAN
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Bugs"</SPAN
|
||||||
|
> in the programming code that makes up
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, such as that might cause a crash.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT3"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT3"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-ADS"
|
||||||
|
>6.2.1. Reporting Ads or Other Configuration Problems</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> Please send feedback on ads that slipped through, innocent images that were
|
||||||
|
blocked, sites that don't work properly, and other configuration related problem of
|
||||||
|
<TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>default.action</TT
|
||||||
|
> file, to
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
||||||
|
TARGET="_top"
|
||||||
|
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
||||||
|
>,
|
||||||
|
the Actions File Tracker.</P
|
||||||
|
><P
|
||||||
|
> New, improved <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>default.action</TT
|
||||||
|
> files may occasionally be made
|
||||||
|
available based on your feedback. These will be announced on the <A
|
||||||
|
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
||||||
|
TARGET="_top"
|
||||||
|
>ijbswa-announce</A
|
||||||
|
>
|
||||||
|
list and available from our the <A
|
||||||
|
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>files section</A
|
||||||
|
> of
|
||||||
|
our <A
|
||||||
|
HREF="http://sf.net/projects/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
|
>project page</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT3"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT3"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-BUGS"
|
||||||
|
>6.2.2. Reporting Bugs</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> Please report all bugs through our bug tracker:
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
||||||
|
>. </P
|
||||||
|
><P
|
||||||
|
> Before doing so, please make sure that the bug has <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>not already been submitted</I
|
||||||
|
></SPAN
|
||||||
|
>
|
||||||
|
and observe the additional hints at the top of the <A
|
||||||
|
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
||||||
|
TARGET="_top"
|
||||||
|
>submit
|
||||||
|
form</A
|
||||||
|
>. If already submitted, please feel free to add any info to the
|
||||||
|
original report that might help to solve the issue.</P
|
||||||
|
><P
|
||||||
|
> Please try to verify that it is a <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> bug,
|
||||||
|
and not a browser or site bug or documented behaviour that just happens
|
||||||
|
to be different than what you expected. If unsure,
|
||||||
|
try <A
|
||||||
|
HREF="http://config.privoxy.org/toggle?set=disable"
|
||||||
|
TARGET="_top"
|
||||||
|
>toggling
|
||||||
|
off</A
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, and see if the problem persists.</P
|
||||||
|
><P
|
||||||
|
> If you are using your own custom configuration, please try
|
||||||
|
the stock configs to see if the problem is configuration related.
|
||||||
|
If you're having problems with a feature that is disabled by default,
|
||||||
|
please ask around on the mailing list if others can reproduce the problem.</P
|
||||||
|
><P
|
||||||
|
> If you aren't using the latest Privoxy version, the bug may have been found
|
||||||
|
and fixed in the meantime. We would appreciate if you could take the time
|
||||||
|
to <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/installation.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>upgrade
|
||||||
|
to the latest version</A
|
||||||
|
> (or even the latest CVS snapshot) and verify
|
||||||
|
that your bug still exists.</P
|
||||||
|
><P
|
||||||
|
>Please be sure to provide the following information:</P
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The exact <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> version you are using
|
||||||
|
(if you got the source from CVS, please also provide the source code revisions
|
||||||
|
as shown in <A
|
||||||
|
HREF="http://config.privoxy.org/show-version"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://config.privoxy.org/show-version</A
|
||||||
|
>).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The operating system and versions you run
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> on, (e.g. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Windows
|
||||||
|
XP SP2</SPAN
|
||||||
|
>), if you are using a Unix flavor,
|
||||||
|
sending the output of <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"uname -a"</SPAN
|
||||||
|
> should do,
|
||||||
|
in case of GNU/Linux, please also name the distribution.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The name, platform, and version of the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>browser</SPAN
|
||||||
|
>
|
||||||
|
you were using (e.g. <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet Explorer v5.5</SPAN
|
||||||
|
> for Mac).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> The URL where the problem occurred, or some way for us to duplicate the
|
||||||
|
problem (e.g. <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>http://somesite.example.com/?somethingelse=123</TT
|
||||||
|
>).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether your version of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is one supplied
|
||||||
|
by the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> developers via SourceForge,
|
||||||
|
or if you got your copy somewhere else.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether you are using <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> in tandem with
|
||||||
|
another proxy such as <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Tor</SPAN
|
||||||
|
>. If so, please
|
||||||
|
temporary disable the other proxy to see if the symptoms change.
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Whether you are using a personal firewall product. If so, does
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> work without it?
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> Any other pertinent information to help identify the problem such as config
|
||||||
|
or log file excerpts (yes, you should have log file entries for each
|
||||||
|
action taken).
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> You don't have to tell us your actual name when filing a problem
|
||||||
|
report, but please use a nickname so we can differentiate between
|
||||||
|
your messages and the ones entered by other "anonymous" users that
|
||||||
|
may respond to your request if they have the same problem or already
|
||||||
|
found a solution.</P
|
||||||
|
><P
|
||||||
|
> Please also check the status of your request a few days after submitting
|
||||||
|
it, as we may request additional information. If you use a SF id,
|
||||||
|
you should automatically get a mail when someone responds to your request.</P
|
||||||
|
><P
|
||||||
|
> The <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
||||||
|
TARGET="_top"
|
||||||
|
>appendix
|
||||||
|
of the Privoxy User Manual</A
|
||||||
|
> also has helpful information
|
||||||
|
on understanding <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>actions</TT
|
||||||
|
>, and <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>action</TT
|
||||||
|
> debugging. </P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-FEATURE"
|
||||||
|
>6.3. Request New Features</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> You are welcome to submit ideas on new features or other proposals
|
||||||
|
for improvement through our feature request tracker at
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/tracker/?atid=361118&group_id=11118</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="CONTACT-OTHER"
|
||||||
|
>6.4. Other</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
>For any other issues, feel free to use the mailing lists. Technically interested users
|
||||||
|
and people who wish to contribute to the project are also welcome on the developers list!
|
||||||
|
You can find an overview of all <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>-related mailing lists,
|
||||||
|
including list archives, at:
|
||||||
|
<A
|
||||||
|
HREF="http://sourceforge.net/mail/?group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://sourceforge.net/mail/?group_id=11118</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="trouble.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="copyright.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Troubleshooting</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Privoxy Copyright, License and History</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,301 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Privoxy Copyright, License and History</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Frequently Asked Questions"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
||||||
|
HREF="contact.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Frequently Asked Questions</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
> </TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="COPYRIGHT"
|
||||||
|
>7. Privoxy Copyright, License and History</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
||||||
|
CLASS="EMAIL"
|
||||||
|
><<A
|
||||||
|
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
||||||
|
>ijbswa-developers@lists.sourceforge.net</A
|
||||||
|
>></CODE
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
||||||
|
and Junkbusters, Inc. and licensed under the <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public
|
||||||
|
License</I
|
||||||
|
>.</P
|
||||||
|
><P
|
||||||
|
> Portions of this document are <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"borrowed"</SPAN
|
||||||
|
> from the original
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Junkbuster</SPAN
|
||||||
|
> (tm) FAQ, and modified as
|
||||||
|
appropriate for <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="AEN1451"
|
||||||
|
>7.1. License</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is free software; you can
|
||||||
|
redistribute it and/or modify it under the terms of the
|
||||||
|
<I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public License</I
|
||||||
|
>, version 2,
|
||||||
|
as published by the Free Software Foundation.</P
|
||||||
|
><P
|
||||||
|
> This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
||||||
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
|
TARGET="_top"
|
||||||
|
> <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU General Public License</I
|
||||||
|
></A
|
||||||
|
> for details.</P
|
||||||
|
><P
|
||||||
|
> You should have received a copy of the <I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>GNU GPL</I
|
||||||
|
>
|
||||||
|
along with this program; if not, write to the <P
|
||||||
|
CLASS="ADDRESS"
|
||||||
|
> Free Software<br>
|
||||||
|
Foundation, Inc. <SPAN
|
||||||
|
CLASS="STREET"
|
||||||
|
>51 Franklin Street, Fifth Floor</SPAN
|
||||||
|
><br>
|
||||||
|
<SPAN
|
||||||
|
CLASS="CITY"
|
||||||
|
>Boston</SPAN
|
||||||
|
>, <SPAN
|
||||||
|
CLASS="STATE"
|
||||||
|
>MA</SPAN
|
||||||
|
> <SPAN
|
||||||
|
CLASS="POSTCODE"
|
||||||
|
>02110-1301</SPAN
|
||||||
|
><br>
|
||||||
|
<SPAN
|
||||||
|
CLASS="COUNTRY"
|
||||||
|
>USA</SPAN
|
||||||
|
> </P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H2
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="AEN1467"
|
||||||
|
>7.2. History</A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> A long time ago, there was the
|
||||||
|
<A
|
||||||
|
HREF="http://www.junkbusters.com/ijb.html"
|
||||||
|
TARGET="_top"
|
||||||
|
><SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet Junkbuster</SPAN
|
||||||
|
></A
|
||||||
|
>,
|
||||||
|
by Anonymous Coders and <A
|
||||||
|
HREF="http://www.junkbusters.com/"
|
||||||
|
TARGET="_top"
|
||||||
|
>Junkbusters
|
||||||
|
Corporation</A
|
||||||
|
>. This saved many users a lot of pain in the early days of
|
||||||
|
web advertising and user tracking.</P
|
||||||
|
><P
|
||||||
|
> But the web, its protocols and standards, and with it, the techniques for
|
||||||
|
forcing ads on users, give up autonomy over their browsing, and
|
||||||
|
for tracking them, keeps evolving. Unfortunately, the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet
|
||||||
|
Junkbuster</SPAN
|
||||||
|
> did not. Version 2.0.2, published in 1998, was
|
||||||
|
(and is) the last official
|
||||||
|
<A
|
||||||
|
HREF="http://www.junkbusters.com/ijbdist.html#release"
|
||||||
|
TARGET="_top"
|
||||||
|
>release</A
|
||||||
|
>
|
||||||
|
available from <A
|
||||||
|
HREF="http://www.junkbusters.com"
|
||||||
|
TARGET="_top"
|
||||||
|
>Junkbusters Corporation</A
|
||||||
|
>.
|
||||||
|
Fortunately, it had been released under the GNU
|
||||||
|
<A
|
||||||
|
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>GPL</A
|
||||||
|
>,
|
||||||
|
which allowed further development by others.</P
|
||||||
|
><P
|
||||||
|
> So Stefan Waldherr started maintaining an improved version of the
|
||||||
|
software, to which eventually a number of people contributed patches.
|
||||||
|
It could already replace banners with a transparent image, and had a first
|
||||||
|
version of pop-up killing, but it was still very closely based on the
|
||||||
|
original, with all its limitations, such as the lack of HTTP/1.1 support,
|
||||||
|
flexible per-site configuration, or content modification. The last release
|
||||||
|
from this effort was version 2.0.2-10, published in 2000.</P
|
||||||
|
><P
|
||||||
|
> Then, some
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
|
||||||
|
TARGET="_top"
|
||||||
|
>developers</A
|
||||||
|
>
|
||||||
|
picked up the thread, and started turning the software inside out, upside down,
|
||||||
|
and then reassembled it, adding many
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
||||||
|
TARGET="_top"
|
||||||
|
>new
|
||||||
|
features</A
|
||||||
|
> along the way.</P
|
||||||
|
><P
|
||||||
|
> The result of this is <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>, whose first
|
||||||
|
stable version, 3.0, was released August, 2002.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="contact.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,999 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Privoxy Frequently Asked Questions</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="General Information"
|
||||||
|
HREF="general.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="ARTICLE"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="ARTICLE"
|
||||||
|
><DIV
|
||||||
|
CLASS="TITLEPAGE"
|
||||||
|
><H1
|
||||||
|
CLASS="TITLE"
|
||||||
|
><A
|
||||||
|
NAME="AEN2"
|
||||||
|
>Privoxy Frequently Asked Questions</A
|
||||||
|
></H1
|
||||||
|
><P
|
||||||
|
CLASS="PUBDATE"
|
||||||
|
> <SUB
|
||||||
|
> <A
|
||||||
|
HREF="copyright.html"
|
||||||
|
>Copyright</A
|
||||||
|
> © 2001-2009 by
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>Privoxy Developers</A
|
||||||
|
>
|
||||||
|
</SUB
|
||||||
|
><BR></P
|
||||||
|
><P
|
||||||
|
CLASS="PUBDATE"
|
||||||
|
>$Id: index.html,v 1.51 2009/03/21 12:59:04 fabiankeil Exp $<BR></P
|
||||||
|
><DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="ABSTRACT"
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><A
|
||||||
|
NAME="AEN9"
|
||||||
|
></A
|
||||||
|
><P
|
||||||
|
> This FAQ gives quick answers to frequently asked questions about
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/"
|
||||||
|
TARGET="_top"
|
||||||
|
>Privoxy</A
|
||||||
|
>.
|
||||||
|
It is not a substitute for the
|
||||||
|
<A
|
||||||
|
HREF="../user-manual/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
><I
|
||||||
|
CLASS="CITETITLE"
|
||||||
|
>Privoxy User Manual</I
|
||||||
|
></A
|
||||||
|
>.
|
||||||
|
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
>What is Privoxy?</P
|
||||||
|
><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
|
||||||
|
> Please note that this document is a work in progress. This copy represents
|
||||||
|
the state at the release of version 3.0.12.
|
||||||
|
You can find the latest version of the document at <A
|
||||||
|
HREF="http://www.privoxy.org/faq/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://www.privoxy.org/faq/</A
|
||||||
|
>.
|
||||||
|
Please see the <A
|
||||||
|
HREF="contact.html"
|
||||||
|
>Contact section</A
|
||||||
|
> if you want to
|
||||||
|
contact the developers.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><HR></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="TOC"
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
><B
|
||||||
|
>Table of Contents</B
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1. <A
|
||||||
|
HREF="general.html"
|
||||||
|
>General Information</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>1.1. <A
|
||||||
|
HREF="general.html#WHO-USES"
|
||||||
|
>Who should give <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> a try?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.2. <A
|
||||||
|
HREF="general.html#BESTCHOICE"
|
||||||
|
>Is Privoxy the best choice for
|
||||||
|
me?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.3. <A
|
||||||
|
HREF="general.html#PROXYMORON"
|
||||||
|
>What is a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"proxy"</SPAN
|
||||||
|
>? How does
|
||||||
|
Privoxy work?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.4. <A
|
||||||
|
HREF="general.html#OTHERSTUFF"
|
||||||
|
>Does Privoxy do anything more than ad blocking?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.5. <A
|
||||||
|
HREF="general.html#NEWJB"
|
||||||
|
>What is this new version of
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Junkbuster"</SPAN
|
||||||
|
>?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.6. <A
|
||||||
|
HREF="general.html#AEN78"
|
||||||
|
>Why <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Privoxy"</SPAN
|
||||||
|
>? Why change the name from
|
||||||
|
Junkbuster at all?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.7. <A
|
||||||
|
HREF="general.html#DIFFERS"
|
||||||
|
>How does Privoxy differ
|
||||||
|
from the old Junkbuster?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.8. <A
|
||||||
|
HREF="general.html#WHATSANAD"
|
||||||
|
>How does Privoxy know what is
|
||||||
|
an ad, and what is not?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.9. <A
|
||||||
|
HREF="general.html#AEN160"
|
||||||
|
>Can Privoxy make mistakes?
|
||||||
|
This does not sound very scientific.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.10. <A
|
||||||
|
HREF="general.html#AEN166"
|
||||||
|
>Will I have to configure Privoxy
|
||||||
|
before I can use it?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.11. <A
|
||||||
|
HREF="general.html#LAN"
|
||||||
|
>Can Privoxy run as a server on a network?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.12. <A
|
||||||
|
HREF="general.html#BROWSERS2"
|
||||||
|
>My browser does the same things as
|
||||||
|
Privoxy. Why should I use Privoxy at all?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.13. <A
|
||||||
|
HREF="general.html#WHYTRUST"
|
||||||
|
>Why should I trust Privoxy?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.14. <A
|
||||||
|
HREF="general.html#LICENSE"
|
||||||
|
>Is there is a license or fee? What about a
|
||||||
|
warranty? Registration?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.15. <A
|
||||||
|
HREF="general.html#SPYWARE"
|
||||||
|
>Can Privoxy remove spyware? Adware? Viruses?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.16. <A
|
||||||
|
HREF="general.html#OTHERADS"
|
||||||
|
>Can I use Privoxy with other ad-blocking software?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.17. <A
|
||||||
|
HREF="general.html#JOINTEAM"
|
||||||
|
>I would like to help you, what can I do?</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>1.17.1. <A
|
||||||
|
HREF="general.html#JOINTEAM-WORK"
|
||||||
|
>Would you like to participate?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>1.17.2. <A
|
||||||
|
HREF="general.html#DONATE"
|
||||||
|
>Would you like to donate?</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>2. <A
|
||||||
|
HREF="installation.html"
|
||||||
|
>Installation</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>2.1. <A
|
||||||
|
HREF="installation.html#WHICHBROWSERS"
|
||||||
|
>Which browsers are supported by Privoxy?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.2. <A
|
||||||
|
HREF="installation.html#WHICHOS"
|
||||||
|
>Which operating systems are supported?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.3. <A
|
||||||
|
HREF="installation.html#EMAIL-CLIENT"
|
||||||
|
>Can I use Privoxy with my email client?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.4. <A
|
||||||
|
HREF="installation.html#FIRSTSTEP"
|
||||||
|
>I just installed Privoxy. Is there anything
|
||||||
|
special I have to do now?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.5. <A
|
||||||
|
HREF="installation.html#LOCALHOST"
|
||||||
|
>What is the proxy address of Privoxy?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.6. <A
|
||||||
|
HREF="installation.html#NOTHING"
|
||||||
|
>I just installed Privoxy, and nothing is happening.
|
||||||
|
All the ads are there. What's wrong?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>2.7. <A
|
||||||
|
HREF="installation.html#NOTUSED"
|
||||||
|
>I get a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Privoxy is not being used"</SPAN
|
||||||
|
> dummy page although
|
||||||
|
Privoxy is running and being used.</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>3. <A
|
||||||
|
HREF="configuration.html"
|
||||||
|
>Configuration</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>3.1. <A
|
||||||
|
HREF="configuration.html#AEN354"
|
||||||
|
>What exactly is an <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"actions"</SPAN
|
||||||
|
> file?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.2. <A
|
||||||
|
HREF="configuration.html#ACTIONSS"
|
||||||
|
>The <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"actions"</SPAN
|
||||||
|
> concept confuses me. Please list
|
||||||
|
some of these <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"actions"</SPAN
|
||||||
|
>.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.3. <A
|
||||||
|
HREF="configuration.html#AEN377"
|
||||||
|
>How are actions files configured? What is the easiest
|
||||||
|
way to do this?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.4. <A
|
||||||
|
HREF="configuration.html#AEN386"
|
||||||
|
>There are several different <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"actions"</SPAN
|
||||||
|
> files. What are
|
||||||
|
the differences?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.5. <A
|
||||||
|
HREF="configuration.html#GETUPDATES"
|
||||||
|
>Where can I get updated Actions Files?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.6. <A
|
||||||
|
HREF="configuration.html#NEWCONFIG"
|
||||||
|
>Can I use my old config files?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.7. <A
|
||||||
|
HREF="configuration.html#DIFFICULT"
|
||||||
|
>Why is the configuration so complicated?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.8. <A
|
||||||
|
HREF="configuration.html#YAHOO"
|
||||||
|
>How can I make my Yahoo/Hotmail/Gmail account work?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.9. <A
|
||||||
|
HREF="configuration.html#CONFIGFILES"
|
||||||
|
>What's the difference between the
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Cautious"</SPAN
|
||||||
|
>, <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Medium"</SPAN
|
||||||
|
> and <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Advanced"</SPAN
|
||||||
|
> defaults?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.10. <A
|
||||||
|
HREF="configuration.html#BROWSECONFIG"
|
||||||
|
>Why can I change the configuration
|
||||||
|
with a browser? Does that not raise security issues?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.11. <A
|
||||||
|
HREF="configuration.html#AEN481"
|
||||||
|
>What is the <TT
|
||||||
|
CLASS="FILENAME"
|
||||||
|
>default.filter</TT
|
||||||
|
> file? What is a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"filter"</SPAN
|
||||||
|
>?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.12. <A
|
||||||
|
HREF="configuration.html#LANCONFIG"
|
||||||
|
>How can I set up Privoxy to act as a proxy for my
|
||||||
|
LAN?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.13. <A
|
||||||
|
HREF="configuration.html#AEN532"
|
||||||
|
>Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.14. <A
|
||||||
|
HREF="configuration.html#AEN549"
|
||||||
|
>Why would anybody want to see a checkerboard pattern?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.15. <A
|
||||||
|
HREF="configuration.html#AEN555"
|
||||||
|
>I see some images being replaced with text
|
||||||
|
instead of the checkerboard image. Why and how do I get rid of this?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.16. <A
|
||||||
|
HREF="configuration.html#SRVANY"
|
||||||
|
>Can Privoxy run as a service
|
||||||
|
on Win2K/NT/XP?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.17. <A
|
||||||
|
HREF="configuration.html#OTHERPROXY"
|
||||||
|
>How can I make Privoxy work with other
|
||||||
|
proxies like Squid or Tor?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.18. <A
|
||||||
|
HREF="configuration.html#PORT-80"
|
||||||
|
>Can I just set Privoxy to use port 80
|
||||||
|
and thus avoid individual browser configuration?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.19. <A
|
||||||
|
HREF="configuration.html#TRANSPARENT"
|
||||||
|
>Can Privoxy run as a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"transparent"</SPAN
|
||||||
|
> proxy?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.20. <A
|
||||||
|
HREF="configuration.html#INTERCEPTING"
|
||||||
|
>Can Privoxy run as a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"intercepting"</SPAN
|
||||||
|
> proxy?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.21. <A
|
||||||
|
HREF="configuration.html#OUTLOOK"
|
||||||
|
>How can I configure Privoxy for use with Outlook?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.22. <A
|
||||||
|
HREF="configuration.html#OUTLOOK-MORE"
|
||||||
|
>How can I have separate rules just for HTML mail?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.23. <A
|
||||||
|
HREF="configuration.html#SNEAKY-COOKIES"
|
||||||
|
>I sometimes notice cookies sneaking through. How?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.24. <A
|
||||||
|
HREF="configuration.html#EVIL-COOKIES"
|
||||||
|
>Are all cookies bad? Why?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.25. <A
|
||||||
|
HREF="configuration.html#ALLOW-COOKIES"
|
||||||
|
>How can I allow permanent cookies for my trusted sites?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.26. <A
|
||||||
|
HREF="configuration.html#MULTIPLES"
|
||||||
|
>Can I have separate configurations for different users?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.27. <A
|
||||||
|
HREF="configuration.html#WHITELISTS"
|
||||||
|
>Can I set-up Privoxy as a whitelist of
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"good"</SPAN
|
||||||
|
> sites?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.28. <A
|
||||||
|
HREF="configuration.html#NO-ADBLOCK"
|
||||||
|
>How can I turn off ad-blocking?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.29. <A
|
||||||
|
HREF="configuration.html#TEMPLATES"
|
||||||
|
>How can I have custom template pages, like the
|
||||||
|
<SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>BLOCKED</I
|
||||||
|
></SPAN
|
||||||
|
> page?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>3.30. <A
|
||||||
|
HREF="configuration.html#BLOCKALL"
|
||||||
|
>How can I remove the <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Go There Anyway"</SPAN
|
||||||
|
> link from
|
||||||
|
the <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>BLOCKED</I
|
||||||
|
></SPAN
|
||||||
|
> page?</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>4. <A
|
||||||
|
HREF="misc.html"
|
||||||
|
>Miscellaneous</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>4.1. <A
|
||||||
|
HREF="misc.html#AEN729"
|
||||||
|
>How much does Privoxy slow my browsing down? This
|
||||||
|
has to add extra time to browsing.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.2. <A
|
||||||
|
HREF="misc.html#LOADINGTIMES"
|
||||||
|
>I notice considerable
|
||||||
|
delays in page requests. What's wrong?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.3. <A
|
||||||
|
HREF="misc.html#CONFIGURL"
|
||||||
|
>What are "http://config.privoxy.org/" and
|
||||||
|
"http://p.p/"?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.4. <A
|
||||||
|
HREF="misc.html#NEWADS"
|
||||||
|
>How can I submit new ads, or report
|
||||||
|
problems?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.5. <A
|
||||||
|
HREF="misc.html#NEWADS2"
|
||||||
|
>If I do submit missed ads, will
|
||||||
|
they be included in future updates?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.6. <A
|
||||||
|
HREF="misc.html#NOONECARES"
|
||||||
|
>Why doesn't anyone answer my support
|
||||||
|
request?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.7. <A
|
||||||
|
HREF="misc.html#IP"
|
||||||
|
>How can I hide my IP address?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.8. <A
|
||||||
|
HREF="misc.html#AEN794"
|
||||||
|
>Can Privoxy guarantee I am anonymous?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.9. <A
|
||||||
|
HREF="misc.html#AEN812"
|
||||||
|
>A test site says I am not using a Proxy.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.10. <A
|
||||||
|
HREF="misc.html#TOR"
|
||||||
|
>How do I use Privoxy
|
||||||
|
together with Tor?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.11. <A
|
||||||
|
HREF="misc.html#AEN868"
|
||||||
|
>Might some things break because header information or
|
||||||
|
content is being altered?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.12. <A
|
||||||
|
HREF="misc.html#AEN882"
|
||||||
|
>Can Privoxy act as a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"caching"</SPAN
|
||||||
|
> proxy to
|
||||||
|
speed up web browsing?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.13. <A
|
||||||
|
HREF="misc.html#AEN892"
|
||||||
|
>What about as a firewall? Can Privoxy protect me?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.14. <A
|
||||||
|
HREF="misc.html#AEN897"
|
||||||
|
>I have large empty spaces / a checkerboard pattern now where
|
||||||
|
ads used to be. Why?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.15. <A
|
||||||
|
HREF="misc.html#AEN905"
|
||||||
|
>How can Privoxy filter Secure (HTTPS) URLs?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.16. <A
|
||||||
|
HREF="misc.html#AEN919"
|
||||||
|
>Privoxy runs as a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"server"</SPAN
|
||||||
|
>. How
|
||||||
|
secure is it? Do I need to take any special precautions?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.17. <A
|
||||||
|
HREF="misc.html#TURNOFF"
|
||||||
|
>Can I temporarily disable Privoxy?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.18. <A
|
||||||
|
HREF="misc.html#REALLYOFF"
|
||||||
|
>When <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"disabled"</SPAN
|
||||||
|
> is Privoxy totally
|
||||||
|
out of the picture?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.19. <A
|
||||||
|
HREF="misc.html#TURNOFF2"
|
||||||
|
>How can I tell Privoxy to totally ignore certain sites?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.20. <A
|
||||||
|
HREF="misc.html#CRUNCH"
|
||||||
|
>My logs show Privoxy <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"crunches"</SPAN
|
||||||
|
>
|
||||||
|
ads, but also its own internal CGI pages. What is a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"crunch"</SPAN
|
||||||
|
>?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.21. <A
|
||||||
|
HREF="misc.html#DOWNLOADS"
|
||||||
|
>Can Privoxy effect files that I download
|
||||||
|
from a webserver? FTP server?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.22. <A
|
||||||
|
HREF="misc.html#DOWNLOADS2"
|
||||||
|
>I just downloaded a Perl script, and Privoxy
|
||||||
|
altered it! Yikes, what is wrong!</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.23. <A
|
||||||
|
HREF="misc.html#HOSTSFILE"
|
||||||
|
>Should I continue to use a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"HOSTS"</SPAN
|
||||||
|
> file for ad-blocking?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.24. <A
|
||||||
|
HREF="misc.html#SEEALSO"
|
||||||
|
>Where can I find more information about Privoxy
|
||||||
|
and related issues?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.25. <A
|
||||||
|
HREF="misc.html#MICROSUCK"
|
||||||
|
>I've noticed that Privoxy changes <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Microsoft"</SPAN
|
||||||
|
> to
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"MicroSuck"</SPAN
|
||||||
|
>! Why are you manipulating my browsing?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>4.26. <A
|
||||||
|
HREF="misc.html#VALID"
|
||||||
|
>Does Privoxy produce <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"valid"</SPAN
|
||||||
|
> HTML (or XHTML)?</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>5. <A
|
||||||
|
HREF="trouble.html"
|
||||||
|
>Troubleshooting</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>5.1. <A
|
||||||
|
HREF="trouble.html#AEN1084"
|
||||||
|
>I cannot connect to any websites. Or, I am getting
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"connection refused"</SPAN
|
||||||
|
> message with every web page. Why?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.2. <A
|
||||||
|
HREF="trouble.html#ERROR503"
|
||||||
|
>Why am I getting a 503 Error (WSAECONNREFUSED) on every page?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.3. <A
|
||||||
|
HREF="trouble.html#AEN1107"
|
||||||
|
>I just added a new rule, but the steenkin ad is
|
||||||
|
still getting through. How?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.4. <A
|
||||||
|
HREF="trouble.html#BADSITE"
|
||||||
|
>One of my favorite sites does not work with Privoxy.
|
||||||
|
What can I do?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.5. <A
|
||||||
|
HREF="trouble.html#DUN"
|
||||||
|
>After installing Privoxy, I have to log in
|
||||||
|
every time I start IE. What gives?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.6. <A
|
||||||
|
HREF="trouble.html#FTP"
|
||||||
|
>I cannot connect to any FTP sites. Privoxy
|
||||||
|
is blocking me.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.7. <A
|
||||||
|
HREF="trouble.html#MACOSXIE"
|
||||||
|
>In Mac OS X, I can't configure Microsoft Internet Explorer to use
|
||||||
|
Privoxy as the HTTP proxy.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.8. <A
|
||||||
|
HREF="trouble.html#MACOSXUNINSTALL"
|
||||||
|
>In Mac OS X, I dragged the Privoxy folder to the trash in order to
|
||||||
|
uninstall it. Now the finder tells me I don't have sufficient privileges to
|
||||||
|
empty the trash.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.9. <A
|
||||||
|
HREF="trouble.html#MACOSXIMAGES"
|
||||||
|
>In Mac OS X Panther (10.3), images often fail to load and/or I
|
||||||
|
experience random delays in page loading. I'm using
|
||||||
|
<TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>localhost</TT
|
||||||
|
> as my browser's proxy setting.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.10. <A
|
||||||
|
HREF="trouble.html#BLANKPAGE"
|
||||||
|
>I get a completely blank page at one site. <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"View Source"</SPAN
|
||||||
|
>
|
||||||
|
shows only: <SPAN
|
||||||
|
CLASS="MARKUP"
|
||||||
|
><html><body></body></html></SPAN
|
||||||
|
>. Without
|
||||||
|
Privoxy the page loads fine.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.11. <A
|
||||||
|
HREF="trouble.html#NOHOSTNAME"
|
||||||
|
>My logs show many <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Unable to get my own hostname"</SPAN
|
||||||
|
> lines.
|
||||||
|
Why?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.12. <A
|
||||||
|
HREF="trouble.html#INUSE"
|
||||||
|
>When I try to launch Privoxy, I get an
|
||||||
|
error message <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"port 8118 is already in use"</SPAN
|
||||||
|
> (or similar wording).
|
||||||
|
Why?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.13. <A
|
||||||
|
HREF="trouble.html#DEMORONIZER"
|
||||||
|
>Pages with UTF-8 fonts are garbled.</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.14. <A
|
||||||
|
HREF="trouble.html#DEMORONIZER2"
|
||||||
|
>Why are binary files (such as images) corrupted when Privoxy
|
||||||
|
is used?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.15. <A
|
||||||
|
HREF="trouble.html#DEMORONIZER3"
|
||||||
|
>What is the <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"demoronizer"</SPAN
|
||||||
|
> and why is it there?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.16. <A
|
||||||
|
HREF="trouble.html#WINDOWOPEN"
|
||||||
|
>Why do I keep seeing <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"PrivoxyWindowOpen()"</SPAN
|
||||||
|
> in raw source code?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.17. <A
|
||||||
|
HREF="trouble.html#DNSERRORS"
|
||||||
|
>I am getting too many DNS errors like <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"404 No Such Domain"</SPAN
|
||||||
|
>. Why
|
||||||
|
can't Privoxy do this better?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.18. <A
|
||||||
|
HREF="trouble.html#ALLCPU"
|
||||||
|
>At one site Privoxy just hangs, and starts taking
|
||||||
|
all CPU. Why is this?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.19. <A
|
||||||
|
HREF="trouble.html#SLOWCRAWL"
|
||||||
|
>I just installed Privoxy, and all my
|
||||||
|
browsing has slowed to a crawl. What gives?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.20. <A
|
||||||
|
HREF="trouble.html#PREVENTCOMP"
|
||||||
|
>Why do my filters work on some sites but not on others?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.21. <A
|
||||||
|
HREF="trouble.html#SSL-WARNINGS"
|
||||||
|
>On some HTTPS sites my browser warns me about unauthenticated content,
|
||||||
|
the URL bar doesn't get highlighted and the lock symbol appears to be broken.
|
||||||
|
What's going on?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.22. <A
|
||||||
|
HREF="trouble.html#SE-LINUX"
|
||||||
|
>I get selinux error messages. How can I fix this?</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>5.23. <A
|
||||||
|
HREF="trouble.html#GENTOO-RICERS"
|
||||||
|
>I compiled <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> with Gentoo's portage and it appears to be very slow. Why?</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>6. <A
|
||||||
|
HREF="contact.html"
|
||||||
|
>Contacting the developers, Bug Reporting and Feature Requests</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>6.1. <A
|
||||||
|
HREF="contact.html#CONTACT-SUPPORT"
|
||||||
|
>Get Support</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.2. <A
|
||||||
|
HREF="contact.html#REPORTING"
|
||||||
|
>Reporting Problems</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>6.2.1. <A
|
||||||
|
HREF="contact.html#CONTACT-ADS"
|
||||||
|
>Reporting Ads or Other Configuration Problems</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.2.2. <A
|
||||||
|
HREF="contact.html#CONTACT-BUGS"
|
||||||
|
>Reporting Bugs</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>6.3. <A
|
||||||
|
HREF="contact.html#CONTACT-FEATURE"
|
||||||
|
>Request New Features</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>6.4. <A
|
||||||
|
HREF="contact.html#CONTACT-OTHER"
|
||||||
|
>Other</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
><DT
|
||||||
|
>7. <A
|
||||||
|
HREF="copyright.html"
|
||||||
|
>Privoxy Copyright, License and History</A
|
||||||
|
></DT
|
||||||
|
><DD
|
||||||
|
><DL
|
||||||
|
><DT
|
||||||
|
>7.1. <A
|
||||||
|
HREF="copyright.html#AEN1451"
|
||||||
|
>License</A
|
||||||
|
></DT
|
||||||
|
><DT
|
||||||
|
>7.2. <A
|
||||||
|
HREF="copyright.html#AEN1467"
|
||||||
|
>History</A
|
||||||
|
></DT
|
||||||
|
></DL
|
||||||
|
></DD
|
||||||
|
></DL
|
||||||
|
></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"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="general.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>General Information</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,569 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Installation</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
||||||
|
REL="HOME"
|
||||||
|
TITLE="Privoxy Frequently Asked Questions"
|
||||||
|
HREF="index.html"><LINK
|
||||||
|
REL="PREVIOUS"
|
||||||
|
TITLE="General Information"
|
||||||
|
HREF="general.html"><LINK
|
||||||
|
REL="NEXT"
|
||||||
|
TITLE="Configuration"
|
||||||
|
HREF="configuration.html"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="../p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="SECT1"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVHEADER"
|
||||||
|
><TABLE
|
||||||
|
SUMMARY="Header navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TH
|
||||||
|
COLSPAN="3"
|
||||||
|
ALIGN="center"
|
||||||
|
>Privoxy Frequently Asked Questions</TH
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="general.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="80%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="bottom"
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="10%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="bottom"
|
||||||
|
><A
|
||||||
|
HREF="configuration.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H1
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="INSTALLATION"
|
||||||
|
>2. Installation</A
|
||||||
|
></H1
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="WHICHBROWSERS"
|
||||||
|
>2.1. Which browsers are supported by Privoxy?</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> Any browser that can be configured to use a proxy, which
|
||||||
|
should be virtually all browsers, including
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Firefox</SPAN
|
||||||
|
>, <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Internet
|
||||||
|
Explorer</SPAN
|
||||||
|
>, <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Opera</SPAN
|
||||||
|
>, and
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Safari</SPAN
|
||||||
|
> among others.
|
||||||
|
Direct browser support is not an absolute requirement since
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> runs as a separate application and talks
|
||||||
|
to the browser in the standardized HTTP protocol, just like a web server
|
||||||
|
does.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="WHICHOS"
|
||||||
|
>2.2. Which operating systems are supported?</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> At present, <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is known to run on
|
||||||
|
Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE, Debian,
|
||||||
|
Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS, FreeBSD,
|
||||||
|
NetBSD, OpenBSD, Solaris, and various other flavors of Unix.</P
|
||||||
|
><P
|
||||||
|
> But any operating system that runs TCP/IP, can conceivably take advantage of
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> in a networked situation where
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> would run as a server on a LAN gateway.
|
||||||
|
Then only the <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"gateway"</SPAN
|
||||||
|
> needs to be running one of the above
|
||||||
|
operating systems.</P
|
||||||
|
><P
|
||||||
|
> Source code is freely available, so porting to other operating systems
|
||||||
|
is always a possibility.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="EMAIL-CLIENT"
|
||||||
|
>2.3. Can I use Privoxy with my email client?</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> As long as there is some way to set a HTTP proxy for the client, then yes,
|
||||||
|
any application can be used, whether it is strictly speaking a
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"browser"</SPAN
|
||||||
|
> or not. Though this may not be the best approach for
|
||||||
|
dealing with some of the common abuses of HTML in email. See <A
|
||||||
|
HREF="configuration.html#OUTLOOK"
|
||||||
|
>How can I configure <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
with <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Outlook</SPAN
|
||||||
|
>?</A
|
||||||
|
> below for more on
|
||||||
|
this. </P
|
||||||
|
><P
|
||||||
|
> Be aware that HTML email presents a number of unique security and privacy
|
||||||
|
related issues, that can require advanced skills to overcome. The developers
|
||||||
|
recommend using email clients that can be configured to convert HTML to plain
|
||||||
|
text for these reasons.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="FIRSTSTEP"
|
||||||
|
>2.4. I just installed Privoxy. Is there anything
|
||||||
|
special I have to do now?</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> All browsers should be told to use <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
as a proxy by specifying the correct proxy address and port number
|
||||||
|
in the appropriate configuration area for the browser. It's possible
|
||||||
|
to combine <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> with a packet filter to intercept HTTP requests
|
||||||
|
even if the client isn't explicitly configured to use <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>,
|
||||||
|
but where possible, configuring the client is recommended. See
|
||||||
|
<A
|
||||||
|
HREF="../user-manual/startup.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>the User Manual for more
|
||||||
|
details</A
|
||||||
|
>. You should also flush your browser's memory and disk
|
||||||
|
cache to get rid of any cached junk items, and remove any stored
|
||||||
|
<A
|
||||||
|
HREF="http://en.wikipedia.org/wiki/Browser_cookie"
|
||||||
|
TARGET="_top"
|
||||||
|
>cookies</A
|
||||||
|
>. </P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="LOCALHOST"
|
||||||
|
>2.5. What is the proxy address of Privoxy?</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> If you set up the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> to run on
|
||||||
|
the computer you browse from (rather than your ISP's server or some
|
||||||
|
networked computer on a LAN), the proxy will be on <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>127.0.0.1</TT
|
||||||
|
>
|
||||||
|
(sometimes referred to as <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"localhost"</SPAN
|
||||||
|
>,
|
||||||
|
which is the special name used by every computer on the Internet to refer
|
||||||
|
to itself) and the port will be 8118 (unless you used the <A
|
||||||
|
HREF="../user-manual/config.html#LISTEN-ADDRESS"
|
||||||
|
TARGET="_top"
|
||||||
|
>listen-address</A
|
||||||
|
>
|
||||||
|
config option to tell <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> to run on
|
||||||
|
a different port).
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> When configuring your browser's proxy settings you typically enter
|
||||||
|
the word <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"localhost"</SPAN
|
||||||
|
> or the IP address <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"127.0.0.1"</SPAN
|
||||||
|
>
|
||||||
|
in the boxes next to <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"HTTP"</SPAN
|
||||||
|
> and <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Secure"</SPAN
|
||||||
|
> (HTTPS) and
|
||||||
|
then the number <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"8118"</SPAN
|
||||||
|
> for <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"port"</SPAN
|
||||||
|
>.
|
||||||
|
This tells your browser to send all web requests to <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
instead of directly to the Internet.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> can also be used to proxy for
|
||||||
|
a Local Area Network. In this case, your would enter either the IP
|
||||||
|
address of the LAN host where <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
is running, or the equivalent hostname, e.g. <TT
|
||||||
|
CLASS="LITERAL"
|
||||||
|
>192.168.1.1</TT
|
||||||
|
>.
|
||||||
|
Port assignment would be same as above. Note that
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> doesn't listen on any LAN interfaces by
|
||||||
|
default.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
> <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> does not currently handle
|
||||||
|
any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="NOTHING"
|
||||||
|
>2.6. I just installed Privoxy, and nothing is happening.
|
||||||
|
All the ads are there. What's wrong?</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> Did you configure your browser to use <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>
|
||||||
|
as a proxy? It does not sound like it. See above. You might also try flushing
|
||||||
|
the browser's caches to force a full re-reading of pages. You can verify
|
||||||
|
that <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is running, and your browser
|
||||||
|
is correctly configured by entering the special URL:
|
||||||
|
<A
|
||||||
|
HREF="http://p.p/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://p.p/</A
|
||||||
|
>.
|
||||||
|
|
||||||
|
This should take you to a page titled <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"This is Privoxy.."</SPAN
|
||||||
|
> with
|
||||||
|
access to <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy's</SPAN
|
||||||
|
> internal configuration.
|
||||||
|
If you see this, then you are good to go. If you receive a page saying
|
||||||
|
<SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Privoxy is not running"</SPAN
|
||||||
|
>, then the browser is not set up to use
|
||||||
|
your <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> installation.
|
||||||
|
If you receive anything else (probably nothing at all), it could either
|
||||||
|
be that the browser is not set up correctly, or that
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> is not running at all. Check the <A
|
||||||
|
HREF="../user-manual/config.html#LOGFILE"
|
||||||
|
TARGET="_top"
|
||||||
|
>log file</A
|
||||||
|
>. For instructions
|
||||||
|
on starting <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> and browser configuration,
|
||||||
|
see the <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/startup.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>chapter
|
||||||
|
on starting <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
></A
|
||||||
|
> in the
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/"
|
||||||
|
TARGET="_top"
|
||||||
|
>User Manual</A
|
||||||
|
>.</P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT2"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT2"
|
||||||
|
><A
|
||||||
|
NAME="NOTUSED"
|
||||||
|
>2.7. I get a <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"Privoxy is not being used"</SPAN
|
||||||
|
> dummy page although
|
||||||
|
Privoxy is running and being used.</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> First, make sure that Privoxy is <SPAN
|
||||||
|
CLASS="emphasis"
|
||||||
|
><I
|
||||||
|
CLASS="EMPHASIS"
|
||||||
|
>really</I
|
||||||
|
></SPAN
|
||||||
|
> running and
|
||||||
|
being used by visiting <A
|
||||||
|
HREF="http://p.p/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://p.p/</A
|
||||||
|
>. You
|
||||||
|
should see the <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> main page. If not, see
|
||||||
|
the <A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/startup.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>chapter
|
||||||
|
on starting <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
></A
|
||||||
|
> in the
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/user-manual/"
|
||||||
|
TARGET="_top"
|
||||||
|
>User Manual</A
|
||||||
|
>.</P
|
||||||
|
><P
|
||||||
|
> Now if <A
|
||||||
|
HREF="http://p.p/"
|
||||||
|
TARGET="_top"
|
||||||
|
>http://p.p/</A
|
||||||
|
> works for you, but
|
||||||
|
other parts of <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
>'s web interface show
|
||||||
|
the dummy page, your browser has cached a redirection it encountered before
|
||||||
|
<SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Privoxy</SPAN
|
||||||
|
> was being used. You need to clear your
|
||||||
|
browser's cache. Note that shift-reloading the dummy page won't help, since
|
||||||
|
that'll only refresh the dummy page, not the redirection that lead you there.</P
|
||||||
|
><P
|
||||||
|
> The procedure for clearing the cache varies from browser to browser. For
|
||||||
|
example, <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Mozilla/Netscape</SPAN
|
||||||
|
> users would click
|
||||||
|
<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Edit</SPAN
|
||||||
|
> --> <SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Preferences</SPAN
|
||||||
|
> -->
|
||||||
|
<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Advanced</SPAN
|
||||||
|
> --> <SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Cache</SPAN
|
||||||
|
> and
|
||||||
|
then click both <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Clear Memory Cache</SPAN
|
||||||
|
>"</SPAN
|
||||||
|
>
|
||||||
|
and <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Clear Disk Cache</SPAN
|
||||||
|
>"</SPAN
|
||||||
|
>.
|
||||||
|
In some <SPAN
|
||||||
|
CLASS="APPLICATION"
|
||||||
|
>Firefox</SPAN
|
||||||
|
> versions it's
|
||||||
|
<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Tools</SPAN
|
||||||
|
> --> <SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Options</SPAN
|
||||||
|
> -->
|
||||||
|
<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Privacy</SPAN
|
||||||
|
> --> <SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Cache</SPAN
|
||||||
|
> and
|
||||||
|
then click <SPAN
|
||||||
|
CLASS="QUOTE"
|
||||||
|
>"<SPAN
|
||||||
|
CLASS="GUIBUTTON"
|
||||||
|
>Clear Cache Now</SPAN
|
||||||
|
>"</SPAN
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="NAVFOOTER"
|
||||||
|
><HR
|
||||||
|
ALIGN="LEFT"
|
||||||
|
WIDTH="100%"><TABLE
|
||||||
|
SUMMARY="Footer navigation table"
|
||||||
|
WIDTH="100%"
|
||||||
|
BORDER="0"
|
||||||
|
CELLPADDING="0"
|
||||||
|
CELLSPACING="0"
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="general.html"
|
||||||
|
ACCESSKEY="P"
|
||||||
|
>Prev</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="index.html"
|
||||||
|
ACCESSKEY="H"
|
||||||
|
>Home</A
|
||||||
|
></TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
><A
|
||||||
|
HREF="configuration.html"
|
||||||
|
ACCESSKEY="N"
|
||||||
|
>Next</A
|
||||||
|
></TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="left"
|
||||||
|
VALIGN="top"
|
||||||
|
>General Information</TD
|
||||||
|
><TD
|
||||||
|
WIDTH="34%"
|
||||||
|
ALIGN="center"
|
||||||
|
VALIGN="top"
|
||||||
|
> </TD
|
||||||
|
><TD
|
||||||
|
WIDTH="33%"
|
||||||
|
ALIGN="right"
|
||||||
|
VALIGN="top"
|
||||||
|
>Configuration</TD
|
||||||
|
></TR
|
||||||
|
></TABLE
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 32 KiB |
|
@ -0,0 +1,328 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Privoxy - Home Page</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="privoxy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="HTTP"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="proxy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="privacy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="popups"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="po-ups"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="HTML"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="JavaScript"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="cleaning"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="blocking"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="cleaner"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="blocker"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="filter"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="proxy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="junk"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="ad"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="advertisement"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="banner"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="webbugs"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="web-bugs"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="werbung"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="junkbusters"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="junkbuster"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1">
|
||||||
|
<meta name="description" content="Privoxy helps users to protect their privacy.">
|
||||||
|
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="ARTICLE"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="ARTICLE"
|
||||||
|
><DIV
|
||||||
|
CLASS="TITLEPAGE"
|
||||||
|
><H1
|
||||||
|
CLASS="TITLE"
|
||||||
|
><A
|
||||||
|
NAME="AEN2"
|
||||||
|
>Privoxy - Home Page</A
|
||||||
|
></H1
|
||||||
|
><DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="ABSTRACT"
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><A
|
||||||
|
NAME="AEN28"
|
||||||
|
></A
|
||||||
|
><P
|
||||||
|
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||||
|
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
||||||
|
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
||||||
|
flexible configuration and can be customized to suit individual needs and tastes.
|
||||||
|
It has application for both stand-alone systems and multi-user networks.</P
|
||||||
|
><P
|
||||||
|
> Privoxy is Free Software and licensed under the GPL2.</P
|
||||||
|
><P
|
||||||
|
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
||||||
|
TARGET="_top"
|
||||||
|
>Donations are welcome</A
|
||||||
|
>.</P
|
||||||
|
><P
|
||||||
|
> The most recent release is <A
|
||||||
|
HREF="announce.txt"
|
||||||
|
TARGET="_top"
|
||||||
|
>3.0.12 (stable)</A
|
||||||
|
>.
|
||||||
|
</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><HR></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="DOWNLOAD"
|
||||||
|
>Download</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>Download recent releases</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/quickstart.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Quickstart after installation</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><HR><H3
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="DOCS"
|
||||||
|
>Documentation</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>User manual</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="faq/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Frequently Asked Questions</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="developer-manual/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Developer Manual</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="man-page/privoxy-man-page.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Classic Man Page</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><HR><H3
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="MOREINFO"
|
||||||
|
>More information</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/contact.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Support & Service</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/copyright.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Copyright, License, History & Authors</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/introduction.html#FEATURES"
|
||||||
|
TARGET="_top"
|
||||||
|
>List of (new) Features</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="https://sourceforge.net/projects/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
|
>The project page</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/seealso.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Related links</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>
|
||||||
|
|
||||||
|
<A
|
||||||
|
HREF="http://privoxy.org/team/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Pictures of the Privoxy Team</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><HR><H2
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="AEN83"
|
||||||
|
></A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
><DIV
|
||||||
|
CLASS="INFORMALTABLE"
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><A
|
||||||
|
NAME="AEN86"
|
||||||
|
></A
|
||||||
|
><TABLE
|
||||||
|
BORDER="0"
|
||||||
|
FRAME="void"
|
||||||
|
RULES="all"
|
||||||
|
WIDTH="100%"
|
||||||
|
CLASS="CALSTABLE"
|
||||||
|
><COL
|
||||||
|
WIDTH="100%"
|
||||||
|
ALIGN="CENTER"
|
||||||
|
TITLE="C1"><TBODY
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
ALIGN="CENTER"
|
||||||
|
>Privoxy is developed on:</TD
|
||||||
|
></TR
|
||||||
|
><TR
|
||||||
|
><TD
|
||||||
|
ALIGN="CENTER"
|
||||||
|
> <A
|
||||||
|
HREF="http://sourceforge.net/"
|
||||||
|
TARGET="_top"
|
||||||
|
> <IMG
|
||||||
|
SRC="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif">
|
||||||
|
</A
|
||||||
|
>
|
||||||
|
</TD
|
||||||
|
></TR
|
||||||
|
></TBODY
|
||||||
|
></TABLE
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></P
|
||||||
|
><P
|
||||||
|
> <SUB
|
||||||
|
> Copyright © 2001-2009 by Privoxy Developers
|
||||||
|
</SUB
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,294 @@
|
||||||
|
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<HTML><HEAD><TITLE>Man page of PRIVOXY</TITLE>
|
||||||
|
<LINK REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></HEAD><BODY>
|
||||||
|
<H1>PRIVOXY</H1>
|
||||||
|
Section: (1)<BR>Updated: 21 March 2009<BR><A HREF="#index">Index</A>
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<A NAME="lbAB"> </A>
|
||||||
|
<H2>NAME</H2>
|
||||||
|
|
||||||
|
privoxy - Privacy Enhancing Proxy
|
||||||
|
<A NAME="lbAC"> </A>
|
||||||
|
<H2>SYNOPSIS</H2>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<B>Privoxy</B> may be invoked with the following command line
|
||||||
|
options:
|
||||||
|
<DL COMPACT>
|
||||||
|
<DT><B>--help</B><DD>
|
||||||
|
Print brief usage info and exit.
|
||||||
|
<DT><B>--version</B><DD>
|
||||||
|
Print version info and exit.
|
||||||
|
<DT><B>--no-daemon</B><DD>
|
||||||
|
Don't become a daemon, i.e. don't fork and become process group
|
||||||
|
leader, don't detach from controlling tty, and do all logging there.
|
||||||
|
<DT><B>--pidfile </B><I>pidfile</I><B></B><DD>
|
||||||
|
On startup, write the process ID to <I>pidfile</I>.
|
||||||
|
Delete the <I>pidfile</I> on exit.
|
||||||
|
Failure to create or delete the <I>pidfile</I>
|
||||||
|
is non-fatal. If no <B>--pidfile</B> option is given, no PID file will be used.
|
||||||
|
<DT><B>--user </B><I>user[.group]</I><B></B><DD>
|
||||||
|
After (optionally) writing the PID file, assume the user ID of
|
||||||
|
<I>user</I> and the GID of
|
||||||
|
<I>group</I>, or, if the optional
|
||||||
|
<I>group</I> was not given, the default group of
|
||||||
|
<I>user</I>. Exit if the privileges are not
|
||||||
|
sufficient to do so.
|
||||||
|
<DT><B>--chroot</B><DD>
|
||||||
|
Before changing to the user ID given in the --user option, chroot to
|
||||||
|
that user's home directory, i.e. make the kernel pretend to the
|
||||||
|
<B>Privoxy</B> process that the directory tree starts
|
||||||
|
there. If set up carefully, this can limit the impact of possible
|
||||||
|
vulnerabilities in <B>Privoxy</B> to the files contained in
|
||||||
|
that hierarchy.
|
||||||
|
<DT><B>--pre-chroot-nslookup </B><I>hostname</I><B></B><DD>
|
||||||
|
Initialize the resolver library using <I>hostname</I>
|
||||||
|
before chroot'ing. On some systems this reduces the number of files
|
||||||
|
that must be copied into the chroot tree.
|
||||||
|
</DL>
|
||||||
|
<P>
|
||||||
|
|
||||||
|
If the <I>configfile</I> is not specified on the command line,
|
||||||
|
<B>Privoxy</B> will look for a file named
|
||||||
|
<I>config</I> in the current directory. If no
|
||||||
|
<I>configfile</I> is found, <B>Privoxy</B> will
|
||||||
|
fail to start.
|
||||||
|
<A NAME="lbAE"> </A>
|
||||||
|
<H2>DESCRIPTION</H2>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
Privoxy is Free Software and licensed under the GPL2.
|
||||||
|
<A NAME="lbAF"> </A>
|
||||||
|
<H2>INSTALLATION AND USAGE</H2>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
Browsers can either be individually configured to use
|
||||||
|
<B>Privoxy</B> as a HTTP proxy (recommended),
|
||||||
|
or <B>Privoxy</B> can be combined with a packet
|
||||||
|
filter to build an intercepting proxy
|
||||||
|
(see <I>config</I>). The default setting is for
|
||||||
|
localhost, on port 8118 (configurable in the main config file). To set the
|
||||||
|
HTTP proxy in Firefox, go through: <B>Tools</B>;
|
||||||
|
<B>Options</B>; <B>General</B>;
|
||||||
|
<B>Connection Settings</B>;
|
||||||
|
<B>Manual Proxy Configuration</B>.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
For Internet Explorer, go through: <B>Tools</B>;
|
||||||
|
<B>Internet Properties</B>; <B>Connections</B>;
|
||||||
|
<B>LAN Settings</B>.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
||||||
|
https: URLs will not be proxied. Note: <B>Privoxy</B> can only
|
||||||
|
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
|
||||||
|
HTTPS presents some limitations, and not all features will work with HTTPS
|
||||||
|
connections.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
For other browsers, check the documentation.
|
||||||
|
<A NAME="lbAG"> </A>
|
||||||
|
<H2>CONFIGURATION</H2>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<B>Privoxy</B> can be configured with the various configuration
|
||||||
|
files. The default configuration files are: <I>config</I>,
|
||||||
|
<I>default.filter</I>, <I>default.action</I> and
|
||||||
|
<I>default.action</I>. <I>user.action</I> should
|
||||||
|
be used for locally defined exceptions to the default rules in
|
||||||
|
<I>match-all.action</I> and <I>default.action</I>,
|
||||||
|
and <I>user.filter</I> for locally defined filters. These are
|
||||||
|
well commented. On Unix and Unix-like systems, these are located in
|
||||||
|
<I>/etc/privoxy/</I> by default.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<B>Privoxy</B> uses the concept of <B>actions</B>
|
||||||
|
in order to manipulate the data stream between the browser and remote sites.
|
||||||
|
There are various actions available with specific functions for such things
|
||||||
|
as blocking web sites, managing cookies, etc. These actions can be invoked
|
||||||
|
individually or combined, and used against individual URLs, or groups of URLs
|
||||||
|
that can be defined using wildcards and regular expressions. The result is
|
||||||
|
that the user has greatly enhanced control and freedom.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
The actions list (ad blocks, etc) can also be configured with your
|
||||||
|
web browser at <A HREF="http://config.privoxy.org/">http://config.privoxy.org/</A>
|
||||||
|
(assuming the configuration allows it).
|
||||||
|
<B>Privoxy's</B> configuration parameters can also be viewed at
|
||||||
|
the same page. In addition, <B>Privoxy</B> can be toggled on/off.
|
||||||
|
This is an internal page, and does not require Internet access.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
See the <I>User Manual</I> for a detailed
|
||||||
|
explanation of installation, general usage, all configuration options, new
|
||||||
|
features and notes on upgrading.
|
||||||
|
<A NAME="lbAH"> </A>
|
||||||
|
<H2>FILES</H2>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
<PRE>
|
||||||
|
|
||||||
|
<I>/usr/sbin/privoxy</I>
|
||||||
|
<I>/etc/privoxy/config</I>
|
||||||
|
<I>/etc/privoxy/match-all.action</I>
|
||||||
|
<I>/etc/privoxy/default.action</I>
|
||||||
|
<I>/etc/privoxy/user.action</I>
|
||||||
|
<I>/etc/privoxy/default.filter</I>
|
||||||
|
<I>/etc/privoxy/user.filter</I>
|
||||||
|
<I>/etc/privoxy/trust</I>
|
||||||
|
<I>/etc/privoxy/templates/*</I>
|
||||||
|
<I>/var/log/privoxy/logfile</I>
|
||||||
|
</PRE>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
Various other files should be included, but may vary depending on platform
|
||||||
|
and build configuration. Additional documentation should be included in the local
|
||||||
|
documentation directory.
|
||||||
|
<A NAME="lbAI"> </A>
|
||||||
|
<H2>SIGNALS</H2>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
Other references and sites of interest to <B>Privoxy</B>
|
||||||
|
users:
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
<A HREF="http://www.privoxy.org/">http://www.privoxy.org/,</A>
|
||||||
|
the <B>Privoxy</B> Home page.
|
||||||
|
<P>
|
||||||
|
<A HREF="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/,</A>
|
||||||
|
the <B>Privoxy</B> FAQ.
|
||||||
|
<P>
|
||||||
|
<A HREF="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/,</A>
|
||||||
|
the <B>Privoxy</B> developer manual.
|
||||||
|
<P>
|
||||||
|
<A HREF="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/,</A>
|
||||||
|
the Project Page for <B>Privoxy</B> on
|
||||||
|
SourceForge.
|
||||||
|
<P>
|
||||||
|
<A HREF="http://config.privoxy.org/">http://config.privoxy.org/,</A>
|
||||||
|
the web-based user interface. <B>Privoxy</B> must be
|
||||||
|
running for this to work. Shortcut: <A HREF="http://p.p/">http://p.p/</A>
|
||||||
|
<P>
|
||||||
|
<A HREF="https://sourceforge.net/tracker/?group_id=11118">https://sourceforge.net/tracker/?group_id=11118</A>&atid=460288, to submit ``misses'' and other
|
||||||
|
configuration related suggestions to the developers.
|
||||||
|
<A NAME="lbAL"> </A>
|
||||||
|
<H2>DEVELOPMENT TEAM</H2>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
<PRE>
|
||||||
|
Fabian Keil, lead developer
|
||||||
|
David Schmidt, developer
|
||||||
|
|
||||||
|
Hal Burgiss
|
||||||
|
Mark Miller
|
||||||
|
Gerry Murphy
|
||||||
|
Lee Rian
|
||||||
|
Roland Rosenfeld
|
||||||
|
Jörg Strohmayer
|
||||||
|
</PRE>
|
||||||
|
|
||||||
|
<A NAME="lbAM"> </A>
|
||||||
|
<H2>COPYRIGHT AND LICENSE</H2>
|
||||||
|
|
||||||
|
<A NAME="lbAN"> </A>
|
||||||
|
<H3>COPYRIGHT</H3>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
Copyright (C) 2001-2009 by Privoxy Developers <<A HREF="mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</A>>
|
||||||
|
<P>
|
||||||
|
|
||||||
|
Some source code is based on code Copyright (C) 1997 by Anonymous Coders
|
||||||
|
and Junkbusters, Inc. and licensed under the <I>GNU General Public
|
||||||
|
License</I>.
|
||||||
|
<A NAME="lbAO"> </A>
|
||||||
|
<H3>LICENSE</H3>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<B>Privoxy</B> is free software; you can
|
||||||
|
redistribute it and/or modify it under the terms of the
|
||||||
|
<I>GNU General Public License</I>, version 2,
|
||||||
|
as published by the Free Software Foundation.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the <I>GNU General Public License</I> for details.
|
||||||
|
<P>
|
||||||
|
|
||||||
|
You should have received a copy of the <I>GNU GPL</I>
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc. 51 Franklin Street, Fifth Floor
|
||||||
|
Boston, MA 02110-1301
|
||||||
|
USA
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<HR>
|
||||||
|
<A NAME="index"> </A><H2>Index</H2>
|
||||||
|
<DL>
|
||||||
|
<DT><A HREF="#lbAB">NAME</A><DD>
|
||||||
|
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
|
||||||
|
<DT><A HREF="#lbAD">OPTIONS</A><DD>
|
||||||
|
<DT><A HREF="#lbAE">DESCRIPTION</A><DD>
|
||||||
|
<DT><A HREF="#lbAF">INSTALLATION AND USAGE</A><DD>
|
||||||
|
<DT><A HREF="#lbAG">CONFIGURATION</A><DD>
|
||||||
|
<DT><A HREF="#lbAH">FILES</A><DD>
|
||||||
|
<DT><A HREF="#lbAI">SIGNALS</A><DD>
|
||||||
|
<DT><A HREF="#lbAJ">NOTES</A><DD>
|
||||||
|
<DT><A HREF="#lbAK">SEE ALSO</A><DD>
|
||||||
|
<DT><A HREF="#lbAL">DEVELOPMENT TEAM</A><DD>
|
||||||
|
<DT><A HREF="#lbAM">COPYRIGHT AND LICENSE</A><DD>
|
||||||
|
<DL>
|
||||||
|
<DT><A HREF="#lbAN">COPYRIGHT</A><DD>
|
||||||
|
<DT><A HREF="#lbAO">LICENSE</A><DD>
|
||||||
|
</DL>
|
||||||
|
</DL>
|
||||||
|
<HR>
|
||||||
|
This document was created by
|
||||||
|
man2html,
|
||||||
|
using the manual pages.<BR>
|
||||||
|
Time: 11:32:52 GMT, March 21, 2009
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
* CSS for Privoxy documentation
|
||||||
|
*
|
||||||
|
* $Id: p_doc.css,v 1.5 2006/09/09 19:13:42 hal9 Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Global fonts, colors, margins:
|
||||||
|
*/
|
||||||
|
body,td,th { font-family: arial, helvetica, sans-serif; }
|
||||||
|
body { margin: 4%; color: #000000; background-color: #eeeeee; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Headings hierarchy in terms of size and color:
|
||||||
|
*/
|
||||||
|
h1 { color: #4c000f; font-size: 160%; }
|
||||||
|
h2 { color: #660014; font-size: 140%; }
|
||||||
|
h3 { color: #820019; font-size: 120%; }
|
||||||
|
h4 { color: #99001d; font-size: 110%; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Make headings stand out:
|
||||||
|
* Indent all content in chapters, by additional 2%,
|
||||||
|
* and then pull the headings back left.
|
||||||
|
*/
|
||||||
|
div.sect1 { margin-left: 2%; }
|
||||||
|
h1,h2,h3,h4 {margin-left: -2%; }
|
||||||
|
h1.title { margin-left: 0; }
|
||||||
|
h2.subtitle { margin-left: 0; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Underlined links disturb the examples;
|
||||||
|
* Let them get darker instead of purple after visited.
|
||||||
|
*/
|
||||||
|
a { text-decoration: none; }
|
||||||
|
a:link { color: #0c29ff; }
|
||||||
|
a:visited { color: #071899; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special highlighting:
|
||||||
|
* Code examples in embedded in the text flow become half-bold,
|
||||||
|
* Emphasis gets h4-red.
|
||||||
|
* Warnings get the same bg as in privoxy.css
|
||||||
|
*/
|
||||||
|
tt.literal { font-weight: 600; }
|
||||||
|
i.emphasis { color: #99001d; }
|
||||||
|
table.warning { border: 0; background-color: #ffdddd;}
|
||||||
|
span.guibutton {
|
||||||
|
white-space: nowrap;
|
||||||
|
width: auto;
|
||||||
|
padding: 2px;
|
||||||
|
background-color: #dddddd;
|
||||||
|
color: #000000;
|
||||||
|
text-decoration: none;
|
||||||
|
border-top: 1px solid #ffffff;
|
||||||
|
border-left: 1px solid #ffffff;
|
||||||
|
border-bottom: 1px solid #000000;
|
||||||
|
border-right: 1px solid #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Misc:
|
||||||
|
*/
|
||||||
|
ul { list-style-type: square; }
|
||||||
|
/* Privoxy, of course */
|
||||||
|
.application {font-weight: bold; font-size:105%; color: #99001d;}
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Vary the gereneral Privoxy Stlyesheet to
|
||||||
|
* meet the needs of small popups:
|
||||||
|
*
|
||||||
|
* $Id: p_feedback.css,v 1.4 2002/04/09 13:03:42 oes Exp $
|
||||||
|
*/
|
||||||
|
body,td,th { font-size:10px; }
|
||||||
|
div.info { width: 60%; }
|
||||||
|
div.warning { width: 60%; text-align: left; }
|
|
@ -0,0 +1,283 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<HTML
|
||||||
|
><HEAD
|
||||||
|
><TITLE
|
||||||
|
>Privoxy - The Privacy Enhancing Proxy</TITLE
|
||||||
|
><META
|
||||||
|
NAME="GENERATOR"
|
||||||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="privoxy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="HTTP"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="proxy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="privacy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="popups"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="po-ups"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="HTML"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="JavaScript"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="cleaning"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="blocking"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="cleaner"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="blocker"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="filter"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="proxy"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="junk"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="ad"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="advertisement"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="banner"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="webbugs"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="web-bugs"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="werbung"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="junkbusters"><META
|
||||||
|
NAME="KEYWORD"
|
||||||
|
CONTENT="junkbuster"><LINK
|
||||||
|
REL="STYLESHEET"
|
||||||
|
TYPE="text/css"
|
||||||
|
HREF="p_doc.css"><META
|
||||||
|
HTTP-EQUIV="Content-Type"
|
||||||
|
CONTENT="text/html;
|
||||||
|
charset=ISO-8859-1">
|
||||||
|
<meta name="description" content="Privoxy helps users to protect their privacy.">
|
||||||
|
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD
|
||||||
|
><BODY
|
||||||
|
CLASS="ARTICLE"
|
||||||
|
BGCOLOR="#EEEEEE"
|
||||||
|
TEXT="#000000"
|
||||||
|
LINK="#0000FF"
|
||||||
|
VLINK="#840084"
|
||||||
|
ALINK="#0000FF"
|
||||||
|
><DIV
|
||||||
|
CLASS="ARTICLE"
|
||||||
|
><DIV
|
||||||
|
CLASS="TITLEPAGE"
|
||||||
|
><H1
|
||||||
|
CLASS="TITLE"
|
||||||
|
><A
|
||||||
|
NAME="AEN2"
|
||||||
|
>Privoxy - The Privacy Enhancing Proxy</A
|
||||||
|
></H1
|
||||||
|
><H2
|
||||||
|
CLASS="SUBTITLE"
|
||||||
|
>Project Index Page v3.0.12</H2
|
||||||
|
><DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="ABSTRACT"
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
><A
|
||||||
|
NAME="AEN29"
|
||||||
|
></A
|
||||||
|
><P
|
||||||
|
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
||||||
|
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
||||||
|
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
||||||
|
flexible configuration and can be customized to suit individual needs and tastes.
|
||||||
|
It has application for both stand-alone systems and multi-user networks.</P
|
||||||
|
><P
|
||||||
|
> Privoxy is Free Software and licensed under the GPL2.</P
|
||||||
|
><P
|
||||||
|
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
||||||
|
<A
|
||||||
|
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
||||||
|
TARGET="_top"
|
||||||
|
>Donations are welcome</A
|
||||||
|
>.</P
|
||||||
|
><P
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
><HR></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><H3
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="DOWNLOAD"
|
||||||
|
>Download</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
|
||||||
|
TARGET="_top"
|
||||||
|
>Download recent releases</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/quickstart.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Quickstart after installation</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><HR><H3
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="DOCS"
|
||||||
|
>Documentation</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>User manual</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="faq/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Frequently Asked Questions</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="developer-manual/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Developer Manual</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="man-page/privoxy-man-page.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Classic Man Page</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><HR><H3
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="MOREINFO"
|
||||||
|
>More information</A
|
||||||
|
></H3
|
||||||
|
><P
|
||||||
|
> <P
|
||||||
|
></P
|
||||||
|
><UL
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/contact.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Support & Service</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/copyright.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Copyright, License, History & Authors</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/introduction.html#FEATURES"
|
||||||
|
TARGET="_top"
|
||||||
|
>List of (new) Features</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="https://sourceforge.net/projects/ijbswa/"
|
||||||
|
TARGET="_top"
|
||||||
|
>The project page</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
> <A
|
||||||
|
HREF="user-manual/seealso.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Related links</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
><LI
|
||||||
|
><P
|
||||||
|
>
|
||||||
|
|
||||||
|
<A
|
||||||
|
HREF="http://privoxy.org/team/index.html"
|
||||||
|
TARGET="_top"
|
||||||
|
>Pictures of the Privoxy Team</A
|
||||||
|
>
|
||||||
|
</P
|
||||||
|
></LI
|
||||||
|
></UL
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
><DIV
|
||||||
|
CLASS="SECT1"
|
||||||
|
><HR><H2
|
||||||
|
CLASS="SECT1"
|
||||||
|
><A
|
||||||
|
NAME="AEN82"
|
||||||
|
></A
|
||||||
|
></H2
|
||||||
|
><P
|
||||||
|
> <SUB
|
||||||
|
> Copyright © 2001-2009 by Privoxy Developers
|
||||||
|
</SUB
|
||||||
|
></P
|
||||||
|
></DIV
|
||||||
|
></DIV
|
||||||
|
></BODY
|
||||||
|
></HTML
|
||||||
|
>
|
|
@ -0,0 +1,69 @@
|
||||||
|
/*
|
||||||
|
* CSS for Privoxy CGI and script output
|
||||||
|
*
|
||||||
|
* $Id: privoxy.css,v 1.2 2002/04/09 11:55:20 oes Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* General rules: Font, Color, Headings, Margins, Links
|
||||||
|
*/
|
||||||
|
body,td,th { font-family: arial, helvetica, helv, sans-serif; }
|
||||||
|
body { background-color: #ffffff; color: #000000; }
|
||||||
|
|
||||||
|
h1 { font-size: 140%; margin: 0px; }
|
||||||
|
h2 { font-size: 120%; margin: 0px; }
|
||||||
|
h3 { font-size: 110%; margin: 0px; }
|
||||||
|
|
||||||
|
p,pre { margin-left: 15px; }
|
||||||
|
li { margin: 2px 15px; }
|
||||||
|
dl { margin: 2px 15px; }
|
||||||
|
|
||||||
|
a:link { color: #0000dd; text-decoration: none; }
|
||||||
|
a:visited { color: #330099; text-decoration: none; }
|
||||||
|
a:active { color: #3333ff; text-decoration: none; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Boxen as Table elements:
|
||||||
|
*/
|
||||||
|
td.title { border: solid black 1px; background-color: #dddddd; }
|
||||||
|
td.box { border: solid black 1px; background-color: #eeeeee; }
|
||||||
|
td.info { border: solid black 1px; background-color: #ccccff; }
|
||||||
|
td.warning { border: solid black 1px; background-color: #ffdddd; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special Table Boxen: for nesting, naked container and for
|
||||||
|
* the Status field in CGI Output:
|
||||||
|
*/
|
||||||
|
td.wrapbox { border: solid black 1px; padding: 5px; }
|
||||||
|
td.container { padding: 0px; }
|
||||||
|
td.status { border: solid black 1px; background-color: #ff0000; color: #ffffff; font-size: 300%; font-weight: bolder; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Same Boxen as <div>s:
|
||||||
|
*/
|
||||||
|
div.title { border: solid black 1px; background-color: #dddddd; margin: 20px; padding: 20px; }
|
||||||
|
div.box { border: solid black 1px; background-color: #eeeeee; margin: 20px; padding: 20px; }
|
||||||
|
div.info { border: solid black 1px; background-color: #ccccff; margin: 20px; padding: 20px; }
|
||||||
|
div.warning { border: solid black 1px; background-color: #ffdddd; margin: 20px; padding: 20px; }
|
||||||
|
div.wrapbox { border: solid black 1px; margin: 20px; padding: 5px; }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bold definitions in <dl>s, Grey BG for Table headings
|
||||||
|
*/
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
th { background-color: #dddddd; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special purpose paragraphs: Small for page footers,
|
||||||
|
* Important for quoting wrong or dangerous examples,
|
||||||
|
* Whiteframed for the toggle?mini=y CGI
|
||||||
|
*/
|
||||||
|
p.small { font-size: 10px; margin: 0px; }
|
||||||
|
p.important { border: solid black 1px; background-color: #ffdddd; font-weight: bold; padding: 2px; }
|
||||||
|
p.whiteframed { margin: 5px; padding: 5px; border: solid black 1px; text-align: center; background-color: #eeeeee; }
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special red emphasis:
|
||||||
|
*/
|
||||||
|
em.warning { color: #ff0000 }
|
|
@ -0,0 +1,17 @@
|
||||||
|
# This is the Privoxy web site.
|
||||||
|
#
|
||||||
|
# If the robot is connecting through Privoxy, then the
|
||||||
|
# control interface is at /config. It isn't very useful
|
||||||
|
# to index it, and you're likely to break stuff. So go away!
|
||||||
|
#
|
||||||
|
# Even if you're not connected through Privoxy, the
|
||||||
|
# one "Privoxy is not working" page there is not very
|
||||||
|
# interesting.
|
||||||
|
|
||||||
|
User-agent: *
|
||||||
|
Disallow: /config/
|
||||||
|
Disallow: /actions/
|
||||||
|
Disallow: /submit/
|
||||||
|
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 41 KiB |