[Dovecot] fetchmail and lmtp -> auth crashing
Hi,
while trying to get new mails into dovecot 2.0.1 via fetchmail and lmtp, auth process crashes:
Sep 7 19:55:58 oldbox dovecot: lmtp(29944): Error: userdb lookup(heini@localhost): Disconnected unexpectedly Sep 7 19:55:58 oldbox fetchmail[29928]: Nachricht USER@ISP:1 von 2 wird gelesen (2204 Bytes im Nachrichtenkopf) (Log-Meldung unvollständig) Sep 7 19:55:58 oldbox fetchmail[29928]: LMTP-Fehler: 451 4.3.0 heini@localhost Internal error occurred. Refer to server log for more information. Sep 7 19:55:58 oldbox dovecot: master: Error: service(auth): child 29949 killed with signal 11 (core not dumped) Sep 7 19:55:58 oldbox dovecot: master: Error: service(auth): command startup failed, throttling
# doveconf -n # 2.0.1 (a05834588ffb): /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-486 i586 Debian squeeze/sid auth_debug = yes auth_gssapi_hostname = oldbox.altum.de auth_krb5_keytab = /etc/krb5.keytab auth_mechanisms = gssapi auth_verbose = yes disable_plaintext_auth = no listen = * mail_location = maildir:~/mail managesieve_notify_capability = mailto managesieve_sieve_capability = comparator-i;octet comparator-i;ascii-casemap fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap lmtp service lmtp { unix_listener lmtp { mode = 0666 user = fetchmail } } ssl = no ssl_cert =
fetchmailrc:
set postmaster "postmaster" set nobouncemail set no spambounce set properties "" set daemon 60 set syslog poll ISP with proto IMAP user 'USER' there with password 'password' is 'heini' here options stripcr fetchsizelimit 0 ssl expunge 500 smtphost /var/run/dovecot/lmtp
Any ideas what could be wrong?
Thanks...
Dirk
On Tue, 2010-09-07 at 20:03 +0200, Dirk Heinrichs wrote:
Sep 7 19:55:58 oldbox dovecot: master: Error: service(auth): child 29949 killed with signal 11 (core not dumped)
Can you get gdb backtrace? For example one easy way would be to attach gdb into a running auth process:
gdb -p pidof dovecot/auth
cont
<make it crash>
bt full
Am 07.09.2010 20:06, schrieb Timo Sirainen:
On Tue, 2010-09-07 at 20:03 +0200, Dirk Heinrichs wrote:
Sep 7 19:55:58 oldbox dovecot: master: Error: service(auth): child 29949 killed with signal 11 (core not dumped)
Can you get gdb backtrace? For example one easy way would be to attach gdb into a running auth process:
gdb -p
pidof dovecot/auth
cont <make it crash> bt full
(gdb) bt full
#0 auth_request_lookup_credentials (request=0x8e12c78, scheme=0x8079acf
"",
callback=0x8068d20
HTH...
Dirk
On Tue, 2010-09-07 at 23:12 +0200, Dirk Heinrichs wrote:
(gdb) bt full #0 auth_request_lookup_credentials (request=0x8e12c78, scheme=0x8079acf "",
Fixed the crash: http://hg.dovecot.org/dovecot-2.0/rev/e392f5f65cd8
But the main problem you have is that you don't have a passdb and your userdb is static. So Dovecot can't verify if the user exists or not. Either use a passdb or userdb that can verify user existence, or add allow_all_users=yes to userdb static args.
Am 08.09.2010 16:04, schrieb Timo Sirainen:
On Tue, 2010-09-07 at 23:12 +0200, Dirk Heinrichs wrote:
(gdb) bt full #0 auth_request_lookup_credentials (request=0x8e12c78, scheme=0x8079acf "",
Fixed the crash: http://hg.dovecot.org/dovecot-2.0/rev/e392f5f65cd8
OK, I've updated debian packages and crash is gone. Thanks.
But the main problem you have is that you don't have a passdb and your userdb is static. So Dovecot can't verify if the user exists or not.
Maybe I misunderstood the docs, but I think I've read somewhere that static userdb is sufficient if kerberos is used as "passdb".
Either use a passdb or userdb that can verify user existence, or add allow_all_users=yes to userdb static args.
Since this is a test install, I've added this for now. Later I will switch to LDAP. Mail is delivered now, but into /var/vmail/user@localhost instead of /var/vmail/user. How do I get rid of "@localhost"?
Thanks...
Dirk
On Fri, 2010-09-10 at 18:55 +0200, Dirk Heinrichs wrote:
Am 08.09.2010 19:18, schrieb Dirk Heinrichs:
Mail is delivered now, but into /var/vmail/user@localhost instead of /var/vmail/user. How do I get rid of "@localhost"?
Any ideas about this?
So you don't have any domains? Change %u to %n:
userdb { args = uid=vmail gid=vmail home=/var/vmail/%n driver = static }
Am 13.09.2010 13:56, schrieb Timo Sirainen:
On Fri, 2010-09-10 at 18:55 +0200, Dirk Heinrichs wrote:
Am 08.09.2010 19:18, schrieb Dirk Heinrichs:
Mail is delivered now, but into /var/vmail/user@localhost instead of /var/vmail/user. How do I get rid of "@localhost"?
Any ideas about this?
So you don't have any domains? Change %u to %n:
Great, works fine now (also switched to ldap userdb).
Thanks a lot.
Bye...
Dirk
participants (2)
-
Dirk Heinrichs
-
Timo Sirainen