1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2026-01-08 17:51:57 +00:00

chasquid: Dovecot support (experimental)

This patch adds dovecot support to the chasquid daemon, using the
internal dovecot library added in previous patches.

Dovecot support is still considered EXPERIMENTAL and may be reverted, or
changed in backwards-incompatible ways.

The patch also adds the corresponding integration test, which brings up
a dovecot server with a custom configuration, and tests chasquid's
authentication against it.  If dovecot is not installed, the test is
skipped.
This commit is contained in:
Alberto Bertogli
2018-02-06 10:59:58 +00:00
parent 51e7c5c19e
commit d39d3aaff4
15 changed files with 304 additions and 27 deletions

View File

@@ -0,0 +1,14 @@
smtp_address: ":1025"
submission_address: ":1587"
submission_over_tls_address: ":1465"
monitoring_address: ":1099"
mail_delivery_agent_bin: "test-mda"
mail_delivery_agent_args: "%to%"
data_dir: "../.data"
mail_log_path: "../.logs/mail_log"
dovecot_auth: true
dovecot_userdb_path: "/tmp/chasquid-dovecot-test/run/auth-userdb"
dovecot_client_path: "/tmp/chasquid-dovecot-test/run/auth-client"

View File

@@ -0,0 +1,45 @@
base_dir = $ROOT/run/
log_path = $ROOT/dovecot.log
ssl = no
default_internal_user = $USER
default_login_user = $USER
passdb {
driver = passwd-file
args = $ROOT/passwd
}
userdb {
driver = passwd-file
args = $ROOT/passwd
}
service auth {
unix_listener auth {
mode = 0666
}
}
# Dovecot refuses to start without protocols, so we need to give it one.
protocols = imap
service imap-login {
chroot =
inet_listener imap {
address = 127.0.0.1
port = 0
}
}
service anvil {
chroot =
}
# Turn on debugging information, to help troubleshooting issues.
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth_verbose_passwords = yes
mail_debug = yes

View File

@@ -0,0 +1 @@
user@srv:{plain}password:1000:1000::/home/user