bug: usersfile very weird behaviour regarding path to mbox

2023-03-12 Thread Mikel PĂ©rez
dovecot --version
2.3.20 (80a5ac675d)

having the following setup:

(1)
aioria:/srv/franper/mail # cat /etc/dovecot/users
***snip***
ventas-respa...@franper.net:*snip*:1001:1000::/srv/franper/mail/ventas

(2)
aioria:/srv/franper/mail # ls -lha
total 0
drwxr-x---. 1 1001 1000 238 Mar 13 05:07 .
drwxr-sr-x. 1 1000 1001  62 Oct 24 21:29 ..
***snip***
drwxr-x---. 1 1001 1000 578 Mar  4 18:53 ventas
drwx--. 1 1001 1000 246 Mar 13 05:07 ventas-respaldo

(3)
aioria:/srv/franper/mail # date -u
Mon Mar 13 05:09:06 UTC 2023

where (1) I'm trying to expose the contents of the mbox ventas as
ventas-respa...@franper.net,
well, for some reason it disregards that I'm pointing at
/srv/franper/mail/ventas BUT does take the directory path at
/srv/franper/mail and then constructs a
/srv/franper/mail/ventas-respaldo path, which you can confirm with (2)
showing ventas-respaldo modification date being today's date (3)
because a client (Thunderbird 103 if you're interested but I think
that it's not its fault at all) tried accessing
ventas-respa...@franper.net which should have pointed to
/srv/franper/mail/ventas but instead did this very weird thing.

Nowhere in /etc/dovecot/users do I have a line pointing to
/srv/franper/mail/ventas-respaldo. dovecut just generates it somehow.

dovecot -n:
# 2.3.20 (80a5ac675d): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.20 (149edcf2)
# OS: Linux 6.2.1-1-default x86_64
## (OpenSUSE micro OS)
# Hostname: aioria
disable_plaintext_auth = no
mail_location = maildir:/srv/franper/mail/%n
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables b
ody enotify environment mailbox date index ihave duplicate mime
foreverypart extracttext
namespace inbox {
 inbox = yes
 location =
 mailbox Drafts {
   special_use = \Drafts
 }
 mailbox Junk {
   special_use = \Junk
 }
 mailbox Sent {
   special_use = \Sent
 }
 mailbox "Sent Messages" {
   special_use = \Sent
 }
 mailbox Trash {
   special_use = \Trash
 }
 prefix =
}
passdb {
 args = scheme=CRYPT username_format=%u /etc/dovecot/users
 driver = passwd-file
}
plugin {
 sieve = file:~/sieve;active=~/.dovecot.sieve
}
ssl = required
ssl_cert = <*snip*
ssl_cipher_list =
ALL:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
ssl_key = # hidden, use -P to show it
ssl_options = no_compression
ssl_prefer_server_ciphers = yes
userdb {
 args = username_format=%u /etc/dovecot/users
 driver = passwd-file
}

tell me if you need the sysreport tar and big thanks


Re: dovecot crash with Panic: file istream-header-filter.c: line 663

2023-03-12 Thread Patrick Mansfield
On Sun, Mar 12, 2023 at 11:17:43AM -0700, Patrick Mansfield wrote:
> 
> email client is fairemail version 1.2042a on android, but an older version 
> had the same
> problem.
> 
> I mainly use fairemail to read emails on my phone, and that is working fine 
> but I noticed
> that deleted emails were not actually getting deleted, that it has a bunch of 
> "pending
> operations" it has were not running, and that dovecot has been crashing like 
> this since
> about feb 2 (over a month ago). I can't figure out what changed at that time, 
> but my cert
> says it should have expired over a year ago, but the cert as created 26 
> months ago.
> 
> log files only go back to Feb 5 so just missed that.
> 
> I generated a new cert but it's still crashing (I probably still need to do 
> something on
> the client side or my setup is broken).
> 
> I assume there is something wrong or some "snapshot" thing that's stuck, but 
> since it's
> crashing I can't figure out what the undelysing problem is.

Another thing I noticed:

I think I deleted all emails left in the "Trash" folder outside of imap on Feb 
4 (using
mutt locally) - or that that folder was modified on Feb 4, that is also the 
same timestamp
as my ~/Mail/.imap directory, and is about the time I think it started crashing.

And that these were all dated Feb 4:

$ ls -ld ~/Mail/.imap ~/Mail/Trash ~/Mail/.imap/dovecot.list.index
drwx--. 118 patman patman4096 Feb  4 09:29 /home/patman/Mail/.imap
-rw---1 patman patman   14696 Feb  4 09:11 
/home/patman/Mail/.imap/dovecot.list.index
-rw---1 patman patman 1459841 Feb  4 09:11 /home/patman/Mail/Trash

-- Patrick


dovecot crash with Panic: file istream-header-filter.c: line 663

2023-03-12 Thread Patrick Mansfield
Hi -

I'm hitting a crash in dovecot, I get this logged followed by a terse stack 
trace and
systemd-coredump details not included here - full gdb stack trace and more 
details are
further down:


