Bump copyright date and fix URL.
[privoxy.git] / doc / text / developer-manual.txt
index c65e06f..0f4fc0c 100644 (file)
@@ -1,8 +1,8 @@
 Privoxy Developer Manual
 
-Copyright © 2001, 2002 by Privoxy Developers
+Copyright © 2001-2006 by Privoxy Developers
 
-$Id: developer-manual.sgml,v 2.3 2002/09/05 02:27:59 hal9 Exp $
+$Id: developer-manual.sgml,v 2.11 2006/09/26 02:36:29 hal9 Exp $
 
 The developer manual provides guidance on coding, testing, packaging,
 documentation and other issues of importance to those involved with Privoxy
@@ -10,7 +10,7 @@ development. It is mandatory (and helpful!) reading for anyone who wants to
 join the team.
 
 Please note that this document is constantly evolving. This copy represents the
-state at the release of version 3.1.1. You can find the latest version of the
+state at the release of version 3.0.6. You can find the latest version of the
 this manual at http://www.privoxy.org/developer-manual/. Please see the Contact
 section on how to contact the developers.
 
@@ -128,10 +128,13 @@ Table of Contents
 8. Contacting the developers, Bug Reporting and Feature Requests
    
     8.1. Get Support
-    8.2. Report Bugs
+    8.2. Reporting Problems
+       
+        8.2.1. Reporting Ads or Other Configuration Problems
+        8.2.2. Reporting Bugs
+       
     8.3. Request New Features
-    8.4. Report Ads or Other Actions-Related Problems
-    8.5. Other
+    8.4. Other
    
 9. Privoxy Copyright, License and History
    
@@ -155,24 +158,27 @@ porting, are all important jobs as well.
 
 1.1. Quickstart to Privoxy Development
 
-You'll need an account on Sourceforge to support our development. Mail your ID
-to the list and wait until a project manager has added you.
+The first step is to join the developer's mailing list. 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.
 
 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).
 
-For the time being (read, this section is under construction), please refer to
-the extensive comments in the source code.
+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.
 
 -------------------------------------------------------------------------------
 
 2. The CVS Repository
 
-If you intend to help us with programming, documentation or packaging you will
-need write access to our holy grail, the CVS repository. Please read this
-chapter completely before accessing via CVS.
+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.
 
 -------------------------------------------------------------------------------
 
@@ -181,7 +187,7 @@ chapter completely before accessing via CVS.
 The project's CVS repository is hosted on SourceForge. Please refer to the
 chapters 6 and 7 in SF's site documentation for the technical access details
 for your operating system. For historical reasons, the CVS server is called
-cvs.ijbswa.sourceforge.net, the repository is called ijbswa, and the source
+ijbswa.cvs.sourceforge.net, the repository is called ijbswa, and the source
 tree module is called current.
 
 -------------------------------------------------------------------------------
@@ -191,19 +197,22 @@ tree module is called current.
 Within the CVS repository, there are modules and branches. As mentioned, the
 sources are in the current "module". Other modules are present for platform
 specific issues. There is a webview of the CVS hierarchy at http://
-cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/, which might help with
-visualizing how these pieces fit together.
+ijbswa.cvs.sourceforge.net/ijbswa/, which might help with visualizing how these
+pieces fit together.
 
 Branches are used to fork a sub-development path from the main trunk. Within
 the current module where the sources are, there is always at least one "branch"
 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). And for
-testing bugfixes for the stable series. Just prior to each stable series (e.g.
-3.0.x), a branch is created just for stable series releases (e.g. 3.0.0 ->
-3.0.1 -> 3.0.2, etc). Once the initial stable release of any stable branch has
-taken place, this branch is only used for bugfixes, which have had prior
-testing before being committed to CVS. (See Version Numbers below for details
-on versioning.)
+active development takes place for the next stable series (e.g. 3.2.x). So just
+prior to each stable series (e.g. 3.0.x), a branch is created just for stable
+series releases (e.g. 3.0.0 -> 3.0.1 -> 3.0.2, etc). Once the initial stable
+release of any stable branch has taken place, this branch is only used for
+bugfixes, which have had prior testing before being committed to CVS. (See 
+Version Numbers below for details on versioning.)
+
+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.
 
 -------------------------------------------------------------------------------
 
@@ -217,9 +226,9 @@ guidelines:
 
 Basic Guidelines, for all branches:
 
