summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Babinsky <mbabinsk@redhat.com>2016-07-20 15:46:22 +0200
committerMartin Babinsky <mbabinsk@redhat.com>2016-07-28 09:34:43 +0200
commitda2305ddb99ab982c757ab723acc95cda3d2f025 (patch)
treeafe9bf2950b457d0e185b932c08f16c0a5ee9363
parent807702c986976ade8005ec344fcd827f70b2ba2f (diff)
harden the check for trust namespace overlap in new principals
This check must handle the possibility of optional attributes (ipantadditionalsuffixes and ipantflatname) missing in the trusted domain entry. https://fedorahosted.org/freeipa/ticket/6099 Reviewed-By: David Kupka <dkupka@redhat.com>
-rw-r--r--ipalib/util.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/ipalib/util.py b/ipalib/util.py
index 0cd5c091e..805774006 100644
--- a/ipalib/util.py
+++ b/ipalib/util.py
@@ -975,11 +975,15 @@ def check_principal_realm_in_trust_namespace(api_instance, *keys):
trust_suffix_namespace = set()
for obj in trust_objects:
- trust_suffix_namespace.update(
- set(upn.lower() for upn in obj['ipantadditionalsuffixes']))
+ nt_suffixes = obj.get('ipantadditionalsuffixes', [])
trust_suffix_namespace.update(
- set((obj['cn'][0].lower(), obj['ipantflatname'][0].lower())))
+ set(upn.lower() for upn in nt_suffixes))
+
+ if 'ipantflatname' in obj:
+ trust_suffix_namespace.add(obj['ipantflatname'][0].lower())
+
+ trust_suffix_namespace.add(obj['cn'][0].lower())
for principal in keys[-1]:
realm = principal.realm