Mar 12 10:32:26 goffin dovecot[8269]: imap-login: Login: user=, 
method=PLAIN, rip=192.168.1.4, lip=192.168.1.1, mpid=8477, TLS, 
session=<5RvGYLf2RrDAqAEE>
Mar 12 10:32:26 goffin audit[8304]: USER_AUTH pid=8304 uid=0 auid=4294967295 
ses=4294967295 subj=kernel msg='op=PAM:authentication 
grantors=pam_usertype,pam_localuser,pam_unix acct="patman" 
exe="/usr/libexec/dovecot/auth" hostname=192.168.1.4 addr=192.168.1.4 
terminal=dovecot res=success'
Mar 12 10:32:26 goffin audit[8304]: USER_ACCT pid=8304 uid=0 auid=4294967295 
ses=4294967295 subj=kernel msg='op=PAM:accounting 
grantors=pam_unix,pam_localuser acct="patman" exe="/usr/libexec/dovecot/auth" 
hostname=192.168.1.4 addr=192.168.1.4 terminal=dovecot res=success'
Mar 12 10:32:26 goffin dovecot[8269]: imap-login: Login: user=, 
method=PLAIN, rip=192.168.1.4, lip=192.168.1.1, mpid=8479, TLS, 
session=
Mar 12 10:32:27 goffin dovecot[8269]: imap(patman)<8452>: 
Panic: file istream-header-filter.c: line 663 
(i_stream_header_filter_snapshot_free): assertion failed: 
(snapshot->mstream->snapshot_pending)
Mar 12 10:32:27 goffin audit[8452]: ANOM_ABEND auid=4294967295 uid=1000 
gid=1000 ses=4294967295 subj=kernel pid=8452 comm="imap" 
exe="/usr/libexec/dovecot/imap" sig=6 res=1


email client is fairemail version 1.2042a on android, but an older version had 
the same
problem.

I mainly use fairemail to read emails on my phone, and that is working fine but 
I noticed
that deleted emails were not actually getting deleted, that it has a bunch of 
"pending
operations" it has were not running, and that dovecot has been crashing like 
this since
about feb 2 (over a month ago). I can't figure out what changed at that time, 
but my cert
says it should have expired over a year ago, but the cert as created 26 months 
ago.

log files only go back to Feb 5 so just missed that.

I generated a new cert but it's still crashing (I probably still need to do 
something on
the client side or my setup is broken).

I assume there is something wrong or some "snapshot" thing that's stuck, but 
since it's
crashing I can't figure out what the undelysing problem is.

Thanks for any help.

More details:


# dovecot --version
2.3.20 (80a5ac675d)

Running with up to date fedora core 37.



# dovecot -n
# 2.3.20 (80a5ac675d): /etc/dovecot/dovecot.conf
# OS: Linux 6.1.15-200.fc37.x86_64 x86_64 Fedora release 37 (Thirty Seven)
# Hostname: specu
mail_location = mbox:~/Mail:INBOX=~/Mail/inbox
mbox_write_locks = fcntl
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox "Sent Messages" {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix =
}
passdb {
  driver = pam
}
ssl = required
ssl_cert =  for more, q to quit, c to continue without paging-- 
#0  __pthread_kill_implementation (threadid=, 
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO 
(ret) : 0;  

(gdb) bt
#0  __pthread_kill_implementation (threadid=, 
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x7fa3840afec3 in __pthread_kill_internal (signo=6, threadid=) at pthread_kill.c:78
#2  0x7fa38405fa76 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/posix/raise.c:26
#3  0x7fa3840497fc in __GI_abort () at abort.c:79
#4  0x7fa3847541e3 in default_fatal_finish (status=0, type=LOG_TYPE_PANIC) 
at ../lib/failures.c:465
#5  fatal_handler_real (ctx=, format=, 
args=) at ../lib/failures.c:477
#6  0x7fa3847ff5f7 in i_internal_fatal_handler (ctx=, 
format=, args=) at ../lib/failures.c:879
#7  0x7fa3847540e1 in i_panic (format=0x7fa384844040 "file %s: line %d 
(%s): assertion failed: (%s)") at ../lib/failures.c:530
#8  0x7fa38474fdf8 in i_stream_header_filter_snapshot_free 
(_snapshot=) at ../lib-mail/istream-header-filter.c:663
#9  i_stream_header_filter_snapshot_free (_snapshot=0x56150ea92250) at 
../lib-mail/istream-header-filter.c:655
#10 0x7fa38480cb6c in i_stream_snapshot_free 
(_snapshot=_snapshot@entry=0x56150ea9d2a0) at ../lib/istream.c:253
#11 0x7fa38480cc14 in i_stream_unref (stream=0x56150ea9d338) at 
../lib/istream.c:66
#12 0x7fa3847dd179 in message_parse_header_deinit 
(_ctx=_ctx@entry=0x56150ea9d0c8) at ../lib-mail/message-header-parser.c:52
#13 0x7fa3847deea1 in preparsed_parse_next_header (ctx=0x56150ea9d050, 
block_r=0x7ffc8222ca70) at ../lib-mail/message-parser-from-parts.c:310