Quote:
Originally Posted by catkin
Care to share the reason with us?
|
Alright, it is a little bit complicated. It is not fair to say that start-stop-daemon is buggy, but we have a conflict.
I have also tried to set it up using spamdyke like
Code:
...
rblsmtpd="/usr/local/bin/spamdyke -l -f /etc/spamdyke.conf"
...
...
sh -c "start-stop-daemon --start --quiet --user qmaild \
--pidfile /var/run/tcpserver_smtpd.pid --make-pidfile \
--exec /usr/bin/tcpserver -- -R -H \
-u `id -u qmaild` -g 1004 -x /etc/tcp.smtp.cdb 0 smtp \
$rblsmtpd /usr/sbin/qmail-smtpd 2>&1 \
| $logger &"
It works I can send emails (if I use my rc.local hack), but every time a mail is sent I get in /var/log/mail.err
server1 spamdyke[2200]: ERROR: unable to find protocol number with getprotobyname()
That is ridiculous. The code in spamdyke is very simple it just call
getprotobyname("udp"), and if the returned pointer is null it logs the error message. My guess is that getprotobyname for some reason hasn't been able to read the /etc/protocols.
I have made a small testprogram using getprotobyname and it works fine. I even let start-stop-daemon start my test program.
The testprogram was build with the same settings as spamdyke. Afterwards I made a clean and make spamdyke, and a reinstallation but it changed nothing.
I have
server1:~# dpkg -l | grep ucspi
ii ucspi-tcp 1:0.88-2 command-line tools for building TCP client-server applications
ucspi was installed twice first 0.88-15 then the above.
I tried to run tcpserver from the command line ie. not as a daemon and suddenly I got no getprotobyname error
In other words tcpserver likes my console enviroment, but not when it is invoked by something else.
I must add that I have used the above configuration on an etch without problems.
It is possible that it is caused by two different errors, but I think it is start-stop-daemon/tcpserver/lenny conflict. Maybe I should add that I use AMD64 and have a raid filesystem.