X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/ae0bf810cc05fdd140193920cf8c2de459c45ea8..a437f5d18a48d3f982e965ef81c93f71a73e53e0:/utils/cron_ipanalyse.py diff --git a/utils/cron_ipanalyse.py b/utils/cron_ipanalyse.py index 4c66b001..97bad8da 100755 --- a/utils/cron_ipanalyse.py +++ b/utils/cron_ipanalyse.py @@ -232,9 +232,9 @@ class IPstats: self.bad_ua = False def add_long(self, logentry): + self.long_total += 1 if logentry.retcode == 301: return - self.long_total += 1 if logentry.request is not None: self.long_api += 1 if not self.bad_ua: @@ -253,8 +253,8 @@ class IPstats: def add_block(self, logentry): self.block_total += 1 - def ignores_warnings(self): - return self.block_total > 5 + def ignores_warnings(self, wasblocked): + return self.block_total > 5 or (wasblocked and self.redirected > 5) def new_state(self, was_blocked, was_bulked): if was_blocked: @@ -263,7 +263,7 @@ class IPstats: return None if self.long_total < 20 else 'block' if self.long_api > BLOCK_UPPER \ or self.short_api > BLOCK_UPPER / 3 \ - or self.short_total == self.redirected: + or (self.redirected > 100 and self.short_total == self.redirected): # client totally overdoing it return 'block' if was_bulked: @@ -396,7 +396,7 @@ if __name__ == '__main__': fd.write(logstr % (' ua block:', ', '.join(uablocked))) if blocked: fd.write(logstr % ('new block:', ', '.join(blocked))) - for k,v in stats.items(): - if v.ignores_warnings() and k not in notlogged and ':' not in k: - fd.write(logstr % ('Warning ignored:', k)) + #for k,v in stats.items(): + # if v.ignores_warnings(k in bl.prevblocks) and k not in notlogged and ':' not in k: + # fd.write(logstr % ('Warning ignored:', k)) fd.close()