my conf in 2.4.4 is done but the same in 2.4.5 i have problem Panic: file quota.c: line 516
2.4.4 (8b687aa65c): /etc/dovecot/dovecot.conf
Pigeonhole version 2.4.4 (3beb331a)
OS: Linux 6.12.107+deb13-amd64 x86_64 Debian 13.6 ext4
Hostname: dovecot.XXXX
dovecot_config_version = 2.4.4 acl_driver = vfile auth_allow_weak_schemes = yes auth_mechanisms = plain login base_dir = /run/dovecot compress_gz_level = 9 debug_log_path = /dev/stdout default_internal_group = vmail default_internal_user = vmail default_login_user = vmail dovecot_storage_version = 2.4.4 first_valid_uid = 5000 info_log_path = /dev/stdout last_valid_uid = 5000 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes lmtp_rcpt_check_quota = yes log_path = /dev/stdout mail_compress_write_method = gz mail_driver = maildir mail_fsync = always mail_gid = vmail mail_home = /var/mail/vmail/home/%{user | domain }/%{user | username } mail_path = /var/mail/vmail/mail/%{user | domain }/%{user | username } mail_plugins = quota acl mail_prefetch_count = 20 mail_privileged_group = vmail mail_uid = vmail postmaster_address = admin@XXXX protocols { imap = yes pop3 = yes lmtp = yes sieve = yes } rejection_reason = Your message to <%t> was automatically rejected:%n%r rejection_subject = Rejected: %s sieve_execute_bin_dir = /usr/local/lib/dovecot/sieve sieve_global_extensions { vnd.dovecot.pipe = yes vnd.dovecot.environment = yes vnd.dovecot.report = yes vnd.dovecot.execute = yes } sieve_pipe_bin_dir = /var/mail/vmail/sieve/global sieve_plugins { sieve_extprograms = yes sieve_imapsieve = yes } sql_driver = mysql ssl = required state_dir = /run/dovecot submission_host = postfix.XXXXX mysql mariadb { dbname = XXXX host = mariadb.XXXXX password = # hidden, use -P to show it user = XXXX } passdb sql { default_password_scheme = SHA512-CRYPT query = SELECT username, password, CONCAT(quota, 'B') AS userdb_quota_storage_size FROM mailbox WHERE username = '%{user}' AND active = '1' } userdb sql { iterate_query = SELECT username FROM mailbox query = SELECT CONCAT('/var/mail/vmail/home/',maildir) AS home, CONCAT('maildir:/var/mail/vmail/mail/',maildir) AS mail, 5000 AS uid, 5000 AS gid, CONCAT(quota, 'B') AS quota_storage_size FROM mailbox WHERE username = '%{user}' AND active = '1' } service director { unix_listener login/director { } fifo_listener login/proxy-notify { } unix_listener director-userdb { } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service submission-login { } protocol lmtp { mail_plugins { sieve = yes quota = yes } postmaster_address = admin@XXXX } acl_sharing_map { dict file { path = /var/lib/dovecot/db/shared-mailboxes.db } } namespace shared { mail_access_groups = vmail mail_driver = maildir mail_index_private_path = ~/shared-index/%{owner_user} mail_path = /var/mail/vmail/mail/%{owner_user | domain}/%{owner_user | username} list = children prefix = Shared/$user/ separator = / subscriptions = yes type = shared } namespace public { mail_access_groups = vmail mail_driver = maildir mail_index_path = /var/mail/vmail/mail/public_index mail_path = /var/mail/vmail/mail/public list = children prefix = Public/ separator = / subscriptions = yes type = public mailbox "" { acl "user=admin@XXXXX" { rights = lrswiptekxa } } mailbox * { acl anyone { rights = lrswiptek } acl "user=XXXX" { rights = -lrswiptek } acl "user=XXXX" { rights = lrswiptekx } } mailbox */* { acl anyone { rights = lrswiptek } acl "user=XXXX" { rights = -lrswiptek } acl "user=XXXX" { rights = lrswiptekx } acl "user=XXXXX" { rights = lrswiptekx } } } namespace inbox { inbox = yes prefix = separator = / subscriptions = yes type = private mailbox Drafts { auto = subscribe special_use = "\\Drafts" } mailbox Sent { auto = create special_use = "\\Sent" } mailbox "Sent Messages" { auto = subscribe special_use = "\\Sent" } mailbox Spam { auto = create special_use = "\\Junk" } mailbox Junk { auto = subscribe special_use = "\\Junk" } mailbox Archive { auto = subscribe special_use = "\\Archive" } mailbox Trash { auto = create special_use = "\\Trash" } mailbox "Deleted Messages" { auto = subscribe special_use = "\\Trash" } } maildir { very_dirty_syncs = yes } service lmtp { executable = lmtp -L process_limit = 200 inet_listener lmtp { port = 24 } } service imap { vsz_limit = 1G } service pop3 { } service auth { unix_listener auth-userdb { group = vmail mode = 0600 user = vmail } inet_listener auth { port = 27 } } service auth-worker { user = vmail } service dict { unix_listener dict { group = vmail mode = 0660 user = vmail } } ssl_server { cert_file = /etc/ssl/private/XXX dh_file = /etc/ssl/private/XXXX key_file = /etc/ssl/private/XXX prefer_ciphers = server } ssl_client { ca_dir = /etc/ssl/certs require_valid_cert = yes } protocol lda { mail_plugins = quota } protocol imap { imap_idle_notify_interval = 30 secs mail_max_userip_connections = 30 mail_plugins { acl = yes imap_acl = yes imap_quota = yes imap_sieve = yes quota = yes mail_compress = yes } } service managesieve-login { inet_listener sieve { port = 4190 } } service managesieve { process_limit = 1024 } quota "User quota" { mail_driver = maildir status_nouser = DUNNO status_overquota = 552 5.2.2 Mailbox is full status_success = DUNNO storage_percentage = 10 quota_warning warn-95 { quota_storage_percentage = 95 execute quota-warning { args = 95 %{user} } } quota_warning warn-80 { quota_storage_percentage = 80 execute quota-warning { args = 80 %{user} } } quota_warning warn-under { quota_storage_percentage = 100 threshold = under execute quota-warning { args = below %{user} } } } service quota-warning { executable = script /usr/local/src/quota-warning.sh group = vmail user = vmail unix_listener quota-warning { group = vmail mode = 0660 user = vmail } } quota_over_status { lazy_check = yes mask = TRUE execute quota-warning { args = mismatch %{user} } } sieve_script before { active_path = /var/mail/vmail/sieve/global/before.sieve driver = file name = before path = /var/mail/vmail/sieve/global type = before } sieve_script personal { active_path = ~/personal.sieve driver = file name = personal path = ~/sieve type = personal } mailbox INBOX { sieve_script spam-to-ham { cause = copy path = /var/mail/vmail/sieve/global/report-ham.sieve type = before } } mailbox Archive { sieve_script sam-to-ham { cause = copy path = /var/mail/vmail/sieve/global/report-ham.sieve type = before } } mailbox Junk { sieve_script ham-to-spam { cause = copy path = /var/mail/vmail/sieve/global/report-spam.sieve type = before } } mailbox Spam { sieve_script ham-to-spam { cause = copy path = /var/mail/vmail/sieve/global/report-spam.sieve type = before } }