Hello,
I am fairly new to Dovecot, so please forgive me if I am missing something obvious here. I have checked the archived dovecot mailing list messages and have Googled for everything I can think of, and I still have not found anything to help me solve this problem. I am running Postfix+Postgresql+Dovecot on my Fedora FC2 box. I have compiled both Postfix and Dovecot from source. I believe I have postfix running properly. No error messages show up in my logs when starting Postfix or Dovecot. Messages are being delivered by Postfix just fine:
Dec 12 11:45:42 co-nundrum postfix/virtual[15759]: 15E82F8EF0: to=<jaeson@domain.name>, relay=virtual, delay=1, status=sent (delivered to maildir)
However, when I try to login to Dovecot over IMAP I get an "Internal login failure" error:
[jaeson@localhost jaeson]$ telnet co-nundrum imap
Trying 207.7.137.6...
Connected to co-nundrum.
Escape character is '^]'.
* OK dovecot ready.
1 LOGIN jaeson secret
1 OK Logged in.
* BYE Internal login failure. Error report written to server log.
Connection closed by foreign host.
When I check the dovecot log file I see the following entries:
dovecot-auth: Dec 12 01:15:59 Info: PGSQL: Performing query: SELECT password FROM user_accounts WHERE username='jaeson'
imap-login: Dec 12 01:15:59 Info: Internal login failure: jaeson [66.159.231.21]
dovecot: Dec 12 01:15:59 Error: child 9845 (auth) killed with signal 11
Here are the entries from my dovecot.conf file. As you can see, I have set both auth_verbose and auth_debug = yes, but I don't seem to be getting any log messages with enough verbosity to indicate just what the problem is.
base_dir = /var/run/dovecot/
protocols = imap imaps pop3 pop3s
imap_listen = *
pop3_listen = *
ssl_parameters_regenerate = 24
disable_plaintext_auth = no
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log
login_dir = /var/run/dovecot-login
login = imap
login_executable = /usr/libexec/dovecot/imap-login
login_user = dovecot
login_process_size = 16
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 128
login_max_logging_users = 256
max_mail_processes = 1024
verbose_proctitle = yes
verbose_ssl = yes
first_valid_uid = 5000
last_valid_uid = 65535
first_valid_gid = 5000
last_valid_gid = 65535
default_mail_env = maildir:/mail/%d/%u
mail_save_crlf = yes
maildir_copy_with_hardlinks = no
maildir_check_content_changes = no
mbox_locks = fcntl
umask = 0077
imap_executable = /usr/libexec/dovecot/imap
imap_process_size = 256
auth = default
auth_mechanisms = plain
auth_userdb = pgsql /etc/dovecot-pgsql.conf
auth_passdb = pgsql /etc/dovecot-pgsql.conf
auth_executable = /usr/libexec/dovecot/dovecot-auth
auth_user = root
auth_count = 1
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_verbose = yes
auth_debug = yes
Additionally, here are the entries in my dovecot-pgsql.conf file:
connect = host=localhost dbname=mail_DB user=mailreader password=secret
default_pass_scheme = PLAIN
password_query = SELECT password FROM user_accounts WHERE username='%u'
user_query = SELECT '/mail/'||mailbox AS home, uid, gid FROM user_accounts WHERE username='%u'
Finally, here is the configure command I used when building Dovecot from source:
./configure --prefix=/usr --enable-debug --with-pgsql --with-cyrus-sasl2 --with-ssl=openssl --sysconfdir=/etc
At this point, I think that the connections to my postgresql tables are all working properly, and the initial authentication with Dovecot appears to be working. Dovecot *does* accept my password and gives me the "OK Logged in." response message, but somewhere before it kicks off the IMAP process it dies with a SIGSEGV. Perhaps I have some file permissions out of whack? Has anyone else encountered this problem, or perhaps has any insight into what might be going wrong or how to find out more information?
Thanks,
Jaeson Schultz
jaeson at jaeson dot net