Package: qmail Version: 1.03-24
In /etc/init.d/qmail, the lines that start the second tcpserver are commented by default.
However, removing the comments does not make the second tcpserver start reliably at boot time.
The first tcpserver is started this way:
sh -c "start-stop-daemon --start --quiet --user qmaild \ --exec /usr/bin/tcpserver -- -R -H \ -u `id -u qmaild` -g `id -g nobody` -x /etc/tcp.smtp.cdb 0 smtp \ /usr/sbin/qmail-smtpd 2>&1 | $logger -t qmail -p mail.notice &"
the second one is started this way:
sh -c "start-stop-daemon --start --quiet --user root \ --exec /usr/bin/tcpserver -- -R \ 0 pop-3 /usr/sbin/qmail-popup `hostname`.`dnsdomainname` \ /usr/bin/checkpassword /usr/sbin/qmail-pop3d Maildir &"
The smtpd tcpserver is always started correctly while the pop3 one is no longer running after a reboot.
My understanding of this behaviour is that the first /usr/bin/tcpserver has not always the opportunity to call setuid() before the second start-stop-daemon is run. Because of this, the second start-stop-daemon sees a match for a /usr/bin/tcpserver process that run as root and does not start the second /usr/bin/tcpserver since the start-stop-daemon match is only made using --exec and --user.
Adding --pidfile /var/run/tcpserver_smtpd.pid --make-pidfile options to the first start-stop-daemon command (i.e. the one for qmail-smtpd) and the --pidfile /var/run/tcpserver_pop3.pid --make-pidfile options to the second start-stop-daemon command (i.e. the one for qmail-popup) seems to correct the issue.
Another solution would be to call qmail-popup's tcpserver before qmail-smtpd's tcpserver.
Regards,
David Orban
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]