-  * Never (read: never, ever) be tempted to commit that small change without
-    testing it thoroughly first. When we're close to a public release, ask a
-    fellow developer to review your changes.
+  * 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.
    
   * Your commit message should give a concise overview of what you changed (no
     big details) and why you changed it Just check previous messages for good
@@ -239,30 +248,6 @@ Basic Guidelines, for all branches:
   * Note that near a major public release, we get more cautious. There is
     always the possibility to submit a patch to the patch tracker instead.
    
-Stable branches are handled with decidedly more care, especially after the
-initial *.*.0 release, and we are just in bugfix mode. In addition to the
-above, the below applies only to the stable branch (currently the
-v_3_0_branchpoint branch):
-
-  * Do not commit anything into the stable branch, unless immediately before a
-    new release! There needs to be testing done before it hits CVS, and to
-    ensure that all changes are appropriate just to fix whatever the problem
-    is.
-   
-  * Where possible, bugfixes and changes should be tested in the main
-    development trunk first. There may be occasions where this is not feasible,
-    though.
-   
-  * Alternately, proposed changes can be submitted as patches to the patch
-    tracker on Sourceforge first: http://sourceforge.net/tracker/?group_id=
-    11118&atid=311118. Then ask for peer review.
-   
-  * Do not commit anything unless your proposed changes have been well tested
-    first, by other members of the project, and have prior approval of the
-    project leaders or consensus of the devel list.
-   
-  * Do not even think about anything except bugfixes. No new features!
-   
 -------------------------------------------------------------------------------
 
 3. Documentation Guidelines
@@ -272,12 +257,12 @@ source/* directory. You will need Docbook, the Docbook DTD's and the Docbook
 modular stylesheets (or comparable alternatives), and either jade or openjade
 (recommended) installed in order to build docs from source. Currently there is 
 user-manual, FAQ, and, of course this, the developer-manual in this format. The
-README, AUTHORS privoxy.1 (man page), and config files are also now maintained
-as Docbook SGML. These files, when built, in the top-level source directory are
-generated files! Also, the Privoxy index.html (and a variation on this file,
-privoxy-index.html, meant for inclusion with doc packages), are maintained as
-SGML as well. DO NOT edit these directly. Edit the SGML source, or contact
-someone involved in the documentation (at present Hal).
+README, AUTHORS, INSTALL, privoxy.1 (man page), and config files are also now
+maintained as Docbook SGML. These files, when built, in the top-level source
+directory are generated files! Also, the Privoxy index.html (and a variation on
+this file, privoxy-index.html, meant for inclusion with doc packages), are
+maintained as SGML as well. DO NOT edit these directly. Edit the SGML source,
+or contact someone involved in the documentation.
 
 config requires some special handling. The reason it is maintained this way is
 so that the extensive comments in the file mirror those in user-manual. But the
@@ -288,12 +273,13 @@ build process for this file outputs to config.new, which should be reviewed for
 errors and mis-formatting. Once satisfied that it is correct, then it should be
 hand copied to config.
 
-Other, less formal documents (e.g. LICENSE, INSTALL) are maintained as plain
-text files in the top-level source directory. At least for the time being.
+Other, less formal documents (e.g. LICENSE) are maintained as plain text files
+in the top-level source directory.
 
 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 now being kept in CVS under doc/webserver/*.
+versions are also being kept in CVS under doc/webserver/*. And PDF version are
+kept in doc/pdf/*.
 
 Formal documents are built with the Makefile targets of make dok, or
 alternately make redhat-dok. If you have problems, try both. The build process
@@ -421,7 +407,7 @@ Here it is:
     instance.
    
   * Our documents are available in differing formats. Right now, they are just
-    plain text, TML, and PDF, but others are always a future possibility. Be
+    plain text, HTML, and PDF, but others are always a future possibility. Be
     careful with URLs (<ulink>), and avoid this mistake:
    
     My favorite site is <ulink url="http://example.com">here</ulink>.
@@ -466,7 +452,7 @@ entities are listed below. See any of the main docs for examples.
    
   * Commonly used "internal entities":
    
-    p-version: the Privoxy version string, e.g. "3.1.1".                       
+    p-version: the Privoxy version string, e.g. "3.0.6".                       
     p-status: the project status, either "alpha", "beta", or "stable".         
     p-not-stable: use to conditionally include text in "not stable" releases   
     (e.g. "beta").                                                             
@@ -1420,49 +1406,50 @@ from the project).
 
 Example for file comments:
 
-const char FILENAME_rcs[] = "$Id: developer-manual.sgml,v 2.3 2002/09/05 02:27:59 hal9 Exp $"; 
-/*********************************************************************                         
- *                                                                                             
- * File        :  $Source$                                                                     
- *                                                                                             
- * Purpose     :  (Fill me in with a good description!)                                        
- *                                                                                             
- * 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$                                                                                    
- *                                                                                             
- *********************************************************************/                        
-                                                                                               
-                                                                                               
-#include "config.h"                                                                            
-                                                                                               
-   ...necessary include files for us to do our work...                                         
-                                                                                               
-const char FILENAME_h_rcs[] = FILENAME_H_VERSION;                                              
+const char FILENAME_rcs[] = "$Id: developer-manual.sgml,v 2.11 2006/09/26 02:36:29 hal9 Exp $"; 
+/*********************************************************************                          
+ *                                                                                              
+ * File        :  $Source$                                                                      
+ *                                                                                              
+ * Purpose     :  (Fill me in with a good description!)                                         
+ *                                                                                              
+ * Copyright   :  Written by and Copyright (C) 2001-2006 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                                                                           
+ *                                                                                              
+ * Revisions   :                                                                                
+ *    $Log$                                                                                     
+ *                                                                                              
+ *********************************************************************/                         
+                                                                                                
+                                                                                                
+#include "config.h"                                                                             
+                                                                                                
+   ...necessary include files for us to do our work...                                          
+                                                                                                
+const char FILENAME_h_rcs[] = FILENAME_H_VERSION;                                               
 
 Note: This declares the rcs variables that should be added to the
 "show-proxy-args" page. If this is a brand new creation by you, you are free to
