Actually that makes sense.

Right now, when you choose an authentication methode (ie mysql)  you are
stuck with that one.   I was thinking the other day myself, I wanted to use
Mysql because, as I understood the instructions, I could in the future add
in questions on the sqregister page like Password retrieval questions and
stuff like that to be stored in the database with their username.

I suddenly thought tho, while its unlikely that the mysql server will be
down, without the entire server being down, what would happen if for some
reason mysql stops functioning and cannot authenticate the users?   Well,
the users would suddenly find themselves without access to their mail.

I think its a marvelous idea to make it so that the mysql authentication can
be used, but in the event of a failure to authenticate from mysql, the
server will check the vpasswd file for the username and password as a back
up authentication.

This would of course require that the vadd  and vdel programs would have to
update the mysql database, AND the vpasswd files when a user is added or
removed.   Is not actually replication, but rather redundancy.  However, as
I am not a programmer, I dont know how hard it would be to have the programs
write to both the mysql DB and the vpasswd files.   Not to mention the
actualy vpopmail porgram having to have the code to understand that when it
gets a failed mysql authentication, to check the vpasswd file before denying
the user.


----- Original Message -----
From: "Ken Jones" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, July 09, 2001 10:57 AM
Subject: Re: Deferral on database failure


>
> Sounds like a disaster waiting to happen.
> Ever try to build a replicated database (which is kinda what
> you are talking about). The things you have to watch for
> are almost endless.
>
> But hey :) if you want to build it, test it, and then support
> it on the mailing list for the next two years, rock on!
>
> What problem are you trying to solve with having a cdb file?
> Lookup speed?
>
> Ken
>
> Troy Settle wrote:
> >
> > I don't know how expensive this would be, but what about building in a
cache
> > mechinism?  Where vauth_getpw can update a cdb stored locally and use
that
> > cdb in the event of a database failure.
> >
> > The mechnism would need to be able to add/remove/update records in the
cdb
> > based on the contents of the sql database.
> >
> > --
> >   Troy Settle
> >   Pulaski Networks
> >   540.994.4254
> >   http://www.psknet.com
> >
> > ** -----Original Message-----
> > ** From: inter7 [mailto:inter7]On Behalf Of Ken Jones
> > ** Sent: Monday, July 09, 2001 10:00 AM
> > ** To: Troy Settle
> > ** Cc: [EMAIL PROTECTED]
> > ** Subject: Re: Deferral on database failure
> > **
> > **
> > ** Troy Settle wrote:
> > ** >
> > ** > All,
> > ** >
> > ** > In searching through the archives, I found this posting from Ken
last
> > ** > October:
> > ** >
> > ** > > > We are thinking to upgrade to the new version of Vpopmail
> > ** because the
> > ** > > > old one(currently installed vpopmail) has one critical bug in
the
> > ** > > > current version we are using needs to be addressed is that mail
> > ** > > > bounces when vdelivermail can't connect to MySQL for
> > ** whatever reason
> > ** > > > (usually because MySQL is down or busy).
> > ** > >
> > ** > > Hmm.. That's an interesting point. If vdelivermail can't retrieve
> > ** > > a users information because it can't connect to the database, it
> > ** > > should cause a deferral. I'll put that on the TODO list.
> > ** >
> > ** > Has this been done?  I don't see it in the TODO list or
> > ** Changelog (4.9.10).
> > ** > If not, what would it take to get it done?
> > **
> > ** No it has not been done. The error return code from
> > ** the function in questino, vauth_getpw only returns
> > ** NULL (for use not found) and a value (for a user found)
> > ** There is no other error types. If we changed it to
> > ** return a -1, for example, it may break other code.
> > ** It could return an OutOfBand error, in a global
> > ** error variable.
> > **
> > ** What would be the best way to do this?
> > ** 1) Have vauth_getpw return -1 and review all the code
> > **    using vauth_getpw
> > ** or
> > ** 2) return an out of band error value?
> > **
> > ** Ken Jones
> > **
> > **
>

Reply via email to