Hi.
I want to run qmail with smtp auth, so i patched qmail with yaqsap (yet 
another qmail smtp auth patch).


i run qmail-smtp with

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

so as you can see, i use the three arguments  

"hostname" "checkprogram" "true"

as yaqsap also patches the qmail-smtpd man page i'll post an extract of it 
too:

# man qmail-smtpd

NAME
       qmail-smtpd - receive mail via SMTP

SYNOPSIS
       qmail-smtpd [ hostname checkprogram subprogram ]

DESCRIPTION
.....
       qmail-smtpd can accept LOGIN,  PLAIN,  and  CRAM-MD5  AUTH
       types.   It  invokes  checkprogram,  which  reads  on file
       descriptor 3 the username, a 0 byte, the password or chal­
       lenge  derived  from  hostname, another 0 byte, a CRAM-MD5
       response (if applicable to the AUTH type), and a  final  0
       byte.   checkprogram  invokes  subprogram  upon successful
       authentication, which should in turn return  0  to  qmail-
       smtpd,   effectively  setting  the  environment  variables
       RELAYCLIENT and TCPREMOTEINFO (any supplied value replaced
       with the authenticated username).  qmail-smtpd will reject
       the authentication attempt if it receives a nonzero return
       value from checkprogram or subprogram.


-----------

well.
when i try to use smtp auth from a client (in this case i tried outlook 
express with auth login) 
qmail tells me:

Out of memory (Needed 8164 bytes)
454 oops, problem with child and I can't auth (#4.3.0)

after the username and password are send.

someone in the qmail list has suggested to leave out the hostname argument, 
which indeed solves the problem, but it doesnt check for valid passwords 
then. (i guess it then uses /bin/true for password checking)

do you have an idea of what that "out of memory" message wants me to do ?
/home/vpopmail/bin/vchkpw  exists, is world executable, i even tried to 
setuid it, but nothing happens. when i run qmail-smtp as root, the same "out 
of memory" occurs, too.

i use /home/vpopmail/bin/vchkpw as checkprogram for qmail-popup

/usr/local/bin/tcpserver -l mail.mydomain.com -v -p -R -H 0 pop3 \            
     /var/qmail/bin/qmail-popup mail.mydomain.com /home/vpopmail/bin/vchkpw \ 
     /var/qmail/bin/qmail-pop3d Maildir


And it works fine.

Best Regards,
Justin

Reply via email to