#49093 Need investigation on the necessity of normalize_oc* calls in schema.c
Closed: wontfix 3 years ago by spichugi. Opened 7 years ago by nhosoi.

Note: found in debugging/testing ticket 47973.

To avoid the unexpected case change, this normalize_oc_nolock is eliminated for the schema-reload path. The ordinary "else" case needs to be investigated which may be called unnecessarily.

diff --git a/ldap/servers/slapd/schema.c b/ldap/servers/slapd/schema.c
index c65cdba..392c01f 100644
--- a/ldap/servers/slapd/schema.c
+++ b/ldap/servers/slapd/schema.c
@@ -5377,10 +5377,17 @@ init_schema_dse_ext(char *schemadir, Slapi_Backend *be,

     if (rc && !(schema_flags & DSE_SCHEMA_NO_BACKEND))
     {
-        /* make sure the schema is normalized */
         if (schema_flags & DSE_SCHEMA_LOCKED) {
-            normalize_oc_nolock();
+            /* 
+             * Code path for schema reload.
+             * To fix the side effect which lowers the case of the
+             * reloaded new schema, eliminating normalize_oc_nolock().
+             * Note that the normalization is not needed since all
+             * the checks are done by strcasecmp.
+             */
+            ;
         } else {
+            /* make sure the schema is normalized */
             normalize_oc();
         }

Metadata Update from @nhosoi:
- Issue set to the milestone: 1.3.6.0

7 years ago

Metadata Update from @mreynolds:
- Issue close_status updated to: None
- Issue set to the milestone: 1.3.7.0 (was: 1.3.6.0)

6 years ago

Metadata Update from @mreynolds:
- Custom field reviewstatus adjusted to None
- Issue set to the milestone: 1.4.2 (was: 1.3.7.0)

4 years ago

Metadata Update from @vashirov:
- Issue priority set to: minor (was: major)
- Issue set to the milestone: 1.4.4 (was: 1.4.2)

4 years ago

Metadata Update from @mreynolds:
- Issue tagged with: Schema

3 years ago

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/2152

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata