From 28ee7f19b865c32ce1b03cc0afa26983a0208693 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 9 Nov 2016 23:32:02 +0100 Subject: rename Checksum-FileSize to Filesize in hashsum mismatch Some people do not recognize the field value with such an arcane name and/or expect it to refer to something different (e.g. #839257). We can't just rename it internally as its an avoidance strategy as such fieldname existed previously with less clear semantics, but we can spare the general public from this implementation detail. --- apt-pkg/acquire-item.cc | 31 +++++++------ test/integration/test-apt-helper | 4 +- test/integration/test-apt-update-not-modified | 16 +++---- test/integration/test-apt-update-rollback | 8 ++-- .../test-ubuntu-bug-1098738-apt-get-source-md5sum | 52 +++++++++++----------- 5 files changed, 57 insertions(+), 54 deletions(-) diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 9c6f85093..163743ce0 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -748,6 +748,18 @@ APT_CONST bool pkgAcquire::Item::IsTrusted() const /*{{{*/ // --------------------------------------------------------------------- /* We return to an idle state if there are still other queues that could fetch this object */ +static void formatHashsum(std::ostream &out, HashString const &hs) +{ + auto const type = hs.HashType(); + if (type == "Checksum-FileSize") + out << " - Filesize"; + else + out << " - " << type; + out << ':' << hs.HashValue(); + if (hs.usable() == false) + out << " [weak]"; + out << std::endl; +} void pkgAcquire::Item::Failed(string const &Message,pkgAcquire::MethodConfig const * const Cnf) { if (QueueCounter <= 1) @@ -819,12 +831,7 @@ void pkgAcquire::Item::Failed(string const &Message,pkgAcquire::MethodConfig con { out << "Hashes of expected file:" << std::endl; for (auto const &hs: ExpectedHashes) - { - out << " - " << hs.toStr(); - if (hs.usable() == false) - out << " [weak]"; - out << std::endl; - } + formatHashsum(out, hs); } if (failreason == HASHSUM_MISMATCH) { @@ -834,16 +841,12 @@ void pkgAcquire::Item::Failed(string const &Message,pkgAcquire::MethodConfig con std::string const tagname = std::string(*type) + "-Hash"; std::string const hashsum = LookupTag(Message, tagname.c_str()); if (hashsum.empty() == false) - { - auto const hs = HashString(*type, hashsum); - out << " - " << hs.toStr(); - if (hs.usable() == false) - out << " [weak]"; - out << std::endl; - } + formatHashsum(out, HashString(*type, hashsum)); } - out << "Last modification reported: " << LookupTag(Message, "Last-Modified", "") << std::endl; } + auto const lastmod = LookupTag(Message, "Last-Modified", ""); + if (lastmod.empty() == false) + out << "Last modification reported: " << lastmod << std::endl; } ErrorText = out.str(); } diff --git a/test/integration/test-apt-helper b/test/integration/test-apt-helper index 81c52465d..5e4a96fbd 100755 --- a/test/integration/test-apt-helper +++ b/test/integration/test-apt-helper @@ -41,7 +41,7 @@ test_apt_helper_download() { - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c - SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 [weak] - MD5Sum:d3b07384d113edec49eaa6238ad5ff00 [weak] - - Checksum-FileSize:4 [weak] + - Filesize:4 [weak] Last modification reported: $(lastmodification 'aptarchive/foo') E: Download Failed" testfileequal ./downloaded/foo5.FAILED 'foo' @@ -53,7 +53,7 @@ E: Download Failed" - SHA256:aabbcc Hashes of received file: - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c - - Checksum-FileSize:4 [weak] + - Filesize:4 [weak] Last modification reported: $(lastmodification 'aptarchive/foo') E: Download Failed" testfileequal './downloaded/foo6.FAILED' 'foo' diff --git a/test/integration/test-apt-update-not-modified b/test/integration/test-apt-update-not-modified index 064c7cbc7..cb42e8954 100755 --- a/test/integration/test-apt-update-not-modified +++ b/test/integration/test-apt-update-not-modified @@ -49,21 +49,21 @@ Get:2 $1 unstable/main amd64 Packages [$SIZE B] Err:2 $1 unstable/main amd64 Packages Hash Sum mismatch Hashes of expected file: - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig' | cut -d' ' -f 1) Hashes of received file: - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') Reading package lists... E: Failed to fetch $1/dists/unstable/main/binary-amd64/Packages.gz Hash Sum mismatch Hashes of expected file: - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig' | cut -d' ' -f 1) Hashes of received file: - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update @@ -125,21 +125,21 @@ Get:4 $1 unstable/main amd64 Packages [$SIZE B] Err:4 $1 unstable/main amd64 Packages Hash Sum mismatch Hashes of expected file: - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig' | cut -d' ' -f 1) Hashes of received file: - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') Release file created at: $(releasefiledate 'aptarchive/dists/unstable/Release') Reading package lists... E: Failed to fetch $1/dists/unstable/main/binary-amd64/Packages.gz Hash Sum mismatch Hashes of expected file: - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig') [weak] - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig' | cut -d' ' -f 1) Hashes of received file: - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') Release file created at: $(releasefiledate 'aptarchive/dists/unstable/Release') E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update diff --git a/test/integration/test-apt-update-rollback b/test/integration/test-apt-update-rollback index b5471dc6c..ea431c816 100755 --- a/test/integration/test-apt-update-rollback +++ b/test/integration/test-apt-update-rollback @@ -65,11 +65,11 @@ test_inrelease_to_broken_hash_reverts_all() { # test the error condition testfailureequal "E: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources.gz Hash Sum mismatch Hashes of expected file: - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz.orig' | cut -d' ' -f 1) Hashes of received file: - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz' | cut -d' ' -f 1) - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/source/Sources.gz') Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq @@ -136,11 +136,11 @@ E: There were unauthenticated packages and -y was used without --allow-unauthent testfailureequal "E: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources.gz Hash Sum mismatch Hashes of expected file: - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz.orig' | cut -d' ' -f 1) Hashes of received file: - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz' | cut -d' ' -f 1) - - Checksum-FileSize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/source/Sources.gz') Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq diff --git a/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum b/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum index a60f0bd3a..2636c3140 100755 --- a/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum +++ b/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum @@ -219,28 +219,28 @@ Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) Writing more data than expected (3 > 2) Hashes of expected file: - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a - - Checksum-FileSize:2 [weak] + - Filesize:2 [weak] Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [4 B] Err:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) Hash Sum mismatch Hashes of expected file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - - Checksum-FileSize:4 [weak] + - Filesize:4 [weak] Hashes of received file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.dsc Writing more data than expected (3 > 2) Hashes of expected file: - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a - - Checksum-FileSize:2 [weak] + - Filesize:2 [weak] E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz Hash Sum mismatch Hashes of expected file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - - Checksum-FileSize:4 [weak] + - Filesize:4 [weak] Hashes of received file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") E: Failed to fetch some archives." elif [ "$1" = 'pkg-md5-bad' ]; then @@ -251,48 +251,48 @@ Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) Hash Sum mismatch Hashes of expected file: - MD5Sum:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Hashes of received file: - SHA512:e52b7bb395ea3f46974f1f65b7c5975839aad32d4e2ec0f458f735d5aa24d2bf36d7816ed1e01dc3c493e11879e9a8f66dfca42821608cfe993996929a6be18a - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [3 B] Err:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) Hash Sum mismatch Hashes of expected file: - MD5Sum:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Hashes of received file: - SHA512:5aa4cad81553320574eb72ee92bd45a1f0575528e257749dff298b2a33df9e7fc7f5c1c87fc1c8fde230f1234cca3a99bf8625a0ff7bb3238eb7e5473f9b43c0 - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.dsc Hash Sum mismatch Hashes of expected file: - MD5Sum:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Hashes of received file: - SHA512:e52b7bb395ea3f46974f1f65b7c5975839aad32d4e2ec0f458f735d5aa24d2bf36d7816ed1e01dc3c493e11879e9a8f66dfca42821608cfe993996929a6be18a - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz Hash Sum mismatch Hashes of expected file: - MD5Sum:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Hashes of received file: - SHA512:5aa4cad81553320574eb72ee92bd45a1f0575528e257749dff298b2a33df9e7fc7f5c1c87fc1c8fde230f1234cca3a99bf8625a0ff7bb3238eb7e5473f9b43c0 - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") E: Failed to fetch some archives." else @@ -303,52 +303,52 @@ Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) Hash Sum mismatch Hashes of expected file: - SHA256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] Hashes of received file: - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [3 B] Err:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) Hash Sum mismatch Hashes of expected file: - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] Hashes of received file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.dsc Hash Sum mismatch Hashes of expected file: - SHA256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] Hashes of received file: - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz Hash Sum mismatch Hashes of expected file: - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] Hashes of received file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") E: Failed to fetch some archives." fi @@ -429,18 +429,18 @@ Err:1 http://localhost:${APTHTTPPORT} pkg-mixed-sha2-bad 1.0 (tar) Hash Sum mismatch Hashes of expected file: - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Hashes of received file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification 'aptarchive/pkg-mixed-sha2-bad_1.0.tar.gz') E: Failed to fetch http://localhost:${APTHTTPPORT}/pkg-mixed-sha2-bad_1.0.tar.gz Hash Sum mismatch Hashes of expected file: - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Hashes of received file: - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb - - Checksum-FileSize:3 [weak] + - Filesize:3 [weak] Last modification reported: $(lastmodification 'aptarchive/pkg-mixed-sha2-bad_1.0.tar.gz') E: Failed to fetch some archives." aptget source -d pkg-mixed-sha2-bad -- cgit v1.2.3