mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Fix ipa command running in server_context=True
Make the LDAP host and port environment variables More changes so that commands have a shell return value lite-xmlrpc no longer hardcodes the kerberos credentials cache location
This commit is contained in:
@@ -311,9 +311,25 @@ class CLI(object):
|
||||
break
|
||||
except errors.ValidationError, e:
|
||||
error = e.error
|
||||
if self.api.env.server_context:
|
||||
try:
|
||||
import krbV
|
||||
import ldap
|
||||
from ipa_server import conn
|
||||
from ipa_server.servercore import context
|
||||
krbccache = krbV.default_context().default_ccache().name
|
||||
context.conn = conn.IPAConn(self.api.env.ldaphost, self.api.env.ldapport, krbccache)
|
||||
except ImportError:
|
||||
print >> sys.stderr, "There was a problem importing a Python module: %s" % sys.exc_value
|
||||
return 2
|
||||
except ldap.LDAPError, e:
|
||||
print >> sys.stderr, "There was a problem connecting to the LDAP server: %s" % e[0].get('desc')
|
||||
return 2
|
||||
ret = cmd(**kw)
|
||||
if callable(cmd.output_for_cli):
|
||||
cmd.output_for_cli(ret)
|
||||
return cmd.output_for_cli(ret)
|
||||
else:
|
||||
return 0
|
||||
|
||||
def parse(self, cmd, argv):
|
||||
parser = self.build_parser(cmd)
|
||||
|
||||
@@ -146,6 +146,8 @@ def set_default_env(env):
|
||||
server_context = EnvProp(bool, True),
|
||||
server = LazyIter(basestring, get_servers),
|
||||
verbose = EnvProp(bool, False),
|
||||
ldaphost = EnvProp(basestring, 'localhost'),
|
||||
ldapport = EnvProp(int, 389),
|
||||
)
|
||||
|
||||
env.update(default)
|
||||
|
||||
Reference in New Issue
Block a user