Re: Where does sieve store its "vacation" state?

2021-01-20 Thread Aki Tuomi


> 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

2021-01-20 Thread Aki Tuomi


> 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

2021-01-20 Thread Dima Kovalyov
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?

2021-01-20 Thread Ron Garret
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

2021-01-20 Thread Ron Garret


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

2021-01-20 Thread Piotr Auksztulewicz
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

2021-01-20 Thread Ron Garret
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

2021-01-20 Thread @lbutlr
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

2021-01-20 Thread Erwan David
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]

2021-01-20 Thread Piotr Auksztulewicz
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

2021-01-20 Thread Odhiambo Washington
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

2021-01-20 Thread @lbutlr
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

2021-01-20 Thread Piotr Auksztulewicz
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

2021-01-20 Thread Aki Tuomi


> 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

2021-01-20 Thread @lbutlr
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

2021-01-20 Thread Lefteris Tsintjelis
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