mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Fix gpg.receive_keys returns success on failed import
This commit is contained in:
parent
9a031b1dee
commit
94ae9f4fc9
3 changed files with 28 additions and 14 deletions
1
changelog/63144.fixed
Normal file
1
changelog/63144.fixed
Normal file
|
@ -0,0 +1 @@
|
|||
Fixed gpg.receive_keys returns success on failed import
|
|
@ -909,7 +909,7 @@ def receive_keys(keyserver=None, keys=None, user=None, gnupghome=None):
|
|||
salt '*' gpg.receive_keys keys=3FAD9F1E user=username
|
||||
|
||||
"""
|
||||
ret = {"res": True, "changes": {}, "message": []}
|
||||
ret = {"res": True, "message": []}
|
||||
|
||||
gpg = _create_gpg(user, gnupghome)
|
||||
|
||||
|
@ -920,18 +920,31 @@ def receive_keys(keyserver=None, keys=None, user=None, gnupghome=None):
|
|||
keys = keys.split(",")
|
||||
|
||||
recv_data = gpg.recv_keys(keyserver, *keys)
|
||||
for result in recv_data.results:
|
||||
if "ok" in result:
|
||||
if result["ok"] == "1":
|
||||
ret["message"].append(
|
||||
"Key {} added to keychain".format(result["fingerprint"])
|
||||
)
|
||||
elif result["ok"] == "0":
|
||||
ret["message"].append(
|
||||
"Key {} already exists in keychain".format(result["fingerprint"])
|
||||
)
|
||||
elif "problem" in result:
|
||||
ret["message"].append("Unable to add key to keychain")
|
||||
try:
|
||||
if recv_data.results:
|
||||
for result in recv_data.results:
|
||||
if "ok" in result:
|
||||
if result["ok"] == "1":
|
||||
ret["message"].append(
|
||||
"Key {} added to keychain".format(result["fingerprint"])
|
||||
)
|
||||
elif result["ok"] == "0":
|
||||
ret["message"].append(
|
||||
"Key {} already exists in keychain".format(
|
||||
result["fingerprint"]
|
||||
)
|
||||
)
|
||||
elif "problem" in result:
|
||||
ret["message"].append("Unable to add key to keychain")
|
||||
elif not bool(recv_data):
|
||||
ret["res"] = False
|
||||
ret["message"] = [
|
||||
f"Something went wrong during gpg call: {recv_data.stderr}"
|
||||
]
|
||||
except AttributeError:
|
||||
ret["res"] = False
|
||||
ret["message"] = ["Invalid return from python-gpg"]
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
|
|
|
@ -1072,4 +1072,4 @@ def test_gpg_receive_keys_no_user_id():
|
|||
create.return_value.recv_keys.return_value = import_result
|
||||
res = gpg.receive_keys(keys="abc", user="abc")
|
||||
assert res["res"] is False
|
||||
assert "no user ID" in res["message"]
|
||||
assert "no user ID" in res["message"][0]
|
||||
|
|
Loading…
Add table
Reference in a new issue