#48344 acl - regression - trailing ', (comma)' in macro matched value is not removed.
Closed: wontfix None Opened 8 years ago by nhosoi.

acl_match_macro_in_target returns matched value with a trailing comma, e.g., "o=kaki.com,". It's used to create a group DN, e.g.,
"cn=Domain Administrators,ou=Groups,o=kaki.com,,o=ace industry,c=us".

Due to the duplicated commas, the bind unexpectedly fails with 50 (insufficient access).

Failure case:
aci: (target="ldap:///ou=People, ($dn), o=ace industrtargety,c=us") (targetattr!="userPassword")(targetfilter=(objectClass=nsManagedPerson)) (version 3.0; acl "Admin access to all users in this and lower domains"; allow (write,read,search) groupdn="ldap:///cn=Domain Administrators, ou=Groups, [$dn], o=ace industry,c=us";)

Bind DN: uid=michael-kaki.com,ou=People,o=Kaki.com,o=ace industry,c=us

The DN is a uniquemember of:
cn=Domain Administrators,ou=Groups,o=Kaki.com,o=ace industry,c=us
uniquemember: uid=michael-kaki.com,ou=People,o=Kaki.com,o=ace industry,c=us

Target DN: uid=bob-kaki.com,ou=People,o=Kaki.com,o=ace industry,c=us

Log with LDAP_DEBUG_ACL enabled.
[..] NSACLPlugin - aclutil_evaluate_macro for aci ' "Admin access to all users in this and lower domains"' index '2'
[..] NSACLPlugin - ACL info: found matched_val ( "Admin access to all users in this and lower domains") for aci index 2in macro ht
[..] NSACLPlugin - Evaluating user uid=michael-kaki.com,ou=people,o=kaki.com,o=ace industry,c=us in group cn=Domain Administrators,ou=Groups,o=kaki.com,,o=ace industry,c=us?
[..] NSACLPlugin - -- Not in cn=Domain Administrators,ou=Groups,o=kaki.com,,o=ace industry,c=us
[..] NSACLPlugin - Evaluated ACL_FALSE

This behaviour was introduced by the fix for #48141 - aci with wildcard and macro not correctly evaluated.


Reviewed by Mark (Thank you!!)

Pushed to master:
4fb5412..8e421fb master -> master
commit 8e421fb

Pushed to 389-ds-base-1.3.4:
6180b91..1a6390d 389-ds-base-1.3.4 -> 389-ds-base-1.3.4
commit 1a6390d

Metadata Update from @nhosoi:
- Issue set to the milestone: 1.3.4.5

7 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/1675

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Fixed)

3 years ago

Login to comment on this ticket.

Metadata