[DockerAPI] Show queue item content via postcat
parent
667bd48163
commit
14bca3a1f9
|
@ -118,7 +118,6 @@ class container_post(Resource):
|
||||||
postsuper_r = container.exec_run(["/bin/bash", "-c", "/usr/sbin/postsuper " + sanitized_string])
|
postsuper_r = container.exec_run(["/bin/bash", "-c", "/usr/sbin/postsuper " + sanitized_string])
|
||||||
return exec_run_handler('generic', postsuper_r)
|
return exec_run_handler('generic', postsuper_r)
|
||||||
|
|
||||||
|
|
||||||
# api call: container_post - post_action: exec - cmd: mailq - task: hold
|
# api call: container_post - post_action: exec - cmd: mailq - task: hold
|
||||||
def container_post__exec__mailq__hold(self, container_id):
|
def container_post__exec__mailq__hold(self, container_id):
|
||||||
if 'items' in request.json:
|
if 'items' in request.json:
|
||||||
|
@ -132,6 +131,19 @@ class container_post(Resource):
|
||||||
postsuper_r = container.exec_run(["/bin/bash", "-c", "/usr/sbin/postsuper " + sanitized_string])
|
postsuper_r = container.exec_run(["/bin/bash", "-c", "/usr/sbin/postsuper " + sanitized_string])
|
||||||
return exec_run_handler('generic', postsuper_r)
|
return exec_run_handler('generic', postsuper_r)
|
||||||
|
|
||||||
|
# api call: container_post - post_action: exec - cmd: mailq - task: cat
|
||||||
|
def container_post__exec__mailq__cat(self, container_id):
|
||||||
|
if 'items' in request.json:
|
||||||
|
r = re.compile("^[0-9a-fA-F]+$")
|
||||||
|
filtered_qids = filter(r.match, request.json['items'])
|
||||||
|
if filtered_qids:
|
||||||
|
sanitized_string = str(' '.join(filtered_qids));
|
||||||
|
|
||||||
|
for container in docker_client.containers.list(filters={"id": container_id}):
|
||||||
|
postcat_return = container.exec_run(["/bin/bash", "-c", "/usr/sbin/postcat -q " + sanitized_string], user='postfix')
|
||||||
|
if not postcat_return:
|
||||||
|
postcat_return = 'err: invalid'
|
||||||
|
return exec_run_handler('utf8_text_only', postcat_return)
|
||||||
|
|
||||||
# api call: container_post - post_action: exec - cmd: mailq - task: unhold
|
# api call: container_post - post_action: exec - cmd: mailq - task: unhold
|
||||||
def container_post__exec__mailq__unhold(self, container_id):
|
def container_post__exec__mailq__unhold(self, container_id):
|
||||||
|
@ -294,7 +306,6 @@ class container_post(Resource):
|
||||||
for container in docker_client.containers.list(filters={"id": container_id}):
|
for container in docker_client.containers.list(filters={"id": container_id}):
|
||||||
cmd = "/usr/bin/rspamadm pw -e -p '" + request.json['raw'].replace("'", "'\\''") + "' 2> /dev/null"
|
cmd = "/usr/bin/rspamadm pw -e -p '" + request.json['raw'].replace("'", "'\\''") + "' 2> /dev/null"
|
||||||
cmd_response = exec_cmd_container(container, cmd, user="_rspamd")
|
cmd_response = exec_cmd_container(container, cmd, user="_rspamd")
|
||||||
|
|
||||||
matched = False
|
matched = False
|
||||||
for line in cmd_response.split("\n"):
|
for line in cmd_response.split("\n"):
|
||||||
if '$2$' in line:
|
if '$2$' in line:
|
||||||
|
@ -315,7 +326,6 @@ class container_post(Resource):
|
||||||
else:
|
else:
|
||||||
return jsonify(type='danger', msg='command did not complete')
|
return jsonify(type='danger', msg='command did not complete')
|
||||||
|
|
||||||
|
|
||||||
def exec_cmd_container(container, cmd, user, timeout=2, shell_cmd="/bin/bash"):
|
def exec_cmd_container(container, cmd, user, timeout=2, shell_cmd="/bin/bash"):
|
||||||
|
|
||||||
def recv_socket_data(c_socket, timeout):
|
def recv_socket_data(c_socket, timeout):
|
||||||
|
|
Loading…
Reference in New Issue