On Thu, Apr 29, 2004 at 01:09:16PM -0700, Joe Zacky wrote: > >Ok. Hm. gdb could've helped, but only if source files were readily > >available and set up in the proper directories, otherwise it wouldn't > >give much, but confusion. :) > > I had my source files setup properly and I put a sleep(60) in > checkvpw.cc main to give me time to start gdb. I got confused because > it was passing objects within objects as parameters and it was just too > hard for me to follow.
Ouch, I can see how that gets hairy after a while, yes. > >pop3d itself doesn't read passwd.cdb, instead it's of course checkvpw > >doing the work of authenticating the user. Deduction gives that the only > >other real error source is input to checkvpw > > That's my theory too but you state it so eloquently. Well, you know what they say, great minds think alike. :) He he. > >- what does the timestamp > >look like in the popup and bincimap-up cases, respectively? Does > >either of them send any "more data" after the timestamp which is > >terminated by \0 ? > > You lost me with the timestamp. I don't know what timestamp you mean. Ah, sorry! Check out http://cr.yp.to/checkpwd/interface.html for a description of how checkpassword and checkvpw (should) work. > These are the parameters passed to checkvpw from qmail-popup, along with > the environment. I captured it with strace: As you see in the interface description input is passed to checkvpw on file descriptor 3, so you'll need to capture the read(3,..) system call that checkvpw issues at startup. > I don't know if this is what you are looking for. If there is something > else I can show you, please let me know. Find the PID of your POP3 and IMAP tcpserver and run this for each: strace -fFp PID -e read -s 256 2>&1|grep 'read.3[^\]*\\0' Then try logging in via the two protocols. You should get one line of output from strace after giving the password. Let's see them! :) //Peter
