You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Jeffrey Reynolds (JIRA)" <ji...@apache.org> on 2011/04/17 06:03:05 UTC

[jira] [Created] (DIRSERVER-1616) LDAP searchRequest to Apache DS will not Return Exoected Results

LDAP searchRequest to Apache DS will not Return Exoected Results
----------------------------------------------------------------

                 Key: DIRSERVER-1616
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1616
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: ldap
    Affects Versions: 1.5.7
         Environment: Cent OS 5.5 x64

Java Version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16,mixed mode)
            Reporter: Jeffrey Reynolds
            Priority: Critical


When searching my directory via LDAP searchRequests, I receive erroneous results.  If an object is created with an object class:

dn: uid=user,ou=People,dc=example,dc=com
changetype: add
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
gidnumber: 513
homedirectory: /home/user
sambaSID: XXX
uidnumber: 30010
cn: user
sn: user
uid: user

Then:

ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x

Will return the new user.  However, if extra object classes are added to a previously existing user:

dn: uid=user,ou=People,dc=example,dc=com
changetype: modify
add: objectClass
objectClass: sambaSamAccount
objectClass: posixAccount
objectClass: shadowAccount
-
add: gidnumber
gidnumber: 513
-
add: homedirectory
homedirectory: /home/user
-
add: sambaSID
sambaSID: XXX
-
add: uidnumber
uidnumber: 30010

Then:

ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x

Will not return the user.  However, any successful changes made will be visible if the user itself is queried.  IE, I will be able to see all the changes I made, I just won't be able to use any of them to search for the object.  This has been tested using both ldapmodify and Apache Directory Studio 1.5.3.  This has caused issues in our transition to using LDAP to authenticate our Samba servers.  Please let me knoe if any more information is needed.  Thanks!


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (DIRSERVER-1616) LDAP searchRequest to Apache DS will not Return Exoected Results

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020745#comment-13020745 ] 

Emmanuel Lecharny commented on DIRSERVER-1616:
----------------------------------------------

Oh thanks Stefan. It confirms that's a bug. I think that exporting and importing all entries might workaround the bug, no ?

> LDAP searchRequest to Apache DS will not Return Exoected Results
> ----------------------------------------------------------------
>
>                 Key: DIRSERVER-1616
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1616
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 1.5.7
>         Environment: Cent OS 5.5 x64
> Java Version "1.6.0_17"
> OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el-x86_64)
> OpenJDK 64-Bit Server VM (build 14.0-b16,mixed mode)
>            Reporter: Jeffrey Reynolds
>            Priority: Critical
>
> When searching my directory via LDAP searchRequests, I receive erroneous results.  If an object is created with an object class:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: add
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> objectClass: top
> objectClass: person
> objectClass: inetOrgPerson
> objectClass: organizationalPerson
> gidnumber: 513
> homedirectory: /home/user
> sambaSID: XXX
> uidnumber: 30010
> cn: user
> sn: user
> uid: user
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will return the new user.  However, if extra object classes are added to a previously existing user:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: modify
> add: objectClass
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> -
> add: gidnumber
> gidnumber: 513
> -
> add: homedirectory
> homedirectory: /home/user
> -
> add: sambaSID
> sambaSID: XXX
> -
> add: uidnumber
> uidnumber: 30010
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will not return the user.  However, any successful changes made will be visible if the user itself is queried.  IE, I will be able to see all the changes I made, I just won't be able to use any of them to search for the object.  This has been tested using both ldapmodify and Apache Directory Studio 1.5.3.  This has caused issues in our transition to using LDAP to authenticate our Samba servers.  Please let me knoe if any more information is needed.  Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (DIRSERVER-1616) LDAP searchRequest to Apache DS will not Return Exoected Results

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020744#comment-13020744 ] 

Emmanuel Lecharny commented on DIRSERVER-1616:
----------------------------------------------

PS: in this case, a possible workaround would be to extract all you entries as LDIF, update th schema, and reinject the entries into the server.

