On Sat, Oct 10, 2020 at 12:08 PM David Morsberger <david@mmpcrofton.com> wrote:
I wish someone could help me. I’m trying to track auth in the lmtp code. Nice code base but I’m having trouble tracking the call stack for the error

Sent from my iPhone

> On Oct 9, 2020, at 08:00, David Morsberger <david@mmpcrofton.com> wrote:
>
> Alexander,
>
> Do you see anything wrong in my config?
>
> David
>
> Sent from my iPhone
>
>> On Oct 7, 2020, at 18:19, David Morsberger <david@mmpcrofton.com> wrote:
>> On 2020-10-07 12:43, Alexander Dalloz wrote:
>>>>> Am 07.10.2020 um 18:20 schrieb david@mmpcrofton.com:
>>>>> Any ideas on how to resolve the Userdb connect/lookup problem? My users are pinging me on Sieve support.
>>>>> Thanks,
>>>>> David
>>> Provide a full output of "doveconf -n"?
>>> Alexander
>> Alexandar,
>> Thanks and here you go.
>> # 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf
>> # Pigeonhole version 0.5.7.2 ()
>> # OS: Linux 5.4.0-48-generic x86_64 Ubuntu 20.04.1 LTS
>> # Hostname: mmp-mail.mmpcrofton.com
>> base_dir = /var/run/dovecot/
>> first_valid_uid = 150
>> login_greeting = Dovecot ready.
>> mail_gid = 150
>> mail_location = mbox:~/mail:INBOX=/var/mail/%u
>> mail_privileged_group = mail
>> mail_uid = 150
>> 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 index ihave duplicate mime foreverypart extracttext
>> namespace inbox {
>> inbox = yes
>> location =
>> mailbox Drafts {
>> auto = subscribe
>> special_use = \Drafts
>> }
>> mailbox Junk {
>> auto = subscribe
>> special_use = \Junk
>> }
>> mailbox Sent {
>> auto = subscribe
>> special_use = \Sent
>> }
>> mailbox "Sent Messages" {
>> auto = no
>> special_use = \Sent
>> }
>> mailbox Spam {
>> auto = create
>> special_use = \Junk
>> }
>> mailbox Trash {
>> auto = subscribe
>> special_use = \Trash
>> }
>> prefix =
>> }
>> passdb {
>> args = /etc/dovecot/dovecot-sql.conf.ext
>> driver = sql
>> }
>> plugin {
>> sieve = file:/home/mail/rules/%u/;active=/home/mail/rules/%u/.dovecot.sieve
>> sieve_dir = /home/mail/rules/%u
>> }
>> protocols = " imap lmtp sieve pop3 sieve"
>> service auth {
>> unix_listener /var/spool/postfix/private/auth {
>> group = postfix
>> mode = 0660
>> user = postfix
>> }
>> }
>> service lmtp {
>> unix_listener /var/spool/postfix/private/dovecot-lmtp {
>> group = postfix
>> mode = 0600
>> user = postfix
>> }
>> }
>> ssl = required
>> ssl_cert = </etc/letsencrypt/live/imap.mmpcrofton.com/fullchain.pem
>> ssl_client_ca_dir = /etc/ssl/certs
>> ssl_dh = # hidden, use -P to show it
>> ssl_key = # hidden, use -P to show it
>> userdb {
>> driver = prefetch
>> }
>> userdb {
>> args = /etc/dovecot/dovecot-sql.conf.ext
>> driver = sql
>> }
>> protocol lmtp {
>> mail_plugins = " sieve"
>> postmaster_address = david@mmpcrofton.com
>> }
>> protocol imap {
>> mail_max_userip_connections = 50
>> }


Pretty sure you can set up multiple unix_listener's. What about creating another one, inside the 'service auth' container? It'll need to have unix_listener set to 'auth-userdb' (for dovecot's sake, which probably means that you'll to leave it with default user/group/permissions) with a 'path' of /var/run/dovecot. And then rename the existing one to auth-userdb-postfix (totally arbitrary), though note that that will change the filename of the socket itself, so you'll need to change postfix to use /var/spool/postfix/private/auth/auth-userdb-postfix (i.e. same last component as the argument to 'unix_listener')

So you'd end up with something like:

service auth {
 unix_listener auth-userdb {
    path = /var/run/dovecot
    mode = 0660 (or whatever the default is)
    user = $dovecot_auth_user_dunno_what
    group = $dovecot_auth_group_dunno_what
  }
  unix_listener auth-userdb-postfix {
    path = /var/spool/postfix/private/auth
    mode = 0660
    user = postfix
    group = postfix
  }
}

And then postfix would have /var/spool/postfix/private/auth/auth-userdb-postfix for its dovecot-related socket