Bug 1615155

Summary: extended search fails to match entries
Product: Red Hat Enterprise Linux 7 Reporter: Viktor Ashirov <vashirov>
Component: 389-ds-baseAssignee: thierry bordaz <tbordaz>
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.6CC: bsmejkal, cpelland, gparente, lkrispen, mreynolds, msauton, nkinder, pasik, rmeggins, spichugi, tbordaz, toneata, vashirov
Target Milestone: rcKeywords: ZStream
Target Release: 7.7   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.9.1-5.el7 Doc Type: If docs needed, set a value
Doc Text:
Cause: for an extended search filter component, the attribute value is cleared resulting with a comparison with an empty value Consequence: invalid results (missing entries or entries not matching) to a search using extended search filter component Fix: keep the attribute value without the heading/ending spaces Results: an extended search retrieves all and only the entries matching the extended component
Story Points: ---
Clone Of:
: 1638516 (view as bug list) Environment:
Last Closed: 2019-08-06 12:58:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1638516    

Description Viktor Ashirov 2018-08-12 20:05:48 UTC
Description of problem:
Critical errors are logged after performing a simple search with a matching rule.

Version-Release number of selected component (if applicable):
389-ds-base-1.3.8.4-10.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1. ldapsearch -xLLL -b dc=example,dc=com "(sn:de:=test)"
2. Check the error logs

Actual results:
[12/Aug/2018:22:02:52.915166781 +0200] - CRIT - list_candidates - NULL idl was recieved from filter_candidates_ext.[12/Aug/2018:22:02:52.928087622 +0200] - CRIT - list_candidates - Falling back to empty IDL set. This may affect your search results.


Expected results:


Additional info:
Also note that messages lack new line character:
ldap/servers/slapd/back-ldbm/filterindex.c
 805         /*
 806          * Assert we recieved a valid idl. If it was NULL, it means somewhere we failed
 807          * during the dblayer interactions.
 808          *
 809          * idl_set requires a valid idl structure to generate the linked list of
 810          * idls that we insert.
 811          */
 812         if (tmp == NULL) {
 813             slapi_log_err(SLAPI_LOG_CRIT, "list_candidates", "NULL idl was recieved from filter_candidates_ext.");
 814             slapi_log_err(SLAPI_LOG_CRIT, "list_candidates", "Falling back to empty IDL set. This may affect your search results.");
 815             PR_ASSERT(tmp);
 816             tmp = idl_alloc(0);
 817         }

Comment 23 bsmejkal 2019-04-29 13:27:10 UTC
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.6.3, pytest-4.4.1, py-1.8.0, pluggy-0.9.0 -- /opt/rh/rh-python36/root/usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.6.3', 'Platform': 'Linux-3.10.0-1034.el7.x86_64-x86_64-with-redhat-7.7-Maipo', 'Packages': {'pytest': '4.4.1', 'py': '1.8.0', 'pluggy': '0.9.0'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0'}}
389-ds-base: 1.3.9.1-4.el7
nss: 3.43.0-7.el7
nspr: 4.21.0-1.el7
openldap: 2.4.44-21.el7_6
cyrus-sasl: 2.1.26-23.el7
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests/tests/suites
plugins: metadata-1.8.0, html-1.20.0
collected 1 item                                                                                                                                                                  

filter/filter_test.py::test_extended_search FAILED                                                                                                                                                          [100%]

=============================================================================== 1 failed in 11.70 seconds =========================================================================================================

Observations:
Changes are not backported.

Marking as FailedQA.

Comment 24 mreynolds 2019-04-29 14:52:37 UTC
This was not cherry-picked to 1.3.9, and it was incorrectly marked as modified.  Working on it...

Comment 25 bsmejkal 2019-04-30 12:07:40 UTC
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.6.3, pytest-4.4.1, py-1.8.0, pluggy-0.9.0 -- /opt/rh/rh-python36/root/usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.6.3', 'Platform': 'Linux-3.10.0-1034.el7.x86_64-x86_64-with-redhat-7.7-Maipo', 'Packages': {'pytest': '4.4.1', 'py': '1.8.0', 'pluggy': '0.9.0'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0'}}
389-ds-base: 1.3.9.1-5.el7
nss: 3.43.0-7.el7
nspr: 4.21.0-1.el7
openldap: 2.4.44-21.el7_6
cyrus-sasl: 2.1.26-23.el7
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests/tests/suites/filter
plugins: metadata-1.8.0, html-1.20.0
collected 1 item                                                                                                                                                                     

filter_test.py::test_extended_search PASSED                                                                                                                                                                 [100%]

============================================================================== 1 passed in 10.01 seconds ===========================================================================================================


Marking as VERIFIED.

Comment 27 errata-xmlrpc 2019-08-06 12:58:42 UTC
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://access.redhat.com/errata/RHBA-2019:2152