Re: Question about doveadm altmove
On Sunday, March 21, 2021 12:16:28 PM AKDT María Arrea wrote: > Hello. > > We are running dovecot 2.3.13. Full doveconf -n output below > > In 2.3.14 Changelog I found this: > > * Remove XZ/LZMA write support. Read support will be removed in future > release. > We are using mdbox + XZ/LZMA for alternate storage (messages older than 2 > weeks are moved to ALT storage via cron job), so we must convert from XZ to > another thing (maybe zstd or bz2). Why can't you just pipe the output of "doveadm altmove" command through an external command to do the XZ/LZMA compression if dovecot no longer supports it internally? From doveadm-altmove (1): > This command can be used with sdbox or mdbox storage to move mails to alternative > storage path when :ALT= is specified for the mail location. And that's set in stone. https://en.wikipedia.org/wiki/XZ_Utils So what are the issues with xz? Security? Crashes or viruses on expanding invalid archives? signature.asc Description: This is a digitally signed message part.
Re: Is it possible to use per user keys with mail-crypt-plugin when using passwd-file backend?
Thanks for your idea, indeed, this is the trick. I added `override_fields = userdb_mail_crypt_private_password=%w userdb_mail_crypt_save_version=2` to the passdb config and it works On Sat, Mar 20, 2021 at 10:43 PM Aki Tuomi wrote: > > > On 20/03/2021 22:43 Davy Landman wrote: > > > > > > I've been reading quite a bit of discussions, the manual and a few often > linked posts about mail-crypt-plugin, but most of them seem to assume a sql > db backing. But if you are using a passwd file userdb, is it possible to > make the per-user-key mode of the mail-crypt-plugin work? > > > > I like the trick of passing in the key via an extra calculated/virtual > column in the query (even allows for hashing the password for example). But > I cannot see how this can work with the passwd backing? > > > > Any pointers would be appreciated. > > > > Kind regards, > > Davy > > > > > > > > passdb { > driver = passwd-file > args = ... > override_fields = userdb_mail_crypt_private_password=%{sha256:password} > } > > might work > > Aki >
Question about doveadm altmove
Hello. We are running dovecot 2.3.13. Full doveconf -n output below In 2.3.14 Changelog I found this: * Remove XZ/LZMA write support. Read support will be removed in future release. We are using mdbox + XZ/LZMA for alternate storage (messages older than 2 weeks are moved to ALT storage via cron job), so we must convert from XZ to another thing (maybe zstd or bz2). Our cron job script: /usr/bin/doveadm -o mdbox_rotate_interval=14d -o mdbox_purge_preserve_alt=no -o mdbox_rotate_size=250m -o zlib_save=xz -o zlib_save_level=9 altmove -u $user My first try to accomplish this conversion, without downtime, is this * Pick an user * Move all ALT messages from that user mailbox to MAIN storage location (doveadm altmove -r) * Use doveadm altmove with zstd to recompress messages to ALT I have picked an user, and tried this: /usr/bin/doveadm altmove -r -u myuser all But it did not work. I expected with that command to move ALL messages from ALT storage to main storage, but 0 messages moved, checked with du -ksh What is the proper way to recompress messages in ALT storage in mdbox? doveconf -n output: auth_cache_negative_ttl = 10 secs auth_cache_size = 10 M auth_cache_ttl = 2 mins auth_master_user_separator = * auth_worker_max_count = 5500 base_dir = /var/run/dovecot/ default_client_limit = 5000 default_process_limit = 6500 disable_plaintext_auth = no imap_capability = +XLIST imap_client_workarounds = tb-extra-mailbox-sep delay-newmail tb-lsub-flags imap_id_log = * imap_max_line_length = 92 k lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_fsync = never mail_gid = entrega mail_home = /buzones_primarios/%2.26Hn/%2.200Hn/%n/home_usuario mail_location = mdbox:/buzones_primarios/%2.26Hn/%2.200Hn/%n:ALT=/buzones_secundarios/%2.26Hn/%2.200Hn/%n:INDEX=/indices_correo/%2.26Hn/%2.200Hn/%n:ITERINDEX mail_log_prefix = "%s(%u)<%{session}>: " mail_max_userip_connections = 2500 mail_plugins = " zlib acl quota virtual" mail_uid = entrega 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 mdbox_rotate_interval = 1 days mdbox_rotate_size = 60 M namespace { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox SPAM { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = } passdb { args = /etc/dovecot/deny deny = yes driver = passwd-file } passdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } passdb { args = /etc/usuario_maestro.txt driver = passwd-file master = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } plugin { acl = vfile lda_mailbox_autosubscribe = yes quota = dict:Cuota de usuario::file:/indices_correo/cuotas/%n quota_rule2 = Trash:storage=+10%% quota_warning = storage=90%% aviso_cuota 90 %u sieve = /buzones_primarios/%2.26Hn/%2.200Hn/%n/home_usuario/dovecot.sieve sieve_dir = /buzones_primarios/%2.26Hn/%2.200Hn/%n/home_usuario/sieve/ sieve_max_redirects = 20 zlib_save = gz zlib_save_level = 1 } pop3_no_flag_updates = yes protocols = pop3 imap sieve service anvil { client_limit = 25000 } service auth { client_limit = 32000 unix_listener auth-master { user = entrega } unix_listener auth-userdb { user = entrega } user = root } service aviso_cuota { executable = script /usr/local/bin/quota-warning.sh unix_listener aviso_cuota { mode = 0666 } user = entrega } service config { process_min_avail = 4 } service imap-login { executable = /usr/libexec/dovecot/imap-login group = dovenull process_min_avail = 2 service_count = 0 vsz_limit = 1 G } service imap { executable = /usr/libexec/dovecot/imap process_limit = 8000 process_min_avail = 12 vsz_limit = 1 G } service managesieve-login { executable = /usr/libexec/dovecot/managesieve-login inet_listener sieve { port = 2000 } process_limit = 2000 vsz_limit = 1 G } service managesieve { executable = /usr/libexec/dovecot/managesieve process_limit = 5000 } service pop3-login { executable = /usr/libexec/dovecot/pop3-login process_limit = 5000 process_min_avail = 2 service_count = 0 vsz_limit = 1 G } service pop3 { executable = /usr/libexec/dovecot/pop3 process_limit = 5000 } service stats { fifo_listener stats-mail { mode = 0600 user = entrega } } ssl_ca = ssl_cert = ssl_cipher_list = ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it userdb { args = /etc/dovecot/dovecot-ldap.conf driver = ldap } userdb { args = /etc/dovecot/dovecot-ldap-userdb.conf driver =
Re: How to use xapian with non-text attachments
Hello, The version packaged on Bullseye is slightly out of date, I have filled a bug report: https://bugs.debian.org/985654 Thanks to the maintainers for their hard work! André On Sun, 2021-03-21 at 10:51 +, André Rodier wrote: > Hello, > > I am developing a hosting platform on Debian Bullseye, with Dovecot > amongst other tools. > > I am trying to use the xapian full test search plugin, but I can see > the attachments are skipped: > > This is what I have in the logs when running the indexing in verbose > mode: > > --- > > doveadm(camille): Info: FTS Xapian: fts_backend_xapian_check_access > doveadm(camille): Info: FTS Xapian: Memory stats : Used = 56 MB, Free > = > 66 MB > doveadm(camille): Info: FTS Xapian: fts_backend_xapian_index_hdr > doveadm(camille): Info: FTS Xapian: fts_backend_xapian_query > doveadm(camille): Info: FTS Xapian: Query= uid:"44" > doveadm(camille): Info: FTS Xapian: Ngram(S) -> 63 items (total 0 KB) > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_unset_build_key > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Message- > Id,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_build_more > doveadm(camille): Info: FTS Xapian: fts_backend_xapian_check_access > doveadm(camille): Info: FTS Xapian: Memory stats : Used = 56 MB, Free > = > 66 MB > doveadm(camille): Info: FTS Xapian: fts_backend_xapian_index_hdr > doveadm(camille): Info: FTS Xapian: fts_backend_xapian_query > doveadm(camille): Info: FTS Xapian: Query= uid:"44" > doveadm(camille): Info: FTS Xapian: Ngram(XMID) -> 4 items (total 0 > KB) > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_unset_build_key > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=X- > Mailer,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'xmailer' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=MIME- > Version,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'mimeversion' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Content- > Type,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'contenttype' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Authentication- > Results,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'authenticationresults' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=X-AV- > Checked,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'xavchecked' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Content- > Type,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'contenttype' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part > (Header=(null),Type=text/plain,Disposition=(null)) > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_build_more > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_unset_build_key > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Content- > Type,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'contenttype' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Content- > Description,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'contentdescription' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Content- > Disposition,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'contentdisposition' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info: FTS Xapian: New part (Header=Content- > Transfer- > Encoding,Type=(null),Disposition=(null)) > doveadm(camille): Info: FTS Xapian: Unknown header (indexing) > 'contenttransferencoding' > doveadm(camille): Info: FTS Xapian: > fts_backend_xapian_update_set_build_key > doveadm(camille): Info:
How to use xapian with non-text attachments
Hello, I am developing a hosting platform on Debian Bullseye, with Dovecot amongst other tools. I am trying to use the xapian full test search plugin, but I can see the attachments are skipped: This is what I have in the logs when running the indexing in verbose mode: --- doveadm(camille): Info: FTS Xapian: fts_backend_xapian_check_access doveadm(camille): Info: FTS Xapian: Memory stats : Used = 56 MB, Free = 66 MB doveadm(camille): Info: FTS Xapian: fts_backend_xapian_index_hdr doveadm(camille): Info: FTS Xapian: fts_backend_xapian_query doveadm(camille): Info: FTS Xapian: Query= uid:"44" doveadm(camille): Info: FTS Xapian: Ngram(S) -> 63 items (total 0 KB) doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_unset_build_key doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Message- Id,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_build_more doveadm(camille): Info: FTS Xapian: fts_backend_xapian_check_access doveadm(camille): Info: FTS Xapian: Memory stats : Used = 56 MB, Free = 66 MB doveadm(camille): Info: FTS Xapian: fts_backend_xapian_index_hdr doveadm(camille): Info: FTS Xapian: fts_backend_xapian_query doveadm(camille): Info: FTS Xapian: Query= uid:"44" doveadm(camille): Info: FTS Xapian: Ngram(XMID) -> 4 items (total 0 KB) doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_unset_build_key doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=X- Mailer,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'xmailer' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=MIME- Version,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'mimeversion' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Content- Type,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'contenttype' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Authentication- Results,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'authenticationresults' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=X-AV- Checked,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'xavchecked' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Content- Type,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'contenttype' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=(null),Type=text/plain,Disposition=(null)) doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_build_more doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_unset_build_key doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Content- Type,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'contenttype' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Content- Description,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'contentdescription' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Content- Disposition,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'contentdisposition' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=Content-Transfer- Encoding,Type=(null),Disposition=(null)) doveadm(camille): Info: FTS Xapian: Unknown header (indexing) 'contenttransferencoding' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_build_key doveadm(camille): Info: FTS Xapian: New part (Header=(null),Type=text/csv,Disposition=attachment; filename="file.csv") doveadm(camille): Info: FTS Xapian: Skipping part of type 'text/csv' and disposition 'attachment; filename="file.csv"' doveadm(camille): Info: FTS Xapian: fts_backend_xapian_update_set_mailbox doveadm(camille): Info: FTS Xapian: Unset box 'INBOX' (c0d4e304584e5460dae3075d7e67) doveadm(camille): Info: FTS Xapian: fts_backend_xapian_oldbox doveadm(camille): Info: