[tpop3d-discuss] Compilation trouble on Solaris

Martin Schmitt martin at schmitt.li
Sat, 19 Jan 2002 21:48:35 +0100

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* Chris Lightfoot wrote/schrieb:

> > What I need is a separate password base for POP3. I'm far from sure abo=
> > the implementation, but I'm currently favouring a user-maintained
> > "$HOME/.mailpass" that they may update through some custom Perl scripts
> > which check for example if they really aren't using their Unix password=
> > POP3 authentication.=20
> Take a look at scripts/dotapopfile, which (with a simple
> tweak) should do exactly what you want.

First of all, thanks for this pointer.=20

Since I found that the nested if{}'s make dotapopfile a tough read, I
basically re-did the whole sub()-Block in my own words, made it compile
under strict and kept the supporting stuff from the original script. I have
no idea, how and why this stuff works. I see "@ISA" and go to full dummy
mode in an instant. ;-)

Good god. I need to get a clue wrt OOP. =20

So here is what I produced so far:

The bad news: It doesn't work. Some values for user and pass fields seem to
be carried over between connection attempts. Ocassionally, it will accept
connection with complete bogus credentials, apparently carried over from
the last valid authentication. Other times, it denies access to valid
users, though the credentials are correct, most likely for the same reason,
just the other way around.=20

I've added the "password-zeroing" line from dotapopfile, but that didn't=20
change anything. I think it's a problem with invocation and my lack of clue=
regarding the OOP stuff. All the variables inside the block should be
lexically scoped only to this block and on next turn, everything should be
clean, from my point of view, so the old data can only come from the data
that's being passed to the subroutine.

Any ideas?



$ cd /pub
$ more beer

Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org