Ticket #47621 (closed enhancement: fixed)

Opened 5 months ago

Last modified 4 months ago

make referential integrity configuration more flexible

Reported by: lkrispen Owned by: lkrispen
Priority: major Milestone: 1.3.2.9
Component: Server - Plugins Version: 1.3.2
Keywords: Cc:
Blocked By: Blocking:
Review: ack Ticket origin: Community
Red Hat Bugzilla: 1044173

Description

In ticket 47527 scope for applying referential integrity was introduced, but it is not flexible enough. There should be the possibility to define multiple scopes and to exclude subtrees from scope

Attachments

0001-Ticket-47621-make-referential-integrity-configuratio.patch (7.5 KB) - added by lkrispen 4 months ago.
0001-Ticket-47621-v2-make-referential-integrity-configura.patch (7.7 KB) - added by lkrispen 4 months ago.
0001-Ticket-47621-v2-make-referential-integrity-configura.2.patch (9.1 KB) - added by nhosoi 4 months ago.
git patch file (389-ds-base-1.3.2) -- fixed the conflicts; passed the tests 100%

Change History

comment:1 Changed 4 months ago by nkinder

  • Milestone changed from 0.0 NEEDS_TRIAGE to 1.3.2.9
  • screened changed from 0 to 1

comment:2 Changed 4 months ago by lkrispen

comment:3 follow-up: ↓ 4 Changed 4 months ago by rmeggins

        plugin_attr_values = slapi_entry_attr_get_charray(plugin_entry, "nsslapd-pluginEntryScope");
...
                                plugin_EntryScope[j++] = slapi_sdn_new_dn_passin(plugin_attr_values[i]);

still need to free plugin_attr_values but not the individual plugin_attr_values[i]. same with

        plugin_attr_value = slapi_entry_attr_get_charptr(plugin_entry, "nsslapd-pluginExcludeEntryScope");

why byref here? passin is used above

                plugin_ExcludeEntryScope = slapi_sdn_new_dn_byref(plugin_attr_value);

comment:4 in reply to: ↑ 3 Changed 4 months ago by lkrispen

Replying to rmeggins:

        plugin_attr_values = slapi_entry_attr_get_charray(plugin_entry, "nsslapd-pluginEntryScope");
...
                                plugin_EntryScope[j++] = slapi_sdn_new_dn_passin(plugin_attr_values[i]);

still need to free plugin_attr_values but not the individual plugin_attr_values[i].

just missed it

same with

        plugin_attr_value = slapi_entry_attr_get_charptr(plugin_entry, "nsslapd-pluginExcludeEntryScope");

it is either freed (if not valid dn) or passed in to plugin_ExcludeEntryScope

why byref here? passin is used above

                plugin_ExcludeEntryScope = slapi_sdn_new_dn_byref(plugin_attr_value);

should be passin

comment:5 Changed 4 months ago by lkrispen

new patch attached, should address teh issues raised in review

comment:6 Changed 4 months ago by rmeggins

  • Review set to ack

comment:7 Changed 4 months ago by lkrispen

$ git merge ticket47621
Updating 1119083..16dc94f
Fast-forward

ldap/servers/plugins/referint/referint.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 71 insertions(+), 15 deletions(-)

$ git push origin master
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 1.58 KiB, done.
Total 7 (delta 4), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git

1119083..16dc94f master -> master

Changed 4 months ago by nhosoi

git patch file (389-ds-base-1.3.2) -- fixed the conflicts; passed the tests 100%

comment:8 Changed 4 months ago by nhosoi

Pushed to 389-ds-base-1.3.2:

19660fa..db3de3f 389-ds-base-1.3.2 -> 389-ds-base-1.3.2
commit db3de3f6ffca405c616ae9f9104e82d5a95f4b3b

comment:9 Changed 4 months ago by nhosoi

  • Owner set to lkrispen
  • Status changed from new to assigned

Closing the ticket on behalf of Ludwig.

comment:10 Changed 4 months ago by nhosoi

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:11 Changed 4 months ago by nkinder

  • Red Hat Bugzilla set to [https://bugzilla.redhat.com/show_bug.cgi?id=1044173 1044173]

Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1044173

Note: See TracTickets for help on using tickets.