Russell Mann wrote:
Ok, my previous emails have been assuming that the patch was applied, however by "diffing" the old qmail-smtpd and the new qmail-smtpd and finding zero binary differences, I figured out that my previous patch had been failing due to an earlier patch moving lines around in qmail-smtpd.c. So, I stripped it back to just vanilla qmail-1.03, plus the patch, just to see where I could get, and this is whats up:
I've been having some trouble applying the qmail-smtpd-chkusr patch to qmail-1.03. I'm on a RedHat 6.2 system, and I tried to make it as simple as possible. Below are what I hope are the relevant information for figuring out what's wrong.
I'm using the regular-patch from this page: http://www.interazioni.it/qmail/#qmail-smtpd
You didn't patch the Makefile to include the vpopmail libs... From the documentation on his site....
*** Modify your qmail Makefile and include vpopmail and crypt libraries (also include mysql or whenever other libraries you're using for authentication within vpopmail - i.e. ldap, sybase, postgres, etc.) ****
Make make and rebuild qmake-smtpd, and rename it qmail-smtpd-chkusr, in order to know later which version you're using.
ie in the Make file add -L/home/vpopmail/lib -lvpopmail to the end of the qmail-smtpd: compile line in the Makefile. Mine reads as below (I have extra stuff like mysql, so don't worry about that).
load qmail-smtpd.o rcpthosts.o commands.o timeoutread.o \
timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o received.o \
date822fmt.o now.o qmail.o cdb.a fd.a wait.a datetime.a getln.a \
open.a sig.a case.a env.a stralloc.a alloc.a substdio.a error.a str.a \
fs.a auto_qmail.o base64.o socket.lib
./load qmail-smtpd rcpthosts.o commands.o timeoutread.o \
timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o \
received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a \
datetime.a getln.a open.a sig.a case.a env.a stralloc.a \
alloc.a substdio.a error.a str.a fs.a auto_qmail.o base64.o `cat \
socket.lib` -L/usr/local/ssl/lib -L/home/vpopmail/lib -lssl -lcrypto -lv
-L/usr/local/mysql/lib -lmysqlclient -lz