@@ -1475,71 +1462,72 @@ can.
 
 Example for file header comments:
 
-#ifndef _FILENAME_H                                                                          
-#define _FILENAME_H                                                                          
-#define FILENAME_H_VERSION "$Id: developer-manual.sgml,v 2.3 2002/09/05 02:27:59 hal9 Exp $" 
-/*********************************************************************                       
- *                                                                                           
- * File        :  $Source$                                                                   
- *                                                                                           
- * Purpose     :  (Fill me in with a good description!)                                      
- *                                                                                           
- * 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$                                                                                  
- *                                                                                           
- *********************************************************************/                      
-                                                                                             
-                                                                                             
-#include "project.h"                                                                         
-                                                                                             
-#ifdef __cplusplus                                                                           
-extern "C" {                                                                                 
-#endif                                                                                       
-                                                                                             
-   ... function headers here ...                                                             
-                                                                                             
-                                                                                             
-/* Revision control strings from this header and associated .c file */                       
-extern const char FILENAME_rcs[];                                                            
-extern const char FILENAME_h_rcs[];                                                          
-                                                                                             
-                                                                                             
-#ifdef __cplusplus                                                                           
-} /* extern "C" */                                                                           
-#endif                                                                                       
-                                                                                             
-#endif /* ndef _FILENAME_H */                                                                
-                                                                                             
-/*                                                                                           
-  Local Variables:                                                                           
-  tab-width: 3                                                                               
-  end:                                                                                       
-*/                                                                                           
+#ifndef _FILENAME_H                                                                           
+#define _FILENAME_H                                                                           
+#define FILENAME_H_VERSION "$Id: developer-manual.sgml,v 2.11 2006/09/26 02:36:29 hal9 Exp $" 
+/*********************************************************************                        
+ *                                                                                            
+ * File        :  $Source$                                                                    
+ *                                                                                            
+ * Purpose     :  (Fill me in with a good description!)                                       
+ *                                                                                            
+ * Copyright   :  Written by and Copyright (C) 2001-2006 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                                                                         
+ *                                                                                            
+ * Revisions   :                                                                              
+ *    $Log$                                                                                   
+ *                                                                                            
+ *********************************************************************/                       
+                                                                                              
+                                                                                              
+#include "project.h"                                                                          
+                                                                                              
+#ifdef __cplusplus                                                                            
+extern "C" {                                                                                  
+#endif                                                                                        
+                                                                                              
+   ... function headers here ...                                                              
+                                                                                              
+                                                                                              
+/* Revision control strings from this header and associated .c file */                        
+extern const char FILENAME_rcs[];                                                             
+extern const char FILENAME_h_rcs[];                                                           
+                                                                                              
+                                                                                              
+#ifdef __cplusplus                                                                            
+} /* extern "C" */                                                                            
+#endif                                                                                        
+                                                                                              
+#endif /* ndef _FILENAME_H */                                                                 
+                                                                                              
+/*                                                                                            
+  Local Variables:                                                                            
+  tab-width: 3                                                                                
+  end:                                                                                        
+*/                                                                                            
 
 Example for function comments:
 
