summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/backend.py5
-rw-r--r--ipalib/frontend.py21
2 files changed, 19 insertions, 7 deletions
diff --git a/ipalib/backend.py b/ipalib/backend.py
index 1902929aa..7bd9a29f8 100644
--- a/ipalib/backend.py
+++ b/ipalib/backend.py
@@ -98,7 +98,10 @@ class Executioner(Backend):
def create_context(self, ccache=None, client_ip=None):
if self.env.in_server:
- self.Backend.ldap.connect(ccache)
+ if self.api.env.use_ldap2:
+ self.Backend.ldap2.connect(ccache=ccache)
+ else:
+ self.Backend.ldap.connect(ccache)
else:
self.Backend.xmlclient.connect()
diff --git a/ipalib/frontend.py b/ipalib/frontend.py
index db045fe67..c2f68d471 100644
--- a/ipalib/frontend.py
+++ b/ipalib/frontend.py
@@ -184,12 +184,21 @@ class Command(plugable.Plugin):
return dict(self.__attributes_2_entry(kw))
def __attributes_2_entry(self, kw):
- for name in self.params:
- if self.params[name].attribute and name in kw:
- if type(kw[name]) is tuple:
- yield (name, [str(value) for value in kw[name]])
- else:
- yield (name, str(kw[name]))
+ if self.api.env.use_ldap2:
+ for name in self.params:
+ if self.params[name].attribute and name in kw:
+ value = kw[name]
+ if isinstance(value, tuple):
+ yield (name, [v for v in value])
+ else:
+ yield (name, kw[name])
+ else:
+ for name in self.params:
+ if self.params[name].attribute and name in kw:
+ if type(kw[name]) is tuple:
+ yield (name, [str(value) for value in kw[name]])
+ else:
+ yield (name, str(kw[name]))
def params_2_args_options(self, **params):
"""