DenyHost works to automatically block brute-force attacks against the secure shell service. It does this by scanning log files for failed login attempts and blocking remote hosts which have made too many failed connections.
3.109 Apr 2016 14:35
Fixed a type check in DenyHosts/report.py which was causing problems when moving between Python2 and Python3.
Added checks to see if an IP address is valid. This pulls in the requirement for the ipaddr Python module.
Added check to see if there is a break-in attempt against the Dovecot imap service. This is an option which can be enabled/disabled in the configuration file. It is turned off by default.
DenyHost now depends on ipaddr (py-ipaddr), a Python module which has been added to the dependency list of the setup.py file.