mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Fix addattr internal error
When ADD command is being executed and a single-value object attribute is being set with both option and addattr IPA ends up in an internal error. Make better value sanitizing job in this case and let IPA throw a user-friendly error. Unit test exercising this situation is added. https://fedorahosted.org/freeipa/ticket/2429
This commit is contained in:
committed by
Rob Crittenden
parent
d491ba0289
commit
cd7a85c12c
@@ -882,7 +882,17 @@ last, after all sets and adds."""),
|
||||
entry_attrs[attr] = val
|
||||
|
||||
for attr in direct_add:
|
||||
entry_attrs.setdefault(attr, []).extend(adddict[attr])
|
||||
try:
|
||||
val = entry_attrs[attr]
|
||||
except KeyError:
|
||||
val = []
|
||||
else:
|
||||
if not isinstance(val, (list, tuple)):
|
||||
val = [val]
|
||||
elif isinstance(val, tuple):
|
||||
val = list(val)
|
||||
val.extend(adddict[attr])
|
||||
entry_attrs[attr] = val
|
||||
|
||||
for attr in direct_del:
|
||||
for delval in deldict[attr]:
|
||||
|
||||
Reference in New Issue
Block a user