I have vpopmail 5.4.5 on an array of Solaris sparc machines.  One of Solaris
machines hosts the qmail control files, the assign file, and the vpopmail
domains directory.  All the client machines deliver mail via NFS.

I recently added a FreeBSD 5.2.1-R i386 box to the mix.  This box can
deliver fine to the spool, but a problem comes when trying to authenticate
credentials (via smtp auth).

penny> telnet 0 25
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
220 qmail-03.example.net ESMTP
AUTH LOGIN
334 VXNlcm5hbWU6
dGVzdEBleGFtcGxlLmNvbQ==
334 UGFzc3dvcmQ6
YXNkZg==
535 authentication failed (#5.7.1)

I wrote my own vchkpw in perl (inspectable at:
http://jeremy.kister.net/code/perl/vchkpw.pl):

>From the Solaris box:
max> ./vchkpw.pl
Email Address: [EMAIL PROTECTED]
Password: asdf
test: $1VUyx7YfKO2w - crypt: $1VUyx7YfKO2w
Correct Password

>From the FreeBSD box:
penny> ./vchkpw.pl
Email Address: [EMAIL PROTECTED]
Password: asdf
test: $125a08DVKgFI - crypt: $1VUyx7YfKO2w
Incorrect Password


Interestingly, if i test the credentials with qmail-popup, authentication
works:
penny> /var/qmail/bin/qmail-popup /home/vpopmail/bin/vchkpw id
+OK <28456.1093625622@/home/vpopmail/bin/vchkpw>
USER [EMAIL PROTECTED]
+OK
PASS asdf
uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator)

It seems that the crypt function in Solaris and FreeBSD are making different
crypts even though they're using the same salt.

If that's the case, how is qmail-popup working correctly?  Any ideas how to
fix this?

Jeremy Kister
http://jeremy.kister.net/

Reply via email to