I think this is the right line of inquiry, but I don't
know why what I've already tried hasn't worked. Part of
the problem is that chkuser is not writing log files,
so diagnosis is hindered.

Summary:
 - When I test qmail-smtpd manually (from the command line)
   as root, chkuser rejects bad addresses.
 - When I run qmail-smtpd via tcpserver as UID qmaild,
   chkuser doesn't reject bad addresses -- regardless of
   the setting for CHKUSER_ENABLE_UIDGID
 - When I run qmail-smtpd via tcpserver as UID vpopmail,
   chkuser doesn't reject bad addresses

Trying running as on the commandline as vpopmail or qmaild.


Initially, my /var/qmail/supervise/qmail-smtpd/run script
executed qmail-smtpd as UID qmaild, because that is what
the LWQ docs recommend -- see section 2.8.2.2, "the supervise
scripts", here: http://lifewithqmail.org/lwq.html#start-qmail

:-)


First I tried recompiling qmail+chkuser with the CHKUSER_ENABLE_UIDGID
switch enabled. qmail-smtpd ran fine but chkuser would not reject
bad addresses.

No comment.


Then I commented out CHKUSER_ENABLE_UIDGID, recompiled qmail
again, and changed the qmail-smtpd/run script to run qmail-smtpd
as UID vpopmail. chkuser still does not reject bad addresses.

Sorry I need to look at the patch before I can say more on this but there is one more thing to try.


Here is the qmail-smtpd invocation from qmail-smtpd/run:
exec /usr/local/bin/softlimit -m 25165824 \
    /usr/local/bin/tcpserver -v -R -l "$LOCAL" \
    -x /etc/tcp.smtp.cdb \
    -c "$MAXSMTPD" \
    -u "$VPOPMAILUID" -g "$VPOPMAILGID" 0 smtp \
    /var/qmail/bin/qmail-smtpd 2>&1

The two problems currently are:
1- chkuser does not reject any mail received by qmail
2- chkuser does not write to the mail log

It is as if chkuser is not compiled in at all -- but it
is, as a command-line test reveals.


Run the command as vpopmail or qmaild and, if you wish, strace it too.

!DSPAM:474ae0ce32001872855899!

Reply via email to