@@ -1668,18 +1656,32 @@ version numbers consist of three numbers, separated by dots, like in X.Y.Z
     distinguished from released versions. The point version is reset to zero
     when the minor changes.
    
+    Stable branches work a little differently, since there should be little to
+    no development happening in such branches. Remember, only bugfixes, which
+    presumably should have had some testing before being committed. Stable
+    branches will then have their version reported as 0.0.0, during that period
+    between releases when changes are being added. This is to denote that this
+    code is not for release. Then as the release nears, the version is bumped
+    according: e.g. 3.0.1 -> 0.0.0 -> 3.0.2.
+   
 In summary, the main CVS trunk is the development branch where new features are
 being worked on for the next stable series. This should almost always be where
 the most activity takes place. There is always at least one stable branch from
 the trunk, e.g now it is 3.0, which is only used to release stable versions.
-Once the initial .0 release of the stable branch has been done, then as a rule,
-only bugfixes that have had prior testing should be committed to the stable
-branch. At that point, it is mostly "hands off". Once there are enough bugfixes
-to justify a new release, the version of this branch is again incremented
-Example: 3.0.0 -> 3.0.1 -> 3.0.2, etc are all stable releases from within the
-stable branch. 3.1.x is currently the main trunk, and where work on 3.2.x is
-taking place. If any questions, please post to the devel list before committing
-to a stable branch!
+Once the initial *.0 release of the stable branch has been done, then as a
+rule, only bugfixes that have had prior testing should be committed to the
+stable branch. Once there are enough bugfixes to justify a new release, the
+version of this branch is again incremented Example: 3.0.0 -> 3.0.1 -> 3.0.2,
+etc are all stable releases from within the stable branch. 3.1.x is currently
+the main trunk, and where work on 3.2.x is taking place. If any questions,
+please post to the devel list before committing to a stable branch!
+
+Developers should remember too that if they commit a bugfix to the stable
+branch, this will more than likely require a separate submission to the main
+trunk, since these are separate development trees within CVS. If you are
+working on both, then this would require at least two separate check outs (i.e
+main trunk, and the stable release branch, which is v_3_0_branch at the
+moment).
 
 -------------------------------------------------------------------------------
 
@@ -1753,13 +1755,23 @@ an empty directory (just press return when asked for a password):
 
   mkdir dist # delete or choose different name if it already exists                                
   cd dist                                                                                          
-  cvs -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa login                        
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
+  cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login                        
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa export -r v_X_Y_Z current
 
 Do NOT change a single bit, including, but not limited to version information
 after export from CVS. This is to make sure that all release packages, and with
 them, all future bug reports, are based on exactly the same code.
 
++-----------------------------------------------------------------------------+
+|                                   Warning                                   |
+|-----------------------------------------------------------------------------|
+|Every significant release of Privoxy has included at least one package that  |
+|either had incorrect versions of files, missing files, or incidental         |
+|leftovers from a previous build process that gave unknown numbers of users   |
+|headaches to try to figure out what was wrong. PLEASE, make sure you are     |
+|using pristene sources, and are following the prescribed process!            |
++-----------------------------------------------------------------------------+
+
 Please find additional instructions for the source tarball and the individual
 platform dependent binary packages below. And details on the Sourceforge
 release process below that.
@@ -1806,12 +1818,16 @@ package. These apply to all platforms!
     directory with privoxy-index.html, (i.e. one level up from the manual
     directories).
    
-  * user.action is designed for local preferences. Make sure this does not get
-    overwritten!
+  * user.action and user.filter are designed for local preferences. Make sure
+    these do not get overwritten! config should not be overwritten either. This
+    has especially important configuration data in it. trust should be left in
+    tact as well.
    
-  * Other configuration files should be installed as the new defaults, but all
+  * Other configuration files (default.action, default.filter and
+    standard.action) should be installed as the new defaults, but all
     previously installed configuration files should be preserved as backups.
-    This is just good manners :-)
+    This is just good manners :-) These files are likely to change between
+    releases and contain important new features and bug fixes.
    
   * Please check platform specific notes in this doc, if you haven't done
     "Privoxy" packaging before for other platform specific issues. Conversely,
