[Dovecot] checkpassword auth issues
Tim Traver
tt-list at simplenet.com
Mon Jan 19 22:17:17 EET 2009
Hi,
ok, I'm am developing a new solution that includes dovecot, and will be
wanting to use the latest sieve implementation, so I have chosen to
start with 1.2 as the base.
I had a working install of 1.1.8 installed, and got a checkpassword
setup working properly with it to authenticate a user. I used the passdb
to call checkpassword, and the prefetch userdb to tell it to use the
values that I sent back from the checkpassword script...
I compiled and installed 1.2.alpha5, and now my checkpassword does not
seem to be working, and I can't figure out why. If I go back and install
1.1.8, it all works again...
here is the dovecot -n :
[root at mta3 /local/logs]# dovecot -n
# 1.2.alpha5: /usr/local/etc/dovecot.conf
# OS: FreeBSD 7.0-STABLE i386
log_path: /local/logs/dovecot.errors
protocols: imap imaps pop3 pop3s
disable_plaintext_auth: no
login_dir: /usr/local/var/run/dovecot/login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
verbose_proctitle: yes
first_valid_uid: 100
mail_uid: 100
mail_gid: 100
mail_location: maildir:%h/Maildir
mail_debug: yes
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
mail_executable(default): /usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/pop3
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
username_translation: %@
username_format: %Lu
verbose: yes
debug: yes
debug_passwords: yes
passdb:
driver: checkpassword
args: /bin/checkpassword
userdb:
driver: prefetch
and here is a snip of the logs that I get when trying to log in :
dovecot: Jan 19 11:37:47 Info: auth(default): client in: AUTH 1
PLAIN service=imap secured lip=209.132.1.203
rip=209.132.9.162 lport=993 rport=1053
dovecot: Jan 19 11:37:47 Info: auth(default): client out: CONT 1
dovecot: Jan 19 11:37:47 Info: auth(default): client in: CONT 1
AHRpbUBtdGEzLnNjYWxlZHN5c3RlbXMuY29tAENvbGRTdW4x
dovecot: Jan 19 11:37:47 Info: auth(default):
checkpassword(tim at mta3.scaledsystems.com,209.132.9.162): execute:
/bin/checkpassword /usr/local/libexec/dovecot/checkpassword-reply
dovecot: Jan 19 11:37:47 Info: auth(default):
checkpassword(tim at mta3.scaledsystems.com,209.132.9.162): Received input:
user=tim at mta3.scaledsystems.com
userdb_home=/home/mailboxes/data/30/tim at mta3.scaledsystems.com
userdb_uid=100 userdb_gid=100
dovecot: Jan 19 11:37:47 Info: auth(default):
checkpassword(tim at mta3.scaledsystems.com,209.132.9.162): Received no input
dovecot: Jan 19 11:37:47 Info: auth(default):
checkpassword(tim at mta3.scaledsystems.com,209.132.9.162): exit_status=2
dovecot: Jan 19 11:37:47 Error: auth(default):
checkpassword(tim at mta3.scaledsystems.com,209.132.9.162): Child 43345
exited with status 2
As you can see, the checkpassword routine is indeed sending outthe
userdb_home variable as well as the other necessary variables.
Is it possible that checks for the return code from calling the
checkpassword script have changed between the versions??? I currently
exit the checkpassword script with _exit(0); to make the status 0 when
it is successful, and I also set the AUTHORIZED environment variable to
"2" as told...
wierd thing is that it works in 1.1.8, but not in 1.2
Thanks,
Tim.
More information about the dovecot
mailing list