summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorTomas Babej <tbabej@redhat.com>2015-04-29 08:16:13 +0200
committerTomas Babej <tbabej@redhat.com>2015-07-02 13:23:21 +0200
commit646253044028b86291430680981a40bef2bff1e6 (patch)
treead3950c9f27df31e04111661aa654776a3357191 /ipaserver
parentf8d1458fdaedeefac77045d043a0dd5cb9331163 (diff)
downloadfreeipa-646253044028b86291430680981a40bef2bff1e6.tar.gz
freeipa-646253044028b86291430680981a40bef2bff1e6.tar.xz
freeipa-646253044028b86291430680981a40bef2bff1e6.zip
idviews: Fallback to AD DC LDAP only if specifically allowed
https://fedorahosted.org/freeipa/ticket/4524 Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/dcerpc.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/ipaserver/dcerpc.py b/ipaserver/dcerpc.py
index 9525c7458..725b2cd90 100644
--- a/ipaserver/dcerpc.py
+++ b/ipaserver/dcerpc.py
@@ -326,12 +326,17 @@ class DomainValidator(object):
return entries
- def get_trusted_domain_object_sid(self, object_name):
+ def get_trusted_domain_object_sid(self, object_name, fallback_to_ldap=True):
result = pysss_nss_idmap.getsidbyname(object_name)
if object_name in result and (pysss_nss_idmap.SID_KEY in result[object_name]):
object_sid = result[object_name][pysss_nss_idmap.SID_KEY]
return object_sid
+ # If fallback to AD DC LDAP is not allowed, bail out
+ if not fallback_to_ldap:
+ raise errors.ValidationError(name=_('trusted domain object'),
+ error= _('SSSD was unable to resolve the object to a valid SID'))
+
# Else, we are going to contact AD DC LDAP
components = normalize_name(object_name)
if not ('domain' in components or 'flatname' in components):