adding in privoxy directly to Orbot repo

This commit is contained in:
n8fr8 2012-05-03 14:32:18 -04:00
parent f730245681
commit 7807415438
318 changed files with 203695 additions and 0 deletions

116
external/privoxy/AUTHORS vendored Normal file
View File

@ -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>

717
external/privoxy/ChangeLog vendored Normal file
View File

@ -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.

2156
external/privoxy/GNUmakefile vendored Normal file

File diff suppressed because it is too large Load Diff

2156
external/privoxy/GNUmakefile.in vendored Normal file

File diff suppressed because it is too large Load Diff

173
external/privoxy/INSTALL vendored Normal file
View File

@ -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.

339
external/privoxy/LICENSE vendored Normal file
View File

@ -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.

108
external/privoxy/Makefile vendored Normal file
View File

@ -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:

280
external/privoxy/README vendored Normal file
View File

@ -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.

495
external/privoxy/acconfig.h vendored Normal file
View File

@ -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 */

306
external/privoxy/actionlist.h vendored Normal file
View File

@ -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

2021
external/privoxy/actions.c vendored Normal file

File diff suppressed because it is too large Load Diff

187
external/privoxy/actions.h vendored Normal file
View File

@ -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:
*/

341
external/privoxy/amiga.c vendored Normal file
View File

@ -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 */

176
external/privoxy/amiga.h vendored Normal file
View File

@ -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 */

7543
external/privoxy/autom4te.cache/output.0 vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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' )
);

726
external/privoxy/autom4te.cache/traces.0 vendored Normal file
View File

@ -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])

2987
external/privoxy/cgi.c vendored Normal file

File diff suppressed because it is too large Load Diff

289
external/privoxy/cgi.h vendored Normal file
View File

@ -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:
*/

4924
external/privoxy/cgiedit.c vendored Normal file

File diff suppressed because it is too large Load Diff

175
external/privoxy/cgiedit.h vendored Normal file
View File

@ -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:
*/

2295
external/privoxy/cgisimple.c vendored Normal file

File diff suppressed because it is too large Load Diff

185
external/privoxy/cgisimple.h vendored Normal file
View File

@ -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:
*/

1530
external/privoxy/config vendored Normal file

File diff suppressed because it is too large Load Diff

1526
external/privoxy/config.guess vendored Normal file

File diff suppressed because it is too large Load Diff

744
external/privoxy/config.h vendored Normal file
View File

@ -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 */

743
external/privoxy/config.h.in vendored Normal file
View File

@ -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 */

3125
external/privoxy/config.log vendored Normal file

File diff suppressed because it is too large Load Diff

1530
external/privoxy/config.orig vendored Normal file

File diff suppressed because it is too large Load Diff

1126
external/privoxy/config.status vendored Executable file

File diff suppressed because it is too large Load Diff

1662
external/privoxy/config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

7543
external/privoxy/configure vendored Executable file

File diff suppressed because it is too large Load Diff

1463
external/privoxy/configure.in vendored Normal file

File diff suppressed because it is too large Load Diff

80
external/privoxy/cygwin.h vendored Normal file
View File

@ -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:
*/

554
external/privoxy/deanimate.c vendored Normal file
View File

@ -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:
*/

126
external/privoxy/deanimate.h vendored Normal file
View File

@ -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:
*/

2162
external/privoxy/default.action.master vendored Normal file

File diff suppressed because it is too large Load Diff

1289
external/privoxy/default.filter vendored Normal file

File diff suppressed because it is too large Load Diff

560
external/privoxy/doc/gpl.html vendored Normal file
View File

