Changing the name of a compressed file
Peter West
lists at pbw.id.au
Sat Jun 10 12:51:36 EEST 2017
Well spotted.
In my first attempt, the configuration I originally posted was at the end of my dovecot.conf file, and I was not including the conf.d configuration files. Preceding that was my lmtp protocol cong.
protocol lmtp {
postmaster_address = postmaster
# Space separated list of plugins to load (default is global mail_plugins).
mail_plugins = $mail_plugins sieve
}
>>>>
>>>> mail_plugins = $mail_plugins zlib
>>>>
>>>> plugin {
>>>> zlib_save_level = 6
>>>> zlib_save = xz
>>>> }
>>>>
The doveconf -n associated with this is as follows:
01 # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
02 # Pigeonhole version 0.4.13 (7b14904)
03 # OS: Linux 4.9.15-x86_64-linode81 x86_64 Ubuntu 16.04.2 LTS
04 auth_mechanisms = plain login
05 log_timestamp = "%Y-%m-%d %H:%M:%S "
06 mail_gid = vmail
07 mail_home = maildir:/var/vmail/%d/%n
08 mail_location = maildir:~/Maildir
09
10 mail_privileged_group = vmail
11 mail_uid = vmail
12 managesieve_notify_capability = mailto
13 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 ihave
14 namespace inbox {
15 inbox = yes
16 location =
17 mailbox Archive {
18 auto = subscribe
19 special_use = \Archive
20 }
21 mailbox Drafts {
22 auto = subscribe
23 special_use = \Drafts
24 }
25 mailbox Sent {
26 auto = subscribe
27 special_use = \Sent
28 }
29 mailbox Spam {
30 auto = subscribe
31 special_use = \Junk
32 }
33 mailbox Trash {
34 auto = subscribe
35 special_use = \Trash
36 }
37 prefix =
38 }
39 passdb {
40 args = /etc/dovecot/dovecot-sql.conf.ext
41 driver = sql
42 }
43 plugin {
44 sieve = ~/.dovecot.sieve
45 sieve_dir = ~/sieve
46 zlib_save = bz2
47 zlib_save_level = 6
48 }
49 protocols = " imap lmtp sieve"
50 service auth {
51 unix_listener /var/spool/postfix/private/dovecot-auth {
52 group = postfix
53 mode = 0660
54 user = postfix
55 }
56 user = root
57 }
58 service lmtp {
59 unix_listener /var/spool/postfix/private/dovecot-lmtp {
60 group = postfix
61 mode = 0600
62 user = postfix
63 }
64 }
65 ssl_ca = </etc/ssl/repeal18c.today/fullchain.pem
66 ssl_cert = </etc/ssl/repeal18c.today/cert.pem
67 ssl_cipher_list = ALL:!LOW:!SSLv2:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
68 ssl_key = </etc/ssl/repeal18c.today/privkey.pem
69 userdb {
70 args = /etc/dovecot/dovecot-sql.conf.ext
71 driver = sql
72 }
73 protocol imap {
74 imap_client_workarounds = delay-newmail
75 mail_max_userip_connections = 100
76 }
77 protocol lmtp {
78 mail_plugins = " sieve zlib"
79 postmaster_address = postmaster
80 }
(The blank line at 09 I have inserted.)
Note the mail_plugins for protocol lmtp at 77.
I changed the protocol lmtp settings in dovecot.conf as follows:
protocol lmtp {
postmaster_address = postmaster
mail_plugins = $mail_plugins sieve zlib
}
and I removed this line:
>>>> mail_plugins = $mail_plugins zlib
The resulting doveconf -n is:
01 # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
02 # Pigeonhole version 0.4.13 (7b14904)
03 # OS: Linux 4.9.15-x86_64-linode81 x86_64 Ubuntu 16.04.2 LTS
04 auth_mechanisms = plain login
05 log_timestamp = "%Y-%m-%d %H:%M:%S "
06 mail_gid = vmail
07 mail_home = maildir:/var/vmail/%d/%n
08 mail_location = maildir:~/Maildir
09 mail_plugins = " zlib"
10 mail_privileged_group = vmail
11 mail_uid = vmail
12 managesieve_notify_capability = mailto
13 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 ihave
14 namespace inbox {
15 inbox = yes
16 location =
17 mailbox Archive {
18 auto = subscribe
19 special_use = \Archive
20 }
21 mailbox Drafts {
22 auto = subscribe
23 special_use = \Drafts
24 }
25 mailbox Sent {
26 auto = subscribe
27 special_use = \Sent
28 }
29 mailbox Spam {
30 auto = subscribe
31 special_use = \Junk
32 }
33 mailbox Trash {
34 auto = subscribe
35 special_use = \Trash
36 }
37 prefix =
38 }
39 passdb {
40 args = /etc/dovecot/dovecot-sql.conf.ext
41 driver = sql
42 }
43 plugin {
44 sieve = ~/.dovecot.sieve
45 sieve_dir = ~/sieve
46 zlib_save = bz2
47 zlib_save_level = 6
48 }
49 protocols = " imap lmtp sieve"
50 service auth {
51 unix_listener /var/spool/postfix/private/dovecot-auth {
52 group = postfix
53 mode = 0660
54 user = postfix
55 }
56 user = root
57 }
58 service lmtp {
59 unix_listener /var/spool/postfix/private/dovecot-lmtp {
60 group = postfix
61 mode = 0600
62 user = postfix
63 }
64 }
65 ssl_ca = </etc/ssl/repeal18c.today/fullchain.pem
66 ssl_cert = </etc/ssl/repeal18c.today/cert.pem
67 ssl_cipher_list = ALL:!LOW:!SSLv2:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
68 ssl_key = </etc/ssl/repeal18c.today/privkey.pem
69 userdb {
70 args = /etc/dovecot/dovecot-sql.conf.ext
71 driver = sql
72 }
73 protocol imap {
74 imap_client_workarounds = delay-newmail
75 mail_max_userip_connections = 100
76 }
77 protocol lmtp {
78 mail_plugins = " sieve"
79 postmaster_address = postmaster
80 }
Note line 09, and the modified value of mail_plugins at 78. These are the only changes in doveconf -n.
The result is a reversal of the previous situation.
Received messages in /var/vmail/<host>/<username>/cur are compressed;
sent messages in /var/vmail/<host>/<username>/.Sent/cur are not compressed.
I assume that I need both specifications.
--
Peter West
pbw at pbw.id.au
And the great throng heard him gladly.
> On 10 Jun 2017, at 6:50 pm, Aki Tuomi <aki.tuomi at dovecot.fi> wrote:
>
> Please check that you are not overwriting mail plugins for lmtp. Or post your doveconf -n.
>
> Aki
>
>> On June 10, 2017 at 11:10 AM Peter West <lists at pbw.id.au> wrote:
>>
>>
>> Not sure what you mean. I’m using lmtp to send messages to Dovecot from Postfix.
>>
>>> On 10 Jun 2017, at 6:08 pm, Aki Tuomi <aki.tuomi at dovecot.fi> wrote:
>>>
>>> What's your LDA?
>>>
>>> Aki
>>>
>>>> On June 10, 2017 at 11:01 AM Peter West <lists at pbw.id.au> wrote:
>>>>
>>>>
>>>> Thanks for that Aki.
>>>>
>>>> Follow-up question. I tried to initiate compression by adding
>>>>
>>>> mail_plugins = $mail_plugins zlib
>>>>
>>>> plugin {
>>>> zlib_save_level = 6
>>>> zlib_save = xz
>>>> }
>>>>
>>>>
>>>> to dovecot.conf. I restarted dovecot and sent one message to the server, and one message from the server. Neither was compressed. I changed the save type to
>>>>
>>>> zlib_save = bz2
>>>>
>>>> and repeated. This time the message received (in /var/vmail/<host>/<username>/cur) was not compressed, but the message in /var/vmail/<host>/<username>/.Sent/cur was bzip2 compressed.
>>>>
>>>> Why is the received mail not being compressed? Is this the point of the discussion about compressing old mails?
>>>>
>>>>
>>>>> On 10 Jun 2017, at 4:43 pm, Aki Tuomi <aki.tuomi at dovecot.fi> wrote:
>>>>>
>>>>>
>>>>>> On June 10, 2017 at 5:58 AM Peter West <lists at pbw.id.au> wrote:
>>>>>>
>>>>>>
>>>>>> Concerning Maildir, the wiki page on compression has this:
>>>>>>
>>>>>> All mails must have ,S=<size> in their filename where <size> contains the original uncompressed mail size, otherwise there will be problems with quota calculation as well as other potential random failures. Note that if the filename doesn’t contain the ,S=<size> before compression, adding it afterwards changes the base filename and thus the message UID. The safest thing to do is simply to not compress such files.
>>>>>>
>>>>>> Further down on the same page is this:
>>>>>>
>>>>>> If the file does exist, rename() (mv) the compressed file over the original file.
>>>>>> • Dovecot can now read the file, but to avoid compressing it again on the next run, you'll probably want to rename it again to include e.g. a "Z" flag in the file name to mark that it was compressed (e.g. 1223212411.M907959P17184.host,S=3271:2,SZ).
>>>>>>
>>>>>> These comments seem to contradict each. Or is there a difference between adding the size specifier to the filename and adding a Z flag to the end of the file name?
>>>>>>
>>>>>> --
>>>>>> Peter West
>>>>>> pbw at pbw.id.au
>>>>>> And the great throng heard him gladly.
>>>>>>
>>>>>
>>>>> Keyword is 'base filename'. From the wiki, "The standard filename definition is: "<base filename>:2,<flags>".". Z is a flag.
>>>>>
>>>>> Aki
>>>>
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 235 bytes
Desc: Message signed with OpenPGP
URL: <http://dovecot.org/pipermail/dovecot/attachments/20170610/5c3de469/attachment.sig>
More information about the dovecot
mailing list