The error is
Traceback (most recent call last):
File "/usr/bin/fail2ban-regex", line 387, in ?
File "/usr/bin/fail2ban-regex", line 314, in printStats
IndexError: list index out of range
The problem is actually in testRegex() which loops through the fail regexps and processes log lines through filter.processLine() looking for matches. testRegex() adds a False/True flag to the [IP, time] returned by filter.processLine() to indicate whether this line also matched a previous regexp. The problem is that the return from filter.processLine() is a list of [IP, time] lists and testRegex() only adds the flag to the first item in the list. Thus, for a host name with multiple IP addresses, the second and subsequent entries added to __ipList don't have a flag and printStats throws the exception trying to test the flag.
A patch to fix the problem is attached.
Log in to post a comment.