summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRick Farina (Zero_Chaos) <zerochaos@gentoo.org>2020-02-13 11:19:13 -0500
committerRick Farina (Zero_Chaos) <zerochaos@gentoo.org>2020-02-13 11:20:46 -0500
commit0a4e9cae78046c174c008fd7944937881a6786b2 (patch)
treef82524d8085c838d84ef686fcbdb602c8dbe7140
parentkmerge.sh: Ignore missing package.provided (diff)
downloadcatalyst-0a4e9cae78046c174c008fd7944937881a6786b2.tar.gz
catalyst-0a4e9cae78046c174c008fd7944937881a6786b2.tar.bz2
catalyst-0a4e9cae78046c174c008fd7944937881a6786b2.zip
add blake2 support
support blake2 for hash and digest functions. per jmbsvicetto, adjusting default digest from "sha512 whirlpool" to "blake2 sha512" for now additionally add blake2 sums for iso verification Signed-off-by: Rick Farina (Zero_Chaos) <zerochaos@gentoo.org>
-rw-r--r--catalyst/hash_utils.py10
-rw-r--r--etc/catalyst.conf6
-rwxr-xr-xtargets/support/create-iso.sh8
3 files changed, 14 insertions, 10 deletions
diff --git a/catalyst/hash_utils.py b/catalyst/hash_utils.py
index 1134f502..05279b2c 100644
--- a/catalyst/hash_utils.py
+++ b/catalyst/hash_utils.py
@@ -11,6 +11,7 @@ from catalyst.support import CatalystError
# fields = ["func", "cmd", "args", "id"]
HASH_DEFINITIONS = {
"adler32" :["calc_hash2", "shash", ["-a", "ADLER32"], "ADLER32"],
+ "blake2" :["calc_hash", "b2sum", [ ], "BLAKE2"],
"crc32" :["calc_hash2", "shash", ["-a", "CRC32"], "CRC32"],
"crc32b" :["calc_hash2", "shash", ["-a", "CRC32B"], "CRC32B"],
"gost" :["calc_hash2", "shash", ["-a", "GOST"], "GOST"],
@@ -94,11 +95,12 @@ class HashMap(object):
args = [_hash.cmd]
args.extend(_hash.args)
args.append(file_)
+ log.debug('args = %r', args)
source = Popen(args, stdout=PIPE)
- mylines = source.communicate()[0]
- mylines=mylines[0].split()
- result=mylines[0]
- log.info('%s (%s) = %s', _hash.id, file_, result)
+ output = source.communicate()
+ mylines = output[0].decode('ascii')
+ log.info('%s (%s) = %s', _hash.id, file_, mylines)
+ result = "# " + _hash.id + " (b2sum) HASH\n" + mylines
return result
diff --git a/etc/catalyst.conf b/etc/catalyst.conf
index 5a5eedba..dd34fae3 100644
--- a/etc/catalyst.conf
+++ b/etc/catalyst.conf
@@ -8,11 +8,11 @@
# special "auto" keyword will skip digests that the system does not support,
# and if it's the only keyword given, will default to enabling all digests.
# Supported hashes:
-# adler32, crc32, crc32b, gost, haval128, haval160, haval192, haval224,
+# adler32, blake2, crc32, crc32b, gost, haval128, haval160, haval192, haval224,
# haval256, md2, md4, md5, ripemd128, ripemd160, ripemd256, ripemd320, sha1,
# sha224, sha256, sha384, sha512, snefru128, snefru256, tiger, tiger128,
# tiger160, whirlpool
-digests="sha512 whirlpool"
+digests="blake2 sha512"
# Creates a .CONTENTS file listing the contents of the file. Pick from any of
# the supported options below:
@@ -40,7 +40,7 @@ envscript="/etc/catalyst/catalystrc"
# seedcache, etc. The default and fastest is crc32. You should not ever need
# to change this unless your OS does not support it.
# Supported hashes:
-# adler32, crc32, crc32b, gost, haval128, haval160, haval192, haval224,
+# adler32, blake2, crc32, crc32b, gost, haval128, haval160, haval192, haval224,
# haval256, md2, md4, md5, ripemd128, ripemd160, ripemd256, ripemd320, sha1,
# sha224, sha256, sha384, sha512, snefru128, snefru256, tiger, tiger128,
# tiger160, whirlpool
diff --git a/targets/support/create-iso.sh b/targets/support/create-iso.sh
index 8338e301..92efaa8b 100755
--- a/targets/support/create-iso.sh
+++ b/targets/support/create-iso.sh
@@ -94,12 +94,14 @@ else
mkisofs_zisofs_opts=""
fi
-#we want to create a sha512sum for every file on the iso so we can verify it
-#from genkernel during boot. Here we make a function to create the sha512sums
+#we want to create a checksum for every file on the iso so we can verify it
+#from genkernel during boot. Here we make a function to create the sha512sums, and blake2sums
isoroot_checksum() {
echo "Creating checksums for all files included in the iso, please wait..."
- find "${clst_target_path}" -type f ! -name 'isoroot_checksums' ! -name 'isolinux.bin' -exec sha512sum {} + > "${clst_target_path}"/isoroot_checksums
+ find "${clst_target_path}" -type f ! -name 'isoroot_checksums' ! -name 'isolinux.bin' ! -name 'isoroot_b2sums' -exec sha512sum {} + > "${clst_target_path}"/isoroot_checksums
${clst_sed} -i "s#${clst_target_path}/\?##" "${clst_target_path}"/isoroot_checksums
+ find "${clst_target_path}" -type f ! -name 'isoroot_checksums' ! -name 'isolinux.bin' ! -name 'isoroot_b2sums' -exec b2sum {} + > "${clst_target_path}"/isoroot_b2sums
+ ${clst_sed} -i "s#${clst_target_path}/\?##" "${clst_target_path}"/isoroot_b2sums
}
run_mkisofs() {