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

Reply via email to