diff options
author | Florence Blanc-Renaud <flo@redhat.com> | 2017-01-24 16:55:07 +0100 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2017-02-02 13:44:47 +0100 |
commit | 066f5b7c904208d0fd79862dfaa7166fff42fd30 (patch) | |
tree | 36698e233f859b44856e2f1f4fc69dfaaad04b7e /ipaserver/install | |
parent | 5de70e31999eb219bd47aa81b0c003a6c15cf748 (diff) | |
download | freeipa-066f5b7c904208d0fd79862dfaa7166fff42fd30.tar.gz freeipa-066f5b7c904208d0fd79862dfaa7166fff42fd30.tar.xz freeipa-066f5b7c904208d0fd79862dfaa7166fff42fd30.zip |
ipa-kra-install must create directory if it does not exist
ipa-kra-install creates an admin cert file in
/root/.dogtag/pki-tomcat/ca_admin.cert but does not check that the
parent directory exists. This situation can happen when uninstall + restore
has been run.
The fix creates the directory if not present.
https://fedorahosted.org/freeipa/ticket/6606
Reviewed-By: Christian Heimes <cheimes@redhat.com>
Diffstat (limited to 'ipaserver/install')
-rw-r--r-- | ipaserver/install/krainstance.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ipaserver/install/krainstance.py b/ipaserver/install/krainstance.py index 95672ee5c..f16a1748f 100644 --- a/ipaserver/install/krainstance.py +++ b/ipaserver/install/krainstance.py @@ -259,6 +259,10 @@ class KRAInstance(DogtagInstance): else: # the admin cert file is needed for the first instance of KRA cert = DogtagInstance.get_admin_cert(self) + # First make sure that the directory exists + parentdir = os.path.dirname(paths.ADMIN_CERT_PATH) + if not os.path.exists(parentdir): + os.makedirs(parentdir) with open(paths.ADMIN_CERT_PATH, "w") as admin_path: admin_path.write(cert) |