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 |