summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2012-02-22 13:41:23 +0100
committerRob Crittenden <rcritten@redhat.com>2012-03-01 21:51:29 -0500
commitbd0a6aa2382c6a23d620b48e582fa4592a04c238 (patch)
treebfc9db0c3fb87da125fb157009527f744f1dbe01
parenteb8309d2c089a66b572fecd8a2f31406950df131 (diff)
downloadfreeipa.git-bd0a6aa2382c6a23d620b48e582fa4592a04c238.tar.gz
freeipa.git-bd0a6aa2382c6a23d620b48e582fa4592a04c238.tar.xz
freeipa.git-bd0a6aa2382c6a23d620b48e582fa4592a04c238.zip
Fix encoding for setattr/addattr/delattr
Attribute values passed by --{set,add,del}attr parameters were normalized and validated using appropriate parameter, but were never encoded for the backend. This make prevents manipulation with dirsvr BOOL attributes where framework tries to pass boolean value instead of encoded "TRUE"/"FALSE" values. https://fedorahosted.org/freeipa/ticket/2418
-rw-r--r--ipalib/plugins/baseldap.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py
index 2664160f..c0f25479 100644
--- a/ipalib/plugins/baseldap.py
+++ b/ipalib/plugins/baseldap.py
@@ -782,6 +782,8 @@ last, after all sets and adds."""),
except errors.ValidationError, err:
(name, error) = str(err.strerror).split(':')
raise errors.ValidationError(name=attr, error=error)
+ if self.api.env.in_server:
+ value = self.params[attr].encode(value)
if append and attr in newdict:
if type(value) in (tuple,):
newdict[attr] += list(value)