diff options
author | Rich Megginson <rmeggins@redhat.com> | 2009-02-17 15:47:48 +0000 |
---|---|---|
committer | Rich Megginson <rmeggins@redhat.com> | 2009-02-17 15:47:48 +0000 |
commit | 086de1d73e8b702a42f0816ff34c49a274dccda9 (patch) | |
tree | f3e854e06ae897bb6639c6b2bd04a9f8e0ff880c | |
parent | 83bee6271116730465180289008b0ccd5353027e (diff) | |
download | ds-086de1d73e8b702a42f0816ff34c49a274dccda9.tar.gz ds-086de1d73e8b702a42f0816ff34c49a274dccda9.tar.xz ds-086de1d73e8b702a42f0816ff34c49a274dccda9.zip |
Resolves: bug 485694
Bug Description: Cross Platform Migration Fails with: Unable to access
nsslapd-rundir: Bad address
Reviewed by: nkinder (Thanks!)
Fix Description: Need to add any new attributes added in 8.0 and 8.1 to
the ignoreOld hash table in the migration script. The way migration
works, it assumes an attribute is supported in both the old version and
the new version. So if the attribute is absent in the old entry and
present in the new entry, it assumes the user removed the attribute in
the old entry, so removes it in the new entry. The ignoreOld hash table
holds the list of attributes that we should ignore for the purposes of
attribute comparison. These are the attributes we just want to pass
through.
Platforms tested: RHEL5
Flag Day: no
Doc impact: no
-rw-r--r-- | ldap/admin/src/scripts/DSMigration.pm.in | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ldap/admin/src/scripts/DSMigration.pm.in b/ldap/admin/src/scripts/DSMigration.pm.in index 3789c8cf..dd6f74af 100644 --- a/ldap/admin/src/scripts/DSMigration.pm.in +++ b/ldap/admin/src/scripts/DSMigration.pm.in @@ -79,6 +79,16 @@ use Util; # these are the attributes for which we will always use # the new value, or which do not apply anymore +# for the next major release e.g. when we support migration from the +# current release 1.1.x to 1.2 or 2.0, the old version number will +# become quite important for migration - for example, when migrating +# from older than 1.1 to 1.1.x, we need to add the attributes in the +# table below to the new entry because the attribute didn't exist +# at all in the old server version - however, when migrating from +# e.g. 1.1.x to 2.0, we must preserve the old value - this means +# if the user has deleted the attribute from the entry, we must +# "migrate" that deletion by removing the attribute from the new +# entry my %ignoreOld = ( 'nsslapd-errorlog' => 'nsslapd-errorlog', @@ -91,6 +101,9 @@ my %ignoreOld = 'nsslapd-pluginversion' => 'nsslapd-pluginVersion', 'nsslapd-plugin-depends-on-named' => 'nsslapd-plugin-depends-on-named', # these are new attrs that we should just pass through + 'nsslapd-allow-unauthenticated-binds' => 'nsslapd-allow-unauthenticated-binds', + 'nsslapd-saslpath' => 'nsslapd-saslpath', + 'nsslapd-rundir' => 'nsslapd-rundir', 'nsslapd-schemadir' => 'nsslapd-schemadir', 'nsslapd-lockdir' => 'nsslapd-lockdir', 'nsslapd-tmpdir' => 'nsslapd-tmpdir', |