Fixed minor memory leak.
[privoxy.git] / config
diff --git a/config b/config
index fbc5321..4fa0a37 100644 (file)
--- a/config
+++ b/config
@@ -1,15 +1,15 @@
 #  Sample Configuration file for the Internet Junkbuster 2.0
 
 #
-# $Id: config,v 1.2 2001/04/30 03:05:11 rodney Exp $
+# $Id: config,v 1.12 2001/06/04 10:44:57 swa Exp $
 #
 
 #  Table of Contents
 #
-#      1. INTRODUCTION
+#       1. INTRODUCTION
 #       2. FORMAT OF THE CONFIGURATION FILE
 #       3. OTHER CONFIGURATION FILES
-#      4. GENERAL OPTIONS
+#       4. GENERAL OPTIONS
 #       5. WINDOWS GUI OPTIONS
 #
 #  1. INTRODUCTION
@@ -33,8 +33,8 @@
 #
 #  Indicates that the blockfile is named 'blocklist.ini'.
 #
-#  The '#' indicates a comment.  Any part of a line following a # is
-#  ignored
+#  The '#' indicates a comment.  Any part of a line following a '#' is
+#  ignored, except if the '#' is preceded by a '\'.
 #
 #  Thus, by placing a # at the start of an existing configuration line,
 #  you can make it a comment and it will be treated as if it weren't there. 
 #  off features: If you comment out the "logfile" line, junkbuster will
 #  not log at all. Watch for the "default:" section in each explanation
 #  to see what happens if the option is left unset (or commented out). 
+#
+#  Long lines can be continued on the next line by using a `\' as
+#  the last character. This also works if comments are present in
+#  between.
 #  
 
 #
 #  files in the current working directory.  In either case, an
 #  absolute path name can be used to avoid problems.
 
+# While we go modular and multiuser, the blocker, filter, and 
+# per-user config will be stored in subdirectories of confdir.
+# Now, only confdir/templates is used for storing HTML templates
+# for CGI results.
 #
-#  The blockfile contains regular expressions, one per line, of URLs
-#  to be blocked by Junkbuster.
+# No trailing /, please.
+confdir .
+
 #
-#  Default: Don't block anything.
+# The directory where all logging (i.e. logfile and jarfile) takes place
+# No trailing /, please.
 #
-blockfile      ./blocklist
+logdir .
 
 #
-#  The imagefile contains regular expressions, one per line, of URLs
-#  to be blocked as images by Junkbuster, regardless of whether they
-#  look like image URLs or not.
+# Note that all file specifications below are relative to 
+# the above two directories!!!
 #
-#  Default: Block all URLs as HTML requests.
-#
-imagefile      ./imagelist 
 
+#  The permissions file contains patterns to specify the
+#  filtering rules to apply to each site.
 #
-#  The popfile contains regular expressions, one per line, of sites
-#  where Junkbuster should disable Javascript popups.
-#
-#  Default: No popup filtering.
+#  Default: Cookies to and from all destinations are filtered.
+#           Popups are disabled for all sites.
+#           All sites are filtered if re_filterfile specified.
+#           No sites are blocked.  Nothing is an image.
 #
-popupfile      ./popup
+permissionsfile permissionsfile
 
 #
 #  The re_filterfile contains content modification rules.  These rules
@@ -91,18 +99,7 @@ popupfile    ./popup
 #
 #  Default: No content modification.
 #
-re_filterfile  ./re_filterfile
-
-#
-#  The cookiefile defines how Junkbuster should treat cookies: filter
-#  them out; permit them; permit them only one-way from your browser
-#  to the site, etc.  You can set this on a site-by-site basis, so
-#  that you can, for example, use cookies at sites you trust while
-#  filtering them out everywhere else.
-#
-#  Default: Cookies to and from all destinations are filtered.
-#
-cookiefile     ./cookiefile
+re_filterfile   re_filterfile
 
 #
 #  The logfile is where all logging and error messages are written.
@@ -110,8 +107,7 @@ cookiefile  ./cookiefile
 #  Junkbuster (e.g., it's not blocking an ad you think it should
 #  block) but in most cases you probably will never look at it.
 #
-#  If you do not use 'log-buffer-size'/'log-max-lines' (see below)
-#  your logfile will grow indefinitely, and you will probably want to
+#  Your logfile will grow indefinitely, and you will probably want to
 #  periodically remove it.  On Unix systems, you can do this with a
 #  cron job (see 'man cron').
 #
@@ -122,7 +118,7 @@ cookiefile  ./cookiefile
 #
 #  Default: Log to the standard error channel, not to a file
 #
-logfile                ./junkbuster.log
+logfile      logfile
 
 #
 #  The jarfile defines where Junkbuster stores the cookies it
@@ -131,7 +127,7 @@ logfile             ./junkbuster.log
 #
 #  Default: Don't store intercepted cookies
 #
-#jarfile       ./jarfile       
+#jarfile     jarfile
 
 #
 #  The forwardfile defines domain-specific forwarding of HTTP
@@ -142,7 +138,7 @@ logfile             ./junkbuster.log
 #
 #  Default: Make all connections directly.
 #
-forwardfile    ./forward
+forwardfile   forward
 
 #
 #  Generally, Junkbuster is used as a personal proxy.  The default
@@ -160,7 +156,7 @@ forwardfile ./forward
 #  Default: No access control. Everybody that can reach junkbuster
 #           will be served.
 #
-#aclfile       ./aclfile
+#aclfile   aclfile
 
 #
 #  4. OPTIONS
@@ -169,73 +165,6 @@ forwardfile        ./forward
 #  how Junkbuster operates.
 #
 
-#
-#  If 're_filter_all' is set, (commented in) Junkbuster will attempt
-#  content modification (see 're_filterfile' above) on all requests.
-#
-#  Default: Content modification takes only place if no cookie would
-#           be sent to the server.
-#
-#re_filter_all
-
-#
-#  If 'add-forwarded-header' is set, an "X-Forwarded-For:"
-#  specification will be added to each request header.  Generally,
-#  this is not needed and will reduce your privacy, as the server
-#  will not only see which proxy the request came through, but also
-#  which machine behind that proxy the request originally came from.
-#
-#  Default: Don't add the "X-Forwarded-For:" header.
-#
-#add-forwarded-header
-
-#
-#  Junkbuster can add "wafers", i.e. fake cookies, to each request
-#  header it sends out.
-#  These wafers can be seen by Web site operators in their log files,
-#  so it's a way for you to communicate (very indirectly!) with
-#  them. Junkbuster will add as many wafers as you like to each
-#  request, just list them all here.  Here's an example:
-#
-#     wafer    NOTE=Like most people, I want my browsing to be anonymous.
-#     wafer    WARNING=Please do not attempt to track me.
-#
-#  Wafers make each request larger and will have a (small) impact on
-#  your browsing speed, so you probably don't want to do this unless
-#  you have a particular need.
-#
-#  Default: Don't add a wafer
-#
-#wafer NOTE=Add your wafer here...
-
-#
-# There's also a pre-defined wafer containing a privacy message,
-# called the vanilla wafer, which is sent by default. Setting
-# suppress-vanilla-wafer suppresses this. You guessed that, didn't you?
-#
-# Default: Send the vanilla wafer
-#
-suppress-vanilla-wafer
-
-#
-#  In fact, Junkbuster can add anything at all to the request headers.
-#  You can specify the headers to add with the add-header option.  For
-#  example: 
-#
-#     add-header  Forwarded: by http://stay-out-of-my-backyard.net
-#
-#  Generally, random headers will simply be ignored by the Web site,
-#  so there's little use in adding them.  However, there are some
-#  cases where you might want to add a header, e.g., if you're
-#  forwarding Junkbuster requests to another proxy you might want to
-#  add:
-#
-#     add-header    Proxy-Connection: Keep-Alive
-# 
-#  to every request.
-#
-#add-header My-Header: Whatever you'd like...
-
 #
 #  Listen-address specifies the address and port where Junkbuster will
 #  listen for connections from your Web browser.  The default is to
