[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/07: daemon: Recognize SHA3 and BLAKE2s.
From: |
guix-commits |
Subject: |
04/07: daemon: Recognize SHA3 and BLAKE2s. |
Date: |
Sat, 27 Jun 2020 17:43:09 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 8e6c1415d87272c0221ce328715fc0dd1dd3e032
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Tue Jun 23 16:33:38 2020 +0200
daemon: Recognize SHA3 and BLAKE2s.
* nix/libutil/hash.hh (HashType): Add htSHA3_256, htSHA3_512, and
htBLAKE2s_256.
* nix/libutil/hash.cc (parseHashType, printHashType): Recognize them.
* tests/store.scm ("add-to-store"): Test these algorithms.
---
nix/libutil/hash.cc | 6 ++++++
nix/libutil/hash.hh | 5 ++++-
tests/store.scm | 4 ++--
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/nix/libutil/hash.cc b/nix/libutil/hash.cc
index 20d2e4b..7853acd 100644
--- a/nix/libutil/hash.cc
+++ b/nix/libutil/hash.cc
@@ -321,6 +321,9 @@ HashType parseHashType(const string & s)
else if (s == "sha1") return htSHA1;
else if (s == "sha256") return htSHA256;
else if (s == "sha512") return htSHA512;
+ else if (s == "sha3-256") return htSHA3_256;
+ else if (s == "sha3-512") return htSHA3_512;
+ else if (s == "blake2s-256") return htBLAKE2s_256;
else return htUnknown;
}
@@ -331,6 +334,9 @@ string printHashType(HashType ht)
else if (ht == htSHA1) return "sha1";
else if (ht == htSHA256) return "sha256";
else if (ht == htSHA512) return "sha512";
+ else if (ht == htSHA3_256) return "sha3-256";
+ else if (ht == htSHA3_512) return "sha3-512";
+ else if (ht == htBLAKE2s_256) return "blake2s-256";
else throw Error("cannot print unknown hash type");
}
diff --git a/nix/libutil/hash.hh b/nix/libutil/hash.hh
index 7357a34..ac58651 100644
--- a/nix/libutil/hash.hh
+++ b/nix/libutil/hash.hh
@@ -16,7 +16,10 @@ typedef enum {
htMD5 = GCRY_MD_MD5,
htSHA1 = GCRY_MD_SHA1,
htSHA256 = GCRY_MD_SHA256,
- htSHA512 = GCRY_MD_SHA512
+ htSHA512 = GCRY_MD_SHA512,
+ htSHA3_256 = GCRY_MD_SHA3_256,
+ htSHA3_512 = GCRY_MD_SHA3_512,
+ htBLAKE2s_256 = GCRY_MD_BLAKE2S_256
} HashType;
struct Hash
diff --git a/tests/store.scm b/tests/store.scm
index 06f7939..ee3e01f 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -116,7 +116,7 @@
(list (stat:uid s) (stat:perms s))))
(test-equal "add-to-store"
- '("sha1" "sha256" "sha512")
+ '("sha1" "sha256" "sha512" "sha3-256" "sha3-512" "blake2s-256")
(let* ((file (search-path %load-path "guix.scm"))
(content (call-with-input-file file get-bytevector-all)))
(map (lambda (hash-algo)
@@ -125,7 +125,7 @@
(bytevector=? (call-with-input-file file get-bytevector-all)
content)
hash-algo)))
- '("sha1" "sha256" "sha512"))))
+ '("sha1" "sha256" "sha512" "sha3-256" "sha3-512" "blake2s-256"))))
(test-equal "add-data-to-store"
#vu8(1 2 3 4 5)
- branch master updated (5c10200 -> 0b7c540), guix-commits, 2020/06/27
- 01/07: bash completion: Complete 'guix environment' properly., guix-commits, 2020/06/27
- 02/07: daemon: Map directly to gcrypt hash functions., guix-commits, 2020/06/27
- 03/07: daemon: Remove OpenSSL hash compatibility wrappers., guix-commits, 2020/06/27
- 06/07: gnu: libtiff: Use HTTPS., guix-commits, 2020/06/27
- 04/07: daemon: Recognize SHA3 and BLAKE2s.,
guix-commits <=
- 05/07: packages: Recognize SHA3 and BLAKE2s for 'content-hash'., guix-commits, 2020/06/27
- 07/07: gnu: lxqt: Update to 0.15.0., guix-commits, 2020/06/27