From 59ecd48210d3a7cda4ac3aa9090b0092be735a09 Mon Sep 17 00:00:00 2001 From: Ruben van Staveren Date: Sun, 15 Jan 2023 18:57:26 +0100 Subject: [PATCH] Make sure we set the error message in the json as defined in the test --- jail2ban/__init__.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/jail2ban/__init__.py b/jail2ban/__init__.py index d1801f3..a6fee1f 100644 --- a/jail2ban/__init__.py +++ b/jail2ban/__init__.py @@ -88,6 +88,9 @@ def create_app(): name = untaint(PAT_NAME, name) app.logger.info(f'Flushing table f2b-{name}' f' in anchor f2b-jail/{remote_user}') + reply = {'anchor': f'f2b-jail/{remote_user}', + 'table': f'f2b-{name}', + 'operation': 'list'} try: res = pfctl_table_op('f2b-jail/{remote_user}', table='f2b-{name}', @@ -96,6 +99,7 @@ def create_app(): except CalledProcessError as err: if err.stderr.find(b'pfctl: Table does not exist.') > 0: res = [] + reply.update({'error': f'\'{name}\' is not a known fail2ban jail'}) else: raise err @@ -103,11 +107,9 @@ def create_app(): re.finditer(_PFCTL_TABLE_PAT, '\n'.join([x.decode('ascii') for x in res]), re.MULTILINE|re.VERBOSE)] + reply.update({'result': result}) - return jsonify({'anchor': f'f2b-jail/{remote_user}', - 'table': f'f2b-{name}', - 'operation': 'list', - 'result': result }), 200 if len(res) else 404 + return jsonify(reply), 200 if len(res) else 404 @app.route("/register", methods=['PUT', 'DELETE']) @auth.login_required