You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following an offline edit of the cn=Root DSE,cn=config entry within /opt/opends/config/config.ldif (and a subsequent restart), it appears that additions of supplemental AUXILIARY objectClass values are not appearing during LDAP Search operations, while any other attribute type amendments appear as expected.
Consider the following AUXILIARY objectClass present within the schema:
objectClasses: ( 1.3.6.1.4.1.56521.999.107.93
NAME 'advertisedConfig'
SUP top AUXILIARY
MAY ( advertisedSearchBase $ protocolGateway ) )
Following a successful restart of OpenDJ, an LDAP Search of the Root DSE returns the following:
dn:
objectClass: top
objectClass: ds-root-dse
advertisedSearchBase: ou=Consultants,ou=Accounts,dc=example,dc=com
protocolGateway: 192.168.1.100
... which shows me the edits are present -- except for the "advertisedConfig" AUXILIARY objectClass. I can reproduce this behavior with other classes, custom or standard.
I would fully expect issues to arise if I were trying to add a STRUCTURAL class to this entry, but AUXILIARY classes should work.
To Reproduce
Steps to reproduce the behavior:
stop-ds
vi /opt/opendj/config/config.ldif, visit (approximately) line 1532, edit as shown above, save and quit
start-ds, watch logs for errors (none)
See ldapsearch notes below.
This fails to match an entry when using the class as a filter item:
$ ldapsearch -xb '' -s base -H ldap://localhost '(objectClass=advertisedConfig)'
This successfully matches the entry when only requesting the attribute types by class name (not by filter), but "advertisedConfig" is still not being disclosed in the search result:
$ ldapsearch -xb '' -s base -H ldap://localhost '(objectClass=*)' @advertisedConfig
... and this also works when requesting specific attributes as filter conditions in place of objectClass (e.g.: (protocolGateway=*)):
$ ldapsearch -xb '' -s base -H ldap://localhost '(objectClass=protocolGateway=*)'
Expected behavior
Any objectClass values added to the Root DSE by legitimate means (likely of the AUXILIARY kind) should be visible assuming their definition in the schema is valid and well formed. Furthermore, use in search filters should yield expected search results.
OpenDJ version
Using Ubuntu 22, I can reproduce this behavior starting at v4.6.5 and up.
Conclusion
Added objectClass value is not disclosed in search results (missing objectClass: classname)
Added objectClass value is not evaluated as a filter element during search request processing (objectClass=classname)
Added objectClass value is evaluated in the context of attribute selection (e.g.: @classname instead of specificAttribute)
Thank you 😃
Jesse Coretta
EDIT: fixed search result for clarity
The text was updated successfully, but these errors were encountered:
Describe the bug
Following an offline edit of the
cn=Root DSE,cn=config
entry within/opt/opends/config/config.ldif
(and a subsequent restart), it appears that additions of supplemental AUXILIARYobjectClass
values are not appearing during LDAP Search operations, while any other attribute type amendments appear as expected.Consider the following AUXILIARY
objectClass
present within the schema:The default Root DSE:
... then becomes (as seen in my text editor):
Following a successful restart of OpenDJ, an LDAP Search of the Root DSE returns the following:
... which shows me the edits are present -- except for the "
advertisedConfig
" AUXILIARYobjectClass
. I can reproduce this behavior with other classes, custom or standard.I would fully expect issues to arise if I were trying to add a STRUCTURAL class to this entry, but AUXILIARY classes should work.
To Reproduce
Steps to reproduce the behavior:
stop-ds
vi /opt/opendj/config/config.ldif
, visit (approximately) line 1532, edit as shown above, save and quitstart-ds
, watch logs for errors (none)ldapsearch
notes below.This fails to match an entry when using the class as a filter item:
This successfully matches the entry when only requesting the attribute types by class name (not by filter), but "
advertisedConfig
" is still not being disclosed in the search result:... and this also works when requesting specific attributes as filter conditions in place of
objectClass
(e.g.:(protocolGateway=*)
):Expected behavior
Any
objectClass
values added to the Root DSE by legitimate means (likely of the AUXILIARY kind) should be visible assuming their definition in the schema is valid and well formed. Furthermore, use in search filters should yield expected search results.OpenDJ version
Using Ubuntu 22, I can reproduce this behavior starting at v4.6.5 and up.
Conclusion
objectClass
value is not disclosed in search results (missingobjectClass: classname
)objectClass
value is not evaluated as a filter element during search request processing (objectClass=classname
)objectClass
value is evaluated in the context of attribute selection (e.g.:@classname
instead ofspecificAttribute
)Thank you 😃
Jesse Coretta
EDIT: fixed search result for clarity
The text was updated successfully, but these errors were encountered: