From cd42cb26d6aac9454ced9b0ae3362ad16f74f192 Mon Sep 17 00:00:00 2001 From: sebres Date: Mon, 27 Jan 2020 12:57:29 +0100 Subject: [PATCH] database: try to fix `out of sequence` error on some old platform / sqlite versions (#2613) - repack iterator as long as in lock (although dirty read has no matter here and only writing operations should be serialized, but to be sure and exclude this as source of that errors). --- fail2ban/server/database.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fail2ban/server/database.py b/fail2ban/server/database.py index 0dd9acb6..19049e13 100644 --- a/fail2ban/server/database.py +++ b/fail2ban/server/database.py @@ -754,7 +754,8 @@ class Fail2BanDb(object): if overalljails or jail is None: query += " GROUP BY ip ORDER BY timeofban DESC LIMIT 1" cur = self._db.cursor() - return cur.execute(query, queryArgs) + # repack iterator as long as in lock: + return list(cur.execute(query, queryArgs)) def _getCurrentBans(self, cur, jail = None, ip = None, forbantime=None, fromtime=None): queryArgs = []