Package: denyhosts Version: 2.6-4 Severity: normal Tags: patch
If you change the value of HOSTS_DENY in /etc/denyhosts.conf, the dh_reenable script will not work properly because the default value of /etc/hosts.deny is hard-coded into the dh_reenable script. dh_reenable should parse the /etc/denyhosts.conf for the correct value, rather than hard-coding it. I am including a patch that does this, allowing for greater flexibility. -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (990, 'testing'), (810, 'unstable'), (600, 'stable'), (550, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages denyhosts depends on: ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip ii python 2.5.2-2 An interactive high-level object-o ii python-central 0.6.8 register and build utility for Pyt denyhosts recommends no packages. denyhosts suggests no packages. -- no debconf information
--- dh_reenable 2008/10/08 08:37:35 +++ dh_reenable 2008/10/08 08:48:34 @@ -18,6 +18,8 @@ import os import sys import fileinput +import re +from __future__ import with_statement # file definition: @@ -27,7 +29,17 @@ HOSTVALIDFILE='/var/lib/denyhosts/hosts-valid' HOSTSDENY='/etc/hosts.deny' #TEST='/etc/hosts.deny.tmp' +CONFIGFILE='/etc/denyhosts.conf' +# Parse the configuration file for the location of the HOSTS_DENY file. +# If it exists, overwrite the hard-coded value for HOSTSDENY from the +# top of the file. +if os.path.isfile(CONFIGFILE): + with open(CONFIGFILE) as file: + for line in file: + result = re.search('^(HOSTS_DENY\s*=\s*)(.*)', line) + if result != None: + HOSTSDENY = result.group(2) def usage(): print "Usage:"