diff options
| author | Noriko Hosoi <nhosoi@redhat.com> | 2010-01-25 15:05:59 -0800 |
|---|---|---|
| committer | Noriko Hosoi <nhosoi@redhat.com> | 2010-01-25 15:05:59 -0800 |
| commit | 1a769808a6e169913be66ffbabc7f278594798a7 (patch) | |
| tree | 01f228cc0ec70c77b763f9ac6dd1b067f708eb52 /lib/base/system.cpp | |
| parent | 0e9fd8bc8205a46a6355555683e3fa0b014b4d03 (diff) | |
| download | ds-1a769808a6e169913be66ffbabc7f278594798a7.tar.gz ds-1a769808a6e169913be66ffbabc7f278594798a7.tar.xz ds-1a769808a6e169913be66ffbabc7f278594798a7.zip | |
544089 - Referential Integrity Plugin does not take into account the attribute
subtypes
Bug Description: Referential Integrity Plugin does not change the references
in subtyped attributes like "manager;en" or "ou;19"
Fix Description: The problem is in the way the function int update_integrity
(char **argv, char *origDN, char *newrDN, int logChanges) in referint.c makes
the changes. The initial search with the filter ldap_create_filter( filter,
filtlen, "(%a=%e)", NULL, NULL, argv[i], origDN, NULL) finds the entries with
attributes and with attribute subtypes. But after that when generating the
necessary changes (attribute1.mod_type = argv[i] and attribute2.mod_type =
argv[i]) the function takes care only of the "base" attributes listed in the
plugin arguments. We should parse each found entry to find all the attribute
subtypes with the value concerned and then make changes to them all.
Note: This bug was reported by andrey.ivanov@polytechnique.fr, and the bug
fix was also provided by him. The patch was reviewed by rmeggins@redhat.com
as well as nhosoi@redhat.com.
Diffstat (limited to 'lib/base/system.cpp')
0 files changed, 0 insertions, 0 deletions
