diff options
Diffstat (limited to 'app-admin/denyhosts/files/denyhosts-2.6-foreground_mode.patch')
-rw-r--r-- | app-admin/denyhosts/files/denyhosts-2.6-foreground_mode.patch | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/app-admin/denyhosts/files/denyhosts-2.6-foreground_mode.patch b/app-admin/denyhosts/files/denyhosts-2.6-foreground_mode.patch new file mode 100644 index 000000000000..9f10707f9be8 --- /dev/null +++ b/app-admin/denyhosts/files/denyhosts-2.6-foreground_mode.patch @@ -0,0 +1,137 @@ +From: Marco Bertorello <marco@bertorello.ns0.it> +Date: Thu, 14 Apr 2011 00:11:35 +0200 +Subject: 08_foreground_mode + +Add a useful switch to denyhost for run in foreground/debugging mode +--- + DenyHosts/deny_hosts.py | 9 +++++++-- + denyhosts.py | 20 +++++++++++++------- + 2 files changed, 20 insertions(+), 9 deletions(-) + +diff --git a/DenyHosts/deny_hosts.py b/DenyHosts/deny_hosts.py +index 7a985e6..f308264 100644 +--- a/DenyHosts/deny_hosts.py ++++ b/DenyHosts/deny_hosts.py +@@ -41,7 +41,7 @@ error = logging.getLogger("denyhosts").error + class DenyHosts: + def __init__(self, logfile, prefs, lock_file, + ignore_offset=0, first_time=0, +- noemail=0, daemon=0): ++ noemail=0, daemon=0, foreground=0): + self.__denied_hosts = {} + self.__prefs = prefs + self.__lock_file = lock_file +@@ -49,6 +49,7 @@ class DenyHosts: + self.__noemail = noemail + self.__report = Report(prefs.get("HOSTNAME_LOOKUP"), is_true(prefs['SYSLOG_REPORT'])) + self.__daemon = daemon ++ self.__foreground = foreground + self.__sync_server = prefs.get('SYNC_SERVER') + self.__sync_upload = is_true(prefs.get("SYNC_UPLOAD")) + self.__sync_download = is_true(prefs.get("SYNC_DOWNLOAD")) +@@ -87,7 +88,7 @@ class DenyHosts: + info("Log file size has not changed. Nothing to do.") + + +- if daemon: ++ if daemon and not foreground: + info("launching DenyHosts daemon (version %s)..." % VERSION) + #logging.getLogger().setLevel(logging.WARN) + +@@ -101,6 +102,10 @@ class DenyHosts: + self.runDaemon(logfile, last_offset) + else: + die("Error creating daemon: %s (%d)" % (retCode[1], retCode[0])) ++ elif foreground: ++ info("launching DenyHosts (version %s)..." % VERSION) ++ self.__lock_file.remove() ++ self.runDaemon(logfile, last_offset) + + + def killDaemon(self, signum, frame): +diff --git a/denyhosts.py b/denyhosts.py +index 48bd837..727e565 100755 +--- a/denyhosts.py ++++ b/denyhosts.py +@@ -34,6 +34,7 @@ def usage(): + print " --migrate: migrate your HOSTS_DENY file so that it is suitable for --purge" + print " --purge: expire entries older than your PURGE_DENY setting" + print " --daemon: run DenyHosts in daemon mode" ++ print " --foreground: run DenyHosts in foreground mode" + print " --sync: run DenyHosts synchronization mode" + print " --version: Prints the version of DenyHosts and exits" + +@@ -63,6 +64,7 @@ if __name__ == '__main__': + purge = 0 + sync_mode = 0 + daemon = 0 ++ foreground = 0 + enable_debug = 0 + upgrade099 = 0 + args = sys.argv[1:] +@@ -70,8 +72,8 @@ if __name__ == '__main__': + (opts, getopts) = getopt.getopt(args, 'f:c:dinuvps?hV', + ["file=", "ignore", "verbose", "debug", + "help", "noemail", "config=", "version", +- "migrate", "purge", "daemon", "sync", +- "upgrade099"]) ++ "migrate", "purge", "daemon", "foreground", ++ "sync", "upgrade099"]) + except: + print "\nInvalid command line option detected." + usage() +@@ -101,6 +103,8 @@ if __name__ == '__main__': + sync_mode = 1 + if opt == '--daemon': + daemon = 1 ++ if opt == '--foreground': ++ foreground = 1 + if opt == '--upgrade099': + upgrade099 = 1 + if opt == '--version': +@@ -131,21 +135,21 @@ if __name__ == '__main__': + + lock_file.create() + +- if upgrade099 and not daemon: ++ if upgrade099 and not (daemon or foreground): + if not prefs.get('PURGE_DENY'): + lock_file.remove() + die("You have supplied the --upgrade099 flag, however you have not set PURGE_DENY in your configuration file") + else: + u = UpgradeTo099(prefs.get("HOSTS_DENY")) + +- if migrate and not daemon: ++ if migrate and not (daemon or foreground): + if not prefs.get('PURGE_DENY'): + lock_file.remove() + die("You have supplied the --migrate flag however you have not set PURGE_DENY in your configuration file.") + else: + m = Migrate(prefs.get("HOSTS_DENY")) + +- if purge and not daemon: ++ if purge and not (daemon or foreground): + purge_time = prefs.get('PURGE_DENY') + if not purge_time: + lock_file.remove() +@@ -162,7 +166,9 @@ if __name__ == '__main__': + try: + for f in logfiles: + dh = DenyHosts(f, prefs, lock_file, ignore_offset, +- first_time, noemail, daemon) ++ first_time, noemail, daemon, foreground) ++ except KeyboardInterrupt: ++ pass + except SystemExit, e: + pass + except Exception, e: +@@ -170,7 +176,7 @@ if __name__ == '__main__': + print "\nDenyHosts exited abnormally" + + +- if sync_mode and not daemon: ++ if sync_mode and not (daemon or foreground): + if not prefs.get('SYNC_SERVER'): + lock_file.remove() + die("You have provided the --sync flag however your configuration file is missing a value for SYNC_SERVER.") +-- |