@ -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">&middot;</b> <a href="ijbman.html">
Manual</a> <b class="dot">&middot;</b> <a href="ijbfaq.html">
FAQ</a> <b class="dot">&middot;</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=
"*">&nbsp; 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>&nbsp; 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>&nbsp; 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>&nbsp; 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>
&lt;one line to give the program's name and a brief idea of
what it does.&gt; Copyright (C) 19yy &lt;name of author&gt;
<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. &lt;signature of Ty Coon&gt;, 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">&middot;</b> <a href="ijbman.html">
Manual</a> <b class="dot">&middot;</b> <a href="ijbfaq.html">
FAQ</a> <b class="dot">&middot;</b> <b>GPL</b></p>
<p class="sans"><small><small><a href="gpl.html#text">
Copyright</a> &copy; 1996-8 <a href=
"http://www.junkbusters.com/">Junkbusters</a> <a href=
"http://www.junkbusters.com/ht/en/legal.html#marks">&reg;</a>
Corporation. <a href="gpl.html#text">Copyright</a> &copy; 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>

488
external/privoxy/doc/pcrs.3 vendored Normal file
View File

@ -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.

View File

@ -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>

View File

@ -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>
]]>

36
external/privoxy/doc/source/config.sgml vendored Normal file
View File

@ -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>

View File

@ -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&#38;atid=211118">support forum at SourceForge</ulink>
is probably best suited:
<ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</ulink>
</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&amp;atid=460288">
http://sourceforge.net/tracker/?group_id=11118&amp;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&amp;atid=111118">http://sourceforge.net/tracker/?group_id=11118&amp;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&amp;group_id=11118&amp;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&#38;group_id=11118">http://sourceforge.net/tracker/?atid=361118&#38;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>

View File

@ -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 &copy 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>

File diff suppressed because it is too large Load Diff

3454
external/privoxy/doc/source/faq.sgml vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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>

106
external/privoxy/doc/source/install.sgml vendored Normal file
View File

@ -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>

420
external/privoxy/doc/source/ldp.dsl vendored Normal file
View File

@ -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>

420
external/privoxy/doc/source/ldp.dsl.in vendored Normal file
View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>
]]>

2756
external/privoxy/doc/source/p-config.sgml vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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: -->
&copyright;
<!-- end boilerplate -->
</refsect2>
<refsect2><title>License</title>
<!-- Include license.sgml boilerplate: -->
&license;
<!-- end boilerplate -->
</refsect2>
</refsect1>
</refentry>

View File

@ -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>

268
external/privoxy/doc/source/readme.sgml vendored Normal file
View File

@ -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 &lt;IP&gt;:&lt;Port&gt;, 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>

113
external/privoxy/doc/source/seealso.sgml vendored Normal file
View File

@ -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 &nbsp; 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&amp;atid=460288">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>, to submit <quote>misses</quote> and other
configuration related suggestions to the developers.
</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>

View File

@ -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>
]]>

View File

View File

@ -0,0 +1,4 @@
{
'refentry:PRIVOXY' => 'privoxy(1)',
'' => ''
}

File diff suppressed because it is too large Load Diff

View File

@ -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 "&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 &amp; 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&#38;type=1&#38;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&#38;type=1&#38;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 &copy; -->
<!-- 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 &copy;.
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>

View File

@ -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

View File

@ -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>

File diff suppressed because it is too large Load Diff

View File

