Since upgrading to 2.4 (from 2.3) the "imap" command no longer works:

  $ /usr/libexec/dovecot/imap
  * PREAUTH [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT 
SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND 
URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED 
I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH 
LIST-STATUS BINARY MOVE REPLACE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW SPECIAL-USE 
STATUS=SIZE SAVEDATE COMPRESS=DEFLATE INPROGRESS NOTIFY LITERAL+] Logged in as 
mark
  imap(mark)<6109><5GlNEEHaDWrdFwAABxE9Dg>: Fatal: Namespace inbox: 
mail_storage settings: Failed to parse configuration: Invalid setting 
mail_path=~/Maildir: mail_path setting used home directory (~/) but there is no 
mail_home and userdb didn't return it

Whereas I would expect an authenticated IMAP session.

Removing the offending /etc/dovecot.conf line temporarily:

  dovecot_config_version = 2.4.1
  dovecot_storage_version = 2.4.0
  protocols = imap lmtp sieve
  mail_driver = maildir
  #mail_path = ~/Maildir

  passdb passwd-file {
      passwd_file_path = /etc/dovecot/passwd
  }

  userdb passwd {
  }

  [...]

And re-testing suggests the cause runs deeper:

  $ /usr/lib/exec/dovecot/imap
  [...]
  imap(mark)<6364><tetIC6/aDWrcGAAABxE9Dg>: Fatal: Namespace inbox: 
mail_storage settings: Failed to parse configuration: Failed to expand 
mail_path setting variables: Setting used home directory (%h) but there is no 
mail_home and userdb didn't return it

Attempts to hard-wire it seem to suggest that usedb is not involved. I 
imagine this may be not consulted, because the process is 
pre-authenticated and running as a local UID:

  userdb passwd {
      fields_import_all = no
      fields {
          mail_home = /home/mark
          mail_path = /home/mark/Maildir
      }
  }

  $ /usr/libexec/dovecot/imap
  [...]
  imap(mark)<6656><qPqUB17cDWoAGgAABxE9Dg>: Fatal: Namespace inbox: 
mail_storage settings: Failed to parse configuration: Failed to expand 
mail_path setting variables: Setting used home directory (%h) but there is no 
mail_home and userdb didn't return it

It seems like 2.3 looked up these fields from the user invoking it, but 
no longer is this the case?

Running "imap" like this is very useful, especially when a client like 
Pine/Alpine can access over SSH.

To get to here I had to workaround the missing "shadow" passdb module, 
which is also useful as Alpine Linux 3.23 neither uses PAM extensively nor 
provides dovecot built with PAM.

-- 
Mark
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to