[Dovecot] dovecotpw/sql crypt scheme core dump with rc17-19
Andre Dalle
adalle at ncf.ca
Wed Jan 24 02:08:35 UTC 2007
I'm using bind auth for LDAP - this is probably why I don't run into the
problem there.
I checked the core file - the program was ending on DES_set_key_unchecked - an
OpenSSL function.
I changed auth/mycrypt.c to use the OpenSSL crypt function:
char *mycrypt(const char *key, const char *salt)
{
return DES_crypt(key, salt);
}
After rebuilding the binaries, they work with the OpenSSL function:
dovecotpw -p123 -scrypt
{CRYPT}VZtB3DdcYpi0E
I now have the passdb running against SQL and all is well.
I don't know which is faster... Solaris crypt() or OpenSSL DES_crypt(); but
CPU is not an issue on my server so I'll take the tradeoff.
On Tue, Jan 23, 2007 at 05:06:24PM -0500, Andre Dalle wrote:
> Platform is Solaris 8 on a 280R.
>
> I'm setting up a new installation of Dovecot, and I ran into some troubles
> that I've partly tracked down.
>
> I setup auth/user dbs with LDAP initially, and things worked well.
>
> Passwords are stored as "{crypt}zxcv..." in LDAP.
>
> I setup SQL, and began getting this:
>
> dovecot: Jan 23 16:37:47 Error: child 8718 (auth-worker) killed with signal 11
>
> Passwords are stored as "zxcv..." in SQL.
>
> I changed default_pass_scheme from CRYPT to PLAIN, and no troubles.
>
> I then tried dovecotpw:
>
> dovecotpw -p 123 -s PLAIN-MD5
> {PLAIN-MD5}202cb962ac59075b964b07152d234b70
> dovecotpw -p 123 -s CRYPT
> Segmentation Fault (core dumped)
>
> So I then tried this:
> truss dovecotpw -p 123 -s crypt
>
> open64("/dev/urandom", O_RDONLY) = 3
> read(3, "F80E82 c", 4) = 4
> fcntl(3, F_GETFD, 0x00000000) = 0
> fcntl(3, F_SETFD, 0x00000001) = 0
> open64("/usr/local/lib/dovecot/auth/password", O_RDONLY|O_NDELAY) Err#2 ENOENT
> read(3, "8382", 2) = 2
> Incurred fault #6, FLTBOUNDS %pc = 0xFF0E3304
> siginfo: SIGSEGV SEGV_MAPERR addr=0x00000005
> Received signal #11, SIGSEGV [default]
> siginfo: SIGSEGV SEGV_MAPERR addr=0x00000005
> *** process killed ***
>
> Suffice to say, there is no "/usr/local/lib/dovecot/auth/password".
>
> I'm guessing that the dovecot auth-worker process is failing for the same
> reason but I don't know how to debug that one.
>
> I have core files for the dovecotpw process.
>
> --
> André Dalle
> Systems Administrator
> NCF Internet
--
André Dalle
Systems Administrator
NCF Internet
More information about the dovecot
mailing list