From 25237df6358b0d0d9899601f5ea17cdc6debf0cd Mon Sep 17 00:00:00 2001 From: Thuban <thuban@yeuxdelibad.net> Date: Tue, 11 Apr 2017 08:24:31 +0000 Subject: [PATCH] debug --- vilain.py | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/vilain.py b/vilain.py index a7c1b5a..dcfb90e 100755 --- a/vilain.py +++ b/vilain.py @@ -97,6 +97,7 @@ asyncio.ensure_future(self.check_logs(entry['logfile'], entry['maxtries'], entry['regex'], entry['name'])) asyncio.ensure_future(self.ban_ips()) + asyncio.ensure_future(self.clean_ips()) def load_bad_ips(self): try: @@ -117,6 +118,7 @@ self.loop.close() finally: self.loop.close() + async def check_logs(self, logfile, maxtries, regex, reason): """ @@ -157,8 +159,6 @@ async def ban_ips(self): """ record time when this IP has been seen in ip_seen_at = { ip:{'time':<time>,'count':<counter} } - - check old ip in ip_seen_at : remove older than watch_while """ logger.info('ban_ips sarted with sleeptime={}'.format(self.sleeptime)) while True: @@ -176,6 +176,16 @@ ret = subprocess.call(["pfctl", "-t", self.vilain_table, "-T", "add", ip]) logger.info("Blacklisting {}, return code:{}".format(ip, ret)) self.ip_seen_at.pop(ip) + #for debugging, this line allow us to see if the script run until here + logger.debug('ban_ips end:{}'.format(self.ip_seen_at)) + + async def clean_ips(self): + """ + check old ip in ip_seen_at : remove older than watch_while + """ + logger.info('clean_ips sarted with sleeptime={}'.format(self.sleeptime)) + while True: + await asyncio.sleep(self.sleeptime) to_remove = [] for recorded_ip, data in self.ip_seen_at.items(): if time.time() - data['time'] >= self.watch_while: @@ -185,12 +195,7 @@ for ip in to_remove: self.ip_seen_at.pop(ip) #for debugging, this line allow us to see if the script run until here - logger.debug('ban_ips end:{}'.format(self.ip_seen_at)) - - - - - + logger.debug('clean_ips end:{}'.format(self.ip_seen_at)) -- Gitblit v1.9.3