summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipaserver/install/ldapupdate.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/ipaserver/install/ldapupdate.py b/ipaserver/install/ldapupdate.py
index b6c6d2b90..6bed046d2 100644
--- a/ipaserver/install/ldapupdate.py
+++ b/ipaserver/install/ldapupdate.py
@@ -625,6 +625,14 @@ class LDAPUpdate:
(old, new) = update_value.split('::', 1)
except ValueError:
raise BadSyntax, "bad syntax in replace, needs to be in the format old::new in %s" % update_value
+ try:
+ entry_values.remove(old)
+ except ValueError:
+ self.debug('replace: %s not found, skipping', safe_output(attr, old))
+ else:
+ entry_values.append(new)
+ self.debug('replace: updated value %s', safe_output(attr, entry_values))
+ entry[attr] = entry_values
return entry