Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collective attributes do not merged values with multi-valued attr #187

Open
JDanielA opened this issue Sep 16, 2021 · 0 comments
Open

Collective attributes do not merged values with multi-valued attr #187

JDanielA opened this issue Sep 16, 2021 · 0 comments

Comments

@JDanielA
Copy link

JDanielA commented Sep 16, 2021

Describe the bug

Collective attributes (virtual attributes) are not merged, only the attributes from the first entry are returned. This bug report was inspired in a very similar problem detected in the non-community version of OpenDJ.

To Reproduce

You must to create two CollectiveAttributeSubentry with the same collective attribute "myattr" and two differents values.

E.g.

dn: cn=collective1,dc=example,dc=com
 objectClass: top
 objectClass: subentry
 objectClass: collectiveAttributeSubentry
 objectClass: extensibleObject
 cn: collective1
 myattr;collective: collective1
 subtreeSpecification: \{base "ou=people", specificationFilter "(uid=*)" }

dn: cn=collective2,dc=example,dc=com
 objectClass: top
 objectClass: subentry
 objectClass: collectiveAttributeSubentry
 objectClass: extensibleObject
 cn: collective2
 myattr;collective: collective2
 subtreeSpecification: \{base "ou=people", specificationFilter "(uid=user*)" }

Expected behavior

According to RFC 3671:

When an entry belongs to multiple entry collections, the entry's
   values of each collective attribute are combined such that
   independent sources of these values are not manifested to clients.
...
Collective attributes SHALL NOT be SINGLE-VALUED.

=> So it sounds like collective attribute values should be merged. Virtuals with other virtuals and reals values.

Current behavior

  • "uid=user.0,ou=people,dc=example,dc=com" only has the first collective attribute value "myattr: collective1".
  • If collectiveConflictBehavior is set to "merge-real-and-virtual" for both "cn=collective1" and "cn=collective2" AND if uid=user.0 has a real attribute "myattr", then only the real attribute values are returned for uid=user.0.

Version

  • Version [OpenDJ 4.4.11]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant