diff --git a/data/Dockerfiles/dockerapi/server.py b/data/Dockerfiles/dockerapi/server.py index 3ae67b70..e66cf238 100644 --- a/data/Dockerfiles/dockerapi/server.py +++ b/data/Dockerfiles/dockerapi/server.py @@ -89,7 +89,8 @@ class container_post(Resource): elif request.json['cmd'] == 'sieve_print' and request.json['script_name'] and request.json['username']: try: for container in docker_client.containers.list(filters={"id": container_id}): - return container.exec_run(["/bin/bash", "-c", "/usr/local/bin/doveadm sieve get -u '" + request.json['username'].replace("'", "'\\''") + "' '" + request.json['script_name'].replace("'", "'\\''") + "'"], user='vmail') + sieve_return = container.exec_run(["/bin/bash", "-c", "/usr/local/bin/doveadm sieve get -u '" + request.json['username'].replace("'", "'\\''") + "' '" + request.json['script_name'].replace("'", "'\\''") + "'"], user='vmail') + return sieve_return.output except Exception as e: return jsonify(type='danger', msg=str(e)) elif request.json['cmd'] == 'worker_password' and request.json['raw']: diff --git a/data/conf/dovecot/dovecot.conf b/data/conf/dovecot/dovecot.conf index 6611e836..6e1f340a 100644 --- a/data/conf/dovecot/dovecot.conf +++ b/data/conf/dovecot/dovecot.conf @@ -303,4 +303,10 @@ service imap-postlogin { unix_listener imap-postlogin { } } +service stats { + unix_listener stats-writer { + mode = 0660 + user = vmail + } +} !include_try /usr/local/etc/dovecot/extra.conf diff --git a/docker-compose.yml b/docker-compose.yml index 4d09e8e1..32c628ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -372,7 +372,7 @@ services: - watchdog dockerapi-mailcow: - image: mailcow/dockerapi:1.11 + image: mailcow/dockerapi:1.12 restart: always build: ./data/Dockerfiles/dockerapi sysctls: