summaryrefslogtreecommitdiffstats
path: root/ipa-client
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-client')
-rwxr-xr-xipa-client/ipa-install/ipa-client-install19
-rw-r--r--ipa-client/man/ipa-client-install.12
2 files changed, 15 insertions, 6 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index e0abfd67a..d8ce5c930 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -34,6 +34,7 @@ try:
from ipapython.ipautil import run, user_input, CalledProcessError, file_exists
from ipapython import sysrestore
from ipapython import version
+ from ipapython import certmonger
import SSSDConfig
from ConfigParser import RawConfigParser
except ImportError:
@@ -174,7 +175,7 @@ def uninstall(options):
if not fstore.has_files() and not options.force:
print "IPA client is not configured on this system."
- return 1
+ return 2
# Remove our host cert and CA cert
if nickname_exists("IPA CA"):
@@ -183,19 +184,25 @@ def uninstall(options):
except Exception, e:
print "Failed to remove IPA CA from /etc/pki/nssdb: %s" % str(e)
if nickname_exists("Server-Cert"):
+ # Always start certmonger. We can't untrack something if it isn't
+ # running
+ try:
+ service('certmonger', 'start')
+ except:
+ pass
+ try:
+ certmonger.stop_tracking('/etc/pki/nssdb', nickname='Server-Cert')
+ except (CalledProcessError, RuntimeError), e:
+ logging.error("certmonger failed to stop tracking certificate: %s" % str(e))
try:
run(["/usr/bin/certutil", "-D", "-d", "/etc/pki/nssdb", "-n", "Server-Cert"])
except Exception, e:
print "Failed to remove Server-Cert from /etc/pki/nssdb: %s" % str(e)
- try:
- run(["/usr/bin/ipa-getcert", "stop-tracking", "-d", "/etc/pki/nssdb", "-n", "Server-Cert"])
- except Exception, e:
- print "Failed to stop tracking Server-Cert in certmonger: %s" % str(e)
try:
service('certmonger', 'stop')
except:
- print "Failed to stop the certmonger daemon"
+ pass
try:
chkconfig('certmonger', 'off')
diff --git a/ipa-client/man/ipa-client-install.1 b/ipa-client/man/ipa-client-install.1
index 4a1fcb543..4cdc921d7 100644
--- a/ipa-client/man/ipa-client-install.1
+++ b/ipa-client/man/ipa-client-install.1
@@ -81,3 +81,5 @@ Remove the IPA client software and restore the configuration to the pre-IPA stat
0 if the installation was successful
1 if an error occurred
+
+2 if uninstalling and the client is not configured