From d0ce6472f7da037f8163d2aacb703d46e6d4790a Mon Sep 17 00:00:00 2001 From: Martin Basti Date: Thu, 27 Mar 2014 14:43:32 +0100 Subject: DNSName conversion in ipaldap Domain name has to be stored in LDAP in punycoded value Part of ticket: IPA should allow internationalized domain names https://fedorahosted.org/freeipa/ticket/3169 Reviewed-By: Jan Cholasta --- ipapython/ipaldap.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'ipapython') diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py index 12450e8f2..677e4f807 100644 --- a/ipapython/ipaldap.py +++ b/ipapython/ipaldap.py @@ -42,6 +42,7 @@ from ipapython.ipautil import ( format_netloc, wait_for_open_socket, wait_for_open_ports, CIDict) from ipapython.ipa_log_manager import log_mgr from ipapython.dn import DN, RDN +from ipapython.dnsutil import DNSName # Global variable to define SASL auth SASL_GSSAPI = ldap.sasl.sasl({}, 'GSSAPI') @@ -258,6 +259,10 @@ class IPASimpleLDAPObject(object): 'managedtemplate': DN, 'managedbase': DN, 'originscope': DN, + 'idnsname': DNSName, + 'idnssoamname': DNSName, + 'idnssoarname': DNSName, + 'dnszoneidnsname': DNSName, }) _SINGLE_VALUE_OVERRIDE = CIDict({ 'nsslapd-ssl-check-hostname': True, @@ -402,6 +407,8 @@ class IPASimpleLDAPObject(object): return 'FALSE' elif isinstance(val, (unicode, float, int, long, Decimal, DN)): return value_to_utf8(val) + elif isinstance(val, DNSName): + return str(val) elif isinstance(val, str): return val elif isinstance(val, list): -- cgit