diff --git a/fail2ban/server/database.py b/fail2ban/server/database.py index 7de87554..fcc56f73 100644 --- a/fail2ban/server/database.py +++ b/fail2ban/server/database.py @@ -274,8 +274,12 @@ class Fail2BanDb(object): Jail to be added to the database. """ cur.execute( - "INSERT OR REPLACE INTO jails(name, enabled) VALUES(?, 1)", + "INSERT OR IGNORE INTO jails(name, enabled) VALUES(?, 1)", (jail.name,)) + if cur.rowcount <= 0: + cur.execute( + "UPDATE jails SET enabled = 1 WHERE name = ? AND enabled != 1", + (jail.name,)) @commitandrollback def delJail(self, cur, jail): diff --git a/fail2ban/server/filter.py b/fail2ban/server/filter.py index 512896f0..6fda5907 100644 --- a/fail2ban/server/filter.py +++ b/fail2ban/server/filter.py @@ -575,7 +575,7 @@ class FileFilter(Filter): if lastpos and not tail: container.setPos(lastpos) self.__logPath.append(container) - logSys.info("Added logfile = %s" % path) + logSys.info("Added logfile = %s (pos = %s, hash = %s)" , path, container.getPos(), container.getHash()) self._addLogPath(path) # backend specific def _addLogPath(self, path):