31 Oct
2024
31 Oct
'24
3:29 p.m.
Good day,
I just discovered a core file from dovecot's imap.
It is running on OpenBSD 7.6 and dovecot is built with https://github.com/dovecot/core/pull/223
Stacktrace:
#0 fts_search_merge_scores_or (dest=0x73b552104f38, src=<optimized out>) at fts-search.c:278
src2 = <error reading variable src2 (Cannot access memory at address 0x8)>
src_map = 0xc7d7dcb6028
src2_map = 0xc7d6338d5c0
src2i = 3157
srci = 8699
src_count = 6133
src2_count = 5729
#1 fts_search_merge_scores_level (fctx=0xc7df32c4000, args=0xc7dc4e9a110, idx=0x73b552105064, and_args=<optimized out>, scores=0x73b552104f38)
at fts-search.c:333
arg_scores = {arr = {buffer = 0xc7e01e35468, element_size = 8}, v = 0xc7e01e35468, v_modifiable = 0xc7e01e35468}
level = <optimized out>
#2 0x00000c7da13ccabe in fts_search_merge_scores_level (fctx=0xc7df32c4000, args=0xc7dc4e99ca0, idx=0x73b552105064, and_args=<optimized out>,
scores=0x73b552104fc8) at fts-search.c:326
arg_scores = {arr = {buffer = 0xc7e01e34860, element_size = 8}, v = 0xc7e01e34860, v_modifiable = 0xc7e01e34860}
level = <optimized out>
#3 0x00000c7da13ccabe in fts_search_merge_scores_level (fctx=0xc7df32c4000, args=0xc7e24477628, idx=0x73b552105064, and_args=<optimized out>,
scores=0xc7daf51ea28) at fts-search.c:326
arg_scores = {arr = {buffer = 0xc7e01e345f8, element_size = 8}, v = 0xc7e01e345f8, v_modifiable = 0xc7e01e345f8}
level = <optimized out>
#4 0x00000c7da13cbf07 in fts_search_merge_scores (fctx=0xc7df32c4000) at fts-search.c:341
idx = 8
#5 fts_search_try_lookup (fctx=0xc7df32c4000) at fts-search.c:373
last_uid = <optimized out>
seq1 = <optimized out>
seq2 = 0
#6 fts_search_lookup (fctx=0xc7df32c4000) at fts-search.c:383
reason = <optimized out>
#7 0x00000c7da13cefb4 in fts_try_build_init (ctx=0xc7daf52b640, fctx=0xc7df32c4000) at fts-storage.c:147
ret = 8699
#8 fts_mailbox_search_init (t=<optimized out>, args=0xc7dd96dd048, sort_program=<optimized out>, wanted_fields=<optimized out>,
wanted_headers=<optimized out>) at fts-storage.c:262
ft = 0xc7df32dec00
fbox = <optimized out>
flist = <optimized out>
ctx = 0xc7daf52b640
fctx = 0xc7df32c4000
#9 0x00000c7b3879aef3 in imap_search_start (ctx=0xc7df32dfbc8, sargs=0xc7dd96dd048, sort_program=0x0) at imap-search.c:537
cmd = 0xc7df32df848
#10 0x00000c7b38789e6e in cmd_search (cmd=0xc7df32df848) at cmd-search.c:48
args = <optimized out>
ctx = 0xc7df32dfbc8
ret = 8699
charset = <optimized out>
sargs = 0x0
#11 0x00000c7b38792db3 in command_exec (cmd=0xc7df32df848) at imap-commands.c:201
hook = <optimized out>
finished = <optimized out>
#12 0x00000c7b387915d8 in client_command_input (cmd=0xc7df32df848) at imap-client.c:1237
client = 0xc7df32bc048
command = <optimized out>
tag = <optimized out>
ret = <optimized out>
name = <optimized out>
#13 0x00000c7b38791749 in client_command_input (cmd=0xc7df32df848) at imap-client.c:1305
client = 0xc7df32bc048
command = <optimized out>
tag = <optimized out>
ret = <optimized out>
name = <optimized out>
#14 0x00000c7b38791749 in client_command_input (cmd=0xc7df32df848) at imap-client.c:1305
client = 0xc7df32bc048
command = <optimized out>
tag = <optimized out>
ret = <optimized out>
name = <optimized out>
#15 0x00000c7b3878ff68 in client_handle_next_command (client=0xc7df32bc048, remove_io_r=<optimized out>) at imap-client.c:1348
No locals.
#16 client_handle_input (client=0xc7df32bc048) at imap-client.c:1363
_data_stack_cur_id = <optimized out>
handled_commands = <optimized out>
ret = <optimized out>
remove_io = <optimized out>
#17 0x00000c7b3878e569 in client_input (client=0xc7df32bc048) at imap-client.c:1407
output = 0xc7daf5003a0
bytes = 251
cmd = <optimized out>
#18 0x00000c7dc9c7ff3f in io_loop_call_io (io=0xc7daf515240) at ioloop.c:737
ioloop = 0xc7daf520460
t_id = 8699
#19 0x00000c7dc9c830a4 in io_loop_handler_run_internal (ioloop=0xc7daf520460) at ioloop-kqueue.c:164
tv = {tv_sec = 4, tv_usec = 790941}
ts = {tv_sec = 4, tv_nsec = 790941000}
ctx = 0xc7daf503520
msecs = <optimized out>
events = <optimized out>
events_count = <optimized out>
ret = <optimized out>
i = 0
io = 0xc7daf515240
event = <optimized out>
#20 0x00000c7dc9c806a0 in io_loop_handler_run (ioloop=0xc7daf520460) at ioloop.c:789
No locals.
#21 0x00000c7dc9c804a8 in io_loop_run (ioloop=0xc7daf520460) at ioloop.c:762
No locals.
#22 0x00000c7dc9bd56b9 in master_service_run (service=0xc7daf52b500, callback=0x0) at master-service.c:878
No locals.
#23 0x00000c7b387a19d0 in main (argc=1, argv=<optimized out>) at main.c:575
set_roots = {0xc7dc9ccd480 <smtp_submit_setting_parser_info>, 0xc7b387af1b0 <imap_setting_parser_info>, 0x0}
login_set = {auth_socket_path = 0xc7e01e2f550 "\004", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60,
callback = 0xc7b387a1bc0 <login_client_connected>, failure_callback = 0xc7b387a1f40 <login_client_failed>, update_proctitle = false,
request_auth_token = true}
service_flags = <optimized out>
storage_service_flags = <optimized out>
username = <optimized out>
auth_socket_path = <optimized out>
c = <optimized out>
error = 0xc7e056c4af0 <_dl_dtors> "\363\017\036\372UH\211\345\350s\030"
config:
# 2.3.21.1 (d492236fa0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.21.1 (49005e73)
# OS: OpenBSD 7.6 amd64
# Hostname: mx1.catap.net
# NOTE: Send doveconf -n output instead when asking for help.
auth_anonymous_username = anonymous
auth_cache_negative_ttl = 1 hours
auth_cache_size = 0
auth_cache_ttl = 1 hours
auth_cache_verify_password_with_worker = no
auth_debug = no
auth_debug_passwords = no
auth_default_realm =
auth_failure_delay = 2 secs
auth_gssapi_hostname =
auth_krb5_keytab =
auth_master_user_separator =
auth_mechanisms = plain
auth_policy_check_after_auth = yes
auth_policy_check_before_auth = yes
auth_policy_hash_mech = sha256
auth_policy_hash_nonce =
auth_policy_hash_truncate = 12
auth_policy_log_only = no
auth_policy_reject_on_fail = no
auth_policy_report_after_auth = yes
auth_policy_request_attributes = login=%{requested_username} pwhash=%{hashed_password} remote=%{rip} device_id=%{client_id} protocol=%s session_id=%{session}
auth_policy_server_api_header =
auth_policy_server_timeout_msecs = 2000
auth_policy_server_url =
auth_proxy_self =
auth_realms =
auth_socket_path = auth-userdb
auth_ssl_require_client_cert = no
auth_ssl_username_from_cert = no
auth_stats = no
auth_use_winbind = no
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu
auth_username_translation =
auth_verbose = no
auth_verbose_passwords = no
auth_winbind_helper_path = /usr/bin/ntlm_auth
auth_worker_max_count = 30
base_dir = /var/dovecot
config_cache_size = 1 M
debug_log_path =
default_client_limit = 1000
default_idle_kill = 1 mins
default_internal_group = _dovecot
default_internal_user = _dovecot
default_login_user = _dovenull
default_process_limit = 100
default_vsz_limit = 10 G
deliver_log_format = msgid=%m: %$
dict_db_config =
director_flush_socket =
director_mail_servers =
director_max_parallel_kicks = 100
director_max_parallel_moves = 100
director_output_buffer_size = 10 M
director_ping_idle_timeout = 30 secs
director_ping_max_timeout = 1 mins
director_servers =
director_user_expire = 15 mins
director_user_kick_delay = 2 secs
director_username_hash = %Lu
disable_plaintext_auth = yes
dotlock_use_excl = yes
doveadm_allowed_commands =
doveadm_api_key =
doveadm_http_rawlog_dir =
doveadm_password = # hidden, use -P to show it
doveadm_port = 12345
doveadm_socket_path = doveadm-server
doveadm_ssl = no
doveadm_username = doveadm
doveadm_worker_count = 0
dsync_alt_char = _
dsync_commit_msgs_interval = 100
dsync_features =
dsync_hashed_headers = Date Message-ID
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u -U
first_valid_gid = 1
first_valid_uid = 1000
haproxy_timeout = 3 secs
haproxy_trusted_networks =
hostname =
imap_capability =
imap_client_workarounds =
imap_fetch_failure = disconnect-immediately
imap_hibernate_timeout = 0
imap_id_log =
imap_id_retain = no
imap_id_send = name *
imap_idle_notify_interval = 2 mins
imap_literal_minus = no
imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} trashed=%{trashed} hdr_count=%{fetch_hdr_count} hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count} body_bytes=%{fetch_body_bytes}
imap_max_line_length = 64 k
imap_metadata = no
imap_urlauth_host =
imap_urlauth_logout_format = in=%i out=%o
imap_urlauth_port = 143
imapc_cmd_timeout = 5 mins
imapc_connection_retry_count = 1
imapc_connection_retry_interval = 1 secs
imapc_features =
imapc_host =
imapc_list_prefix =
imapc_master_user =
imapc_max_idle_time = 29 mins
imapc_max_line_length = 0
imapc_password =
imapc_port = 143
imapc_rawlog_dir =
imapc_sasl_mechanisms =
imapc_ssl = no
imapc_ssl_verify = yes
imapc_user =
import_environment = TZ CORE_OUTOFMEM CORE_ERROR
info_log_path =
instance_name = dovecot
last_valid_gid = 0
last_valid_uid = 0
lda_mailbox_autocreate = no
lda_mailbox_autosubscribe = no
lda_original_recipient_header =
libexec_dir = /usr/local/libexec/dovecot
listen = *, ::
lmtp_add_received_header = no
lmtp_client_workarounds =
lmtp_hdr_delivery_address = final
lmtp_proxy = no
lmtp_proxy_rawlog_dir =
lmtp_rawlog_dir =
lmtp_rcpt_check_quota = no
lmtp_save_to_detail_mailbox = no
lmtp_user_concurrency_limit = 0
lmtp_verbose_replies = no
lock_method = fcntl
log_core_filter =
log_debug =
log_path = syslog
log_timestamp = "%b %d %H:%M:%S "
login_access_sockets =
login_greeting = Dovecot ready.
login_log_format = %$: %s
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c session=<%{session}>
login_plugin_dir = /usr/local/lib/dovecot/login
login_plugins =
login_proxy_max_disconnect_delay = 0
login_proxy_max_reconnects = 3
login_proxy_notify_path = proxy-notify
login_proxy_rawlog_dir =
login_proxy_timeout = 30 secs
login_source_ips =
login_trusted_networks =
mail_access_groups =
mail_always_cache_fields =
mail_attachment_detection_options =
mail_attachment_dir =
mail_attachment_fs = sis posix
mail_attachment_hash = %{sha1}
mail_attachment_min_size = 128 k
mail_attribute_dict = file:%h/Maildir/dovecot-attributes
mail_cache_fields = flags
mail_chroot =
mail_debug = no
mail_fsync = optimized
mail_full_filesystem_access = no
mail_gid = vmail
mail_home =
mail_location = maildir:~/Maildir
mail_log_prefix = "%s(%u)<%{pid}><%{session}>: "
mail_max_keyword_length = 50
mail_max_lock_timeout = 0
mail_max_userip_connections = 10
mail_never_cache_fields = imap.envelope
mail_nfs_index = no
mail_nfs_storage = no
mail_plugin_dir = /usr/local/lib/dovecot
mail_plugins = notify fts fts_flatcurve replication virtual
mail_prefetch_count = 0
mail_privileged_group =
mail_save_crlf = no
mail_server_admin =
mail_server_comment =
mail_shared_explicit_inbox = no
mail_sort_max_read_count = 0
mail_temp_dir = /tmp
mail_temp_scan_interval = 1 weeks
mail_uid = vmail
mail_vsize_bg_after_count = 0
mailbox_idle_check_interval = 30 secs
mailbox_list_index = yes
mailbox_list_index_include_inbox = no
mailbox_list_index_very_dirty_syncs = no
maildir_broken_filename_sizes = no
maildir_copy_with_hardlinks = yes
maildir_empty_new = no
maildir_stat_dirs = no
maildir_very_dirty_syncs = no
managesieve_client_workarounds =
managesieve_implementation_string = Dovecot Pigeonhole
managesieve_logout_format = bytes=%i/%o
managesieve_max_compile_errors = 5
managesieve_max_line_length = 64 k
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 mime foreverypart extracttext
mbox_dirty_syncs = yes
mbox_dotlock_change_timeout = 2 mins
mbox_lazy_writes = yes
mbox_lock_timeout = 5 mins
mbox_md5 = apop3d
mbox_min_index_size = 0
mbox_read_locks = fcntl
mbox_very_dirty_syncs = no
mbox_write_locks = fcntl
mdbox_preallocate_space = no
mdbox_rotate_interval = 0
mdbox_rotate_size = 10 M
mmap_disable = yes
namespace inbox {
disabled = no
hidden = no
ignore_on_failure = no
inbox = yes
list = yes
location =
mailbox Archive {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Archive
}
mailbox Drafts {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
autoexpunge = 60 days
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Junk
}
mailbox Sent {
auto = subscribe
autoexpunge = 0
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Sent
}
mailbox Trash {
auto = subscribe
autoexpunge = 60 days
autoexpunge_max_mails = 0
comment =
driver =
special_use = \Trash
}
order = 0
prefix =
separator = .
subscriptions = yes
type = private
}
namespace virtual {
disabled = no
hidden = no
ignore_on_failure = no
inbox = no
list = yes
location = virtual:/etc/dovecot/virtual:INDEX=~/virtual
mailbox All {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment = All messages without Trash and Junk
driver =
special_use = \All
}
mailbox Flagged {
auto = no
autoexpunge = 0
autoexpunge_max_mails = 0
comment = All flagged messages without Trash and Junk
driver =
special_use = \Flagged
}
order = 0
prefix = virtual.
separator = .
subscriptions = yes
type = private
}
old_stats_carbon_interval = 30 secs
old_stats_carbon_name =
old_stats_carbon_server =
old_stats_command_min_time = 1 mins
old_stats_domain_min_time = 12 hours
old_stats_ip_min_time = 12 hours
old_stats_memory_limit = 16 M
old_stats_session_min_time = 15 mins
old_stats_user_min_time = 1 hours
passdb {
args = username_format=%u /etc/mail/credentials
auth_verbose = default
default_fields =
deny = no
driver = passwd-file
master = no
mechanisms =
name =
override_fields =
pass = no
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = never
username_filter =
}
plugin {
fts = flatcurve
fts_decoder = decode2text
fts_filters = normalizer-icu snowball stopwords
fts_filters_en = lowercase snowball english-possessive stopwords
fts_flatcurve_substring_search = yes
fts_languages = en de ru es
fts_tokenizer_generic = algorithm=simple
fts_tokenizers = generic email-address
mail_replica = tcps:mx2.catap.net
replication_sync_timeout = 10
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_before = /etc/dovecot/sieve_before.d/
}
pop3_client_workarounds =
pop3_delete_type = default
pop3_deleted_flag =
pop3_enable_last = no
pop3_fast_size_lookups = no
pop3_lock_session = no
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
pop3_no_flag_updates = no
pop3_reuse_xuidl = no
pop3_save_uidl = no
pop3_uidl_duplicates = allow
pop3_uidl_format = %08Xu%08Xv
pop3c_features =
pop3c_host =
pop3c_master_user =
pop3c_password =
pop3c_port = 110
pop3c_quick_received_date = no
pop3c_rawlog_dir =
pop3c_ssl = no
pop3c_ssl_verify = yes
pop3c_user = %u
postmaster_address = postmaster@%{if;%d;ne;;%d;%{hostname}}
process_shutdown_filter =
protocols = imap lmtp sieve
quota_full_tempfail = no
rawlog_dir =
recipient_delimiter = +
rejection_reason = Your message to <%t> was automatically rejected:%n%r
rejection_subject = Rejected: %s
replication_dsync_parameters = -d -l 30 -U -x virtual.
replication_full_sync_interval = 5 mins
replication_max_conns = 10
replicator_host = replicator
replicator_port = 0
sendmail_path = /usr/sbin/sendmail
service aggregator {
chroot = .
client_limit = 0
drop_priv_before_exec = no
executable = aggregator
extra_groups =
fifo_listener replication-notify-fifo {
group = vmail
mode = 0600
user = vmail
}
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener replication-notify {
group = vmail
mode = 0600
user = vmail
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service anvil {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = anvil
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 1
protocol =
service_count = 0
type = anvil
unix_listener anvil-auth-penalty {
group =
mode = 0600
user =
}
unix_listener anvil {
group =
mode = 0600
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service auth-worker {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = auth -w
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type = worker
unix_listener auth-worker {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service auth {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = auth
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener auth-client {
group =
mode = 0600
user = $default_internal_user
}
unix_listener auth-login {
group =
mode = 0600
user = $default_internal_user
}
unix_listener auth-master {
group =
mode = 0600
user =
}
unix_listener auth-userdb {
group = vmail
mode = 0660
user = vmail
}
unix_listener login/login {
group =
mode = 0666
user =
}
unix_listener token-login/tokenlogin {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service config {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = config
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type = config
unix_listener config {
group =
mode = 0600
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service decode2text {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = script /usr/local/libexec/dovecot/decode2text.sh
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener decode2text {
group =
mode = 0666
user =
}
user = vmail
vsz_limit = 18446744073709551615 B
}
service dict-async {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = dict
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener dict-async {
group = $default_internal_group
mode = 0660
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service dict {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = dict
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener dict {
group = $default_internal_group
mode = 0660
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service director {
chroot = .
client_limit = 0
drop_priv_before_exec = no
executable = director
extra_groups =
fifo_listener login/proxy-notify {
group =
mode = 00
user =
}
group =
idle_kill = 4294967295 secs
inet_listener {
address =
haproxy = no
port = 0
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener director-admin {
group =
mode = 0600
user =
}
unix_listener director-userdb {
group =
mode = 0600
user =
}
unix_listener login/director {
group =
mode = 00
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service dns-client {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = dns-client
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener dns-client {
group =
mode = 0666
user =
}
unix_listener login/dns-client {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service doveadm {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = doveadm-server
extra_groups = $default_internal_group
group =
idle_kill = 0
inet_listener {
address =
haproxy = no
port = 12345
reuse_port = no
ssl = yes
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 1
type =
unix_listener doveadm-server {
group =
mode = 0600
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service health-check {
chroot =
client_limit = 1
drop_priv_before_exec = yes
executable = script -p health-check.sh
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol =
service_count = 0
type =
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service imap-hibernate {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = imap-hibernate
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = imap
service_count = 0
type =
unix_listener imap-hibernate {
group = $default_internal_group
mode = 0660
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service imap-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = imap-login
extra_groups =
group =
idle_kill = 0
inet_listener imap {
address =
haproxy = no
port = 143
reuse_port = no
ssl = no
}
inet_listener imaps {
address =
haproxy = no
port = 993
reuse_port = no
ssl = yes
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = imap
service_count = 1
type = login
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service imap-urlauth-login {
chroot = token-login
client_limit = 0
drop_priv_before_exec = no
executable = imap-urlauth-login
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = imap
service_count = 1
type = login
unix_listener imap-urlauth {
group =
mode = 0666
user =
}
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service imap-urlauth-worker {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = imap-urlauth-worker
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type =
unix_listener imap-urlauth-worker {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service imap-urlauth {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = imap-urlauth
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type =
unix_listener token-login/imap-urlauth {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service imap {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = imap
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = imap
service_count = 1
type =
unix_listener imap-master {
group =
mode = 0600
user =
}
unix_listener login/imap {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service indexer-worker {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = indexer-worker
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 10
process_min_avail = 0
protocol =
service_count = 0
type = worker
unix_listener indexer-worker {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service indexer {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = indexer
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener indexer {
group =
mode = 0666
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service ipc {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = ipc
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener ipc {
group =
mode = 0600
user = $default_internal_user
}
unix_listener login/ipc-proxy {
group =
mode = 0600
user = $default_login_user
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service lmtp {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = lmtp
extra_groups = $default_internal_group
group = vmail
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = lmtp
service_count = 0
type =
unix_listener lmtp {
group =
mode = 0666
user =
}
user = vmail
vsz_limit = 18446744073709551615 B
}
service log {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = log
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type = log
unix_listener log-errors {
group =
mode = 0600
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service managesieve-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = managesieve-login
extra_groups =
group =
idle_kill = 0
inet_listener sieve {
address =
haproxy = no
port = 4190
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = sieve
service_count = 1
type = login
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service managesieve {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = managesieve
extra_groups =
group =
idle_kill = 0
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = sieve
service_count = 1
type =
unix_listener login/sieve {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service old-stats {
chroot = empty
client_limit = 0
drop_priv_before_exec = no
executable = old-stats
extra_groups =
fifo_listener old-stats-mail {
group =
mode = 0600
user =
}
fifo_listener old-stats-user {
group =
mode = 0600
user =
}
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener old-stats {
group =
mode = 0600
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service pop3-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = pop3-login
extra_groups =
group =
idle_kill = 0
inet_listener pop3 {
address =
haproxy = no
port = 110
reuse_port = no
ssl = no
}
inet_listener pop3s {
address =
haproxy = no
port = 995
reuse_port = no
ssl = yes
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = pop3
service_count = 1
type = login
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service pop3 {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = pop3
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = pop3
service_count = 1
type =
unix_listener login/pop3 {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
service replicator {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = replicator
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 1
protocol =
service_count = 0
type =
unix_listener replicator-doveadm {
group = vmail
mode = 0600
user = vmail
}
unix_listener replicator {
group =
mode = 0600
user = $default_internal_user
}
user =
vsz_limit = 18446744073709551615 B
}
service stats {
chroot =
client_limit = 0
drop_priv_before_exec = no
executable = stats
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener login/stats-writer {
group =
mode = 0600
user = $default_login_user
}
unix_listener stats-reader {
group =
mode = 0600
user =
}
unix_listener stats-writer {
group = $default_internal_group
mode = 0660
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
service submission-login {
chroot = login
client_limit = 0
drop_priv_before_exec = no
executable = submission-login
extra_groups =
group =
idle_kill = 0
inet_listener submission {
address =
haproxy = no
port = 587
reuse_port = no
ssl = no
}
inet_listener submissions {
address =
haproxy = no
port = 0
reuse_port = no
ssl = no
}
privileged_group =
process_limit = 0
process_min_avail = 0
protocol = submission
service_count = 1
type = login
user = $default_login_user
vsz_limit = 18446744073709551615 B
}
service submission {
chroot =
client_limit = 1
drop_priv_before_exec = no
executable = submission
extra_groups = $default_internal_group
group =
idle_kill = 0
privileged_group =
process_limit = 1024
process_min_avail = 0
protocol = submission
service_count = 1
type =
unix_listener login/submission {
group =
mode = 0666
user =
}
user =
vsz_limit = 18446744073709551615 B
}
shutdown_clients = yes
ssl = yes
ssl_alt_cert =
ssl_alt_key =
ssl_ca =
ssl_cert = </etc/ssl/mx.catap.net.crt
ssl_cert_username_field = commonName
ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
ssl_cipher_suites =
ssl_client_ca_dir =
ssl_client_ca_file =
ssl_client_cert =
ssl_client_key =
ssl_client_require_valid_cert = yes
ssl_crypto_device =
ssl_curve_list =
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_key_password =
ssl_min_protocol = TLSv1.2
ssl_options =
ssl_prefer_server_ciphers = no
ssl_require_crl = yes
ssl_verify_client_cert = no
state_dir = /var/dovecot
stats_http_rawlog_dir =
stats_writer_socket_path = stats-writer
submission_client_workarounds =
submission_host =
submission_logout_format = in=%i out=%o
submission_max_mail_size = 0
submission_max_recipients = 0
submission_relay_command_timeout = 5 mins
submission_relay_connect_timeout = 30 secs
submission_relay_host =
submission_relay_master_user =
submission_relay_max_idle_time = 29 mins
submission_relay_password =
submission_relay_port = 25
submission_relay_rawlog_dir =
submission_relay_ssl = no
submission_relay_ssl_verify = yes
submission_relay_trusted = no
submission_relay_user =
submission_ssl = no
submission_timeout = 30 secs
syslog_facility = mail
userdb {
args = username_format=%u /etc/mail/credentials
auth_verbose = default
default_fields =
driver = passwd-file
name =
override_fields = uid=vmail gid=vmail home=/var/vmail/%u
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = never
}
valid_chroot_dirs =
verbose_proctitle = no
verbose_ssl = no
version_ignore = no
protocol lmtp {
mail_plugins = notify fts fts_flatcurve replication virtual sieve
}
protocol imap {
imap_metadata = yes
mail_max_userip_connections = 1000
}
-- wbr, Kirill