@@ -1887,7 +1903,7 @@ First, make sure that you have freshly exported the right version into an empty
 directory. (See "Building and releasing packages" above). Then get the OS/2
 Setup module:
 
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co os2setup
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co os2setup
 
 You will need a mix of development tools. The main compilation takes place with
 IBM Visual Age C++. Some ancillary work takes place with GNU tools, available
@@ -1949,7 +1965,7 @@ First, make sure that you have freshly exported the right version into an empty
 directory. (See "Building and releasing packages" above). Then get the Windows
 setup module:
 
-  cvs -z3  -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co winsetup
+  cvs -z3  -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co winsetup
 
 Then you can build the package. This is fully automated, and is controlled by
 winsetup/GNUmakefile. All you need to do is:
@@ -1969,13 +1985,13 @@ First, make sure that you have freshly exported the right version into an empty
 directory. (See "Building and releasing packages" above). Then add a log entry
 to debian/changelog, if it is not already there, for example by running:
 
-  debchange -v 3.1.1-alpha-1 "New upstream version"                            
+  debchange -v 3.0.6-stable-1 "New upstream version"                           
 
 Then, run:
 
   dpkg-buildpackage -rfakeroot -us -uc -b                                      
 
-This will create ../privoxy_3.1.1-alpha-1_i386.deb which can be uploaded. To
+This will create ../privoxy_3.0.6-stable-1_i386.deb which can be uploaded. To
 upload the package to Sourceforge, simply issue
 
   make debian-upload                                                           
@@ -1988,7 +2004,7 @@ First, make sure that you have freshly exported the right version into an empty
 directory. (See "Building and releasing packages" above). Then get the Mac OSX
 setup module:
 
-  cvs -z3 -d:pserver:anonymous@cvs.ijbswa.sourceforge.net:/cvsroot/ijbswa co osxsetup
+  cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co osxsetup
 
 Then run:
 
@@ -2101,7 +2117,7 @@ Once this done go to http://sourceforge.net/project/admin/editpackages.php?
 group_id=11118, making sure you are logged in. Find your target platform in the
 second column, and click Add Release. You will then need to create a new
 release for your package, using the format of $VERSION ($CODE_STATUS), e.g.
-3.1.1 (beta).
+3.0.6 (beta).
 
 Now just follow the prompts. Be sure to add any appropriate Release notes. You
 should see your freshly uploaded packages in "Step 2. Add Files To This
@@ -2123,7 +2139,8 @@ When all (or: most of the) packages have been uploaded and made available, send
 an email to the announce mailing list, Subject: "Version X.Y.Z available for
 download". Be sure to include the download location, the release notes and the
 Changelog. Also, post an updated News item on the project page Sourceforge, and
-update the Home page and docs linked from the Home page (see below).
+update the Home page and docs linked from the Home page (see below). Other news
+sites and release oriented sites, such as Freshmeat, should also be notified.
 
 -------------------------------------------------------------------------------
 
@@ -2183,24 +2200,84 @@ list, where the developers also hang around.
 
 -------------------------------------------------------------------------------
 
-8.2. Report Bugs
+8.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.
+   
+-------------------------------------------------------------------------------
+
+8.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.
+
+-------------------------------------------------------------------------------
+
+8.2.2. Reporting Bugs
 
 Please report all bugs only 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.
+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
-first. If unsure, try toggling off Privoxy, and see if the problem persists.
-The appendix of the user manual also has helpful information on action
-debugging. If you are using your own custom configuration, please try the stock
-configs to see if the problem is configuration related.
+first. 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 not using the latest 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 your bug.
 
-If not using the latest version, chances are that the bug has 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 your
-bug, but this is not required for reporting.
+Please be sure to provide the following information:
+
+  * The exact Privoxy version of the proxy software (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.
+   
+  * 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 developers of
+    Privoxy via SourceForge, or somewhere else.
+   
+  * Whether you are using Privoxy in tandem with another proxy such as Tor. If
+    so, please try disabling the other proxy.
+   
+  * 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).
+   
+  * Please provide your SF login, or email address, in case we need to contact
+    you.
+   
+The appendix of the Privoxy User Manual also has helpful information on
+understanding actions, and action debugging.
 
 -------------------------------------------------------------------------------
 
@@ -2212,21 +2289,7 @@ tracker/?atid=361118&group_id=11118.
 
 -------------------------------------------------------------------------------
 
