dovecot crashes if you don't explicitly set "trash_priority" on all namespace mailboxes.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f6af06b4563 in trash_try_mailbox (error_r=0x7ffcf37077b8, box_name=0x56384813f980 "Drafts", ns=0x5638481423b0) at trash-plugin.c:582
(gdb) print trash_set
$1 = (const struct trash_settings *) 0x0
unsigned int trash_priority = trash_set->trash_priority;
// ^^^^^^^^^ SIGSEGV if NULL
here is my configuration, to stop it from crashing uncomment the two "trash_priority = 0".
cheers
# 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf
# Pigeonhole version 2.4.0 (1b2d5bb9)
# OS: Linux 6.12.32 x86_64 Slackware 15.0 ext4
# Hostname: niksoggia.it
# 4 default setting changes since version 2.4.0
dovecot_config_version = 2.4.0
auth_master_user_separator = *
dovecot_storage_version = 2.4.0
mail_driver = maildir
mail_home = /var/spool/mail/%{user}
mail_path = /var/spool/mail/%{user}/dovecot
protocols {
imap = yes
lmtp = yes
pop3 = yes
}
protocol imap {
mail_plugins {
quota = yes
trash = yes
imap_quota = yes
}
}
protocol lda {
mail_plugins {
quota = yes
sieve = yes
}
}
protocol lmtp {
mail_plugins {
quota = yes
sieve = yes
}
}
protocol pop3 {
mail_plugins {
quota = yes
}
}
service imap-login {
inet_listener imap {
port = 143
listen = 127.0.0.1
}
inet_listener imaps {
port = 993
listen = 127.0.0.1
}
}
service managesieve-login {
inet_listener sieve {
listen = 127.0.0.1
}
}
service pop3-login {
inet_listener pop3 {
port = 110
listen = 127.0.0.1
}
inet_listener pop3s {
port = 995
listen = 127.0.0.1
}
}
sieve_script personal {
path = /var/spool/mail/%{user}/sieve/dovecot.sieve
}
namespace inbox {
inbox = yes
prefix =
separator = /
trash_priority = 0
mailbox Drafts {
auto = subscribe
special_use = "\\Drafts"
# trash_priority = 0
}
mailbox Junk {
auto = subscribe
special_use = "\\Junk"
trash_priority = 1
}
mailbox Sent {
auto = subscribe
special_use = "\\Sent"
# trash_priority = 0
}
mailbox Trash {
auto = subscribe
special_use = "\\Trash"
trash_priority = 2
}
}
ssl_server {
cert_file = /etc/dovecot/fullchain.pem
key_file = /etc/dovecot/privkey.pem
}
passdb pam {
driver = pam
}
userdb passwd {
driver = passwd
}
userdb prefetch {
driver = prefetch
}