[Dovecot] dovecot-auth requires userdb, but already configured
Greetings!
My ultimate goal is to have fetchmail/getmail poll from POP3/IMAP servers and deliver mail into Dovecot mailboxes. This does not work because the Dovecot LDA for some reason fails.
I believe I have narrowed down the problem to dovecot-auth not finding my userdb. But, I am able to connect to dovecot via IMAP in my MUA and preform operations (read, delete mail, create folders). This leads me to believe my userdb is setup correctly.
Does anyone have any idea as to why dovecot-auth would not find my userdb? (Configuration is below).
carl@cvondrick:~$ dovecot --version 1.0.10
carl@cvondrick:~$ /usr/lib/dovecot/dovecot-auth dovecot-auth: Fatal: You'll need to add at least one userdb
carl@cvondrick:~$ dovecot -n # 1.0.10: /etc/dovecot/dovecot.conf log_path: /var/log/dovecot.log ssl_disable: yes disable_plaintext_auth: no verbose_ssl: yes login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/imap-login mail_location: mbox:/home/carl/mail/%u mail_debug: yes dotlock_use_excl: yes auth default: verbose: yes debug: yes passdb: driver: passwd-file args: /etc/dovecot/passwd userdb: driver: passwd-file args: username_format=%u /etc/dovecot/passwd
carl@cvondrick:~$ uname -a Linux cvondrick 2.6.24-20-generic #1 SMP Mon Jul 28 13:06:07 UTC 2008 x86_64 GNU/Linux
The package is from Ubuntu Hardy, but I can build from source if you think it'll fix this.
Thanks for any responses, Carl
Carl Vondrick wrote:
Greetings!
My ultimate goal is to have fetchmail/getmail poll from POP3/IMAP servers and deliver mail into Dovecot mailboxes. This does not work because the Dovecot LDA for some reason fails.
I believe I have narrowed down the problem to dovecot-auth not finding my userdb. But, I am able to connect to dovecot via IMAP in my MUA and preform operations (read, delete mail, create folders). This leads me to believe my userdb is setup correctly.
Does anyone have any idea as to why dovecot-auth would not find my userdb? (Configuration is below).
Are you using virtual users? In this case, Dovecot's deliver needs a master socket to get user information from. See instructions at http://wiki.dovecot.org/LDA .
-- FORTRAN is the language of Powerful Computers. -- Steven Feiner
Eduardo M KALINOWSKI eduardo@kalinowski.com.br http://move.to/hpkb
On Mon, Aug 4, 2008 at 4:19 AM, Eduardo M KALINOWSKI <eduardo@kalinowski.com.br> wrote:
Carl Vondrick wrote:
I believe I have narrowed down the problem to dovecot-auth not finding my userdb. But, I am able to connect to dovecot via IMAP in my MUA and preform operations (read, delete mail, create folders). This leads me to believe my userdb is setup correctly.
Does anyone have any idea as to why dovecot-auth would not find my userdb? (Configuration is below).
Are you using virtual users?
Yes, from a simple passwd-like file that contains something like:
vondrick:{SSHA}foobar:1000:1000::/home/carl/mail/vondrick
In this case, Dovecot's deliver needs a master socket to get user information from. See instructions at http://wiki.dovecot.org/LDA .
I have adjusted my configuration so that a master auth socket is created. I confirmed it's created, but the problem still persists.
carl@cvondrick:~$ dovecot -n # 1.0.10: /etc/dovecot/dovecot.conf log_path: /var/log/dovecot.log ssl_disable: yes disable_plaintext_auth: no verbose_ssl: yes login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/imap-login mail_location: mbox:/home/carl/mail/%u mail_debug: yes dotlock_use_excl: yes auth default: verbose: yes debug: yes passdb: driver: passwd-file args: /etc/dovecot/passwd userdb: driver: passwd-file args: username_format=%u /etc/dovecot/passwd socket: type: listen master: path: /var/run/dovecot/auth-master mode: 511 user: carl
carl@cvondrick:~$ ls /var/run/dovecot/ auth-master auth-worker.25156 dict-server login master.pid
carl@cvondrick:~$ /usr/lib/dovecot/dovecot-auth dovecot-auth: Fatal: You'll need to add at least one userdb
Any ideas? I configured deliver to log, but nothing is written to the log when the permissions are 0666.
Carl
On Aug 4, 2008, at 6:11 PM, Carl Vondrick wrote:
In this case, Dovecot's deliver needs a master socket to get user information from. See instructions at http://wiki.dovecot.org/LDA .
I have adjusted my configuration so that a master auth socket is created. I confirmed it's created, but the problem still persists.
How exactly do you see the problem with deliver?
carl@cvondrick:~$ /usr/lib/dovecot/dovecot-auth dovecot-auth: Fatal: You'll need to add at least one userdb
You can't (and don't need to) run dovecot-auth directly. I suppose I
should change this error message to be better.. So you can just forget
about this error message.
On Mon, Aug 4, 2008 at 5:31 PM, Timo Sirainen <tss@iki.fi> wrote:
On Aug 4, 2008, at 6:11 PM, Carl Vondrick wrote:
In this case, Dovecot's deliver needs a master socket to get user information from. See instructions at http://wiki.dovecot.org/LDA .
I have adjusted my configuration so that a master auth socket is created. I confirmed it's created, but the problem still persists.
How exactly do you see the problem with deliver?
In short, it causes fetchmail / getmail to fail. There doesn't seem to be an error message either.
carl@cvondrick:~$ fetchmail 329 messages for carl@vondrick.com at pop.gmail.com (14160305 octets). reading message carl@vondrick.com@gmail-pop.l.google.com:1 of 329 (5416 octets).fetchmail: error writing message text fetchmail: MDA error while fetching from carl@vondrick.com@pop.gmail.com fetchmail: Query status=6 (IOERR)
carl@cvondrick:~$ cat .fetchmailrc poll pop.gmail.com with proto POP3 user carl@vondrick.com there with pass foobar mda "/usr/lib/dovecot/deliver -d vondrick" ssl
There is similar behavior with getmail: carl@cvondrick:~$ getmail getmail version 4.7.7 Copyright (C) 1998-2007 Charles Cazabon. Licensed under the GNU GPL version 2. SimplePOP3SSLRetriever:carl@vondrick.com@pop.gmail.com:995: Delivery error (command deliver 32064 error (78, )) msg 1/329 (5416 bytes), delivery error (command deliver 32064 error (78, ))
I'm following the example in this thread: http://dovecot.org/pipermail/dovecot/2007-July/024012.html
Thanks for your responses so far -- this is a very helpful and active community.
Carl
On Aug 4, 2008, at 10:53 PM, Carl Vondrick wrote:
How exactly do you see the problem with deliver?
In short, it causes fetchmail / getmail to fail. There doesn't seem to be an error message either.
You should probably find deliver's error log file. See http://wiki.dovecot.org/LDA -> logging and http://wiki.dovecot.org/Logging
Delivery error (command deliver 32064 error (78, )) msg 1/329 (5416 bytes), delivery error (command deliver 32064
error (78, ))
78 means EX_CONFIG. If deliver got called, it should have logged the
actual error.
Everything seems to work now. I needed to configure a postmaster_address in the dovecot.conf. I guess I missed this in the docs somewhere.
For the random Googler who sees this later on:
protocol lda { auth_socket_path = /var/run/dovecot/auth-master log_path = /var/log/dovecot-deliver.log info_log_path = /var/log/dovecot-deliver.log
postmaster_address = postmaster@example.org
}
Thanks for the great project!
On Mon, Aug 4, 2008 at 7:57 PM, Timo Sirainen <tss@iki.fi> wrote:
On Aug 4, 2008, at 10:53 PM, Carl Vondrick wrote:
How exactly do you see the problem with deliver?
In short, it causes fetchmail / getmail to fail. There doesn't seem to be an error message either.
You should probably find deliver's error log file. See http://wiki.dovecot.org/LDA -> logging and http://wiki.dovecot.org/Logging
Delivery error (command deliver 32064 error (78, )) msg 1/329 (5416 bytes), delivery error (command deliver 32064 error (78, ))
78 means EX_CONFIG. If deliver got called, it should have logged the actual error.
participants (3)
-
Carl Vondrick
-
Eduardo M KALINOWSKI
-
Timo Sirainen