From 0df97da39d277aa847f40d43e7237f68b4f9ac13 Mon Sep 17 00:00:00 2001 From: Josef Friedrich Date: Tue, 24 May 2016 19:19:06 +0200 Subject: [PATCH 1/3] Add user configuration file for dovecot --- config/dovecot.cf | 0 target/start-mailserver.sh | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 config/dovecot.cf diff --git a/config/dovecot.cf b/config/dovecot.cf new file mode 100644 index 00000000..e69de29b diff --git a/target/start-mailserver.sh b/target/start-mailserver.sh index 6e8ba07b..ef045ca7 100644 --- a/target/start-mailserver.sh +++ b/target/start-mailserver.sh @@ -290,6 +290,11 @@ if [ "$ENABLE_POP3" = 1 -a "$SMTP_ONLY" != 1 ]; then /usr/sbin/dovecot reload fi +if [ -f /tmp/docker-mailserver/dovecot.cf ]; then + cp /tmp/docker-mailserver/dovecot.cf /etc/dovecot/local.conf + /usr/sbin/dovecot reload +fi + # Start services related to SMTP /etc/init.d/spamassassin start /etc/init.d/clamav-daemon start From 9afd46df9d6908907e9181023a6a2355573f6b53 Mon Sep 17 00:00:00 2001 From: Josef Friedrich Date: Tue, 24 May 2016 20:24:26 +0200 Subject: [PATCH 2/3] Add example dovecot configuration file --- config/dovecot.cf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/dovecot.cf b/config/dovecot.cf index e69de29b..f1358884 100644 --- a/config/dovecot.cf +++ b/config/dovecot.cf @@ -0,0 +1,4 @@ +# File for additional dovecot configurations. +# For more informations read http://wiki.dovecot.org/BasicConfiguration + +#mail_max_userip_connections = 50 From bcd844b5686bbe9526b33db28d399bc3f638bc39 Mon Sep 17 00:00:00 2001 From: Josef Friedrich Date: Sun, 29 May 2016 22:36:06 +0200 Subject: [PATCH 3/3] Add tests for additional dovecot configs --- test/config/dovecot.cf | 1 + test/tests.bats | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 test/config/dovecot.cf diff --git a/test/config/dovecot.cf b/test/config/dovecot.cf new file mode 100644 index 00000000..35279f28 --- /dev/null +++ b/test/config/dovecot.cf @@ -0,0 +1 @@ +mail_max_userip_connections = 69 diff --git a/test/tests.bats b/test/tests.bats index b4a2d44e..a8e954af 100644 --- a/test/tests.bats +++ b/test/tests.bats @@ -222,6 +222,18 @@ [ "$status" -eq 0 ] } +# +# dovecot +# + +@test "checking dovecot: config additions" { + run docker exec mail grep -q 'mail_max_userip_connections = 69' /tmp/docker-mailserver/dovecot.cf + [ "$status" -eq 0 ] + run docker exec mail /bin/sh -c "doveconf | grep 'mail_max_userip_connections = 69'" + [ "$status" -eq 0 ] + [ "$output" = 'mail_max_userip_connections = 69' ] +} + # # spamassassin # @@ -266,25 +278,25 @@ -v "$(pwd)/test/config/empty/":/tmp/docker-mailserver/ \ -v "$(pwd)/test/config/postfix-accounts.cf":/tmp/docker-mailserver/postfix-accounts.cf \ -v "$(pwd)/test/config/postfix-virtual.cf":/tmp/docker-mailserver/postfix-virtual.cf \ - `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c 'generate-dkim-config | wc -l' + `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c 'generate-dkim-config | wc -l' [ "$status" -eq 0 ] [ "$output" -eq 5 ] # Check keys for localhost.localdomain run docker run --rm \ -v "$(pwd)/test/config/empty/opendkim":/etc/opendkim \ - `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c 'ls -1 /etc/opendkim/keys/localhost.localdomain/ | wc -l' + `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c 'ls -1 /etc/opendkim/keys/localhost.localdomain/ | wc -l' [ "$status" -eq 0 ] [ "$output" -eq 2 ] # Check keys for otherdomain.tld run docker run --rm \ -v "$(pwd)/test/config/empty/opendkim":/etc/opendkim \ - `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c 'ls -1 /etc/opendkim/keys/otherdomain.tld | wc -l' + `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c 'ls -1 /etc/opendkim/keys/otherdomain.tld | wc -l' [ "$status" -eq 0 ] [ "$output" -eq 2 ] # Check presence of tables and TrustedHosts run docker run --rm \ -v "$(pwd)/test/config/empty/opendkim":/etc/opendkim \ - `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c "ls -1 etc/opendkim | grep -E 'KeyTable|SigningTable|TrustedHosts|keys'|wc -l" + `docker inspect --format '{{ .Config.Image }}' mail` /bin/sh -c "ls -1 etc/opendkim | grep -E 'KeyTable|SigningTable|TrustedHosts|keys'|wc -l" [ "$status" -eq 0 ] [ "$output" -eq 4 ] }