[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#3737) Patch to passwd backend
> On Fri, 20 May 2005, Pierangelo Masarati wrote:
>
>> What about having (inetOrg)person + posixAccount instead? My concern is
>> that
>> account + posixAccount does not allow some of the attributes previously
>> present in back-passwd (e.g. sn, which was actually required by person)
>> and
>> thus could break existing deployments. person + posixAccount would only
>> add
>> attributes without breking the objectClass inheritance chain with
>> respect to
>> the currently released software.
>
> That sounds like a good idea, and is the way that I should have done it.
>
>> The posixAccount extras could be associated
>> to the presence of a configure switch (and posixAccount could simply
>> replace
>> the uidObject class).
>
> Are you saying that a configure option would select between returning
> posixAccount and uidObject?
Something like that, following the idea of not risk breaking existing
stuff (or returning extra stuff to those that are happy with existing
functionality; I wonder how many are there)
>
> I suppose I should patch against HEAD instead of 2.2.26, as this is an
> enhancement.
Yes. Despite what one could expect, during some reworking of the code
back-passwd has been modified a bit in HEAD/2.3. Now AttributeDescription
pointers are pre-fetched at startup. This implies that slapd can safely
detect if the appropriate schema has been loaded yet.
In any case, apart from requiring a bit of reworking, your change should
be essentially straightforward. I suggest you use
attr_merge_normalize_one() instead of attr_mergeit(). Instead of
optionally using uidObject in the baseline code, one could directly move
to inetOrgPerson, possibly documenting that this requires loading
inetorgperson.schema; with the optional posixAccount, one will need to
load nis.schema. Or, a generic comment about the need to check that the
required schema items are loaded should suffice.
p.
--
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it
SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497