mirror of
https://github.com/saltstack/salt.git
synced 2025-04-16 09:40:20 +00:00
remove GPG_1_3_1 check
This commit is contained in:
parent
427718c5ae
commit
8767c52920
2 changed files with 47 additions and 92 deletions
1
changelog/62895.changed
Normal file
1
changelog/62895.changed
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Removed GPG_1_3_1 check
|
|
@ -21,7 +21,6 @@ import salt.utils.files
|
||||||
import salt.utils.path
|
import salt.utils.path
|
||||||
import salt.utils.stringutils
|
import salt.utils.stringutils
|
||||||
from salt.exceptions import SaltInvocationError
|
from salt.exceptions import SaltInvocationError
|
||||||
from salt.utils.versions import LooseVersion as _LooseVersion
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -65,12 +64,9 @@ VERIFY_TRUST_LEVELS = {
|
||||||
"4": "Ultimate",
|
"4": "Ultimate",
|
||||||
}
|
}
|
||||||
|
|
||||||
GPG_1_3_1 = False
|
|
||||||
try:
|
try:
|
||||||
import gnupg
|
import gnupg
|
||||||
|
|
||||||
HAS_GPG_BINDINGS = True
|
HAS_GPG_BINDINGS = True
|
||||||
GPG_1_3_1 = _LooseVersion(gnupg.__version__) >= _LooseVersion("1.3.1")
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
HAS_GPG_BINDINGS = False
|
HAS_GPG_BINDINGS = False
|
||||||
|
|
||||||
|
@ -183,10 +179,7 @@ def _create_gpg(user=None, gnupghome=None):
|
||||||
if not gnupghome:
|
if not gnupghome:
|
||||||
gnupghome = _get_user_gnupghome(user)
|
gnupghome = _get_user_gnupghome(user)
|
||||||
|
|
||||||
if GPG_1_3_1:
|
gpg = gnupg.GPG(gnupghome=gnupghome)
|
||||||
gpg = gnupg.GPG(homedir=gnupghome) # pylint: disable=unexpected-keyword-arg
|
|
||||||
else:
|
|
||||||
gpg = gnupg.GPG(gnupghome=gnupghome)
|
|
||||||
|
|
||||||
return gpg
|
return gpg
|
||||||
|
|
||||||
|
@ -238,34 +231,29 @@ def search_keys(text, keyserver=None, user=None):
|
||||||
salt '*' gpg.search_keys user@example.com keyserver=keyserver.ubuntu.com user=username
|
salt '*' gpg.search_keys user@example.com keyserver=keyserver.ubuntu.com user=username
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if GPG_1_3_1:
|
if not keyserver:
|
||||||
raise SaltInvocationError(
|
keyserver = "pgp.mit.edu"
|
||||||
"The search_keys function is not support with this version of python-gnupg."
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
if not keyserver:
|
|
||||||
keyserver = "pgp.mit.edu"
|
|
||||||
|
|
||||||
_keys = []
|
_keys = []
|
||||||
for _key in _search_keys(text, keyserver, user):
|
for _key in _search_keys(text, keyserver, user):
|
||||||
tmp = {"keyid": _key["keyid"], "uids": _key["uids"]}
|
tmp = {"keyid": _key["keyid"], "uids": _key["uids"]}
|
||||||
|
|
||||||
expires = _key.get("expires", None)
|
expires = _key.get("expires", None)
|
||||||
date = _key.get("date", None)
|
date = _key.get("date", None)
|
||||||
length = _key.get("length", None)
|
length = _key.get("length", None)
|
||||||
|
|
||||||
if expires:
|
if expires:
|
||||||
tmp["expires"] = time.strftime(
|
tmp["expires"] = time.strftime(
|
||||||
"%Y-%m-%d", time.localtime(float(_key["expires"]))
|
"%Y-%m-%d", time.localtime(float(_key["expires"]))
|
||||||
)
|
)
|
||||||
if date:
|
if date:
|
||||||
tmp["created"] = time.strftime(
|
tmp["created"] = time.strftime(
|
||||||
"%Y-%m-%d", time.localtime(float(_key["date"]))
|
"%Y-%m-%d", time.localtime(float(_key["date"]))
|
||||||
)
|
)
|
||||||
if length:
|
if length:
|
||||||
tmp["keyLength"] = _key["length"]
|
tmp["keyLength"] = _key["length"]
|
||||||
_keys.append(tmp)
|
_keys.append(tmp)
|
||||||
return _keys
|
return _keys
|
||||||
|
|
||||||
|
|
||||||
def list_keys(user=None, gnupghome=None):
|
def list_keys(user=None, gnupghome=None):
|
||||||
|
@ -778,29 +766,16 @@ def import_key(text=None, filename=None, user=None, gnupghome=None):
|
||||||
|
|
||||||
imported_data = gpg.import_keys(text)
|
imported_data = gpg.import_keys(text)
|
||||||
|
|
||||||
if GPG_1_3_1:
|
if imported_data.imported or imported_data.imported_rsa:
|
||||||
counts = imported_data.counts
|
ret["message"] = "Successfully imported key(s)."
|
||||||
if counts.get("imported") or counts.get("imported_rsa"):
|
elif imported_data.unchanged:
|
||||||
ret["message"] = "Successfully imported key(s)."
|
ret["message"] = "Key(s) already exist in keychain."
|
||||||
elif counts.get("unchanged"):
|
elif imported_data.not_imported:
|
||||||
ret["message"] = "Key(s) already exist in keychain."
|
ret["res"] = False
|
||||||
elif counts.get("not_imported"):
|
ret["message"] = "Unable to import key."
|
||||||
ret["res"] = False
|
elif not imported_data.count:
|
||||||
ret["message"] = "Unable to import key."
|
ret["res"] = False
|
||||||
elif not counts.get("count"):
|
ret["message"] = "Unable to import key."
|
||||||
ret["res"] = False
|
|
||||||
ret["message"] = "Unable to import key."
|
|
||||||
else:
|
|
||||||
if imported_data.imported or imported_data.imported_rsa:
|
|
||||||
ret["message"] = "Successfully imported key(s)."
|
|
||||||
elif imported_data.unchanged:
|
|
||||||
ret["message"] = "Key(s) already exist in keychain."
|
|
||||||
elif imported_data.not_imported:
|
|
||||||
ret["res"] = False
|
|
||||||
ret["message"] = "Unable to import key."
|
|
||||||
elif not imported_data.count:
|
|
||||||
ret["res"] = False
|
|
||||||
ret["message"] = "Unable to import key."
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
@ -1069,22 +1044,11 @@ def sign(
|
||||||
else:
|
else:
|
||||||
gpg_passphrase = None
|
gpg_passphrase = None
|
||||||
|
|
||||||
# Check for at least one secret key to sign with
|
|
||||||
|
|
||||||
gnupg_version = _LooseVersion(gnupg.__version__)
|
|
||||||
if text:
|
if text:
|
||||||
if gnupg_version >= _LooseVersion("1.3.1"):
|
signed_data = gpg.sign(text, keyid=keyid, passphrase=gpg_passphrase)
|
||||||
signed_data = gpg.sign(text, default_key=keyid, passphrase=gpg_passphrase)
|
|
||||||
else:
|
|
||||||
signed_data = gpg.sign(text, keyid=keyid, passphrase=gpg_passphrase)
|
|
||||||
elif filename:
|
elif filename:
|
||||||
with salt.utils.files.flopen(filename, "rb") as _fp:
|
with salt.utils.files.flopen(filename, "rb") as _fp:
|
||||||
if gnupg_version >= _LooseVersion("1.3.1"):
|
signed_data = gpg.sign_file(_fp, keyid=keyid, passphrase=gpg_passphrase)
|
||||||
signed_data = gpg.sign(
|
|
||||||
text, default_key=keyid, passphrase=gpg_passphrase
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
signed_data = gpg.sign_file(_fp, keyid=keyid, passphrase=gpg_passphrase)
|
|
||||||
if output:
|
if output:
|
||||||
with salt.utils.files.flopen(output, "wb") as fout:
|
with salt.utils.files.flopen(output, "wb") as fout:
|
||||||
fout.write(salt.utils.stringutils.to_bytes(signed_data.data))
|
fout.write(salt.utils.stringutils.to_bytes(signed_data.data))
|
||||||
|
@ -1255,29 +1219,19 @@ def encrypt(
|
||||||
if text:
|
if text:
|
||||||
result = gpg.encrypt(text, recipients, passphrase=gpg_passphrase)
|
result = gpg.encrypt(text, recipients, passphrase=gpg_passphrase)
|
||||||
elif filename:
|
elif filename:
|
||||||
if GPG_1_3_1:
|
with salt.utils.files.flopen(filename, "rb") as _fp:
|
||||||
# This version does not allow us to encrypt using the
|
if output:
|
||||||
# file stream # have to read in the contents and encrypt.
|
result = gpg.encrypt_file(
|
||||||
with salt.utils.files.flopen(filename, "rb") as _fp:
|
_fp,
|
||||||
_contents = salt.utils.stringutils.to_unicode(_fp.read())
|
recipients,
|
||||||
result = gpg.encrypt(
|
passphrase=gpg_passphrase,
|
||||||
_contents, recipients, passphrase=gpg_passphrase, output=output
|
output=output,
|
||||||
)
|
sign=sign,
|
||||||
else:
|
)
|
||||||
# This version allows encrypting the file stream
|
else:
|
||||||
with salt.utils.files.flopen(filename, "rb") as _fp:
|
result = gpg.encrypt_file(
|
||||||
if output:
|
_fp, recipients, passphrase=gpg_passphrase, sign=sign
|
||||||
result = gpg.encrypt_file(
|
)
|
||||||
_fp,
|
|
||||||
recipients,
|
|
||||||
passphrase=gpg_passphrase,
|
|
||||||
output=output,
|
|
||||||
sign=sign,
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
result = gpg.encrypt_file(
|
|
||||||
_fp, recipients, passphrase=gpg_passphrase, sign=sign
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
raise SaltInvocationError("filename or text must be passed.")
|
raise SaltInvocationError("filename or text must be passed.")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue