summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2017-01-31 18:53:47 +0100
committerJan Cholasta <jcholast@redhat.com>2017-02-10 14:03:04 +0100
commit7fd36e4d3651f327a8c3a2f13b92a2a304352dfd (patch)
treeb3cd508ff649ed0d70b44d662f4c7e8c1e54913b /ipaserver
parentf31d73b79aaa1746f7d32576658fcd4136870115 (diff)
downloadfreeipa-7fd36e4d3651f327a8c3a2f13b92a2a304352dfd.tar.gz
freeipa-7fd36e4d3651f327a8c3a2f13b92a2a304352dfd.tar.xz
freeipa-7fd36e4d3651f327a8c3a2f13b92a2a304352dfd.zip
py3: upgradeinstance: decode data before storing them as backup...
...and vice versa backup requires string not bytes, but ldap provide bytes thus data must be decoded and encoded from restore https://fedorahosted.org/freeipa/ticket/4985 Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/install/upgradeinstance.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/ipaserver/install/upgradeinstance.py b/ipaserver/install/upgradeinstance.py
index b24489843..8e6c87d8b 100644
--- a/ipaserver/install/upgradeinstance.py
+++ b/ipaserver/install/upgradeinstance.py
@@ -134,21 +134,22 @@ class IPAUpgrade(service.Service):
self.filename)
try:
- port = config_entry['nsslapd-port'][0]
+ port = config_entry['nsslapd-port'][0].decode('utf-8')
except KeyError:
pass
else:
self.backup_state('nsslapd-port', port)
try:
- security = config_entry['nsslapd-security'][0]
+ security = config_entry['nsslapd-security'][0].decode('utf-8')
except KeyError:
pass
else:
self.backup_state('nsslapd-security', security)
try:
- global_lock = config_entry['nsslapd-global-backend-lock'][0]
+ global_lock = config_entry[
+ 'nsslapd-global-backend-lock'][0].decode('utf-8')
except KeyError:
pass
else:
@@ -177,16 +178,17 @@ class IPAUpgrade(service.Service):
parser = installutils.ModifyLDIF(in_file, out_file)
if port is not None:
- parser.replace_value("cn=config", "nsslapd-port", [port])
+ parser.replace_value(
+ "cn=config", "nsslapd-port", [port.encode('utf-8')])
if security is not None:
parser.replace_value("cn=config", "nsslapd-security",
- [security])
+ [security.encode('utf-8')])
# disable global lock by default
parser.remove_value("cn=config", "nsslapd-global-backend-lock")
if global_lock is not None:
parser.add_value("cn=config", "nsslapd-global-backend-lock",
- [global_lock])
+ [global_lock.encode('utf-8')])
parser.parse()