From 4cada89347ace06e1226fd8109519f72c38193b4 Mon Sep 17 00:00:00 2001 From: Jeffrey Boehm Date: Fri, 4 Nov 2016 14:52:03 +0100 Subject: [PATCH] Bugfix/mda tmpfs (#14) MDA: - Moved entrypoint.sh - Solved file permission issues Test: - Wait for greylisting after sending junk mail --- docker-compose.yml | 3 +-- mda/Dockerfile | 12 +++++++++--- mda/rootfs/{ => usr/local/bin}/entrypoint.sh | 2 +- test/rootfs/opt/tests/mailing.bats | 11 ++++++++++- 4 files changed, 21 insertions(+), 7 deletions(-) rename mda/rootfs/{ => usr/local/bin}/entrypoint.sh (96%) diff --git a/docker-compose.yml b/docker-compose.yml index fe94d08f..4318e5a2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,8 +31,7 @@ services: env_file: .env read_only: true tmpfs: - - /run - - /var/lib/dovecot + - /tmp volumes: - data-mail:/var/vmail - data-tls:/media/tls:rw diff --git a/mda/Dockerfile b/mda/Dockerfile index 1b555810..71695167 100644 --- a/mda/Dockerfile +++ b/mda/Dockerfile @@ -10,9 +10,15 @@ ENV MYSQL_HOST=db \ RUN apk --no-cache add dovecot dovecot-mysql dovecot-pigeonhole-plugin \ && adduser -h /var/vmail -u 5000 -D vmail \ - && rm -rf /etc/ssl/dovecot/ /etc/dovecot/conf.d/15-lda.conf /etc/dovecot/dovecot-sql.conf.ext \ + && rm -rf /etc/ssl/dovecot/ \ + /etc/dovecot/conf.d/15-lda.conf \ + /etc/dovecot/dovecot-sql.conf.ext \ + /run \ + /var/lib/dovecot \ && ln -sf /etc/dovecot/rw/15-lda.conf /etc/dovecot/conf.d/15-lda.conf \ - && ln -sf /etc/dovecot/rw/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext + && ln -sf /etc/dovecot/rw/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext \ + && ln -sf /tmp /run \ + && ln -sf /tmp /var/lib/dovecot COPY rootfs/ / RUN sievec /etc/dovecot/sieve-after/spam-to-folder.sieve @@ -20,4 +26,4 @@ RUN sievec /etc/dovecot/sieve-after/spam-to-folder.sieve EXPOSE 2003 9000 4190 143 110 993 995 VOLUME ["/var/vmail", "/etc/dovecot/rw"] -CMD ["/entrypoint.sh"] +CMD ["/usr/local/bin/entrypoint.sh"] diff --git a/mda/rootfs/entrypoint.sh b/mda/rootfs/usr/local/bin/entrypoint.sh similarity index 96% rename from mda/rootfs/entrypoint.sh rename to mda/rootfs/usr/local/bin/entrypoint.sh index 249bb5a0..df02472b 100755 --- a/mda/rootfs/entrypoint.sh +++ b/mda/rootfs/usr/local/bin/entrypoint.sh @@ -22,4 +22,4 @@ fi echo "Starting MDA..." -dovecot -F +/usr/sbin/dovecot -F diff --git a/test/rootfs/opt/tests/mailing.bats b/test/rootfs/opt/tests/mailing.bats index 57b5dd4b..09cb2315 100644 --- a/test/rootfs/opt/tests/mailing.bats +++ b/test/rootfs/opt/tests/mailing.bats @@ -45,11 +45,20 @@ @test "send junk mail to local address" { swaks --to admin@example.com --data sample-spam.txt - sleep 3 [ "$?" -eq 0 ] } @test "check junk mail in junk folder (sieve rule is working)" { + if [ "$GREYLISTING_ENABLED" == "true" ] + then + echo "Waiting for greylisting" + sleep 60 + postqueue -f + sleep 3 + else + sleep 5 + fi + files="$(ls -1 /var/vmail/example.com/admin/Maildir/.Junk/new/ | wc -l)" [ "$files" -gt 0 ] }