RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 982597 - Some attributes in cn=config should not be multivalued
Summary: Some attributes in cn=config should not be multivalued
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: 389-ds-base
Version: 7.0
Hardware: Unspecified
OS: Unspecified
low
unspecified
Target Milestone: rc
: 7.1
Assignee: Rich Megginson
QA Contact: Viktor Ashirov
URL:
Whiteboard:
: 1048116 1058656 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-09 11:39 UTC by Ján Rusnačko
Modified: 2020-09-13 20:39 UTC (History)
5 users (show)

Fixed In Version: 389-ds-base-1.3.3.1-1.el7
Doc Type: Bug Fix
Doc Text:
Cause: Adding multiple configuration attributes for a single configuration setting Consequence: Only the last attribute value processed for that attribute is used. This can have unexpected results. Fix: Add the configuration attributes to the server's core schema definitions. Result: The schema definitions are enforced, and single valued attributes will be guaranteed.
Clone Of:
Environment:
Last Closed: 2015-03-05 09:30:55 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 774 0 None None None 2020-09-13 20:39:06 UTC
Red Hat Product Errata RHSA-2015:0416 0 normal SHIPPED_LIVE Important: 389-ds-base security, bug fix, and enhancement update 2015-03-05 14:26:33 UTC

Description Ján Rusnačko 2013-07-09 11:39:23 UTC
Description of problem:
Some attributes in cn=config are multivalued when they clearly should not. Examples of such attributes are nsslapd-require-secure-binds, nsslapd-disk-monitoring and nsslapd-disk-monitoring-threshold.

Version-Release number of selected component (if applicable):
389-ds-base-1.2.11.15-16.el6_4.x86_64

How reproducible:
always

Steps to Reproduce:

1. On fresh instance:
[jrusnack@dstet 6.0]$ grep nsslapd-disk-monitoring /etc/dirsrv/slapd-dstet/dse.ldif
[jrusnack@dstet 6.0]$ ldapsearch -D "cn=directory manager" -w Secret123 -b "cn=config " -s base -LLL nsslapd-disk-monitoring
dn: cn=config
nsslapd-disk-monitoring: off

2. Try replace, works OK:

[jrusnack@dstet 6.0]$ ldapmodify  -h localhost -p 389 -D "cn=directory manager" -w Secret123 <<EOF
dn: cn=config
changetype: modify
replace: nsslapd-disk-monitoring
nsslapd-disk-monitoring: on
EOF
modifying entry "cn=config"

[jrusnack@dstet 6.0]$ ldapsearch -D "cn=directory manager" -w Secret123 -b "cn=config " -s base -LLL nsslapd-disk-monitoring
dn: cn=config
nsslapd-disk-monitoring: on

[jrusnack@dstet 6.0]$ grep nsslapd-disk-monitoring /etc/dirsrv/slapd-dstet/dse.ldif
nsslapd-disk-monitoring: off

3. Try adding value (succeeds, now there are two values):
[jrusnack@dstet 6.0]$ ldapmodify  -h localhost -p 389 -D "cn=directory manager" -w Secret123 <<EOF
dn: cn=config
changetype: modify
add: nsslapd-disk-monitoring
nsslapd-disk-monitoring: on 
EOF

modifying entry "cn=config"

[jrusnack@dstet 6.0]$ ldapsearch -D "cn=directory manager" -w Secret123 -b "cn=config " -LLL -s base nsslapd-disk-monitoring
dn: cn=config
nsslapd-disk-monitoring: on

[jrusnack@dstet 6.0]$ grep nsslapd-disk-monitoring /etc/dirsrv/slapd-dstet/dse.ldif
nsslapd-disk-monitoring: off
nsslapd-disk-monitoring: on

4. Try adding value again:
[jrusnack@dstet 6.0]$ ldapmodify  -h localhost -p 389 -D "cn=directory manager" -w Secret123 <<EOF
dn: cn=config
changetype: modify
add: nsslapd-disk-monitoring
nsslapd-disk-monitoring: on
EOF
modifying entry "cn=config"
ldap_modify: Type or value exists (20)


Actual results:
It is possible to set two values for some attributes in cn=config.

Expected results:
Boolean attributes like nsslapd-disk-monitoring and numerical attributes like nsslapd-disk-monitoring-threshold should be single-valued and any other value should be refused.

Additional info:
Complete list of affected attributes is not known - requires investigation.

Comment 2 Nathan Kinder 2013-07-09 14:33:04 UTC
Many attributes in cn=config are not even defined in the schema.  The "cn=config" entry uses the "extensibleObject" objectclass to allow undefined attributes to be set.  This means that there is no syntax enforcement or single-valued vs. multi-valued enforcement.

The list of attributes like this is large.  This is a very low priority to address.  I'm pushing this out to RHEL 7.1 for the time being, but it will likely be something that we decide to push out even further.

Comment 3 Rich Megginson 2013-07-22 15:46:45 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/47437

Comment 4 mreynolds 2014-02-10 16:27:00 UTC
The remaining configuration attributes in cn=config have been added to the core schema.  This addresses duplicate attributes(where defined) and syntax enforcement.

Fixed upstream (1.3.3)

Comment 5 mreynolds 2014-06-23 16:53:47 UTC
*** Bug 1058656 has been marked as a duplicate of this bug. ***

Comment 9 Sankar Ramalingam 2014-12-03 12:41:32 UTC
[root@vm-idm-035 slapd-test3]# /usr/bin/ldapmodify -x -h localhost -p 1189 -D "cn=Directory Manager" -w Secret123 << EOF
dn: cn=config
changetype: modify
add: nsslapd-disk-monitoring
nsslapd-disk-monitoring: off
EOF
modifying entry "cn=config"
ldap_modify: Type or value exists (20)

[root@vm-idm-035 slapd-test3]# /usr/bin/ldapmodify -x -h localhost -p 1189 -D "cn=Directory Manager" -w Secret123 << EOF
dn: cn=config
changetype: modify
replace: nsslapd-disk-monitoring
nsslapd-disk-monitoring: off
EOF

modifying entry "cn=config"

[root@vm-idm-035 slapd-test3]# ldapsearch -LLL -x -p 1189 -h localhost -D "cn=Directory Manager" -w Secret123 -b "cn=config" |grep -i nsslapd-disk-monitoring:
nsslapd-disk-monitoring: off

I checked the same for nsslapd-disk-monitoring-threshold attribute. It works fine. I was not allowed to add multiple values. Hence, marking the bug as Verified.

Comment 10 Sankar Ramalingam 2014-12-03 12:50:46 UTC
Build tested: 
[root@vm-idm-035 slapd-test3]# rpm -qa |egrep '389-ds-base'
389-ds-base-libs-1.3.3.1-9.el7.x86_64
389-ds-base-1.3.3.1-9.el7.x86_64

Comment 12 errata-xmlrpc 2015-03-05 09:30:55 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://rhn.redhat.com/errata/RHSA-2015-0416.html

Comment 13 mreynolds 2015-12-22 20:59:44 UTC
*** Bug 1048116 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.