-8.4. Report Ads or Other Actions-Related Problems
-
-Please send feedback on ads that slipped through, innocent images that were
-blocked, and any other problems relating to the default.action file through our
-actions feedback mechanism located at http://www.privoxy.org/actions/. On this
-page, you will also find a bookmark which will take you back there from any
-troubled site and even pre-fill the form!
-
-New, improved default.action files will 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.
-
--------------------------------------------------------------------------------
-
-8.5. Other
+8.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
@@ -2238,7 +2301,8 @@ group_id=11118.
 
 9. Privoxy Copyright, License and History
 
-Copyright © 2001, 2002 by Privoxy Developers <developers@privoxy.org>
+Copyright © 2001 - 2006 by Privoxy Developers <
+ijbswa-developers@lists.sourceforge.net>
 
 Some source code is based on code Copyright © 1997 by Anonymous Coders and
 Junkbusters, Inc. and licensed under the GNU General Public License.
@@ -2254,31 +2318,31 @@ Software Foundation.
 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, which
-is available from the Free Software Foundation, Inc, 59 Temple Place - Suite
-330, Boston, MA 02111-1307, USA.
+is available from the Free Software Foundation, Inc, 51 Franklin Street, Fifth
+Floor, Boston, MA 02110-1301, USA
 
 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. 59 Temple Place - Suite 330
- Boston, MA 02111-1307
+ Foundation, Inc. 51 Franklin Street, Fifth Floor
+ Boston, MA 02110-1301
  USA 
 
 -------------------------------------------------------------------------------
 
 9.2. History
 
-In the beginning, there was the Internet Junkbuster, by Anonymous Coders and 
-Junkbusters Corporation. It saved many users a lot of pain in the early days of
-web advertising and user tracking.
+A long time ago, there was the Internet Junkbuster, by Anonymous Coders and 
+Junkbusters Corporation. This saved many users a lot of pain in the early days
+of web advertising and user tracking.
 
 But the web, its protocols and standards, and with it, the techniques for
-forcing users to consume ads, give up autonomy over their browsing, and for
-spying on them, kept evolving. Unfortunately, the Internet Junkbuster did not.
-Version 2.0.2, published in 1998, was (and is) the last official release
-available from Junkbusters Corporation. Fortunately, it had been released under
-the GNU GPL, which allowed further development by others.
+forcing ads on users, give up autonomy over their browsing, and for tracking
+them, keeps evolving. Unfortunately, the Internet Junkbuster did not. Version
+2.0.2, published in 1998, was (and is) the last official release available from
+Junkbusters Corporation. Fortunately, it had been released under the GNU GPL,
+which allowed further development by others.
 
 So Stefan Waldherr started maintaining an improved version of the software, to
 which eventually a number of people contributed patches. It could already
@@ -2292,7 +2356,7 @@ Then, some developers picked up the thread, and started turning the software
 inside out, upside down, and then reassembled it, adding many new features
 along the way.
 
-The result of this is Privoxy, whose first stable release, 3.0, was released
+The result of this is Privoxy, whose first stable version, 3.0, was released
 August, 2002.
 
 -------------------------------------------------------------------------------
@@ -2311,24 +2375,22 @@ SourceForge.
 http://config.privoxy.org/, the web-based user interface. Privoxy must be      
 running for this to work. Shortcut: http://p.p/                                
 
-http://www.privoxy.org/actions/, to submit "misses" to the developers.
-
-http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/, cool and fun   
-ideas from Privoxy users.                                                      
+http://sourceforge.net/tracker/?group_id=11118&atid=460288, to submit "misses" 
+and other configuration related suggestions to the developers.                 
 
 http://www.junkbusters.com/ht/en/cookies.html, an explanation how cookies are  
 used to track web users.                                                       
 
 http://www.junkbusters.com/ijb.html, the original Internet Junkbuster.
 
-http://www.waldherr.org/junkbuster/, Stefan Waldherr's version of Junkbuster,  
-from which Privoxy was derived.                                                
-
-http://privacy.net/analyze/, a useful site to check what information about you 
-is leaked while you browse the web.                                            
+http://privacy.net/, a useful site to check what information about you is      
+leaked while you browse the web.                                               
 
 http://www.squid-cache.org/, a very popular caching proxy, which is often used 
 together with Privoxy.                                                         
 
+http://tor.eff.org/, Tor can help anonymize web browsing, web publishing,      
+instant messaging, IRC, SSH, and other applications.                           
+
 http://www.privoxy.org/developer-manual/, the Privoxy developer manual.