From 206b94299b590ebcff02ef695b57a778debbab0e Mon Sep 17 00:00:00 2001 From: Daniel Dizdarevic Date: Mon, 8 May 2023 18:16:06 +0200 Subject: [PATCH] Catch CTRL+C and CTRL+D in password prompts --- src/ldaptool/search/config.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ldaptool/search/config.py b/src/ldaptool/search/config.py index 57fcd15..16ba7ef 100644 --- a/src/ldaptool/search/config.py +++ b/src/ldaptool/search/config.py @@ -229,10 +229,14 @@ class Config: """ if realm.account is None: raise RuntimeError("Can't get password without acccount - should use kerberos instead") - if self.password_manager: - password = self.password_manager.get_password(realm.password_name) - else: - password = getpass.getpass(f"Enter password for {realm.password_name}: ") + + try: + if self.password_manager: + password = self.password_manager.get_password(realm.password_name) + else: + password = getpass.getpass(f"Enter password for {realm.password_name}: ") + except (KeyboardInterrupt, EOFError): + exit() if password: return password