Bug#551106: exim4-daemon-heavy: exim segfaults with dovecot auth

Andreas Metzler ametzler at downhill.at.eu.org
Sun Oct 18 09:12:20 UTC 2009


On 2009-10-17 Fabio Muzzi <kurgan at kurgan.org> wrote:
> Andreas Metzler wrote:

>> How is dovecot configured? (Ldap, sql, plain files, pam)? I cannot
>> reproduce the crash here with passdb lookup. Do you use some fancy nss
>> helper (ldap)?


> Dovecot authenticates on plain text files.

> You'll find attached the Dovecot config file, an example plain text  
> password file, and also the complete exim4.conf file. (I run exim with a  
> personalized configuration file that is made of a single exim4.conf file)

> Dovecot authenticates on files that are in /etc/vmail/users/<domainname>

> Exim in this config uses two file-based authenticators (plain and login)  
> and a CRAM-MD5 authenticator that uses dovecot. It is a test setup,  
> where the two file-based authenticators work, and the dovecot-based one  
> crashes.  I have tried setting up all authenticators in Exim to run with  
> the dovecot driver, and all of them crash. If I set them all up to be  
> file-based, they all work.

> The same exact configuration works properly on another server (same  
> Debian version) and crashes on a third one.

Hello,

thanks for the files. The crucial point seems to be that you have
configured dovecot to support *many* auth methods which triggers the
bug.

This simple patch fixes it for me:

----------------------------------
diff -NurbBp exim/src/auths/dovecot.c exim.new/src/auths/dovecot.c
--- exim/src/auths/dovecot.c	2007-03-01 15:06:56.000000000 +0100
+++ exim.new/src/auths/dovecot.c	2009-10-18 10:11:32.000000000 +0200
@@ -131,6 +131,7 @@ for (;;)
     {
     sbp = read(fd, sbuffer, sizeof(sbuffer));
     if (sbp == 0) { if (count == 0) return NULL; else break; }
+    p = 0;
     }
 
   while (p < sbp)
----------------------------------

For your convenience I have built amd64 binary package and uploaded it
to my webspace
http://www.bebt.de/debian/misc/exim4-daemon-heavy_4.69-9.test.1_amd64.deb
ametzler at tmp$ sha1sum exim4-daemon-heavy_4.69-9.test.1_amd64.deb
805d45af492d0647a05e19c998bb21e0d44cd9c3  exim4-daemon-heavy_4.69-9.test.1_amd64.deb
ametzler at tmp$ md5sum exim4-daemon-heavy_4.69-9.test.1_amd64.deb
aa4aea3fc1212025a8521af0eb086c2e  exim4-daemon-heavy_4.69-9.test.1_amd64.deb

Could check whether this fixes the issue for you?

thanks, cu andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-exim4-maintainers/attachments/20091018/8dadceb1/attachment.pgp>


More information about the Pkg-exim4-maintainers mailing list