From eeee8e1c6e01a36916bec3eed9212742e089c5b8 Mon Sep 17 00:00:00 2001 From: Martin Kosek Date: Wed, 22 Feb 2012 13:41:23 +0100 Subject: [PATCH] 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 --- ipalib/plugins/baseldap.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index 2664160fa..c0f25479a 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)