doveadm dsync-server doesn't use user parameter?

Harald Leithner leithner at itronic.at
Fri Nov 23 13:14:39 EET 2018


Hi,

I tried to migrate my dovecot 2.2 to a new server with a other storage
configuration and dovecot 2.3.

New (and old) Server uses mysql for user information

I use the following storage settings

mail_home = /storage1/vmail/%{userdb:path}
mail_location =
mdbox:/storage1/fast/%{userdb:path}:FULLDIRNAME=iTrNiCs-DBOx-mAiLs:INDEX=/storage1/indexes/vmail/%{userdb:path}:ALT=/storage1/slow/%{userdb:path}:VOLATILEDIR=/tmp/%{userdb:path}


userdb:path is generated by the mysql query and ends in something like
"2000/6"

SQL: CONCAT(u.idAccount, '/', u.idUser) AS userdb_path

If I login with imap dovecot is creating the INBOX on the correct path

/storage1/fast/2000/6/mailboxes/INBOX

btw. it creates a link to dbox-alt-root but without creating the target
directory is this expected?

Now if I start

doveadm backup -u <username> remote:mailstore2

it ignores it seams that dsync-server doesn't make a database query and
doesn't use the userdb_path field. It only uses

/storage1/fast/mailboxes/INBOX

as path.

Is this a problem with my configuration?


thx

