summaryrefslogtreecommitdiffstats
path: root/ipalib/rpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/rpc.py')
-rw-r--r--ipalib/rpc.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/ipalib/rpc.py b/ipalib/rpc.py
index a549f0226..1c002895e 100644
--- a/ipalib/rpc.py
+++ b/ipalib/rpc.py
@@ -66,6 +66,7 @@ from ipalib.krb_utils import KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN, KRB5KRB_AP_ERR_TKT
KRB5_FCC_PERM, KRB5_FCC_NOFILE, KRB5_CC_FORMAT, \
KRB5_REALM_CANT_RESOLVE, KRB5_CC_NOTFOUND, get_principal
from ipapython.dn import DN
+from ipapython.kerberos import Principal
from ipalib.capabilities import VERSION_WITHOUT_CAPABILITIES
from ipalib import api
@@ -194,6 +195,9 @@ def xml_wrap(value, version):
else:
return unicode(value)
+ if isinstance(value, Principal):
+ return unicode(value)
+
assert type(value) in (unicode, float, bool, type(None)) + six.integer_types
return value
@@ -316,6 +320,8 @@ def json_encode_binary(val, version):
return {'__dns_name__': unicode(val)}
else:
return unicode(val)
+ elif isinstance(val, Principal):
+ return unicode(val)
else:
return val