I'm digging into this as we speak. The whole auth layer is not really about authentication at all, or at least not *just* about authentication. It's too bloated for that. Calling it dbmailUser, or something alike, would probably cover it better.... Actually, some kind of UML redesign would really help cleanup the code base (_ic_fetch, aarrrgh) and provide a better handle for developing modules such as this. I know Dan was blasted for suggesting this, but I happen to agree with him on this one. Dbmail is *not* too small for well formed design patterns.

The nitty gritty:

All the db_..._quotum_used/all functions should probably stay where they are. Quota usage should be handled by db.c, with calls from the auth layer.

However, the auth layer should call a db_something function to check the existence of a userid/user_idnr in the dbmail_users table, and if necessary insert a template user record to be used as a cache. We should probably make sure upon checking that for such a user no password is defined to prevent overwriting users defined earlier using authsql. Or maybe dbmail should simply bail-out at all levels if users exists with passwords to prevent conflicts from differently configured builds connecting to the same database. We most likely don't want that, right?

Records like the DBMAIL_DELIVERY_USERNAME should exist in the sql tables only, right? I don't see the point of having such a user exist in the ldap database.

db_get_users_from_clientid
db_get_deliver_from_alias
db_add_alias
db_add_alias_ext
db_remove_alias
db_remove_alias_ext

These can all be renamed and moved to auth/.. quite straightforwardly. Of course they require reimplementation in the ldap layer.

I agree with your suggestion about delaying this for the 2.1.x development series (assuming we assume linux kernel style numbering from now on...)

Unless Aaron (our most experienced ldap developer it seems) puts his weight behind this, I don't see us finishing this any time real soon. Even though I'm aching for ldap support :-(



Ilja Booij wrote:
Aaron Stone wrote:

Ilja Booij <[EMAIL PROTECTED]> said:

I'd like to release 2.0rc8 (yes, flawed release engineering etc, no need to discuss that right now I think) tomorrow, August 17th (at about 4pm CET(=3pm GMT)). I'm not aware of any issues that should be resolved at the moment. am I correct? Please correct me if I'm wrong.


Sounds good! Main things in this release:

- All new command line switches
- PID files for all daemons
- Database prefixes
- Misc. bugfixes

Things still broken:

- users table and LDAP integration

So RC8 will be about making sure that the new stuff works, and RC9 will be about making sure that LDAP works. Does that sound right? Anything else to
test?
I'm wondering about the amount of work that needs to go into making LDAP authentication work. Can someone (Aaron, Paul) give an indication about it. I'll try to get up to speed on LDAP programming ASAP. Can somebody point me to some good tutorials/manuals on the web?

Thanks,
Ilja


--
  ________________________________________________________________
  Paul Stevens                                         [EMAIL PROTECTED]
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands_______________________________________www.nfg.nl

Reply via email to