--- doveconf -n
# 2.3.3 (dcead646b): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.3 (f018bbab)
# OS: Linux 4.15.18-7-pve x86_64 Debian 9.6 zfs
# Hostname: mailstore2
auth_cache_negative_ttl = 1 secs
auth_cache_size = 10 M
auth_cache_ttl = 1 secs
auth_master_user_separator = *
auth_mechanisms = PLAIN LOGIN APOP
auth_verbose = yes
default_client_limit = 600
default_vsz_limit = 512 M
dict {
  lastlogin = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  sqlacl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
  sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_gid = 1001
first_valid_uid = 1001
hostname = mailstore2
imap_hibernate_timeout = 1 mins
imap_id_log = *
imap_id_send = *
imap_idle_notify_interval = 10 mins
imap_logout_format = bytes=%i/%o
instance_name = mailstore2
last_valid_gid = 1001
last_valid_uid = 1001
lda_original_recipient_header = X-LDA-Original-To
lmtp_rcpt_check_quota = yes
login_greeting = ITronic Mail Store
login_trusted_networks = 172.22.14.0/24
mail_cache_min_mail_count = 5
mail_gid = vmail
mail_home = /storage1/vmail/%{userdb:path}
mail_location =
mdbox:/storage1/fast/%{userdb:path}:FULLDIRNAME=iTrNiCs-DBOx-mAiLs:INDEX=/storage1/indexes/vmail/%{userdb:path}:ALT=/storage1/slow/%{userdb:path}:VOLATILEDIR=/tmp/%{userdb:path}
mail_plugins = lazy_expunge acl quota mail_log notify
mail_prefetch_count = 100
mail_server_admin = mailto:postmaster at example.com
mail_server_comment = Mail System
mail_shared_explicit_inbox = yes
mail_uid = vmail
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 vacation-seconds
mdbox_preallocate_space = yes
namespace {
  hidden = yes
  list = no
  location =
mdbox:/storage1/fast/%{userdb:path}:MAILBOXDIR=expunged:LISTINDEX=expunged.list.index:FULLDIRNAME=iTrNiCs-DBOx-mAiLs:INDEX=/storage1/indexes/vmail/%{userdb:path}:ALT=/storage1/slow/%{userdb:path}:VOLATILEDIR=/tmp/%{userdb:path}
  prefix = "#EXPUNGED/"
  subscriptions = no
  type = private
}
namespace {
  list = children
  location = mdbox:%%h/mdbox
  prefix = "#Users/%%u/"
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  hidden = no
  inbox = yes
  location =
  mailbox Archvie {
    special_use = \Archive
  }
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox Spam {
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = /
  subscriptions = yes
  type = private
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
  result_success = continue-ok
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile
  acl_shared_dict = proxy::sqlacl
  last_login_dict = proxy::lastlogin
  last_login_key = # hidden, use -P to show it
  lazy_expunge = "#EXPUNGED/"
  lazy_expunge_only_last_instance = no
  mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename flag_change save mailbox_create
  mail_log_fields = uid box msgid size flags vsize from subject
  quota = dict:User quota::proxy::sqlquota
  quota_grace = 10%%
  quota_rule = *:storage=1024M
  quota_rule2 = "#EXPUNGED:storage=+1024M"
  quota_warning = storage=100%% quota-warning 100 %u
  quota_warning2 = storage=95%% quota-warning 95 %u
  quota_warning3 = storage=80%% quota-warning 80 %u
  recipient_delimiter = +
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = file:/storage1/vmail/%{userdb:idAccount}/
  sieve_extensions = +vacation-seconds
  sieve_global = /etc/dovecot/sieve
  sieve_max_actions = 64
  sieve_max_redirects = 8
  sieve_max_script_size = 2M
  sieve_quota_max_scripts = 0
  sieve_quota_max_storage = 64M
  sieve_vacation_default_period = 1d
  sieve_vacation_min_period = 1h
}
pop3_uidl_duplicates = rename
protocols = imap lmtp sieve pop3
service auth-worker {
  user = $default_internal_user
}
service auth {
  inet_listener {
    port = 4180
  }
  unix_listener auth-userdb {
    mode = 0666
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0666
  }
}
service imap-hibernate {
  unix_listener imap-hibernate {
    group = vmail
    mode = 0666
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
  process_min_avail = 1
  service_count = 0
}
service imap {
  process_limit = 1024
  unix_listener imap-master {
    user = dovecot
  }
  unix_listener imap {
    group = vmail
    mode = 0666
  }
  vsz_limit = 512 M
}
service lmtp {
  inet_listener lmtp {
    address = 172.22.14.136
    port = 24000
  }
  unix_listener lmtp {
    mode = 0666
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  process_min_avail = 0
  service_count = 1
  vsz_limit = 64 M
}
service managesieve {
  process_limit = 50
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
  process_min_avail = 20
  service_count = 1
  vsz_limit = 64 M
}
service pop3 {
  process_limit = 1024
}
service quota-warning {
  executable = script /opt/scripts/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = dovecot
}
shutdown_clients = no
ssl_cert = </etc/dovecot/private/example.com.pem
ssl_cipher_list =
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-CAMELLIA256-SHA:CAMELLIA128-SHA:CAMELLIA256-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_options = no_compression
ssl_prefer_server_ciphers = yes
submission_host = 192.168.14.198
syslog_facility = local0
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
valid_chroot_dirs = /storage1
verbose_proctitle = yes
protocol imap {
  mail_max_userip_connections = 30
  mail_plugins = imap_zlib lazy_expunge quota imap_quota acl imap_acl
last_login mail_log notify
}
protocol lda {
  mail_plugins = lazy_expunge acl sieve quota mail_log notify
}
protocol lmtp {
  mail_plugins = lazy_expunge acl sieve quota mail_log notify
}
protocol sieve {
  mail_max_userip_connections = 10
  managesieve_max_compile_errors = 5
  managesieve_max_line_length = 65536
}
protocol pop3 {
  mail_max_userip_connections = 10
  mail_plugins = lazy_expunge acl last_login mail_log notify
}
---

-- 
Harald Leithner

ITronic
Wiedner Hauptstraße 120/5.1, 1050 Wien, Austria
Tel: +43-1-545 0 604
Mobil: +43-699-123 78 4 78
Mail: leithner at itronic.at | itronic.at

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: OpenPGP digital signature
URL: <https://dovecot.org/pipermail/dovecot/attachments/20181123/fc8ec043/attachment-0001.sig>


More information about the dovecot mailing list