On Wed, Apr 28, 2004 at 03:38:42PM -0700, Joe Zacky wrote:
10976 stat64("/etc/vmailmgr/checkvpw-presetuid", 0xbfffe540) = -1 ENOENT (No such file or directory) 10976 setgid32(0x200) = 0 10976 setuid32(0x200) = 0 10976 chdir("/var/vmail/zackynet") = 0 10976 open("/var/vmail/zackynet/.vmailmgr/password-file", O_RDONLY) = -1 ENOENT (No such file or directory) 10976 open("/var/vmail/zackynet/.vmailmgr/password-file", O_RDONLY) = -1 ENOENT (No such file or directory) 10976 open("/etc/vmailmgr/password-file", O_RDONLY) = -1 ENOENT (No such file or directory) 10976 open("passwd.cdb", O_RDONLY) = 3 10976 lseek(3, 0, SEEK_SET) = 0 10976 read(3, "E^\0\0\0\0\0\0E^\0\0\2\0\0\0U^\0\0\4\0\0\0u^\0\0\0\0\0"..., 4096) = 4096 10976 lseek(3, 24829, SEEK_SET) = 24829 10976 read(3, "\0\0\0\0\0\0\0\0B,\0168\304\n\0\0\0\0\0\0\0\0\0\0E\215"..., 4096) = 2440 10976 close(3) = 0 10976 stat64("/etc/vmailmgr/checkvpw-loginfail", 0xbfffe350) = -1 ENOENT (No such file or directory) 10976 stat64("/var/vmail/zackynet/.vmailmgr/checkvpw-loginfail", 0xbfffe430) = -1 ENOENT (No such file or directory) 10976 exit_group(1) = ?
..so.. it just can't verify the password for some reason, although the setgid(), setuid() and chdir() to zackynet's home directory succeeds.
A suggestion is to strace -fFp the pop3 tcpserver and compare the
corresponding part of checkvpw there.
Yes, I did do a full trace of both bincimap and pop3d with full 4096 character strings. What I found was the pop3d read the cdb database until it found the correct user entry - 3 reads. The bincimap trace showed the correct entry was never read from the cdb. It stopped before it found the entry after 2 reads as shown above. I tried to gdb debug it but got completely confused.
Joe Zacky
