In the immortal words of Sam Varshavchik ([EMAIL PROTECTED]):
>
> > In the immortal words of Sam Varshavchik ([EMAIL PROTECTED]):
> > >
> > > check_sqwebpass() is probably failing. Maybe Maildir/sqwebmail-pass is
> > > out of sync with the vpopmail password.
> >
> > Not only out of sync, but...it doesn't exist at all. An artifact of
> > having started out with a much older version of sqwebmail? Is there
> > a "safe" way to generate the file?
>
> Weird. It should be created automatically. In sqwebmail.c:
>
> #if ENABLE_WEBPASS
> if (!has_sqwebpass())
> set_sqwebpass(p);
> #endif
>
> That should create it automatically after logging in.
>
> Trace this execution pass.
Okay, it looks like this. (Apologies, this is long.) Note that
7800:10001 is the uid:gid of vpopmail:vchkpw on my box; sqwebmail is
running setuid and setgid to those ids.
23501: read(3, " P O S T / m a i l / l".., 4096) = 619
23501: sigaction(SIGUSR1, 0xEFFFD1F0, 0xEFFFD270) = 0
23501: time() = 969855680
23501: alarm(300) = 300
23501: alarm(0) = 300
23501:
stat("/home/httpd/cgi-bin/sqwebmail/login/velcro.authvchkpw/47D86CA570A6DB6C5634E71C08E83893/969855602",
0x000F4920) Err#20 ENOTDIR
23501:
stat("/home/httpd/cgi-bin/sqwebmail/login/velcro.authvchkpw/47D86CA570A6DB6C5634E71C08E83893",
0x000F4920) Err#20 ENOTDIR
23501: stat("/home/httpd/cgi-bin/sqwebmail/login/velcro.authvchkpw", 0x000F4920)
Err#20 ENOTDIR
23501: stat("/home/httpd/cgi-bin/sqwebmail/login", 0x000F4920) Err#20 ENOTDIR
23501: stat("/home/httpd/cgi-bin/sqwebmail", 0x000F4920) = 0
23501: lstat("/home/httpd/cgi-bin/sqwebmail", 0xEFFFF188) = 0
23501: door_info(4, 0xEFFF8E48) = 0
23501: door_call(4, 0xEFFF8E30) = 0
23501: pipe() = 5 [6]
23501: pipe() = 7 [8]
23501: pipe() = 9 [10]
23501: fork() = 23544
23544: fork() (returning as child ...) = 23501
23501: close(8) = 0
23501: close(5) = 0
23501: close(10) = 0
23544: close(7) = 0
23544: fcntl(8, F_DUP2FD, 0x00000001) = 1
23544: close(8) = 0
23544: close(6) = 0
23544: fcntl(5, F_DUP2FD, 0x00000000) = 0
23544: close(5) = 0
23501: alarm(300) = 0
23544: close(9) = 0
23501: alarm(300) = 300
23544: fcntl(10, F_DUP2FD, 0x00000002) = 2
23501: write(6, " f o l d e r = I N B O X".., 216) = 216
23544: close(10) = 0
23501: alarm(0) = 300
23501: close(6) = 0
23544: sigaction(SIGCLD, 0xEFFFAF90, 0xEFFFB010) = 0
23501: alarm(300) = 0
23544:
stat("/home/httpd/htdocs/blank.org/login/velcro.authvchkpw/47D86CA570A6DB6C5634E71C08E83893/969855602",
0x000F8E98) Err#2 ENOENT
23544:
stat("/home/httpd/htdocs/blank.org/login/velcro.authvchkpw/47D86CA570A6DB6C5634E71C08E83893",
0x000F8E98) Err#2 ENOENT
23544: stat("/home/httpd/htdocs/blank.org/login/velcro.authvchkpw", 0x000F8E98) Err#2
ENOENT
23544: stat("/home/httpd/htdocs/blank.org/login", 0x000F8E98) Err#2 ENOENT
23544: stat("/home/httpd/htdocs/blank.org", 0x000F8E98) = 0
23544: open("/home/httpd/htdocs/blank.org/.htaccess", O_RDONLY) Err#2 ENOENT
23544: chdir("/home/httpd/cgi-bin") = 0
23544: fcntl(24, F_DUP2FD, 0x00000002) = 2
23544: close(24) = 0
23544: close(23) = 0
23544: close(22) = 0
23544: close(21) = 0
23544: close(20) = 0
23544: close(19) = 0
23544: close(18) = 0
23544: close(17) = 0
23544: close(16) = 0
23544: close(15) = 0
23544: close(36) = 0
23544: close(35) = 0
23544: close(34) = 0
23544: close(33) = 0
23544: close(32) = 0
23544: close(31) = 0
23544: close(30) = 0
23544: close(29) = 0
23544: close(28) = 0
23544: close(27) = 0
23544: close(26) = 0
23544: close(25) = 0
23544: close(3) = 0
23544: execve("/home/httpd/cgi-bin/sqwebmail", 0xEFFFAF28, 0x000F5A60) argc = 1
23544: *** SUID: ruid/euid/suid = 60001 / 7800 / 7800 ***
23544: *** SGID: rgid/egid/sgid = 60001 / 10001 / 10001 ***
23544: open("/dev/zero", O_RDONLY) = 3
23544: mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xEF7C0000
23544: open("/usr/lib/libm.so.1", O_RDONLY) = 4
23544: fstat(4, 0xEFFFF5BC) = 0
23544: mmap(0x00000000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF7B0000
23544: mmap(0x00000000, 155648, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF780000
23544: munmap(0xEF796000, 61440) = 0
23544: mmap(0xEF7A5000, 3213, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
4, 86016) = 0xEF7A5000
23544: close(4) = 0
23544: open("/usr/lib/libgdbm.so.2", O_RDONLY) = 4
23544: fstat(4, 0xEFFFF5BC) = 0
23544: mmap(0xEF7B0000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0xEF7B0000
23544: mmap(0x00000000, 94208, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF760000
23544: munmap(0xEF766000, 61440) = 0
23544: mmap(0xEF775000, 4540, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
4, 20480) = 0xEF775000
23544: close(4) = 0
23544: open("/usr/lib/libc.so.1", O_RDONLY) = 4
23544: fstat(4, 0xEFFFF5BC) = 0
23544: mmap(0xEF7B0000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0xEF7B0000
23544: mmap(0x00000000, 700416, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF680000
23544: munmap(0xEF714000, 61440) = 0
23544: mmap(0xEF723000, 24336, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
4, 602112) = 0xEF723000
23544: mmap(0xEF729000, 6688, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 0) = 0xEF729000
23544: close(4) = 0
23544: open("/usr/lib/libdl.so.1", O_RDONLY) = 4
23544: fstat(4, 0xEFFFF5BC) = 0
23544: mmap(0xEF7B0000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) =
0xEF7B0000
23544: close(4) = 0
23544: open("/usr/platform/SUNW,SPARCstation-10/lib/libc_psr.so.1", O_RDONLY) Err#2
ENOENT
23544: mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0xEF750000
23544: close(3) = 0
23544: sigaction(SIGHUP, 0xEFFFF810, 0xEFFFF890) = 0
23544: sigaction(SIGINT, 0xEFFFF810, 0xEFFFF890) = 0
23544: sigaction(SIGPIPE, 0xEFFFF810, 0xEFFFF890) = 0
23544: sigaction(SIGTERM, 0xEFFFF810, 0xEFFFF890) = 0
23544: umask(077) = 022
23544: brk(0x00068898) = 0
23544: brk(0x0006A898) = 0
23544: open("/home/vpopmail/webcache/134702/ve/velcro.authvchkpw", O_RDONLY) = 3
23544: fstat64(3, 0xEFFFF368) = 0
23544: brk(0x0006A898) = 0
23544: brk(0x0006C898) = 0
23544: ioctl(3, TCGETA, 0xEFFFF2F4) Err#25 ENOTTY
23544: read(3, " 7 8 0 0 1 0 0 0 1 /".., 8192) = 83
23544: chdir("/home/vpopmail/users/velcro/Maildir") = 0
23544: read(3, 0x000690FC, 8192) = 0
23544: llseek(3, 0, SEEK_CUR) = 83
23544: close(3) = 0
23544: setgid(10001) = 0
23544: setuid(7800) = 0
23544: time() = 969855680
23544: open("./sqwebmail-ip", O_RDONLY) = 3
23544: fstat(3, 0xEFFFF838) = 0
23544: fstat64(3, 0xEFFFF6E0) = 0
23544: ioctl(3, TCGETA, 0xEFFFF66C) Err#25 ENOTTY
23544: read(3, " 2 1 6 . 1 1 2 . 2 3 9 .".., 8192) = 79
23544: llseek(3, 0, SEEK_CUR) = 79
23544: close(3) = 0
23544: open("./sqwebmail-timestamp", O_RDONLY) = 3
23544: fstat(3, 0xEFFFF838) = 0
23544: fstat64(3, 0xEFFFF6E0) = 0
23544: brk(0x0006C898) = 0
23544: brk(0x0006E898) = 0
23544: ioctl(3, TCGETA, 0xEFFFF66C) Err#25 ENOTTY
23544: read(3, "\n", 8192) = 1
23544: llseek(3, 0, SEEK_CUR) = 1
23544: close(3) = 0
23544: ioctl(0, TCGETA, 0xEFFFF684) Err#22 EINVAL
23544: fstat64(0, 0xEFFFF6F8) = 0
23544: read(0, " f o l d e r = I N B O X".., 5120) = 216
23544: open("./sqwebmail-timestamp", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
23544: fstat64(3, 0xEFFFEA10) = 0
23544: ioctl(3, TCGETA, 0xEFFFE99C) Err#25 ENOTTY
23544: write(3, "\n", 1) = 1
23544: close(3) = 0
23544: chmod("./sqwebmail-timestamp", 0600) = 0
23544: open("/usr/lib/locale/en_US/en_US.so.1", O_RDONLY) = 3
23544: fstat(3, 0xEFFFE50C) = 0
23544: mmap(0x00000000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF740000
23544: mmap(0x00000000, 81920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xEF660000
23544: munmap(0xEF664000, 61440) = 0
23544: mmap(0xEF673000, 2740, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 12288) = 0xEF673000
23544: close(3) = 0
23544: munmap(0xEF740000, 4096) = 0
23544: open("./sqwebmail-config", O_RDONLY) = 3
23544: fstat(3, 0xEFFFF7C8) = 0
23544: fstat64(3, 0xEFFFF670) = 0
23544: ioctl(3, TCGETA, 0xEFFFF5FC) Err#25 ENOTTY
23544: read(3, " S O R T = D P A G E S".., 8192) = 133
23544: llseek(3, 0, SEEK_CUR) = 133
23544: close(3) = 0
23544: access("/home/httpd/htdocs/sqwebmail/noimages", 0) Err#2 ENOENT
23544: open("/home/httpd/htdocs/sqwebmail/html/en-us/preferences.html", O_RDONLY) = 3
23544: ioctl(1, TCGETA, 0xEFFFE76C) Err#22 EINVAL
23544: fstat64(1, 0xEFFFE7E0) = 0
23544: fstat64(3, 0xEFFFF5A8) = 0
23544: brk(0x0006E898) = 0
23544: brk(0x00070898) = 0
23544: ioctl(3, TCGETA, 0xEFFFF534) Err#25 ENOTTY
23544: read(3, " < ! D O C T Y P E H T".., 8192) = 8192
23544: open("/home/httpd/htdocs/sqwebmail/hostname", O_RDONLY) = 4
23544: fstat64(4, 0xEFFFF2C8) = 0
23544: brk(0x00070898) = 0
23544: brk(0x00072898) = 0
23544: ioctl(4, TCGETA, 0xEFFFF254) Err#25 ENOTTY
23544: read(4, " s n e a k e r . n e t\n", 8192) = 12
23544: llseek(4, 0, SEEK_CUR) = 12
23544: close(4) = 0
23544: open("./maildirfilterconfig", O_RDONLY) Err#2 ENOENT
23544: open("/home/httpd/htdocs/sqwebmail/maildirfilterconfig", O_RDONLY) Err#2 ENOENT
23544: open("./sqwebmail-pass", O_RDONLY) Err#2 ENOENT
23544: write(1, " C o n t e n t - L a n g".., 5120) = 5120
23501: read(7, " C o n t e n t - L a n g".., 4096) = 4096
23501: alarm(0) = 300
23501: alarm(300) = 0
23544: open("sqwebmail-sig", O_RDONLY) = 4
23544: fstat64(4, 0xEFFFF3D8) = 0
23501: alarm(0) = 300
23501: fstat64(7, 0xEFFF8E98) = 0
23501: fcntl(7, F_SETFL, 0x00000080) = 0
23501: alarm(300) = 0
23544: ioctl(4, TCGETA, 0xEFFFF364) Err#25 ENOTTY
23544: read(4, "\n - - \n J u s t a n".., 8192) = 49
23544: read(4, 0x0006F5C4, 8192) = 0
23501: writev(3, 0xEFFF8F60, 2) = 4204
23544: llseek(4, 0, SEEK_CUR) = 49
23501: alarm(300) = 300
23544: close(4) = 0
23501: read(7, " g o u t "\n ".., 8192) = 1024
23501: alarm(300) = 300
23501: read(7, 0xEFFF9108, 8192) Err#11 EAGAIN
23501: write(3, " g o u t "\n ".., 1024) = 1024
23544: read(3, " < t r >\n ".., 8192) = 1912
23501: poll(0xEFFF7018, 1, -1) = 1
23544: write(1, " ".., 5120) = 5120
23501: read(7, " ".., 8192) = 5120
23544: read(3, 0x0006CBAC, 8192) = 0
23544: llseek(3, 0, SEEK_CUR) = 10104
23501: write(3, " ".., 5120) = 5120
23501: alarm(300) = 300
23501: read(7, 0xEFFF9108, 8192) Err#11 EAGAIN
23544: close(3) = 0
23544: llseek(0, 0, SEEK_CUR) Err#29 ESPIPE
23501: poll(0xEFFF7018, 1, -1) = 1
23544: write(1, " t b o d y >\n ".., 589) = 589
23544: _exit(0)
23501: read(7, " t b o d y >\n ".., 8192) = 589
23501: alarm(300) = 300
23501: read(7, 0xEFFF9108, 8192) = 0
23501: alarm(0) = 300
23501: close(7) = 0
23501: alarm(300) = 0
23501: read(9, 0x000F6848, 4096) = 0
23501: alarm(0) = 300
23501: close(9) = 0
23501: poll(0xEFFFD250, 1, 0) = 0
23501: write(3, " t b o d y >\n ".., 589) = 589
23501: time() = 969855680
23501: write(35, " g a t c a . s l u t . o".., 203) = 203
23501: alarm(30) = 0
23501: shutdown(3, 1) = 0
23501: poll(0xEFFFD0C8, 1, 2000) = 1
23501: read(3, 0xEFFFF1B8, 512) = 0
23501: close(3) = 0
23501: alarm(0) = 30
23501: sigaction(SIGUSR1, 0xEFFFF2F8, 0xEFFFF378) = 0
23501: alarm(0) = 0
23501: waitid(P_PID, 23544, 0xEFFFF178, WEXITED|WTRAPPED|WNOHANG) = 0
23501: fcntl(36, F_SETLKW, 0x000CA8F0) = 0
23501: accept(25, 0xEFFFF440, 0xEFFFF464) (sleeping...)
------------------------------------------------------------<[EMAIL PROTECTED]>
"A Force Recon colonel once told me, "If it's a stupid idea, and it works, it
must not be a stupid idea." (--John Frazier)
<http://www.blank.org/memory/>------------------------------------------------