Problems To Get Dovecot Running On FreeBSD: auth process crashes

Christian Felsing pug at felsing.net
Fri May 22 09:49:48 UTC 2015


Hello,

I ran into problems to get Dovecot running on FreeBSD. Steps for
reproduction.

Start Docot with dovecot -F (same result if started by rc script)

telnet 192.168.116.38 110
Trying 192.168.116.38...
Connected to freebsd.
Escape character is '^]'.
-ERR Disconnected: Auth process broken
Connection closed by foreign host.


logfile shows following:

May 22 11:41:24 freebsd dovecot: master: Dovecot v2.2.18 starting up for
imap, pop3, lmtp, sieve
May 22 11:41:27 freebsd dovecot: auth: Error: auth: environment corrupt;
missing value for DOVECOT_
May 22 11:41:27 freebsd dovecot: auth: Fatal: unsetenv(RESTRICT_SETUID)
failed: Bad address
May 22 11:41:27 freebsd dovecot: master: Error: service(auth): command
startup failed, throttling for 2 secs
May 22 11:41:27 freebsd dovecot: pop3-login: Disconnected: Auth process
broken (disconnected before auth was ready, waited 1 secs): user=<>,
rip=192.168.116.1, lip=192.168.116.38, session=<cBLNdqgWWADAqHQB>
May 22 11:41:32 freebsd dovecot: master: Warning: Killed with signal 2
(by pid=0 uid=0 code=kernel)

Error message is quite meaningless regarding reason for crash.

I am running same config on a Linux (Debian 8) host w/o problems. Is it
a problem specific to FreeBSD?

Christian



---cut here---

[root at freebsd /usr/local/etc/dovecot]# doveconf -n
# 2.2.18: /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.8 (0c4ae064f307+)
# OS: FreeBSD 10.1-RELEASE-p10 amd64
auth_debug = yes
auth_debug_passwords = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_ssl_username_from_cert = yes
auth_username_chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@#"
auth_username_translation = "@#"
auth_verbose = yes
base_dir = /var/run/dovecot/
disable_plaintext_auth = no
first_valid_uid = 124
hostname = mail.taunusstein.net
last_valid_uid = 124
lda_mailbox_autocreate = yes
listen = 192.168.116.38
log_timestamp = %Y-%m-%d %H:%M:%S
login_greeting = mail.taunusstein.net imap4/pop3 ready.
mail_gid = 124
mail_location = maildir:~/Maildir
mail_privileged_group = vmail
mail_uid = 124
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date index ihave duplicate imapflags notify
namespace {
  list = children
  location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  inbox = yes
  list = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = /
  type = private
}
passdb {
  args = /usr/local/etc/dovecot/passwd.masterusers
  driver = passwd-file
  master = yes
}
passdb {
  driver = pam
}
plugin {
  acl = vfile:/etc/dovecot/global-acls:cache_secs=300
  acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
  autocreate = Trash
  autocreate2 = Drafts
  autosubscribe = Trash
  autosubscribe2 = Drafts
  fts = solr
  fts_solr = break-imap-search url=http://solr.lan:8983/solr/
  quota = maildir:User quota
  quota_rule = *:storage=500M
  quota_rule2 = Trash:storage=+100M
  quota_warning = storage=95%% quota-warning 95 %u
  quota_warning2 = storage=80%% quota-warning 80 %u
  recipient_delimiter = +
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_extensions = +notify +imapflags
}
postmaster_address = postmaster at taunusstein.net
protocols = imap pop3 lmtp sieve
sendmail_path = /usr/lib/sendmail
service anvil {
  client_limit = 4000
}
service auth-worker {
  group = vmail
}
service auth {
  client_limit = 8000
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener auth-userdb {
    group = postfix
    mode = 0666
    user = postfix
  }
  user = root
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
  process_limit = 1024
}
service imap-postlogin {
  executable = script-login /opt/dovecot-cf/bin/lastlogin.py
}
service imap {
  executable = imap imap-postlogin
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
  process_limit = 1024
}
service pop3-postlogin {
  executable = script-login /opt/dovecot-cf/bin/lastlogin.py
}
service pop3 {
  executable = pop3 pop3-postlogin
}
service quota-warning {
  user = vmail
}
ssl_cert = </usr/local/etc/dovecot/ssl/taunusstein.net.pem
ssl_cipher_list =
kEECDH:kEDH:AESGCM:ALL:+3DES:!RC4:!LOW:!EXP:!MD5:!aNULL:!eNULL
ssl_dh_parameters_length = 4096
ssl_key = </usr/local/etc/dovecot/ssl/taunusstein.net.key
ssl_parameters_regenerate = 1 hours
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3 TLSv1 TLSv1.1 TLSv1.2
ssl_require_crl = no
userdb {
  args = /usr/local/etc/dovecot/dovecot-samba4.conf
  driver = ldap
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugins = " sieve acl"
}
protocol imap {
  imap_client_workarounds = tb-extra-mailbox-sep
  mail_max_userip_connections = 20
  mail_plugins = quota imap_quota acl imap_acl fts fts_solr
}
protocol lmtp {
  mail_plugins = quota sieve
}
protocol sieve {
  managesieve_logout_format = bytes ( in=%i : out=%o )
}
protocol pop3 {
  mail_plugins = quota
  pop3_uidl_format = %08Xu%08Xv
}

---cut here---


More information about the dovecot mailing list