Hello,
I am running Qmail 1.03 with the LDAP patch from http://www.nrg4u.com
on a Solaris 2.6 box. LDAP is OpenLDAP 1.2.9 residing on the same
box.
The patch applies cleanly to the source, and I'm able to compile qmail
successfully. However, when I try to start qmail, I get:
bash-2.02# /var/qmail/rc
alert: cannot start: hath the daemon spawn no fire?
bash-2.02# cat /var/qmail/rc
#!/bin/sh
# Using stdout for logging
# Using control/defaultdelivery from qmail-local to deliver messages
by default
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start "`cat /var/qmail/control/defaultdelivery`"
bash-2.02# cat /var/qmail/control/defaultdelivery
./Maildir
bash-2.02# truss /var/qmail/rc
execve("/var/qmail/rc", 0xEFFFFD10, 0xEFFFFD18) argc = 2
open("/dev/zero", O_RDONLY) = 3
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3,
0) = 0xEF7B0000
open("/usr/lib/libc.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF8A4) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF7A0000
mmap(0x00000000, 704512, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF680000
munmap(0xEF714000, 57344) = 0
mmap(0xEF722000, 28432, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 4, 598016) = 0xEF722000
mmap(0xEF72A000, 2592, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF72A000
close(4) = 0
open("/usr/lib/libdl.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF8A4) = 0
mmap(0xEF7A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4,
0) = 0xEF7A0000
close(4) = 0
open("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF684) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF790000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF780000
close(4) = 0
close(3) = 0
munmap(0xEF790000, 8192) = 0
getpid() = 9915 [9914]
getpgid(9915) = 9914
getsid(9915) = 338
brk(0x000384B8) = 0
sysconfig(_CONFIG_SIGRT_MIN) = 38
sysconfig(_CONFIG_SIGRT_MAX) = 45
sigaltstack(0xEFFFFC04, 0x00000000) = 0
sigaction(SIGHUP, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGHUP, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGINT, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGINT, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGQUIT, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGQUIT, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGILL, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGILL, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGTRAP, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGTRAP, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGABRT, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGABRT, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGEMT, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGEMT, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGFPE, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGFPE, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGBUS, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGBUS, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGSEGV, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGSYS, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGSYS, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGPIPE, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGPIPE, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGALRM, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGALRM, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGTERM, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGTERM, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGUSR1, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGUSR1, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGUSR2, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGUSR2, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGPWR, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGPWR, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGURG, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGURG, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGPOLL, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGPOLL, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGVTALRM, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGVTALRM, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGPROF, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGPROF, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGXCPU, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGXCPU, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGXFSZ, 0x00000000, 0xEFFFFB80) = 0
sigaction(SIGXFSZ, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMIN, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMIN+1, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMIN+2, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMIN+3, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMAX-3, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMAX-2, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMAX-1, 0xEFFFFAE0, 0xEFFFFB60) = 0
sigaction(SIGRTMAX, 0xEFFFFAE0, 0xEFFFFB60) = 0
brk(0x000386B8) = 0
getuid() = 0 [0]
getuid() = 0 [0]
getgid() = 1 [1]
getgid() = 1 [1]
open64("/var/qmail/rc", O_RDONLY) = 3
close(19) Err#9 EBADF
fcntl(3, F_DUPFD, 0x00000013) = 19
close(3) = 0
fcntl(19, F_SETFD, 0x00000001) = 0
ioctl(2, TCGETA, 0xEFFFFB2C) = 0
ioctl(19, TCGETA, 0xEFFFFB2C) Err#25 ENOTTY
read(19, " # ! / b i n / s h\n\n #".., 128) = 128
brk(0x000389B8) = 0
brk(0x000387B8) = 0
read(19, " - P A T H = " / v a r".., 128) = 87
brk(0x00038BB8) = 0
brk(0x000390B8) = 0
getuid() = 0 [0]
stat64("/bin/cat", 0xEFFFF520) = 0
access("/bin/cat", 9) = 0
pipe() = 3 [4]
fork() = 9916
close(4) = 0
read(3, " . / M a i l d i r\n", 128) = 10
read(3, 0xEFFFF8B0, 128) = 0
ioctl(3, TCGETA, 0xEFFFF794) Err#22 EINVAL
close(3) = 0
waitid(P_PID, 9916, 0xEFFFF790, WEXITED|WTRAPPED) = 0
execve("/bin/env", 0x0003899C, 0x00038A74) argc = 5
open("/dev/zero", O_RDONLY) = 3
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3,
0) = 0xEF7B0000
open("/usr/lib/libc.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF7BC) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF7A0000
mmap(0x00000000, 704512, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF680000
munmap(0xEF714000, 57344) = 0
mmap(0xEF722000, 28432, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 4, 598016) = 0xEF722000
mmap(0xEF72A000, 2592, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF72A000
close(4) = 0
open("/usr/lib/libdl.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF7BC) = 0
mmap(0xEF7A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4,
0) = 0xEF7A0000
close(4) = 0
open("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF59C) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF790000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF780000
close(4) = 0
close(3) = 0
munmap(0xEF790000, 8192) = 0
brk(0x00021058) = 0
brk(0x00023058) = 0
execve("/var/qmail/bin/qmail-start", 0xEFFFFC2C, 0x00021068) argc = 2
open("/dev/zero", O_RDONLY) = 3
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3,
0) = 0xEF7B0000
open("/usr/lib/libc.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF9EC) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF7A0000
mmap(0x00000000, 704512, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF680000
munmap(0xEF714000, 57344) = 0
mmap(0xEF722000, 28432, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 4, 598016) = 0xEF722000
mmap(0xEF72A000, 2592, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xEF72A000
close(4) = 0
open("/usr/lib/libdl.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF9EC) = 0
mmap(0xEF7A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4,
0) = 0xEF7A0000
close(4) = 0
open("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", O_RDONLY) = 4
fstat(4, 0xEFFFF7CC) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF790000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0xEF780000
close(4) = 0
close(3) = 0
munmap(0xEF790000, 8192) = 0
chdir("/") = 0
umask(077) = 022
setgroups(1, 0xEFFFFDC4) = 0
setgid(602) = 0
fcntl(0, F_GETFL, 0x00000000) = 2
fstat64(0, 0xEFFFFC08) = 0
close(2) = 0
fcntl(0, F_DUPFD, 0x00000002) = 2
fcntl(0, F_GETFL, 0x00000000) = 2
fstat64(0, 0xEFFFFC08) = 0
close(3) Err#9 EBADF
fcntl(0, F_DUPFD, 0x00000003) = 3
fcntl(0, F_GETFL, 0x00000000) = 2
fstat64(0, 0xEFFFFC08) = 0
close(4) Err#9 EBADF
fcntl(0, F_DUPFD, 0x00000004) = 4
fcntl(0, F_GETFL, 0x00000000) = 2
fstat64(0, 0xEFFFFC08) = 0
close(5) Err#9 EBADF
fcntl(0, F_DUPFD, 0x00000005) = 5
fcntl(0, F_GETFL, 0x00000000) = 2
fstat64(0, 0xEFFFFC08) = 0
close(6) Err#9 EBADF
fcntl(0, F_DUPFD, 0x00000006) = 6
pipe() = 7 [8]
pipe() = 9 [10]
pipe() = 11 [12]
pipe() = 13 [14]
pipe() = 15 [16]
pipe() = 17 [18]
fork() = 9920
fork() = 9921
fork() = 9923
setuid(111) = 0
fcntl(1, F_GETFL, 0x00000000) = 2
fstat64(1, 0xEFFFFC08) = 0
close(0) = 0
fcntl(1, F_DUPFD, 0x00000000) = 0
fcntl(8, F_GETFL, 0x00000000) = 2
fstat64(8, 0xEFFFFC08) = 0
close(1) = 0
fcntl(8, F_DUPFD, 0x00000001) = 1
fcntl(9, F_GETFL, 0x00000000) = 2
fstat64(9, 0xEFFFFC08) = 0
close(2) = 0
fcntl(9, F_DUPFD, 0x00000002) = 2
fcntl(12, F_GETFL, 0x00000000) = 2
fstat64(12, 0xEFFFFC08) = 0
close(3) = 0
fcntl(12, F_DUPFD, 0x00000003) = 3
fcntl(13, F_GETFL, 0x00000000) = 2
fstat64(13, 0xEFFFFC08) = 0
close(4) = 0
fcntl(13, F_DUPFD, 0x00000004) = 4
fcntl(16, F_GETFL, 0x00000000) = 2
fstat64(16, 0xEFFFFC08) = 0
close(5) = 0
fcntl(16, F_DUPFD, 0x00000005) = 5
fcntl(17, F_GETFL, 0x00000000) = 2
fstat64(17, 0xEFFFFC08) = 0
close(6) = 0
fcntl(17, F_DUPFD, 0x00000006) = 6
close(7) = 0
close(8) = 0
close(9) = 0
close(10) = 0
close(11) = 0
close(12) = 0
close(13) = 0
close(14) = 0
close(15) = 0
close(16) = 0
close(17) = 0
close(18) = 0
execve("/var/qmail/bin/qmail-send", 0x00022578, 0xEFFFFE60) argc = 1
*** SUID: ruid/euid/suid = 111 / 111 / 111 ***
*** SGID: rgid/egid/sgid = 602 / 602 / 602 ***
open("/dev/zero", O_RDONLY) = 7
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 7,
0) = 0xEF7B0000
open("/usr/lib/libc.so.1", O_RDONLY) = 8
fstat(8, 0xEFFFF9FC) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0) =
0xEF7A0000
mmap(0x00000000, 704512, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0) =
0xEF680000
munmap(0xEF714000, 57344) = 0
mmap(0xEF722000, 28432, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 8, 598016) = 0xEF722000
mmap(0xEF72A000, 2592, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED, 7, 0) = 0xEF72A000
close(8) = 0
open("/usr/lib/libdl.so.1", O_RDONLY) = 8
fstat(8, 0xEFFFF9FC) = 0
mmap(0xEF7A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 8,
0) = 0xEF7A0000
close(8) = 0
open("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", O_RDONLY) = 8
fstat(8, 0xEFFFF7DC) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0) =
0xEF790000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0) =
0xEF780000
close(8) = 0
close(7) = 0
munmap(0xEF790000, 8192) = 0
chdir("/var/qmail") = 0
open("control/me", O_RDONLY|O_NDELAY) = 7
read(7, " d b . b s d . u c h i c".., 64) = 20
close(7) = 0
open("control/queuelifetime", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/concurrencylocal", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/concurrencyremote", O_RDONLY|O_NDELAY) = 7
read(7, " 2 0\n", 64) = 3
close(7) = 0
open("control/envnoathost", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/bouncefrom", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/bouncehost", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/doublebouncehost", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/doublebounceto", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/custombouncetext", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/locals", O_RDONLY|O_NDELAY) = 7
read(7, " l o c a l h o s t\n d b".., 64) = 30
read(7, 0x0002D5E1, 64) = 0
close(7) = 0
open("control/percenthack", O_RDONLY|O_NDELAY) Err#2 ENOENT
open("control/virtualdomains", O_RDONLY|O_NDELAY) Err#2 ENOENT
chdir("queue") = 0
sigaction(SIGPIPE, 0xEFFFFB58, 0x00000000) = 0
sigaction(SIGTERM, 0xEFFFFB58, 0x00000000) = 0
sigaction(SIGALRM, 0xEFFFFB58, 0x00000000) = 0
sigaction(SIGHUP, 0xEFFFFB58, 0x00000000) = 0
sigaction(SIGCLD, 0xEFFFFB58, 0x00000000) = 0
umask(077) = 077
open("lock/sendmutex", O_WRONLY|O_NDELAY) = 7
fcntl(7, F_SETLK, 0xEFFFFBE4) = 0
read(2, 0xEFFFFCE7, 1) = 0
alert: cannot start: hath the daemon spawn no fire?
write(0, " a l e r t : c a n n o".., 52) = 52
_exit(111)
Now, I believe I have all of the ldap entries in /var/qmail/control
entered correctly, but at this point, I'm not exactly sure where the
problem lies. Any hints at what I should be trying?
thanks,
blair christensen