Rick Root wrote:

Some of you may have seen my difficulties on the qmail list already but
here I am... I'm stumped.

I'm trying to implement Bill Shupp's SMTPAuth+TLS patch for Qmail which
is based on Erwin Hoffman's SMTPAuth patch...

Everything seems to be working fine with my fairly standard LWQ
installation.. I can POP and IMAP (I'm using Courier for both)

I've added strace and recordio to my smtpd run script to figure out
what's happening.

Basically, when vchkpw reads the cdb file and finds the appropriate
entry, it checks the current effective user id and if it isn't the file
owner, vpopmail, or root, it fails.  (this from vauth.c)

Of course, qmail-smtpd runs as qmaild in any normal install, so that
makes sense.  I made vchkpw setuid so geteuid() SHOULD return the uid of
vpopmail, but it doesn't, it still returns the UID for qmaild.

if I run qmail-smtpd as root (bad) it works... geteuid() returns the
correct id of vpopmail....

What might be causing this?

My filesystem is not mounted nosuid or anything.. in fact, qmailadmin is
installed and working just fine, and it's a suid program.


Rick Root


Run qmail-smtpd as vpopmail

QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 17000000 \
    /usr/local/bin/tcpserver -v -H -R -l 0 \
    -x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \
    -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
    /var/qmail/bin/qmail-smtpd \
    /home/vpopmail/bin/vchkpw /bin/true 2>&1



Reply via email to