@@ -272,104 +201,6 @@ suppress-vanilla-wafer
 #            listen-address    127.0.0.1:8000
 #
 
-#
-#  When your Web browser makes a request from a Web site, it informs
-#  the Web site what sort of browser it is, e.g., "Internet Explorer
-#  V2.0" or some such.  In theory, Web sites can use this information
-#  to tailor themselves for your browser.
-#
-#  The 'user-agent' option controls whether Junkbuster will conceal
-#  your browser type or not.  If user-agent is set to . (period) the
-#  User-Agent header is passed to the server unchanged, along with any
-#  UA headers produced by MS-IE (which would otherwise be deleted). If
-#  user-agent is set to @ (at) these headers are sent unchanged in
-#  cases where the cookiefile specifies that a cookie would be sent,
-#  otherwise only a default User-Agent header is sent. That default is
-#  Mozilla/3.0 (Netscape) with an unremarkable Linux configuration. 
-#  If left unset, the default header is always sent.
-#
-#  Note that if you choose to mislead Web sites about your browser
-#  type, you may get Web pages that confuse your browser or display
-#  incorrectly.  In most cases, it's probably fine to send your real
-#  browser type.
-#
-#  Default: Always send the (forged) default user agent header
-#
-user-agent    .
-
-#
-#  When your Web browser requests a page from a Web site, it also
-#  informs the Web site where it came from, i.e., when you click
-#  through to a new web page, your browser tells the new web site the
-#  URL of the old web page.  This is called the "Referer" header.
-#
-#  Junkbuster has the ability to mask the Referer header.  Referer
-#  headers can be used to track users as they browse around the web,
-#  and many consider them invasive.  Junkbuster provides several
-#  options for dealing with referer headers:
-#
-#       VALUE       EFFECT
-#       =====       ======
-#      default     Kill the referrer-header from the client.
-#      .           Pass the referrer unchanged.
-#       @           Pass the referrer if the server is in the cookie file,
-#                   kill the referrer otherwise.
-#       L           Pass the referrer if the server is in the cookie file,
-#                   send a forged referrer that points to the
-#                   root-directory URL of the current request otherwise.
-#       'text'      Always send <text> as the referrer.
-#
-#  L is probably preferable to @, because it will break fewer Web
-#  sites while still concealing your browsing path.
-#
-#  Default: see above
-#
-referer                L
-
-#
-#  Some browsers provide a "From:" header that gives Web sites your
-#  email address.  The only real effect of this is to make you a
-#  target for unsolicited email (spam).  There are three options
-#  what to do with the "From:" header if it is present:
-# 
-#       VALUE       EFFECT
-#       =====       ======
-#       default     Kill every "From:" header
-#       .           Pass the "From:" header unchanged
-#       'text'      replace the email address in the "From:" header with 'text'
-#
-#  Default: see above
-#
-from           spam-me-senseless@sittingduck.xqq
-
-#
-#  The 'tinygif' option lets you change how Junkbuster treats blocked
-#  images.  The default behavior is to send an HTML answer to requests
-#  for images, resulting in a "broken image icon" in place of the blocked
-#  image.  That's a little ugly, so several other options are available:
-#
-#     VALUE       EFFECT
-#     =====       ======
-#      0         Send HTML
-#      1         Send a GIF of one transparent pixel
-#      2         Send a GIF with the word "JUNKBUSTER"
-#       3 <url>   Send a redirect to the image indicated by the <url>
-#
-#  As an example of the last option:
-#
-#    tinygif 3 http://www.junkbusters.com/images/fb.gif
-#
-#  Will replace every blocked image with the "fb.gif" image.
-#
-#  There is one non-obvious benefit to using option "3".  If you use
-#  option 3, your Web browser will likely cache the image you specify
-#  on your local machine.  That means that after the first use, that
-#  image will load very quickly (and won't require a request to the
-#  junkbuster proxy)
-#
-#  Default: 0, i.e. send HTML
-#
-tinygif                2
 
 #
 #  The debug option sets the level of debugging information to log in
