[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