mirror of https://github.com/fail2ban/fail2ban
Merge pull request #956 from yarikoptic/enh/badips_categories
ENH: check badips.com response on presence of "categories" in itpull/961/head
commit
be75519402
|
@ -111,6 +111,8 @@ class BadIPsAction(ActionBase):
|
||||||
------
|
------
|
||||||
HTTPError
|
HTTPError
|
||||||
Any issues with badips.com request.
|
Any issues with badips.com request.
|
||||||
|
ValueError
|
||||||
|
If badips.com response didn't contain necessary information
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
response = urlopen(
|
response = urlopen(
|
||||||
|
@ -122,7 +124,13 @@ class BadIPsAction(ActionBase):
|
||||||
messages['err'])
|
messages['err'])
|
||||||
raise
|
raise
|
||||||
else:
|
else:
|
||||||
categories = json.loads(response.read().decode('utf-8'))['categories']
|
response_json = json.loads(response.read().decode('utf-8'))
|
||||||
|
if not 'categories' in response_json:
|
||||||
|
err = "badips.com response lacked categories specification. Response was: %s" \
|
||||||
|
% (response_json,)
|
||||||
|
self._logSys.error(err)
|
||||||
|
raise ValueError(err)
|
||||||
|
categories = response_json['categories']
|
||||||
categories_names = set(
|
categories_names = set(
|
||||||
value['Name'] for value in categories)
|
value['Name'] for value in categories)
|
||||||
if incParents:
|
if incParents:
|
||||||
|
|
Loading…
Reference in New Issue