@@ -385,15 +216,30 @@ tinygif           2
 #   debug        16 # LOG  = log all data into the logfile
 #   debug        32 # FRC  = debug force feature
 #   debug        64 # REF  = debug regular expression filter 
+#   debug       128 # RED  = debug fast redirects
+#   debug       256 # CLF  = Common Log Format
+#   debug      4096 # INFO = Startup banner and warnings.
+#   debug      8192 # ERROR = Non-fatal errors
+#
+#  It is *highly recommended* that you enable ERROR
+#  reporting.  (debug 8192).
+#
+#  The reporting of FATAL errors (i.e. ones which crash 
+#  JunkBuster) is always on and cannot be disabled.
+#
+#  If you want to use CLF, you should set "debug 256" ONLY,
+#  do not enable anything else.
 #
 #  Multiple "debug" directives, are OK - they're logical-OR'd
 #  together. 
 #
 #   debug         15 # same as setting the first 4 listed above
 #
-#  Default: 0, i.e. log nothing but errors and infos
+#  Default: 0, i.e. log nothing but fatal errors
 #
-debug            1
+debug   1    # URLs
+debug   4096 # Info
+debug   8192 # Errors - *we highly recommended enabling this*
 
 #
 #  Junkbuster normally uses "multi-threading", a software technique
@@ -407,28 +253,27 @@ debug               1
 #single-threaded
 
 #
-#    'toggle' controls whether Junkbuster can temporarily be toggled on
-#    and off.
+#    'toggle' allows you to temporarily disable all Junkbuster's 
+#    filtering.  Just set "toggle 0".
 #    
 #    The Windows version of Junkbuster puts an icon in the system
-#    tray.  If you right-click on that icon (or select the 'Options'
-#    menu), one choice is "Enable".  Clicking on enable toggles
-#    Junkbuster on and off.  This is useful if you want to temporarily
-#    disable Junkbuster, e.g., to access a site that requires cookies
-#    which you normally have blocked.
-#
-#    Unix versions of Junkbuster are toggled on and off by sending a
-#    SIGHUP to Junkbuster.
+#    tray, which allows you to change this option without having
+#    to edit this file.  If you right-click on that icon (or select
+#    the 'Options' menu), one choice is "Enable".  Clicking on enable
+#    toggles Junkbuster on and off.  This is useful if you want to
+#    temporarily disable Junkbuster, e.g., to access a site that
+#    requires cookies which you normally have blocked.
 #
-#    'toggle 1' means permit toggling of Junkbuster, 'toggle 0' means
-#    don't.
+#    'toggle 1' means Junkbuster runs normally, 'toggle 0' means
+#    that Junkbuster becomes a non-anonymizing non-blocking
+#    proxy.
 #
 #  Default: 1
 #
 toggle 1
 
 #
-#  5. WINDOWS GUI OTPIONS
+#  5. WINDOWS GUI OPTIONS
 #
 #  Junkbuster has a number of options specific to the Windows GUI
 #  interface:
@@ -455,13 +300,13 @@ toggle 1
 #    Warning: Setting this to 0 will result in the buffer to grow
 #             infinitely and eat up all your memory!
 #
-#Win32-only: log-buffer-size           1
+#Win32-only: log-buffer-size   1
 
-#    log-max-lines     {number of lines, e.g., '200'}
+#    log-max-lines   {number of lines, e.g., '200'}
 #
 #    Maximum number of lines held in the log buffer. See above.
 #
-#Win32-only: log-max-lines             200
+#Win32-only: log-max-lines   200
 
 #    log-highlight-messages  {1 or 0}
 #
@@ -484,8 +329,8 @@ toggle 1
 
 #    show-on-task-bar        {1 or 0}
 #
-#    Controls whether or not Junkbuster will appear on the Task bar
-#    when minimized.
+#    Controls whether or not Junkbuster will appear as a button on the Task
+#    bar when minimized.
 #
 #Win32-only: show-on-task-bar        0