commit: 6a3a033243058a2724bc6c8d8cb2b2bd6cf73109
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 4 23:02:12 2018 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 7 05:22:12 2018 +0000
URL: https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=6a3a0332
gkeys actions.py: Add verify() recursion detection and exit
Handles the case of incorrect configuration or keyring problems.
Reported by irc user "puchu" in #gentoo-keys.
Signed-off-by: Brian Dolbec <dolsen <AT> gentoo.org>
gkeys/gkeys/actionbase.py | 1 +
gkeys/gkeys/actions.py | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/gkeys/gkeys/actionbase.py b/gkeys/gkeys/actionbase.py
index 3993be4..23b7161 100644
--- a/gkeys/gkeys/actionbase.py
+++ b/gkeys/gkeys/actionbase.py
@@ -43,6 +43,7 @@ class ActionBase(object):
self._keyhandler = None
self._gpg = None
self.category = None
+ self.verify_recursion = False
@property
diff --git a/gkeys/gkeys/actions.py b/gkeys/gkeys/actions.py
index 0f03880..f9bba7a 100644
--- a/gkeys/gkeys/actions.py
+++ b/gkeys/gkeys/actions.py
@@ -779,7 +779,7 @@ class Actions(ActionBase):
if not keys:
return (False, ['No installed keys found, try installkey action.'])
key = self.seedhandler.seeds.nick_search(args.nick)
- if not key:
+ if not key and not self.verify_recursion:
if args.nick:
messages.append(_unicode(
"Failed to find.........: %s in category: %s")
@@ -788,7 +788,15 @@ class Actions(ActionBase):
args.nick = self.config.get_key('verify-nick')
messages.append(_unicode("Using config defaults..: %s %s")
% (args.category, args.nick))
+ self.verify_recursion = True
return self.verify(args, messages)
+ elif self.verify_recursion:
+ messages.append(_unicode(
+ "Failed to find.........: %s in category: %s")
+ % (args.category, args.nick))
+ messages.append(" ...giving up")
+ self.verify_recursion = False
+ return (False, ['No installed verification keys found, try
installkey action.'])
return self._verify(args, key, messages)