1.0.3, November 06, 2005: 

 * SSHD-Invalid rule now accepts "Invalid" or "Illegal" words.
   "Illegal" was added based on a report regarding Debian linux installs.

1.0.2, October 29, 2005: 
 * Added back check for "Failed password.." line in addition to "Invalid
   user".
   This is needed when PasswordAuthentication is yes, and PermitRootLogin
   is no. In this case, sshd only prints a "Failed password" line, does
   not print "Invalid user" line.
   For non-root users, both lines are printed. To prevent double counting
   of the IP address for the same connection, blockhosts.py now looks at
   process-id also, and will only count one failure per process id.

1.0.1, October 26, 2005: 

 * .cfg file changed to include "Invalid user" matches, and disabled the
   "Failed Password " match.  Looks like sshd always puts a "Invalid user"
   line irrespective of passwords yes/no.
   It puts "Failed password" line if PasswordAuthentication is "no"
   in sshd_config, in which case, it also puts out the "Invalid user"
   line.  So, to cover the most cases, I've now disabled the
   "Failed password" line by default, and enabled the "Invalid user" line
   instead.
   Same change applied to built-in rules in blockhosts.py
   Thanks to Paul Eden <paul@benchline.org> for an email mentioning log
   behavior when PasswordAuthentication is "no", that led me to this
   simplifying of the blockhosts rules.

1.0.0, June 11, 2005: 

 * First official release.

 * Support for --discard=0, which will expire all counts/hosts, and start
   counting afresh from that point in time. Useful for the first run
   of this program, to start with a clean slate. Without this, it will
   take one cycle (default 12 hours) to get all really old IP addresses
   cleaned out.

 * Added --echo "tag" option, see example shown in the INSTALL file, for
   use in the hosts.allow file to pass client and server info to
   blockhosts.py. This echo tag can be used to identify particular
   execution of blockhosts.py - which client kicked it off, and name of
   the server daemon invoked.

 * Updated INSTALL with rpm install instructions.

0.9.0, May 30, 2005: 

 * Removed import of mx.Tools.NewBuiltins, use eval() for all .cfg file
   input, since eval() has to be used for atleast one of the lines anyway

 * Switched to using "ProFTPD" instead of "VsFTPD" as the default.
   Removed /var/log/vsftpd.log from default logfiles.
   Now only reads from /var/log/secure
   This is enough for sshd & proftpd
   [I could not get vstpd to work on Fedora FC3, ProFTPD worked, so
   switched to ProFTPD.]

 * Minor updates to --help output; added more info in INSTALL file

 * Added syslog() updates - only errors and final non-error message with
   updated counts is sent to syslog

 * Updated makefile to produce a "man page"

0.5.0, May 17, 2005: 
 * Important: by default, this program now uses /etc/hosts.allow as the
   hosts-block-file.
   hosts.deny is being deprecated on some platforms, additionally,
   this will make things simple since a single file - hosts.allow can be
   used to both allow or deny a host.

 * Important: argument name changed:
   new name: --blockfile <hosts-block-file-name> 
   is to be used instead of the old --denyfile
   The default value for this is "/etc/hosts.allow", so to get old
   behavior, use --blockfile=/etc/hosts.deny

 * To support above, the blockhosts.cfg option HOSTS_DENYFILE changed to
   HOSTS_BLOCKFILE

 * Added more documentation, INSTALL file has instructions and example
0.5.1, - bug fix:
 * 

0.4.0, May 15, 2005: 
 * Bug fixed, line 802, offset may be left uninitialized, so reading in
 new logfiles would fail

0.3.0, May 15, 2005: 
 * Many changes, some options also may have changed from 0.1.0
 * Uses a config file at /etc/blockhosts.cfg
 * added many more options, and --help
 * Coding flow modified, catching appropriate exceptions, more careful in
 * updating hosts.deny

0.1.0, May 8, 2005: initial release
