Re: Where does sieve store its "vacation" state?
> On 21/01/2021 00:02 Ron Garret wrote: > > > Pigeonhole/sieve has a “vacation” feature that keeps track of which addresses > it has sent messages to already so it doesn’t send too many. The state for > this feature seems to survive a dovecot restart, so it must be persistent > somewhere and not just stored in RAM. But I don’t recall configuring any > place where that state would reside. So where is it? > > rg There is a file called .dovecot-lda.dupes. It's documented in https://doc.dovecot.org/configuration_manual/sieve/usage/#sieve-usage-vacation-auto-reply Aki
Re: Sieve fileinto :create is failing
> On 20/01/2021 22:37 Ron Garret wrote: > > > On Jan 20, 2021, at 12:32 PM, Piotr Auksztulewicz wrote: > > > On Wed, Jan 20, 2021 at 12:12:40PM -0800, Ron Garret wrote: > >> 1. Is there any documentation about what “requires” are needed > >> to access various features? The only source I’ve found for this is > >> reverse-engineering examples. > > > > Sieve RFCs. > > I was afraid of that :-( > Or if you don't feel like trolling the sieve RFCs too much, you can also start with https://doc.dovecot.org/configuration_manual/sieve/ There is also https://wiki2.dovecot.org/Pigeonhole/Sieve/ which has this handy list of all recognized extensions. Aki
Mail crypt plugin with HSM
Hello Dovecot developers, I'm using a mail-crypt plugin to perform encryption at rest using per user keys encrypted with their password. Great plugin and I really appreciate it's continuous development and improvement. I have a question regarding mail-crypt keys being stored in HSM. Is it possible? I'm almost sure I've seen some discussion about usage of PKCS#11 in mail-crypt but can't find it in the mailing list. Please advise. Thanks! - Dima
Where does sieve store its "vacation" state?
Pigeonhole/sieve has a “vacation” feature that keeps track of which addresses it has sent messages to already so it doesn’t send too many. The state for this feature seems to survive a dovecot restart, so it must be persistent somewhere and not just stored in RAM. But I don’t recall configuring any place where that state would reside. So where is it? rg
Re: Sieve fileinto :create is failing
On Jan 20, 2021, at 12:32 PM, Piotr Auksztulewicz wrote: > On Wed, Jan 20, 2021 at 12:12:40PM -0800, Ron Garret wrote: >> 1. Is there any documentation about what “requires” are needed >> to access various features? The only source I’ve found for this is >> reverse-engineering examples. > > Sieve RFCs. I was afraid of that :-( > plugin { >sieve_user_log = > } > > It's per-user and written with logged-in user rights, so you probably > wan't be able to put it in /var/log unless you use some clever permissions > setup, depending on how you run imap processes. I don't know if it > supports %u expansion or something. I’m only using global sieve scripts, but that’s a good point. Thanks! rg
Re: Sieve fileinto :create is failing
On Wed, Jan 20, 2021 at 12:12:40PM -0800, Ron Garret wrote: > 1. Is there any documentation about what “requires” are needed > to access various features? The only source I’ve found for this is > reverse-engineering examples. Sieve RFCs. At least this is what I have used to learn sieve. Each extension to basic language needs a specific keyword in require statement. List of supported extensions with links to RFCs is on the wiki: https://wiki.dovecot.org/Pigeonhole/Sieve > 2. Is there a way to change the location of the sieve logfile that > gets created when a sieve script produces an error? Right now it ends > up in the same directory as the script, but I’d prefer to have in > /var/log along with everything else. plugin { sieve_user_log = } It's per-user and written with logged-in user rights, so you probably wan't be able to put it in /var/log unless you use some clever permissions setup, depending on how you run imap processes. I don't know if it supports %u expansion or something. -- Piotr "Malgond" Auksztulewicz firstn...@lastname.net
Re: Sieve fileinto :create is failing
I think I figured out what happened. I think I edited the .sieve file but forgot to save it, so I was actually running an old version that did not have “mailbox” in the require statement. On which note, two more questions: 1. Is there any documentation about what “requires” are needed to access various features? The only source I’ve found for this is reverse-engineering examples. 2. Is there a way to change the location of the sieve logfile that gets created when a sieve script produces an error? Right now it ends up in the same directory as the script, but I’d prefer to have in /var/log along with everything else. rg On Jan 19, 2021, at 11:02 PM, Aki Tuomi wrote: > >> On 20/01/2021 08:46 Ron Garret wrote: >> >> >> On Jan 19, 2021, at 10:40 PM, Aki Tuomi wrote: >> >>> On 19/01/2021 19:45 Ron Garret wrote: I’m trying to get a sieve script to move messages into a folder, and to create that folder if it doesn’t already exist. I’m following the example code at: https://doc.dovecot.org/configuration_manual/sieve/examples/ and doing this: > require ["fileinto", "mailbox”]; > … > fileinto :create “myfolder”; > … That results in this error in the log file: error: unknown tagged argument ':create' for the fileinto command What am I doing wrong? rg >>> >>> Which version of dovecot/pigeonhole is this? >> >> I’m not sure. How would I find out? I just installed it on Debian using >> apt. >> >>> I tested this with 2.3.13 and it worked just fine. Are those quotes mangled >>> by your mailer or do you really have some fancy quotes in your sieve script? >> >> Not sure what you mean by “fancy quotes”. The quotes I have (and the ones I >> see in your quoted message) are regular ascii double quotes, code point 0x22. >> >> But I think it is actually working now. I didn’t change anything, it just >> seems to have spontaneously started working. Maybe sieve was working off an >> earlier version of the script that it had cached? >> >> rg > > Ok. Sieve (re)compiles scripts when it sees that they change (comparing file > dates). It does not cache scripts in memory. > > Aki
Re: Dovecot and mutt
On 20 Jan 2021, at 07:20, Erwan David wrote: > On Wed, Jan 20, 2021 at 01:58:38PM CET, "@lbutlr" said: >> On 20 Jan 2021, at 04:33, Piotr Auksztulewicz wrote: >>> On Wed, Jan 20, 2021 at 04:27:11AM -0700, @lbutlr wrote: set imap_pass = "lasH-hds[er$asd" # Not a real password >>> >>> Use single quotes around the password. Double quotes make $asd to be >>> interpreted as shell variable and replaced with (most likely) empty >>> string, so you get a shortened passwort in effect. >> >> This worked, thank you. >> >> Also… gr. Who though expansion inside a password string was a clever >> idea and can I introduce them to a clue bat? :p > > set imap_pass = $smtp_pass seems a good usecase. But imap_pass = "$smtp_pass" seems like a silly use case. >>> PS. Also a mutt lover :-) >> With the amount of HTML mail out there I really don't understand how people >> are able to use it anymore. Now, if I could get a 'stip html down to plain >> text' side function to work… > In my .mailcap I have > text/html; w3m -I %{charset} -T text/html; copiousoutput; Interesting, I do not know about .mailcap (I use mutt only to send some automated mails ro users who want the data formatted in an HTML table). > and in my .muttrc : > auto_view text/html Maybe that is what he does. I certainly looks very readable (which mutt is not, as a general rule, when viewing HTML mail). It does seem to hide the links entirely, so you cannot, I assume click on any "Click here to confirm" links or whatever. Still, does look quite workable. -- Be careful what you wish for. You never know who will be listening. Or what, for that matter.
Re: Dovecot and mutt
On Wed, Jan 20, 2021 at 01:58:38PM CET, "@lbutlr" said: > On 20 Jan 2021, at 04:33, Piotr Auksztulewicz wrote: > > On Wed, Jan 20, 2021 at 04:27:11AM -0700, @lbutlr wrote: > >> set imap_pass = "lasH-hds[er$asd" # Not a real password > > > > Use single quotes around the password. Double quotes make $asd to be > > interpreted as shell variable and replaced with (most likely) empty > > string, so you get a shortened passwort in effect. > > This worked, thank you. > > Also… gr. Who though expansion inside a password string was a clever idea > and can I introduce them to a clue bat? :p set imap_pass = $smtp_pass seems a good usecase. > > PS. Also a mutt lover :-) > > With the amount of HTML mail out there I really don't understand how people > are able to use it anymore. Now, if I could get a 'stip html down to plain > text' side function to work… In my .mailcap I have text/html; w3m -I %{charset} -T text/html; copiousoutput; and in my .muttrc : auto_view text/html -- Erwan
Mutt usability [was: Dovecot and mutt]
On Wed, Jan 20, 2021 at 05:58:38AM -0700, @lbutlr wrote: > Also… gr. Who though expansion inside a password string was a > clever idea and can I introduce them to a clue bat? :p Well, this is just the result of a generic config file parser, every statement gets processed the same way. I guess the mutt author did not want to create special cases for some parameters like password, and everything is clearly stated in the manual. It is also quite intuitive for Unix/sh people that '$xxx' is different from "$xxx". > > PS. Also a mutt lover :-) > > With the amount of HTML mail out there I really don't understand how > people are able to use it anymore. Now, if I could get a 'stip html > down to plain text' side function to work… Just install a text-based browser, there are several: lynx, links, w3m and more. I prefer w3m. Make sure mutt + metamail are configured properly and mutt will launch the browser. Most legitimate HTML email is just pure text, just slightly marked up if at all. If you get mostly-pictures HTML message, it's 99.99% spam. Most HTML emails have a plain text alternative and it will be displayed instead. Some emails have empty plain text alternative, it is a small nuisance then, you need to hit 'v' to see the MIME parts and navigate to HTML one. Anyway, I still find text access very useful to check mails quickly without having to fire up some slow beast such as Thunderbird, or while working from some firewalled environment - it is often easy to SSH out. Hint: run your sshd also on port 443. If that doesn't work, run stunnel on top. It didn't work for me only once, when one company enabled TLS hijacking on the firewall temporarily (probably by mistake), stunnel then warned me about wrong TLS cert :-) Also I hate webmail, and I haven't installed any on my mail server, so I need mutt, badly. -- Piotr "Malgond" Auksztulewicz firstn...@lastname.net
Re: Dovecot and mutt
On Wed, 20 Jan 2021 at 15:59, @lbutlr wrote: > On 20 Jan 2021, at 04:33, Piotr Auksztulewicz wrote: > > On Wed, Jan 20, 2021 at 04:27:11AM -0700, @lbutlr wrote: > >> set imap_pass = "lasH-hds[er$asd" # Not a real password > > > > Use single quotes around the password. Double quotes make $asd to be > > interpreted as shell variable and replaced with (most likely) empty > > string, so you get a shortened passwort in effect. > > This worked, thank you. > > Also… gr. Who though expansion inside a password string was a clever > idea and can I introduce them to a clue bat? :p > > > PS. Also a mutt lover :-) > > With the amount of HTML mail out there I really don't understand how > people are able to use it anymore. Now, if I could get a 'stip html down to > plain text' side function to work… > > Someone using mutt in 2021 must be a hater of all forms of GUI :-) -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", grep ^[^#] :-)
Re: Dovecot and mutt
On 20 Jan 2021, at 04:33, Piotr Auksztulewicz wrote: > On Wed, Jan 20, 2021 at 04:27:11AM -0700, @lbutlr wrote: >> set imap_pass = "lasH-hds[er$asd" # Not a real password > > Use single quotes around the password. Double quotes make $asd to be > interpreted as shell variable and replaced with (most likely) empty > string, so you get a shortened passwort in effect. This worked, thank you. Also… gr. Who though expansion inside a password string was a clever idea and can I introduce them to a clue bat? :p > PS. Also a mutt lover :-) With the amount of HTML mail out there I really don't understand how people are able to use it anymore. Now, if I could get a 'stip html down to plain text' side function to work… script execution error (#127): sh: line 3: fortune: command not found
Re: Dovecot and mutt
On Wed, Jan 20, 2021 at 04:27:11AM -0700, @lbutlr wrote: > set imap_pass = "lasH-hds[er$asd" # Not a real password Use single quotes around the password. Double quotes make $asd to be interpreted as shell variable and replaced with (most likely) empty string, so you get a shortened passwort in effect. PS. Also a mutt lover :-) -- Piotr "Malgond" Auksztulewicz firstn...@lastname.net
Re: Dovecot and mutt
> On 20/01/2021 13:27 @lbutlr wrote: > > > I have a user who is unable to use mutt to login. I tested and sent a muttrc > that worked for me and all he needed to do was put in his username and > password. > > Which failed. > > After some back and forth, I figured out that his password contains a '$' and > a '[' in it, and it seems like one of, or both, of these characters may be > the issue. Is that expected? The account and password work properly via iOS > and macOS mail, so the issue does't appear to be dovecot, but I find it very > odd that mutt would have a glaring issue like this, so I am wondering if > there is something else that I need to do. > > Mutt 2.0.4 (2020-12-30) > > The configuration looks like this: > > # Imap settings > set imap_user = "u...@example.com" > set imap_pass = "lasH-hds[er$asd" # Not a real password > > # Smtp settings > set smtp_url = "smtps://mail.covisp.net:587" > set smtp_pass = "lasHhds[er$asd" > > # Remote mail folders > set folder = "imaps://mail.covisp.net:993" > set spoolfile = "+INBOX" > set postponed = "+/Drafts" > set record = "+/Sent Mail" > set trash = "+/Trash" > > -- mutt treats them as variables most likely. Have you tried adding \ ? Aki
Dovecot and mutt
I have a user who is unable to use mutt to login. I tested and sent a muttrc that worked for me and all he needed to do was put in his username and password. Which failed. After some back and forth, I figured out that his password contains a '$' and a '[' in it, and it seems like one of, or both, of these characters may be the issue. Is that expected? The account and password work properly via iOS and macOS mail, so the issue does't appear to be dovecot, but I find it very odd that mutt would have a glaring issue like this, so I am wondering if there is something else that I need to do. Mutt 2.0.4 (2020-12-30) The configuration looks like this: # Imap settings set imap_user = "u...@example.com" set imap_pass = "lasH-hds[er$asd" # Not a real password # Smtp settings set smtp_url = "smtps://mail.covisp.net:587" set smtp_pass = "lasHhds[er$asd" # Remote mail folders set folder = "imaps://mail.covisp.net:993" set spoolfile = "+INBOX" set postponed = "+/Drafts" set record = "+/Sent Mail" set trash = "+/Trash" --
Re: Timeout/Event leak
Version 2.3.13 (89f716dc2). I have never seen them before. Lefteris On 20 Jan 2021, at 8:33 AM, Aki Tuomi wrote: What version is this? But this was probably caused by aborted authentication attempts when you restarted dovecot. Aki > On 19/01/2021 20:45 Lefteris Tsintjelis wrote: > > > Hi, any idea what all this is? > > Jan 19 18:23:00 master: Warning: Killed with signal 15 (by pid=33729 > uid=0 code=kill) > Jan 19 18:23:03 config: Warning: Killed with signal 15 (by pid=1 uid=0 > code=kill) > Jan 19 18:23:03 stats: Warning: Killed with signal 15 (by pid=1 uid=0 > code=kill) > Jan 19 18:23:03 auth: Warning: Killed with signal 15 (by pid=1 uid=0 > code=kill) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Timeout leak: 0x1059ce0 > (auth-request-handler.c:617) > Jan 19 18:23:03 auth: Warning: Event 0x120f0020 leaked > (parent=0x120ecc20): auth-request.c:621 > Jan 19 18:23:03 auth: Warning: Event 0x120ece20 leaked > (parent=0x120ecc20): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x120ecc20 leaked > (parent=0x120ca620): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x120eca20 leaked > (parent=0x120ec620): auth-request.c:621 > Jan 19 18:23:03 auth: Warning: Event 0x120ec820 leaked > (parent=0x120ec620): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x120ec620 leaked > (parent=0x120b8620): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x120ec220 leaked > (parent=0x1207ee20): auth-request.c:667 > Jan 19 18:23:03 auth: Warning: Event 0x120ec020 leaked > (parent=0x1207ee20): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x1207ee20 leaked > (parent=0x12087220): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x1207ec20 leaked > (parent=0x1207e820): auth-request.c:667 > Jan 19 18:23:03 auth: Warning: Event 0x1207ea20 leaked > (parent=0x1207e820): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x1207e820 leaked > (parent=0x12087220): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x1207e620 leaked > (parent=0x1207e220): auth-request.c:621 > Jan 19 18:23:03 auth: Warning: Event 0x1207e420 leaked > (parent=0x1207e220): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x1207e220 leaked > (parent=0x120ca620): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x1207e020 leaked > (parent=0x120ada20): auth-request.c:621 > Jan 19 18:23:03 auth: Warning: Event 0x120adc20 leaked > (parent=0x120ada20): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x120ada20 leaked > (parent=0x120ad820): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x120ad820 leaked > (parent=0x12087220): auth-client-connection.c:338 > Jan 19 18:23:03 auth: Warning: Event 0x120ad220 leaked > (parent=0x120b8a20): auth-request.c:621 > Jan 19 18:23:03 auth: Warning: Event 0x120ad020 leaked > (parent=0x120b8a20): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x120b8a20 leaked > (parent=0x120ca620): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x120b8420 leaked > (parent=0x120cac20): auth-request.c:621 > Jan 19 18:23:03 auth: Warning: Event 0x120cae20 leaked > (parent=0x120cac20): auth-request.c:111 > Jan 19 18:23:03 auth: Warning: Event 0x120cac20 leaked > (parent=0x120caa20): auth-request.c:110 > Jan 19 18:23:03 auth: Warning: Event 0x120caa20 leaked > (parent=0x12087220): auth-client-connection.c:338 > > Thank you