@ -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&#38;atid=211118"
TARGET="_top"
>support forum at SourceForge</A
>
is probably best suited:
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=460288"
TARGET="_top"
> http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=111118"
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;group_id=11118&#38;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&#38;group_id=11118"
TARGET="_top"
>http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-OTHER"
>8.4. Other</A
></H2
><P
>For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>-related mailing lists,
including list archives, at:
<A
HREF="http://sourceforge.net/mail/?group_id=11118"
TARGET="_top"
>http://sourceforge.net/mail/?group_id=11118</A
>.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="webserver-update.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Update the Webserver</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Privoxy Copyright, License and History</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&#60;<A
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
>ijbswa-developers@lists.sourceforge.net</A
>&#62;</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"
>&nbsp;Free&nbsp;Software<br>
&nbsp;Foundation,&nbsp;Inc.&nbsp;<SPAN
CLASS="STREET"
>51 Franklin Street, Fifth Floor</SPAN
><br>
&nbsp;<SPAN
CLASS="CITY"
>Boston</SPAN
>,&nbsp;<SPAN
CLASS="STATE"
>MA</SPAN
>&nbsp;<SPAN
CLASS="POSTCODE"
>02110-1301</SPAN
><br>
&nbsp;<SPAN
CLASS="COUNTRY"
>USA</SPAN
>&nbsp;</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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>See also</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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 -&#62; 3.0.1 -&#62; 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&#38;group_id=11118&#38;func=browse"
TARGET="_top"
>patch
tracker</A
> instead.
</P
></LI
></UL
>
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="introduction.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="documentation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Documentation Guidelines</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&#60;title&#62;My
Title&#60;/title&#62;</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"
>&#60;title&#62;</TT
> element, and at least one
<TT
CLASS="LITERAL"
>&#60;para&#62;</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"
>&#60;para&#62;&#60;/para&#62;</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"
>&#60;emphasis&#62;&#60;/emphasis&#62;</I
></SPAN
>, the stylesheets
make this italics.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;filename&#62;&#60;/filename&#62;</I
></SPAN
>, files and directories.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;command&#62;&#60;/command&#62;</I
></SPAN
>, command examples.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;literallayout&#62;&#60;/literallayout&#62;</I
></SPAN
>, like
<TT
CLASS="LITERAL"
>&#60;pre&#62;</TT
>, more or less.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;itemizedlist&#62;&#60;/itemizedlist&#62;</I
></SPAN
>, list with bullets.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;listitem&#62;&#60;/listitem&#62;</I
></SPAN
>, member of the above.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;screen&#62;&#60;/screen&#62;</I
></SPAN
>, screen output, implies
<TT
CLASS="LITERAL"
>&#60;literallayout&#62;</TT
>.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;ulink url="example.com"&#62;&#60;/ulink&#62;</I
></SPAN
>, like
HTML <TT
CLASS="LITERAL"
>&#60;a&#62;</TT
> tag.
</TD
></TR
><TR
><TD
> <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>&#60;quote&#62;&#60;/quote&#62;</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"
>&nbsp;&#60;para&#62;<br>
&nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here.<br>
&nbsp;&#60;/para&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
>
Tags marking individual words, or few words, should be in-line:
<P
CLASS="LITERALLAYOUT"
>&nbsp;&nbsp;Just&nbsp;to&nbsp;&#60;emphasis&#62;emphasize&#60;/emphasis&#62;,&nbsp;some&nbsp;text&nbsp;goes&nbsp;here.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
>
</P
></LI
><LI
><P
> Tags should be nested and step indented for block text like: (except
in-line tags)
<P
CLASS="LITERALLAYOUT"
>&nbsp;&#60;para&#62;<br>
&nbsp;&nbsp;&#60;itemizedlist&#62;<br>
&nbsp;&nbsp;&nbsp;&#60;para&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&#60;listitem&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;text&nbsp;goes&nbsp;here&nbsp;in&nbsp;our&nbsp;list&nbsp;example.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#60;/listitem&#62;<br>
&nbsp;&nbsp;&nbsp;&#60;/para&#62;<br>
&nbsp;&nbsp;&#60;/itemizedlist&#62;<br>
&nbsp;&#60;/para&#62;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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
&#60;comment&#62; element, or the &#60;!-- --&#62; style comment
familiar from HTML. (Note in Docbook v4.x &#60;comment&#62; is
replaced by &#60;remark&#62;.)
</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 (&#60;ulink&#62;), and avoid
this mistake:
</P
><P
> My favorite site is &#60;ulink url="http://example.com"&#62;here&#60;/ulink&#62;.
</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 &#60;ulink url="http://example.com"&#62;example.com&#60;/ulink&#62;.
</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"
>&#60;!entity supported SYSTEM "supported.sgml"&#62;</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"
>&#38;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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Coding Guidelines</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</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"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Introduction</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The CVS Repository</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>The CVS Repository</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&nbsp;</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&#38;atid=460288"
TARGET="_top"
>https://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
>, to submit <SPAN
CLASS="QUOTE"
>"misses"</SPAN
> and other
configuration related suggestions to the developers.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.junkbusters.com/ht/en/cookies.html"
TARGET="_top"
>http://www.junkbusters.com/ht/en/cookies.html</A
>,
an explanation how cookies are used to track web users.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.junkbusters.com/ijb.html"
TARGET="_top"
>http://www.junkbusters.com/ijb.html</A
>,
the original Internet Junkbuster.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.squid-cache.org/"
TARGET="_top"
>http://www.squid-cache.org/</A
>, a popular
caching proxy, which is often used together with <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
TARGET="_top"
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
>,
<SPAN
CLASS="APPLICATION"
>Polipo</SPAN
> is a caching proxy with advanced features
like pipelining, multiplexing and caching of partial instances. In many setups
it can be used as <SPAN
CLASS="APPLICATION"
>Squid</SPAN
> replacement.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
<P
></P
><TABLE
BORDER="0"
><TBODY
><TR
><TD
> <A
HREF="https://www.torproject.org/"
TARGET="_top"
>https://www.torproject.org/</A
>,
<SPAN
CLASS="APPLICATION"
>Tor</SPAN
> can help anonymize web browsing,
web publishing, instant messaging, IRC, SSH, and other applications.
</TD
></TR
></TBODY
></TABLE
><P
></P
>
</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Privoxy Copyright, License and History</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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&#38;group_id=11118&#38;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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Releasing a New Version</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Contacting the developers, Bug Reporting and Feature Requests</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -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&#38;atid=211118"
TARGET="_top"
>support forum at SourceForge</A
>
is probably best suited:
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=460288"
TARGET="_top"
> http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;atid=111118"
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;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&#38;group_id=11118&#38;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&#38;group_id=11118"
TARGET="_top"
>http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-OTHER"
>6.4. Other</A
></H2
><P
>For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>-related mailing lists,
including list archives, at:
<A
HREF="http://sourceforge.net/mail/?group_id=11118"
TARGET="_top"
>http://sourceforge.net/mail/?group_id=11118</A
>.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="trouble.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Troubleshooting</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Privoxy Copyright, License and History</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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"
>&nbsp;</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"
>&#60;<A
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
>ijbswa-developers@lists.sourceforge.net</A
>&#62;</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"
>&nbsp;Free&nbsp;Software<br>
&nbsp;Foundation,&nbsp;Inc.&nbsp;<SPAN
CLASS="STREET"
>51 Franklin Street, Fifth Floor</SPAN
><br>
&nbsp;<SPAN
CLASS="CITY"
>Boston</SPAN
>,&nbsp;<SPAN
CLASS="STATE"
>MA</SPAN
>&nbsp;<SPAN
CLASS="POSTCODE"
>02110-1301</SPAN
><br>
&nbsp;<SPAN
CLASS="COUNTRY"
>USA</SPAN
>&nbsp;</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"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Contacting the developers, Bug Reporting and Feature Requests</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

View File

@ -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"
>&#60;html&#62;&#60;body&#62;&#60;/body&#62;&#60;/html&#62;</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"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</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"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>General Information</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -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
>.&#13;</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
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Preferences</SPAN
> --&#62;
<SPAN
CLASS="GUIBUTTON"
>Advanced</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Cache</SPAN
> and
then click both <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="GUIBUTTON"
>Clear Memory Cache</SPAN
>"</SPAN
>
and <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="GUIBUTTON"
>Clear Disk Cache</SPAN
>"</SPAN
>.
In some <SPAN
CLASS="APPLICATION"
>Firefox</SPAN
> versions it's
<SPAN
CLASS="GUIBUTTON"
>Tools</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Options</SPAN
> --&#62;
<SPAN
CLASS="GUIBUTTON"
>Privacy</SPAN
> --&#62; <SPAN
CLASS="GUIBUTTON"
>Cache</SPAN
> and
then click <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="GUIBUTTON"
>Clear Cache Now</SPAN
>"</SPAN
>.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="general.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="configuration.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>General Information</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Configuration</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -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 &#38; Service</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/copyright.html"
TARGET="_top"
>Copyright, License, History &#38; Authors</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/introduction.html#FEATURES"
TARGET="_top"
>List of (new) Features</A
>
</P
></LI
><LI
><P
> <A
HREF="https://sourceforge.net/projects/ijbswa/"
TARGET="_top"
>The project page</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/seealso.html"
TARGET="_top"
>Related links</A
>
</P
></LI
><LI
><P
>
<A
HREF="http://privoxy.org/team/index.html"
TARGET="_top"
>Pictures of the Privoxy Team</A
>
</P
></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN83"
></A
></H2
><P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><A
NAME="AEN86"
></A
><TABLE
BORDER="0"
FRAME="void"
RULES="all"
WIDTH="100%"
CLASS="CALSTABLE"
><COL
WIDTH="100%"
ALIGN="CENTER"
TITLE="C1"><TBODY
><TR
><TD
ALIGN="CENTER"
>Privoxy is developed on:</TD
></TR
><TR
><TD
ALIGN="CENTER"
> <A
HREF="http://sourceforge.net/"
TARGET="_top"
> <IMG
SRC="http://sourceforge.net/sflogo.php?group_id=11118&#38;type=1&#38;dummy=.gif">
</A
>
</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></P
><P
> <SUB
> Copyright &copy; 2001-2009 by Privoxy Developers
</SUB
></P
></DIV
></DIV
></BODY
></HTML
>

View File

@ -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">&nbsp;</A>
<H2>NAME</H2>
privoxy - Privacy Enhancing Proxy
<A NAME="lbAC">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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>&amp;atid=460288, to submit ``misses'' and other
configuration related suggestions to the developers.
<A NAME="lbAL">&nbsp;</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&ouml;rg Strohmayer
</PRE>
<A NAME="lbAM">&nbsp;</A>
<H2>COPYRIGHT AND LICENSE</H2>
<A NAME="lbAN">&nbsp;</A>
<H3>COPYRIGHT</H3>
<P>
Copyright (C) 2001-2009 by Privoxy Developers &lt;<A HREF="mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</A>&gt;
<P>
Some source code is based on code Copyright (C) 1997 by Anonymous Coders
and Junkbusters, Inc. and licensed under the <I>GNU General Public
License</I>.
<A NAME="lbAO">&nbsp;</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">&nbsp;</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>

View File

@ -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;}

View File

@ -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; }

View File

@ -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 &#38; Service</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/copyright.html"
TARGET="_top"
>Copyright, License, History &#38; Authors</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/introduction.html#FEATURES"
TARGET="_top"
>List of (new) Features</A
>
</P
></LI
><LI
><P
> <A
HREF="https://sourceforge.net/projects/ijbswa/"
TARGET="_top"
>The project page</A
>
</P
></LI
><LI
><P
> <A
HREF="user-manual/seealso.html"
TARGET="_top"
>Related links</A
>
</P
></LI
><LI
><P
>
<A
HREF="http://privoxy.org/team/index.html"
TARGET="_top"
>Pictures of the Privoxy Team</A
>
</P
></LI
></UL
></P
></DIV
><DIV
CLASS="SECT1"
><HR><H2
CLASS="SECT1"
><A
NAME="AEN82"
></A
></H2
><P
> <SUB
> Copyright &copy; 2001-2009 by Privoxy Developers
</SUB
></P
></DIV
></DIV
></BODY
></HTML
>

View File

@ -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 }

View File

@ -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/

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

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