On Wed, Apr 28, 2004 at 03:38:42PM -0700, Joe Zacky wrote:
> I think the checkvpw program of vmailmgr and BincIMAP are not playing
> together well.
> 
> I'll try to supply the relevant information below.

I've looked at the strace but since I'm not very familiar with vmailmgr
I'm not sure what's missing..

10976 execve("/usr/local/bin/checkvpw", ["/usr/local/bin/checkvpw",
"/var/qmail/bin/bincauthwrap", "/var/qmail/bin/bincimapd", "Maildir"], [/*
38 vars */] <unfinished ...>
10976 read(3, "zackynet-jztest\0testpass\0Fri Apr"..., 513) = 51
10976 read(3, "", 462)                  = 0
10976 close(3)                          = 0
10976 open("/etc/vmailmgr/separators", O_RDONLY) = -1 ENOENT (No such file
or directory)
10976 brk(0)                            = 0x8054000
10976 brk(0x8055000)                    = 0x8055000
10976 open("/etc/vmailmgr/qmail-root", O_RDONLY) = -1 ENOENT (No such file
or directory)
10976 open("/var/qmail//control/locals", O_RDONLY) = 3
10976 read(3, "QMAIL.ZACKYNET.COM\nlocalhost\n", 4096) = 29
10976 read(3, "", 4096)                 = 0
10976 close(3)                          = 0
10976 open("/var/qmail//control/virtualdomains", O_RDONLY) = 3
10976 brk(0)                            = 0x8055000
10976 brk(0x8056000)                    = 0x8056000
10976 read(3, "igmc.com:igmc\nzacky.com:zacky\nza"..., 4096) = 127
10976 read(3, "", 4096)                 = 0
10976 close(3)                          = 0

..then it goes on to check nsswitch files (ie. passwd and shadow),
followed by..

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.


//Peter

Reply via email to