Bug 1790259

Summary: Change the default behavior of 'nsslapd-verify-filter-schema'
Product: Red Hat Enterprise Linux 8 Reporter: Viktor Ashirov <vashirov>
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: unspecified Docs Contact: Marc Muehlfeld <mmuehlfe>
Priority: unspecified    
Version: 8.2CC: lkrispen, mreynolds, pasik, spichugi, tbordaz, vashirov
Target Milestone: rc   
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-1.4-8020020200120164339.bf00efc9 Doc Type: Known Issue
Doc Text:
.Directory Server warns about missing attributes in the schema if those attributes are used in a search filter If you set the `nsslapd-verify-filter-schema` parameter to `warn-invalid`, Directory Server processes search operations with attributes that are not defined in the schema and logs a warning. With this setting, Directory Server returns requested attributes in search results, regardless whether the attributes is defined in the schema or not. A future version of Directory Server will change the default setting of `nsslapd-verify-filter-schema` to enforce stricter checks. The new default will warn about attributes that are missing in the schema, and reject requests or return only partial results.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:01:22 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: 1788322    

Description Viktor Ashirov 2020-01-13 00:43:33 UTC
Description of problem:
With 'nsslapd-verify-filter-schema' set to 'warn', server doesn't return results for the attribute that doesn't exist in schema. In upstream behavior was changed, new value is 'warn-invalid' that warns about the attribute being missing in schema, but still returning it in the results.

Version-Release number of selected component (if applicable):
1.4.2.4-4.module+el8.2.0+4930+d4051b3a

How reproducible:
always

Steps to Reproduce:
1. Run dirsrvtests/tests/suites/plugins/acceptance_test.py
2.
3.

Actual results:
Test fails

Expected results:
Test should pass

Additional info:
https://pagure.io/389-ds-base/issue/50727
https://pagure.io/389-ds-base/issue/50789
https://pagure.io/389-ds-base/issue/50790

Comment 9 Viktor Ashirov 2020-02-07 11:56:49 UTC
The default value is warn-invalid:
# ldapsearch -D cn=Directory\ manager -w Directory_Manager_Password -b cn=config  nsslapd-verify-filter-schema | grep nsslapd-verify-filter-schema 
# requesting: nsslapd-verify-filter-schema 
nsslapd-verify-filter-schema: warn-invalid

And the tests pass:
============================================================== test session starts ===============================================================
platform linux -- Python 3.6.8, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /usr/bin/python3.6
cachedir: .pytest_cache
metadata: {'Python': '3.6.8', 'Platform': 'Linux-4.18.0-174.el8.x86_64-x86_64-with-redhat-8.2-Ootpa', 'Packages': {'pytest': '5.3.5', 'py': '1.8.1', 'pluggy': '0.13.1'}, 'Plugins': {'metadata': '1.8.0', 'html': '2.0.1'}}
389-ds-base: 1.4.2.4-6.module+el8.2.0+5509+885f7879
nss: 3.44.0-14.el8
nspr: 4.21.0-2.el8_0
openldap: 2.4.46-11.el8
cyrus-sasl: 2.1.27-1.el8
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests, inifile: pytest.ini
plugins: metadata-1.8.0, html-2.0.1
collected 4 items                                                                                                                                

dirsrvtests/tests/suites/filter/schema_validation_test.py::test_filter_validation_config PASSED                                            [ 25%]
dirsrvtests/tests/suites/filter/schema_validation_test.py::test_filter_validation_enabled PASSED                                           [ 50%]
dirsrvtests/tests/suites/filter/schema_validation_test.py::test_filter_validation_warn_safe PASSED                                         [ 75%]
dirsrvtests/tests/suites/filter/schema_validation_test.py::test_filter_validation_warn_unsafe PASSED                                       [100%]

======================================================== 4 passed, 12 warnings in 13.64s =========================================================
Marking as VERIFIED.

Comment 11 errata-xmlrpc 2020-04-28 16:01:22 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-2020:1703