Description of problem: This came up as a side effect of trouble shooting a separate search issue: a filter with a matching rules seem to create the following error trace, without creating any apparent result errors: ... [05/Nov/2014:06:00:50 -0800] - <= get_extensible_filter 0 [05/Nov/2014:06:00:50 -0800] - (ou:dn:=people) ... [05/Nov/2014:06:00:51 -0800] get_filter - after optimize: (&(objectClass=groupOfUniqueNames)(!)) [05/Nov/2014:06:00:51 -0800] index_subsys_assign_filter_decoders - before: (&(objectClass=groupOfUniqueNames)(!unsupported type 0xA9)) ... I am not sure if this is really an issue, if it can be ignored, I seem to get all the entries I expect, or not see the entries I expect to be discarded, but there should probably be no such error, so this may need to be reviewed. Dev / Noriko commented: " The error "unsupported type 0xA9" is logged in slapi_filter_to_string_internal (filter.c). And 0xA9 is LDAP_FILTER_EXTENDED: #define LDAP_FILTER_EXTENDED 0xa9L Indeed slapi_filter_to_string_internal does not handle LDAP_FILTER_EXTENDED... Could it be a "not implemented yet" type of bug??? " How reproducible: on demand Steps to Reproduce: 1. service dirsrv stop 2. add 32 to the error log verbose level for filter debug: vim /etc/dirsrv/slapd-ID/dse.ldif ... nsslapd-errorlog-level: 16416 3. service dirsrv start 4. test, for example list entries with ou that cannot have in DN the string =people so I expect only groups in my test sample data set: ldapsearch -LLLx ... -b dc=example,dc=com "(&(objectClass=groupOfUniqueNames)(!(ou:dn:=people)))" dn dn: cn=group0,ou=groups,dc=example,dc=com ...snip... dn: cn=group49,ou=groups,dc=example,dc=com 5. review errors log less /var/log/dirsrv/slapd-ID/errors ... [05/Nov/2014:06:00:50 -0800] - EXTENDED [05/Nov/2014:06:00:50 -0800] - => get_extensible_filter [05/Nov/2014:06:00:50 -0800] - <= get_extensible_filter 0 [05/Nov/2014:06:00:50 -0800] - (ou:dn:=people) [05/Nov/2014:06:00:50 -0800] - <= get_filter_internal 0 [05/Nov/2014:06:00:50 -0800] - <= get_filter_internal 0 [05/Nov/2014:06:00:51 -0800] - <= get_filter_list [05/Nov/2014:06:00:51 -0800] - <= get_filter_internal 0 [05/Nov/2014:06:00:51 -0800] get_filter - before optimize: (&(objectClass=groupOfUniqueNames)(!)) [05/Nov/2014:06:00:51 -0800] get_filter - after optimize: (&(objectClass=groupOfUniqueNames)(!)) [05/Nov/2014:06:00:51 -0800] index_subsys_assign_filter_decoders - before: (&(objectClass=groupOfUniqueNames)(!unsupported type 0xA9)) [05/Nov/2014:06:00:51 -0800] index_subsys_assign_filter_decoders - after: (&(objectClass=groupOfUniqueNames)(!unsupported type 0xA9)) [05/Nov/2014:06:00:51 -0800] - slapi_str2filter "objectclass=referral" [05/Nov/2014:06:00:51 -0800] - slapi_str2filter: default [05/Nov/2014:06:00:51 -0800] - str2simple "objectclass=referral" [05/Nov/2014:06:00:51 -0800] - OR [05/Nov/2014:06:00:51 -0800] - AND [05/Nov/2014:06:00:51 -0800] - EQUALITY [05/Nov/2014:06:00:51 -0800] - => slapi_attr_assertion2keys_ava_sv [05/Nov/2014:06:00:51 -0800] - <= slapi_attr_assertion2keys_ava_sv 0 [05/Nov/2014:06:00:51 -0800] - NOT [05/Nov/2014:06:00:51 -0800] - EQUALITY [05/Nov/2014:06:00:51 -0800] - => slapi_attr_assertion2keys_ava_sv [05/Nov/2014:06:00:51 -0800] - <= slapi_attr_assertion2keys_ava_sv 0 [05/Nov/2014:06:00:51 -0800] - slapi_filter_free type 0xA1 [05/Nov/2014:06:00:52 -0800] - slapi_filter_free type 0xA3 [05/Nov/2014:06:00:52 -0800] - slapi_filter_dup type 0xA0 [05/Nov/2014:06:00:52 -0800] - slapi_filter_dup type 0xA3 [05/Nov/2014:06:00:52 -0800] - slapi_filter_dup type 0xA2 [05/Nov/2014:06:00:52 -0800] - slapi_filter_dup type 0xA9 [05/Nov/2014:06:00:52 -0800] - => slapi_vattr_filter_test_ext [05/Nov/2014:06:00:52 -0800] - => test_substring_filter [05/Nov/2014:06:00:52 -0800] - AND [05/Nov/2014:06:00:52 -0800] - => vattr_test_filter_list [05/Nov/2014:06:00:52 -0800] - => slapi_vattr_filter_test_ext [05/Nov/2014:06:00:52 -0800] - => test_substring_filter [05/Nov/2014:06:00:52 -0800] - EQUALITY [05/Nov/2014:06:00:52 -0800] - => test_ava_filter [05/Nov/2014:06:00:52 -0800] - => plugin_call_syntax_filter_ava objectClass=groupofuniquenames [05/Nov/2014:06:00:52 -0800] - <= plugin_call_syntax_filter_ava 0 [05/Nov/2014:06:00:52 -0800] - <= test_ava_filter 0 [05/Nov/2014:06:00:52 -0800] - <= slapi_vattr_filter_test 0 [05/Nov/2014:06:00:52 -0800] - => slapi_vattr_filter_test_ext [05/Nov/2014:06:00:52 -0800] - => test_substring_filter [05/Nov/2014:06:00:52 -0800] - NOT [05/Nov/2014:06:00:52 -0800] - => slapi_vattr_filter_test_ext [05/Nov/2014:06:00:52 -0800] - => test_substring_filter [05/Nov/2014:06:00:52 -0800] - EXTENDED [05/Nov/2014:06:00:52 -0800] - => test_extensible_filter [05/Nov/2014:06:00:52 -0800] - => test_ava_filter [05/Nov/2014:06:00:52 -0800] - <= test_ava_filter -1 [05/Nov/2014:06:00:52 -0800] - => test_ava_filter [05/Nov/2014:06:00:52 -0800] - => plugin_call_syntax_filter_ava ou=people [05/Nov/2014:06:00:52 -0800] - <= plugin_call_syntax_filter_ava -1 [05/Nov/2014:06:00:52 -0800] - <= test_ava_filter -1 [05/Nov/2014:06:00:53 -0800] - <= test_extensible_filter -1 Note: this is a benign error message that only occurs when debug logging is enabled.
git patch file (master) 0001-Ticket-48016-search-matching-rules-and-filter-error-.patch
Reviewed by Rich (Thanks!!)
Pushed to master: 3cbdfa6..21dda61 master -> master commit 21dda61
Metadata Update from @nhosoi: - Issue assigned to nhosoi - Issue set to the milestone: 1.3.5.0
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/1347
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.