summaryrefslogtreecommitdiffstats
path: root/ipa-client
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2013-03-14 14:33:56 +0100
committerMartin Kosek <mkosek@redhat.com>2013-03-21 16:12:12 +0100
commit6540eff4687bbc400e285a68936d8edf1895168e (patch)
tree001a8643ac20a7298dda57e1b57cde7a591debe5 /ipa-client
parent3ea8dabeb9e21b255bb75287743a2bbb350f61bd (diff)
downloadfreeipa-6540eff4687bbc400e285a68936d8edf1895168e.tar.gz
freeipa-6540eff4687bbc400e285a68936d8edf1895168e.tar.xz
freeipa-6540eff4687bbc400e285a68936d8edf1895168e.zip
Use temporary CCACHE in ipa-client-install
ipa-client-install failed if user had set his own KRB5CCNAME in his environment. Use a temporary CCACHE for the installer to avoid these kind of errors. https://fedorahosted.org/freeipa/ticket/3512
Diffstat (limited to 'ipa-client')
-rwxr-xr-xipa-client/ipa-install/ipa-client-install7
1 files changed, 7 insertions, 0 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index d9e1b7e78..fc8b6c855 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -1979,6 +1979,9 @@ def install(options, env, fstore, statestore):
root_logger.error("Test kerberos configuration failed")
return CLIENT_INSTALL_ERROR
env['KRB5_CONFIG'] = krb_name
+ (ccache_fd, ccache_name) = tempfile.mkstemp()
+ os.close(ccache_fd)
+ env['KRB5CCNAME'] = os.environ['KRB5CCNAME'] = ccache_name
join_args = ["/usr/sbin/ipa-join", "-s", cli_server[0], "-b", str(realm_to_suffix(cli_realm))]
if options.debug:
join_args.append("-d")
@@ -2114,6 +2117,10 @@ def install(options, env, fstore, statestore):
except OSError:
root_logger.error("Could not remove %s", krb_name)
try:
+ os.remove(ccache_name)
+ except OSError:
+ pass
+ try:
os.remove(krb_name + ".ipabkp")
except OSError:
root_logger.error("Could not remove %s.ipabkp", krb_name)