Handle pfctl_cfg_write output as expected
This commit is contained in:
parent
c33e63978e
commit
af1fef189c
@ -54,7 +54,7 @@ def create_app():
|
|||||||
return jsonify({'anchor': f'f2b-jail/{remote_user}',
|
return jsonify({'anchor': f'f2b-jail/{remote_user}',
|
||||||
'table': f'f2b-{name}',
|
'table': f'f2b-{name}',
|
||||||
'operation': 'flush',
|
'operation': 'flush',
|
||||||
'result': res})
|
'result': [x.decode('ascii') for x in res]})
|
||||||
|
|
||||||
@app.route("/register", methods=['PUT', 'DELETE'])
|
@app.route("/register", methods=['PUT', 'DELETE'])
|
||||||
@auth.login_required
|
@auth.login_required
|
||||||
@ -88,12 +88,11 @@ def create_app():
|
|||||||
table=f'f2b-{name}',
|
table=f'f2b-{name}',
|
||||||
operation='kill')
|
operation='kill')
|
||||||
app.logger.info(f'pfctl -a f2b-jail/{remote_user} -f-')
|
app.logger.info(f'pfctl -a f2b-jail/{remote_user} -f-')
|
||||||
return jsonify({'remote_user': remote_user, 'data': data})
|
|
||||||
return jsonify({'anchor': f'f2b-jail/{remote_user}',
|
return jsonify({'anchor': f'f2b-jail/{remote_user}',
|
||||||
'table': f'f2b-{name}',
|
'table': f'f2b-{name}',
|
||||||
'action': 'start' if request.method == 'PUT'
|
'action': 'start' if request.method == 'PUT'
|
||||||
else 'stop',
|
else 'stop',
|
||||||
'result': res})
|
'result': [x.decode('ascii') for x in res]})
|
||||||
|
|
||||||
@app.route("/ban", methods=['PUT', 'DELETE'])
|
@app.route("/ban", methods=['PUT', 'DELETE'])
|
||||||
@auth.login_required
|
@auth.login_required
|
||||||
|
@ -29,7 +29,7 @@ def pfctl_cfg_write(anchor, cfg):
|
|||||||
if res:
|
if res:
|
||||||
logging.info('Result: %s', res)
|
logging.info('Result: %s', res)
|
||||||
res.check_returncode()
|
res.check_returncode()
|
||||||
return res
|
return res.stdout.splitlines()
|
||||||
|
|
||||||
|
|
||||||
def pfctl_table_op(anchor, **kwargs):
|
def pfctl_table_op(anchor, **kwargs):
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import base64
|
import base64
|
||||||
from types import SimpleNamespace
|
from subprocess import CompletedProcess
|
||||||
|
|
||||||
pfctl_stdout_lines = b'''
|
pfctl_stdout_lines = b'''
|
||||||
block drop quick proto tcp from <f2b-sendmail-auth> to any port = submission
|
block drop quick proto tcp from <f2b-sendmail-auth> to any port = submission
|
||||||
@ -22,7 +22,7 @@ def test_register_unauth(client):
|
|||||||
def test_register_valid(client, mocker):
|
def test_register_valid(client, mocker):
|
||||||
def noop():
|
def noop():
|
||||||
pass
|
pass
|
||||||
run_res = SimpleNamespace()
|
run_res = CompletedProcess(args=['true'], returncode=0)
|
||||||
run_res.stdout = pfctl_stdout_lines
|
run_res.stdout = pfctl_stdout_lines
|
||||||
run_res.check_returncode = noop
|
run_res.check_returncode = noop
|
||||||
|
|
||||||
@ -37,13 +37,13 @@ def test_register_valid(client, mocker):
|
|||||||
json=json_payload,
|
json=json_payload,
|
||||||
headers={"Authorization": "Basic " + valid_credentials})
|
headers={"Authorization": "Basic " + valid_credentials})
|
||||||
|
|
||||||
assert response.json['action'] == 'delete'
|
assert response.json['action'] == 'stop'
|
||||||
|
|
||||||
|
|
||||||
def test_unregister_valid(client, mocker):
|
def test_unregister_valid(client, mocker):
|
||||||
def noop():
|
def noop():
|
||||||
pass
|
pass
|
||||||
run_res = SimpleNamespace()
|
run_res = CompletedProcess(args=['true'], returncode=0)
|
||||||
run_res.stdout = pfctl_stdout_lines
|
run_res.stdout = pfctl_stdout_lines
|
||||||
run_res.check_returncode = noop
|
run_res.check_returncode = noop
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ def test_unregister_valid(client, mocker):
|
|||||||
def test_register_invalid(client, mocker):
|
def test_register_invalid(client, mocker):
|
||||||
def noop():
|
def noop():
|
||||||
pass
|
pass
|
||||||
run_res = SimpleNamespace()
|
run_res = CompletedProcess(args=['true'], returncode=0)
|
||||||
run_res.stdout = pfctl_stdout_lines
|
run_res.stdout = pfctl_stdout_lines
|
||||||
run_res.check_returncode = noop
|
run_res.check_returncode = noop
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user