diff options
-rw-r--r-- | ipa-server/ipa-install/ipa-replica-install | 9 | ||||
-rw-r--r-- | ipa-server/ipaserver/installutils.py | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/ipa-server/ipa-install/ipa-replica-install b/ipa-server/ipa-install/ipa-replica-install index 551b468a6..a881071b7 100644 --- a/ipa-server/ipa-install/ipa-replica-install +++ b/ipa-server/ipa-install/ipa-replica-install @@ -54,8 +54,8 @@ def parse_options(): return options, args[0] -def get_dirman_password(): - return installutils.read_password("Directory Manager (existing master)") +def get_dirman_password() + return installutils.read_password("Directory Manager (existing master)", confirm=False, validate=False) def expand_info(filename): top_dir = tempfile.mkdtemp("ipa") @@ -228,3 +228,8 @@ except Exception, e: message = message + "\n" + str logging.debug(message) sys.exit(1) +except KeyboardInterrupt: + print "Installation cancelled." + print "Your system may be partly configured." + print "Run /usr/sbin/ipa-server-install --uninstall to clean up." + sys.exit(1) diff --git a/ipa-server/ipaserver/installutils.py b/ipa-server/ipaserver/installutils.py index 2624ae141..37ee5d6ab 100644 --- a/ipa-server/ipaserver/installutils.py +++ b/ipa-server/ipaserver/installutils.py @@ -161,16 +161,19 @@ def standard_logging_setup(log_filename, debug=False): console.setFormatter(formatter) logging.getLogger('').addHandler(console) -def read_password(user): +def read_password(user, confirm=True, validate=True): correct = False pwd = "" while not correct: pwd = getpass.getpass(user + " password: ") if not pwd: continue - if len(pwd) < 8: + if validate and len(pwd) < 8: print "Password must be at least 8 characters long" continue + if not confirm: + correct = True + continue pwd_confirm = getpass.getpass("Password (confirm): ") if pwd != pwd_confirm: print "Password mismatch!" |