[PATCH(wip)] remove dependency loop pdb->pdb_ldapsam->smbldaphelper->pdb

Alexander Bokovoy ab at samba.org
Tue Oct 22 22:57:46 MDT 2013


On Wed, Oct 23, 2013 at 12:42:22AM +0200, Michael Adam wrote:
> Hi,
> 
> the attached (unfinished) patch removes a dependency loop
> pdb->pdb_ldapsam->smbldaphelper->pdb
> (the last step was implicit by "allow_undefined_symbols=True").
> 
> It is achieved by moving some code and splitting out new subsystems
> PRIVILEGES (lib/privileges.c),
> ACCOUNT_POL (passdb/account_pol.c), and
> PDB_ALGORITHMIC_UTIL (passdb/pdb_algorithmic_util.c, containing algorithmic_rid_base())
> 
> so that afterwards we have:
> 
> pdb--+-->ACCOUNT_POL-->PRIVILEGES
>      |
>      +-->PDB_ALGORITHMIC_UTIL
>      |
>      +-->pdb_ldapsam-->smbldaphelper--+-->ACCOUNT_POL-->PRIVILEGES
>                                       |
>                                       +-->PDB_ALGORITHMIC_UTIL
> 
> (A separate PRIVILEGS would not have been necessary, but it seemed
>  natural and might be useful later, e.g. lsa server.)
> 
> The patch is unfinished in that it would need some polishing
> (like splitting out the account_pol.c header from passdb.h)
> but I think it is doing the right thing generally, and I would
> like to what others think.
> 
> One point is that it changes the pdb "library", which is
> published since recently (which I still find unfortunate for such
> an internal thing, but well..). I think the change removes
> symbols from passdb that don't actually belong into there.
> Opinions?
Thanks for the effort!

I've verified FreeIPA's use of pdb API and these changes do not affect it.

The changes look logical to me. 

-- 
/ Alexander Bokovoy


More information about the samba-technical mailing list