> LDAP searchRequest to Apache DS will not Return Exoected Results
> ----------------------------------------------------------------
>
>                 Key: DIRSERVER-1616
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1616
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 1.5.7
>         Environment: Cent OS 5.5 x64
> Java Version "1.6.0_17"
> OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el-x86_64)
> OpenJDK 64-Bit Server VM (build 14.0-b16,mixed mode)
>            Reporter: Jeffrey Reynolds
>            Priority: Critical
>
> When searching my directory via LDAP searchRequests, I receive erroneous results.  If an object is created with an object class:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: add
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> objectClass: top
> objectClass: person
> objectClass: inetOrgPerson
> objectClass: organizationalPerson
> gidnumber: 513
> homedirectory: /home/user
> sambaSID: XXX
> uidnumber: 30010
> cn: user
> sn: user
> uid: user
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will return the new user.  However, if extra object classes are added to a previously existing user:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: modify
> add: objectClass
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> -
> add: gidnumber
> gidnumber: 513
> -
> add: homedirectory
> homedirectory: /home/user
> -
> add: sambaSID
> sambaSID: XXX
> -
> add: uidnumber
> uidnumber: 30010
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will not return the user.  However, any successful changes made will be visible if the user itself is queried.  IE, I will be able to see all the changes I made, I just won't be able to use any of them to search for the object.  This has been tested using both ldapmodify and Apache Directory Studio 1.5.3.  This has caused issues in our transition to using LDAP to authenticate our Samba servers.  Please let me knoe if any more information is needed.  Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Closed] (DIRSERVER-1616) LDAP searchRequest to Apache DS will not Return Exoected Results

Posted by "Kiran Ayyagari (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DIRSERVER-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kiran Ayyagari closed DIRSERVER-1616.
-------------------------------------

    Resolution: Fixed

This was fixed in the trunk during XDBM refactoring.

> LDAP searchRequest to Apache DS will not Return Exoected Results
> ----------------------------------------------------------------
>
>                 Key: DIRSERVER-1616
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1616
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 1.5.7
>         Environment: Cent OS 5.5 x64
> Java Version "1.6.0_17"
> OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el-x86_64)
> OpenJDK 64-Bit Server VM (build 14.0-b16,mixed mode)
>            Reporter: Jeffrey Reynolds
>            Priority: Critical
>
> When searching my directory via LDAP searchRequests, I receive erroneous results.  If an object is created with an object class:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: add
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> objectClass: top
> objectClass: person
> objectClass: inetOrgPerson
> objectClass: organizationalPerson
> gidnumber: 513
> homedirectory: /home/user
> sambaSID: XXX
> uidnumber: 30010
> cn: user
> sn: user
> uid: user
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will return the new user.  However, if extra object classes are added to a previously existing user:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: modify
> add: objectClass
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> -
> add: gidnumber
> gidnumber: 513
> -
> add: homedirectory
> homedirectory: /home/user
> -
> add: sambaSID
> sambaSID: XXX
> -
> add: uidnumber
> uidnumber: 30010
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will not return the user.  However, any successful changes made will be visible if the user itself is queried.  IE, I will be able to see all the changes I made, I just won't be able to use any of them to search for the object.  This has been tested using both ldapmodify and Apache Directory Studio 1.5.3.  This has caused issues in our transition to using LDAP to authenticate our Samba servers.  Please let me knoe if any more information is needed.  Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (DIRSERVER-1616) LDAP searchRequest to Apache DS will not Return Exoected Results

Posted by "Stefan Seelmann (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020742#comment-13020742 ] 

Stefan Seelmann commented on DIRSERVER-1616:
--------------------------------------------

That's a bug in JdbmStore class [1], line 1471: when adding new objectClass attributue values those values are not added to the objectclass index, but dropped.

The issue is already fixed in trunk [2].


[1] http://svn.apache.org/viewvc/directory/apacheds/tags/1.5.7/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java?revision=930421&view=markup
[2] http://svn.apache.org/viewvc?view=revision&revision=947414


