[tpop3d-discuss] MySQL Authentication

Chris Lightfoot chris at ex-parrot.com
Tue, 26 Jun 2001 00:34:11 +0100


On Mon, Jun 25, 2001 at 04:20:38PM -0700, Paul Makepeace wrote:
> On Sun, Jun 24, 2001 at 01:11:08AM +0100, Chris Lightfoot wrote:
> > Including a perl interpreter (auth_perl) or
> > allowing users to call into an external program
> > (auth_other) seems to me a better and more general
> > strategy. In particular, to allow people to choose a
> > database query at runtime is subject to a number of
> > subtleties and random design decisions; also, I don't wish
> > to implement additional database drivers (auth_pgsql;
> > auth_oracle; etc.), and I would be reluctant to include
> > numerous such things into the source tree on the basis
> > that it would make maintaining the program more difficult.
> > The DBD::... drivers in perl are sufficient for this
> > purpose, and I can't see any point in trying to replicate
> > that work.
> 
> One thing worth noting here if only because it's intriguing and
> unexpected for most people is that for high performance database work
> perl is slow. The rate limiting factor in Oracle access using perl is,
> yup, perl. Funneling the data into perl structures and then retrieving
> them for use in the program, fast as this is compared to most scripting
> languages is still a dominant chunk of the time spent accessing data
> from an Oracle database.

OK, I wasn't aware of that (though it makes sense...).

> So if a stated aim of tpop3d is speed, this
> might be a consideration for some (that aim was one of my origin reasons
> for selecting it).

Yeah, that's one of the stated aims :)

However, unless you have really large tables of users I
suspect that the cost of forking for each incoming
connection are going to be much larger than the database
lookup times. I haven't got any metrics to back this up,
yet ;)

Certainly, the time taken to index mailspools is going to
be far longer, even for maildir.

> Oracle is really, really fast.
> 
> Some point in the reasonably near future I will do auth_oracle.c (or
> whatever) as well as an exim patch. I was hoping to do this 'n' months
> ago where 'n' is now 'embarrassing' :-)

OK. That seems fair, especially if it's going to be
combined with appropriate exim support.

ISTR your talking about a syntax for generalising database
queries in the exim config file. Do you propose to carry
this over to tpop3d, and if so what syntax are you
thinking of?

-- 
Chris Lightfoot -- www.ex-parrot.com/~chris/
 A cynic is a man who, upon smelling flowers, looks around for a coffin.
 (Mencken)