Hi,

While migrating my config from 2.3 to 2.4, I found out that if instance_name is set to any value (including the default 'dovecot') and I run "dovecot reload" twice, I get a segmentation fault.

syslog:
dovecot[18272]: segfault at 7fdd23b51442 ip 00007fdd237c4ac6 sp 00007ffd0420caa8 error 4 in libc-2.33.so[7fdd23742000+15e000]

my config:
# 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf
# Pigeonhole version 2.4.1-4 (0a86619f)
# OS: Linux 5.15.161-array x86_64 Slackware 15.0
# Hostname: my.host.name
dovecot_config_version = 2.4.1
acl_defaults_from_inbox = yes
acl_driver = vfile
acl_globals_only = yes
auth_cache_negative_ttl = 1 hour
auth_cache_ttl = 1 hour
auth_failure_delay = 3 secs
auth_master_user_separator = *
auth_mechanisms = plain login
auth_socket_path = /var/run/dovecot/auth-userdb
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@*
auth_verbose = yes
base_dir = /var/run/dovecot/
debug_log_path = syslog
default_client_limit = 640
default_process_limit = 128
default_vsz_limit = 256M
deliver_log_format = %{message} [msgid=%{msgid}, size=%{size}]
dovecot_storage_version = 2.4.1
first_valid_gid = 10000
first_valid_uid = 10000
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
imap_logout_format = [session=<%{session}>, in=%{input}, out=%{output}]
imap_max_line_length = 64k
info_log_path = syslog
last_valid_gid = 10999
last_valid_uid = 10999
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
login_greeting = IMAP/POP3 daemon
login_log_format = %{message} %{elements}
login_log_format_elements = [user=<%{user}> rip=%{remote_ip} lip=%{local_ip} session=<%{session}> method=%{mechanism} %{secured}]
mail_log_prefix = "%{service}(%{user}): "
mail_temp_scan_interval = 1 week
mailbox_list_index_very_dirty_syncs = yes
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
pop3_logout_format = [session=<%{session}>, in=%{input}, out=%{output}]
pop3_uidl_duplicates = rename
protocols = imap lmtp pop3
rejection_reason = Your message to <%t> was automatically rejected:%n%r
rejection_subject = Rejected: %s
sieve_execute_bin_dir = /var/lib/dovecot/sieve
sieve_global_extensions {
  vnd.dovecot.pipe = yes
  vnd.dovecot.execute = yes
}
sieve_max_script_size = 1M
sieve_pipe_bin_dir = /var/lib/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_redirect_envelope_from = sender
sql_driver = mysql
ssl_min_protocol = TLSv1
verbose_proctitle = yes
ssl_server {
  cert_file = /etc/ssl/certs/server.pem
  cert_username_field = commonName
  dh_file = /var/lib/dovecot/dh.pem
  key_file = /etc/ssl/private/server.key
  prefer_ciphers = client
  request_client_cert = no
  require_crl = yes
}
namespace inbox {
  mail_driver = maildir
  mail_inbox_path = /srv/vhosts/%{user | domain}/mail/%{user}/INBOX
  mail_path = /srv/vhosts/%{user | domain}/mail/%{user}
  mailbox_list_layout = fs
  hidden = no
  inbox = yes
  list = yes
  prefix =
  separator = /
  subscriptions = yes
  type = private
  mailbox INBOX/* {
    acl "user=sysad...@my.host.name" {
      rights = lrwstipekxa
    }
  }
}
maildir {
  broken_filename_sizes = yes
  copy_with_hardlinks = yes
  empty_new = no
  stat_dirs = no
  very_dirty_syncs = no
}
mbox {
  dirty_syncs = yes
  dotlock_change_timeout = 2 mins
  lazy_writes = yes
  lock_timeout = 5 mins
  md5 = all
  min_index_size = 0
  read_locks = fcntl
  very_dirty_syncs = no
  write_locks = dotlock fcntl
}
mdbox {
  preallocate_space = no
  rotate_interval = 0
  rotate_size = 10M
}
service imap-login {
  process_min_avail = 0
  restart_request_count = 1
  user = $SET:default_login_user
  vsz_limit = 256M
  inet_listener imap {
    port = 143
    listen = 127.0.0.1
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  process_min_avail = 0
  restart_request_count = 1
  user = $SET:default_login_user
  vsz_limit = 256M
  inet_listener pop3 {
    port = 110
    listen = 127.0.0.1
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0666
    user = postfix
  }
}
service imap {
  process_limit = 256
  vsz_limit = 256M
}
service pop3 {
  process_limit = 256
  vsz_limit = 256M
}
service auth {
  client_limit = 640
  user = $SET:default_internal_user
  unix_listener auth-userdb {
    mode = 0666
  }
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
}
service auth-worker {
  user = $SET:default_internal_user
}
mysql 127.0.0.1 {
  dbname = vhosts
  password = # hidden, use -P to show it
  user = services
}
passdb sql {
  default_password_scheme = CRYPT
  driver = sql
query = SELECT `u`.`password` AS `password`, '/srv/vhosts/%{user | domain }/mail/%{user}' AS `userdb_home`, `u`.`domain` AS `userdb_uid`, `u`.`domain` AS `userdb_gid` FROM `users` AS `u` LEFT JOIN `domains` AS `d` ON `u`.`domain` = `d`.`id` WHERE `u`.`user` = '%{user}' AND `u`.`enabled` = '1' AND FIND_IN_SET('U_%{protocol}', `u`.`permissions`) AND `d`.`enabled` = '1' AND FIND_IN_SET('U_%{protocol}', `d`.`permissions`)
}
passdb passwd:backup {
  auth_username_format = %{user}
  default_password_scheme = CRYPT
  driver = passwd-file
  passwd_file_path = /etc/dovecot/auth/passwd:backup
}
passdb passwd:master {
  auth_username_format = %{user}
  default_password_scheme = CRYPT
  driver = passwd-file
  master = yes
  result_success = continue
  passwd_file_path = /etc/dovecot/auth/passwd:master
}
userdb sql {
  driver = prefetch
}
userdb passwd:backup {
  auth_username_format = %{user}
  passwd_file_path = /etc/dovecot/auth/passwd:backup
  driver = passwd-file
}
userdb passwd:master {
  auth_username_format = %{user}
  passwd_file_path = /etc/dovecot/auth/passwd:master
  driver = passwd-file
  fields {
    master_user = %{user}
  }
}
protocol imap {
  mail_max_userip_connections = 10
  mail_plugins {
    acl = yes
  }
}
protocol pop3 {
  mail_max_userip_connections = 10
  mail_plugins {
    acl = yes
  }
}
protocol lda {
  mail_plugins {
    sieve = yes
  }
}
protocol lmtp {
  mail_plugins {
    sieve = yes
  }
}
sieve_script backup {
  driver = file
  path = /var/lib/dovecot/sieve/backup_%{user | username }.sieve
  type = personal
}
mailbox INBOX/Spam {
  sieve_script spam {
    cause = copy
    path = /var/lib/dovecot/sieve/learn_spam.sieve
    type = before
  }
}
imapsieve_from INBOX/Spam {
  sieve_script ham {
    cause = copy
    path = /var/lib/dovecot/sieve/learn_ham.sieve
    type = before
  }
}
mailbox INBOX/Junk {
  sieve_script spam {
    cause = copy
    path = /var/lib/dovecot/sieve/learn_spam.sieve
    type = before
  }
}
imapsieve_from INBOX/Junk {
  sieve_script ham {
    cause = copy
    path = /var/lib/dovecot/sieve/learn_ham.sieve
    type = before
  }
}
auth_policy {
  check_after_auth = no
  check_before_auth = yes
  hash_mech = sha256
  hash_nonce = # hidden, use -P to show it
  hash_truncate = 12
  log_only = no
  reject_on_fail = no
  report_after_auth = no
  request_attributes {
    device_id = %{client_id}
    fail_type = %{fail_type}
    login = %{requested_username}
    protocol = %{protocol}
    pwhash = %{hashed_password}
    remote = %{remote_ip}
    session_id = %{session}
  }
  server_url = http://127.0.0.1/authpolicy/
}


Thanks,
Bogdan
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to