> LDAP searchRequest to Apache DS will not Return Exoected Results
> ----------------------------------------------------------------
>
>                 Key: DIRSERVER-1616
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1616
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 1.5.7
>         Environment: Cent OS 5.5 x64
> Java Version "1.6.0_17"
> OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el-x86_64)
> OpenJDK 64-Bit Server VM (build 14.0-b16,mixed mode)
>            Reporter: Jeffrey Reynolds
>            Priority: Critical
>
> When searching my directory via LDAP searchRequests, I receive erroneous results.  If an object is created with an object class:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: add
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> objectClass: top
> objectClass: person
> objectClass: inetOrgPerson
> objectClass: organizationalPerson
> gidnumber: 513
> homedirectory: /home/user
> sambaSID: XXX
> uidnumber: 30010
> cn: user
> sn: user
> uid: user
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will return the new user.  However, if extra object classes are added to a previously existing user:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: modify
> add: objectClass
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> -
> add: gidnumber
> gidnumber: 513
> -
> add: homedirectory
> homedirectory: /home/user
> -
> add: sambaSID
> sambaSID: XXX
> -
> add: uidnumber
> uidnumber: 30010
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will not return the user.  However, any successful changes made will be visible if the user itself is queried.  IE, I will be able to see all the changes I made, I just won't be able to use any of them to search for the object.  This has been tested using both ldapmodify and Apache Directory Studio 1.5.3.  This has caused issues in our transition to using LDAP to authenticate our Samba servers.  Please let me knoe if any more information is needed.  Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (DIRSERVER-1616) LDAP searchRequest to Apache DS will not Return Exoected Results

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020743#comment-13020743 ] 

Emmanuel Lecharny commented on DIRSERVER-1616:
----------------------------------------------

You most certainly added the ObjectClass in the schema with existing entries present in the base.

Let me explain : when you ad entries into the base, the server computes all the index this entry uses, and update them. If you add some new ObjectClass into the server, it does not update indexes, and if you modify an entry using this new ObjectClass, it's likely the index is not updated too.

Can you confirm this scenario ? Because if it's what happened, it's a bug in the way we handled indexed attributes when we do a modify.

Thanks !

> LDAP searchRequest to Apache DS will not Return Exoected Results
> ----------------------------------------------------------------
>
>                 Key: DIRSERVER-1616
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1616
>             Project: Directory ApacheDS
>          Issue Type: Bug
>          Components: ldap
>    Affects Versions: 1.5.7
>         Environment: Cent OS 5.5 x64
> Java Version "1.6.0_17"
> OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el-x86_64)
> OpenJDK 64-Bit Server VM (build 14.0-b16,mixed mode)
>            Reporter: Jeffrey Reynolds
>            Priority: Critical
>
> When searching my directory via LDAP searchRequests, I receive erroneous results.  If an object is created with an object class:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: add
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> objectClass: top
> objectClass: person
> objectClass: inetOrgPerson
> objectClass: organizationalPerson
> gidnumber: 513
> homedirectory: /home/user
> sambaSID: XXX
> uidnumber: 30010
> cn: user
> sn: user
> uid: user
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will return the new user.  However, if extra object classes are added to a previously existing user:
> dn: uid=user,ou=People,dc=example,dc=com
> changetype: modify
> add: objectClass
> objectClass: sambaSamAccount
> objectClass: posixAccount
> objectClass: shadowAccount
> -
> add: gidnumber
> gidnumber: 513
> -
> add: homedirectory
> homedirectory: /home/user
> -
> add: sambaSID
> sambaSID: XXX
> -
> add: uidnumber
> uidnumber: 30010
> Then:
> ldapsearch -h localhost -p 389 -b "ou=People,dc=example,dc=com" "objectclass=posixAccount" -x
> Will not return the user.  However, any successful changes made will be visible if the user itself is queried.  IE, I will be able to see all the changes I made, I just won't be able to use any of them to search for the object.  This has been tested using both ldapmodify and Apache Directory Studio 1.5.3.  This has caused issues in our transition to using LDAP to authenticate our Samba servers.  Please let me knoe if any more information is needed.  Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira