summaryrefslogtreecommitdiffstats
path: root/ipapython
diff options
context:
space:
mode:
authorMartin Babinsky <mbabinsk@redhat.com>2016-06-23 18:23:00 +0200
committerMartin Basti <mbasti@redhat.com>2016-07-01 09:37:25 +0200
commit974eb7b5efd20ad2195b0ad578637ab31f4c1df4 (patch)
tree4e9893aded56953876550d1588ca26887ec98c6f /ipapython
parente6fc8f84d3ad5fc4c030ad592a3d743c02393439 (diff)
downloadfreeipa-974eb7b5efd20ad2195b0ad578637ab31f4c1df4.tar.gz
freeipa-974eb7b5efd20ad2195b0ad578637ab31f4c1df4.tar.xz
freeipa-974eb7b5efd20ad2195b0ad578637ab31f4c1df4.zip
ipalib: introduce Principal parameter
This patch introduces a separate Principal parameter that allows the framework to syntactically validate incoming/outcoming principals by using a single shared codebase. https://fedorahosted.org/freeipa/ticket/3864 Reviewed-By: David Kupka <dkupka@redhat.com> Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipapython')
-rw-r--r--ipapython/ipaldap.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py
index 9258fafe1..704e71a94 100644
--- a/ipapython/ipaldap.py
+++ b/ipapython/ipaldap.py
@@ -42,6 +42,7 @@ from ipapython.ipautil import (
from ipapython.ipa_log_manager import log_mgr
from ipapython.dn import DN
from ipapython.dnsutil import DNSName
+from ipapython.kerberos import Principal
if six.PY3:
unicode = str
@@ -686,6 +687,8 @@ class LDAPClient(object):
'idnssoamname': DNSName,
'idnssoarname': DNSName,
'dnszoneidnsname': DNSName,
+ 'krbcanonicalname': Principal,
+ 'krbprincipalname': Principal,
'nsds5replicalastupdatestart': unicode,
'nsds5replicalastupdateend': unicode,
'nsds5replicalastinitstart': unicode,
@@ -847,7 +850,8 @@ class LDAPClient(object):
return 'TRUE'
else:
return 'FALSE'
- elif isinstance(val, (unicode, six.integer_types, Decimal, DN)):
+ elif isinstance(val, (unicode, six.integer_types, Decimal, DN,
+ Principal)):
return value_to_utf8(val)
elif isinstance(val, DNSName):
return val.to_text()