[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Issue with dynlist overlay



We're getting hung up on non-issues, so I'm staring over (note, there was nothing incorrect about the previous description of the problem, everything was configured and behaving exactly as described, this is just another way of describing the issue):

So I just ran across an undocumented issue with slapo-dynlist. I'm not sure if this is a bug, or just missing in the documentation.

The issue is that if the entry being dynamically added to the parent entry has the objectClass slapo-dynlist is configured to use, that entry is not dynamically added to the parent.
For example:
----
dn: olcOverlay={4}dynlist,olcDatabase={3}hdb,cn=config
objectClass: olcDynamicList
objectClass: olcOverlayConfig
olcOverlay: {4}dynlist
olcDlAttrSet: {0}labeledURIObject labeledURI
----
dn: cn=parent,dc=example,dc=com
objectClass: groupOfNames
objectClass: top
objectClass: labeledURIObject
cn: parent
member: uid=foo,dc=example,dc=com
labeledURI: ldap:///cn=child,dc=example,dc=com??base?(objectClass=*)

dn: cn=child,dc=example,dc=com
objectClass: groupOfNames
objectClass: top
objectClass: labeledURIObject
member: uid=bar,dc=example,dc=com
cn: child
----

In the above example, I would "member: uid=bar,dc=example,dc=com" to be added to cn=parent,dc=example,dc=com, but it isn't.

Now the documentation clearly states recursion is not allowed, so if cn=child were to have a 'labeledURI', this labeledURI would not be expanded. But this is not what is being done here, cn=child has no labeledURI present. It also behaves perfectly fine if I pull the "objetClass: labeledURIObject" off cn=child.

ldapsearch with objectClass labeledURIObject present on cn=child:
----
dn: cn=parent,dc=example,dc=com
objectClass: groupOfNames
objectClass: top
objectClass: labeledURIObject
cn: parent
member: uid=foo,dc=example,dc=com
labeledURI: ldap:///cn=child,dc=example,dc=com??base?(objectClass=*)
----

ldapsearch without objectClass labeledURIObject present on cn=child:
----
dn: cn=parent,dc=example,dc=com
objectClass: groupOfNames
objectClass: top
objectClass: labeledURIObject
cn: parent
cn: child
member: uid=foo,dc=example,dc=com
member: uid=bar,dc=example,dc=com
labeledURI: ldap:///cn=child,dc=example,dc=com??base?(objectClass=*)
----

So is this supposed to behave this way? If so can the documentation be updated to indicate this restriction?
If not I'd be happy to open an ITS on the issue.

-Patrick