From 60fd084cf51a074dfd08f54c963942e01819592a Mon Sep 17 00:00:00 2001 From: jeanluc Date: Tue, 12 Sep 2023 00:10:53 +0200 Subject: [PATCH] Make `gpg.receive_keys` report failure when GPG does This makes `gpg.present` report the correct result when a keyserver is unreachable and thus fixes issue 65169 in concert with several related fixes in this branch. --- changelog/65169.fixed.md | 1 + salt/modules/gpg.py | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 changelog/65169.fixed.md diff --git a/changelog/65169.fixed.md b/changelog/65169.fixed.md new file mode 100644 index 00000000000..8210d1b62d7 --- /dev/null +++ b/changelog/65169.fixed.md @@ -0,0 +1 @@ +Fixed `gpg.present` succeeds when the keyserver is unreachable diff --git a/salt/modules/gpg.py b/salt/modules/gpg.py index 5e8c78a22f3..3694c433467 100644 --- a/salt/modules/gpg.py +++ b/salt/modules/gpg.py @@ -934,21 +934,20 @@ def receive_keys(keyserver=None, keys=None, user=None, gnupghome=None): if "ok" in result: if result["ok"] == "1": ret["message"].append( - "Key {} added to keychain".format(result["fingerprint"]) + f"Key {result['fingerprint']} added to keychain" ) elif result["ok"] == "0": ret["message"].append( - "Key {} already exists in keychain".format( - result["fingerprint"] - ) + f"Key {result['fingerprint']} already exists in keychain" ) elif "problem" in result: - ret["message"].append("Unable to add key to keychain") - elif not bool(recv_data): + ret["message"].append( + f"Unable to add key to keychain: {result.get('text', 'No further description')}" + ) + + if not bool(recv_data): ret["res"] = False - ret["message"] = [ - f"Something went wrong during gpg call: {recv_data.stderr}" - ] + ret["message"].append(f"GPG reported failure: {recv_data.stderr}") except AttributeError: ret["res"] = False ret["message"] = ["Invalid return from python-gpg"]