Bug 1256938 - Unable to dereference unqiemember attribute because it is dn [#UID] not dn syntax
Unable to dereference unqiemember attribute because it is dn [#UID] not dn sy...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Noriko Hosoi
Viktor Ashirov
:
Depends On:
Blocks: 1430574
  Show dependency treegraph
 
Reported: 2015-08-25 15:33 EDT by Noriko Hosoi
Modified: 2017-03-08 19:55 EST (History)
4 users (show)

See Also:
Fixed In Version: 389-ds-base-1.3.4.0-14.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1430574 (view as bug list)
Environment:
Last Closed: 2015-11-19 06:44:10 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Noriko Hosoi 2015-08-25 15:33:11 EDT
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/389/ticket/47757

We've had problems with SSSD being slow sometimes, but not others (probably only slow whenver it's caches expired?), and there never seemed to be any obvious cause why, but I think I've tracked it down to problems with dereferencing. We do see errors about dereferencing in the log, but I didn't realize until now what it was referring to - due to how our SSD configuration sections were named, I thought it was a Kerberos issue for a long time...

In theory, a search like this should give us the cn and objectclass of all members of the group, but I get only the attributes of the group itself. Whether I give the "-E 'deref=...'" or not I get the same output. Redacted output below:

ldapsearch [bind username and password stuff, etc] -E 'deref=uniqueMember:cn,objectclass' 'cn=Global System Administrators'
# extended LDIF
#
# LDAPv3
# base <[our base DN]> (default) with scope subtree
# filter: cn=Global System Administrators
# requesting: ALL
# with dereference control
#

# Global System Administrators, Groups, [our base DN]
dn: cn=Global System Administrators,ou=Groups,[our base DN]
control: 1.3.6.1.4.1.4203.666.5.16 false MIQAAAAA
uniqueMember: uid=user1,ou=Users,ou=[Office1],[our base DN]
uniqueMember: uid=user2,ou=Users,ou=[Office2],[our base DN]
uniqueMember: uid=user3,ou=Users,ou=[Office2],[our base DN]
uniqueMember: uid=user4,ou=Users,ou=[Office1],[our base DN]
objectClass: top
objectClass: groupofuniquenames
objectClass: posixgroup
cn: Global System Administrators
gidNumber: 1001002
description: Global System Administrators

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

I posted this to the 389-ds-user-list and Ludwig Krispenz responded and said I should open a ticket, and that if we had performed the query with the control specified as critical "-E '!deref=....' we would get an error the the deref attr needs to be of dn syntax. I did try that, and indeed, it said "A dereference attribute must have DN syntax". Per Ludwig Krispenz, "in 389 ds uniquemember is specified as 'Name and Optional UID' syntax, which is dn [#UID], but the deref plugin just checks for dn syntax."
Comment 4 Amita Sharma 2015-09-16 08:33:16 EDT
[root@dhcp201-167 export]# ldapsearch -D "cn=Directory Manager" -w Secret123 -h localhost -E 'deref=uniquemember:cn,objectclass' -b "ou=Groups,dc=example,dc=com" 'cn=Global System Administrators'
# extended LDIF
#
# LDAPv3
# base <ou=Groups,dc=example,dc=com> with scope subtree
# filter: cn=Global System Administrators
# requesting: ALL
# with dereference control
#

# Global System Administrators, Groups, example.com
dn: cn=Global System Administrators,ou=Groups,dc=example,dc=com
control: 1.3.6.1.4.1.4203.666.5.16 false MIQAAAFAMIQAAACaBAx1bmlxdWVtZW1iZXIEI
 2NuPXh4eHgsb3U9cGVvcGxlLGRjPWV4YW1wbGUsZGM9Y29toIQAAABhMIQAAAAQBAJjbjGEAAAABg
 QEeHh4eDCEAAAARQQLb2JqZWN0Y2xhc3MxhAAAADIEA3RvcAQGcGVyc29uBA1pbmV0b3JncGVyc29
 uBBRvcmdhbml6YXRpb25hbFBlcnNvbjCEAAAAmgQMdW5pcXVlbWVtYmVyBCNjbj15eXl5LG91PXBl
 b3BsZSxkYz1leGFtcGxlLGRjPWNvbaCEAAAAYTCEAAAAEAQCY24xhAAAAAYEBHl5eXkwhAAAAEUEC
 29iamVjdGNsYXNzMYQAAAAyBAN0b3AEBnBlcnNvbgQNaW5ldG9yZ3BlcnNvbgQUb3JnYW5pemF0aW
 9uYWxQZXJzb24=
# uniquemember: <cn=xxxx>;<objectclass=top>;<objectclass=person>;<objectclass=i
 netorgperson>;<objectclass=organizationalPerson>;cn=xxxx,ou=people,dc=example,
 dc=com

# uniquemember: <cn=yyyy>;<objectclass=top>;<objectclass=person>;<objectclass=i
 netorgperson>;<objectclass=organizationalPerson>;cn=yyyy,ou=people,dc=example,
 dc=com

uniqueMember: cn=xxxx,ou=people,dc=example,dc=com
uniqueMember: cn=yyyy,ou=people,dc=example,dc=com
objectClass: top
objectClass: groupofuniquenames
objectClass: posixgroup
cn: Global System Administrators
gidNumber: 1001002
description: Global System Administrators

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

[root@dhcp201-167 export]# rpm -qa | grep 389-ds
389-ds-base-1.3.4.0-15.el7.x86_64
389-ds-base-debuginfo-1.3.4.0-1.el7.x86_64
389-ds-base-libs-1.3.4.0-15.el7.x86_64

Hence VERIFIED.
Comment 5 errata-xmlrpc 2015-11-19 06:44:10 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2351.html

Note You need to log in before you can comment on or make changes to this bug.