summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-03-12 20:29:04 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2016-04-25 15:35:52 +0200
commit0340069cc4709a18ba117090763d9f263de999a9 (patch)
tree7a94ceb4e5baebae96bbb06b0248b8500863b191
parent6563390031a88ffd85308ac3c26ea9d10bc6bc99 (diff)
show more details for "Hash Sum mismatch" errors
Users tend to report these errors with just this error message… not very actionable and hard to figure out if this is a temporary or 'permanent' mirror-sync issue or even the occasional apt bug. Showing the involved hashsums and modification times should help in triaging these kind of bugs – and eventually we will have less of them via by-hash. The subheaders aren't marked for translation for now as they are technical glibberish and probably easier to deal with if not translated. After all, our iconic "Hash Sum mismatch" is translated at least. These additions were proposed in #817240 by Peter Palfrader.
-rw-r--r--apt-pkg/acquire-item.cc60
-rw-r--r--apt-pkg/acquire-item.h1
-rw-r--r--apt-pkg/acquire-worker.cc3
-rw-r--r--test/integration/framework20
-rwxr-xr-xtest/integration/test-apt-helper15
-rwxr-xr-xtest/integration/test-apt-update-not-modified47
-rwxr-xr-xtest/integration/test-apt-update-rollback17
-rwxr-xr-xtest/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum124
8 files changed, 259 insertions, 28 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 474c0a0f2..aeadbcfc7 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -650,8 +650,6 @@ APT_CONST bool pkgAcquire::Item::IsTrusted() const /*{{{*/
fetch this object */
void pkgAcquire::Item::Failed(string const &Message,pkgAcquire::MethodConfig const * const Cnf)
{
- if(ErrorText.empty())
- ErrorText = LookupTag(Message,"Message");
if (QueueCounter <= 1)
{
/* This indicates that the file is not available right now but might
@@ -681,18 +679,37 @@ void pkgAcquire::Item::Failed(string const &Message,pkgAcquire::MethodConfig con
Dequeue();
}
+ if(ErrorText.empty())
+ {
+ if (Status == StatAuthError)
+ {
+ std::ostringstream out;
+ out << _("Hash Sum mismatch") << std::endl;
+ out << "Hashes of expected file:" << std::endl;
+ for (auto const &hs: GetExpectedHashes())
+ out << " - " << hs.toStr() << std::endl;
+ out << "Hashes of received file:" << std::endl;
+ for (char const * const * type = HashString::SupportedHashes(); *type != NULL; ++type)
+ {
+ std::string const tagname = std::string(*type) + "-Hash";
+ std::string const hashsum = LookupTag(Message, tagname.c_str());
+ if (hashsum.empty() == false)
+ out << " - " << HashString(*type, hashsum).toStr() << std::endl;
+ }
+ out << "Last modification reported: " << LookupTag(Message, "Last-Modified", "<none>") << std::endl;
+ ErrorText = out.str();
+ }
+ else
+ ErrorText = LookupTag(Message,"Message");
+ }
+
string const FailReason = LookupTag(Message, "FailReason");
if (FailReason == "MaximumSizeExceeded")
- {
RenameOnError(MaximumSizeExceeded);
- ReportMirrorFailureToCentral(*this, FailReason, ErrorText);
- }
else if (Status == StatAuthError)
- {
RenameOnError(HashSumMismatch);
- ReportMirrorFailureToCentral(*this, "HashChecksumFailure", ErrorText);
- }
- else if (FailReason.empty() == false)
+
+ if (FailReason.empty() == false)
ReportMirrorFailureToCentral(*this, FailReason, ErrorText);
else
ReportMirrorFailureToCentral(*this, ErrorText, ErrorText);
@@ -1771,6 +1788,23 @@ pkgAcqBaseIndex::pkgAcqBaseIndex(pkgAcquire * const Owner,
{
}
/*}}}*/
+void pkgAcqBaseIndex::Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf)/*{{{*/
+{
+ pkgAcquire::Item::Failed(Message, Cnf);
+ if (TransactionManager == nullptr || ErrorText.empty() ||
+ TransactionManager->MetaIndexParser == nullptr ||
+ LookupTag(Message, "FailReason") != "HashSumMismatch")
+ return;
+
+ ErrorText.append("Release file created at: ");
+ auto const timespec = TransactionManager->MetaIndexParser->GetDate();
+ if (timespec == 0)
+ ErrorText.append("<unknown>");
+ else
+ ErrorText.append(TimeRFC1123(timespec));
+ ErrorText.append("\n");
+}
+ /*}}}*/
pkgAcqBaseIndex::~pkgAcqBaseIndex() {}
// AcqDiffIndex::AcqDiffIndex - Constructor /*{{{*/
@@ -2210,7 +2244,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/
/*}}}*/
void pkgAcqDiffIndex::Failed(string const &Message,pkgAcquire::MethodConfig const * const Cnf)/*{{{*/
{
- Item::Failed(Message,Cnf);
+ pkgAcqBaseIndex::Failed(Message,Cnf);
Status = StatDone;
if(Debug)
@@ -2291,7 +2325,7 @@ pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire * const Owner,
/*}}}*/
void pkgAcqIndexDiffs::Failed(string const &Message,pkgAcquire::MethodConfig const * const Cnf)/*{{{*/
{
- Item::Failed(Message,Cnf);
+ pkgAcqBaseIndex::Failed(Message,Cnf);
Status = StatDone;
DestFile = GetKeepCompressedFileName(GetPartialFileNameFromURI(Target.URI), Target);
@@ -2496,7 +2530,7 @@ void pkgAcqIndexMergeDiffs::Failed(string const &Message,pkgAcquire::MethodConfi
if(Debug)
std::clog << "pkgAcqIndexMergeDiffs failed: " << Desc.URI << " with " << Message << std::endl;
- Item::Failed(Message,Cnf);
+ pkgAcqBaseIndex::Failed(Message,Cnf);
Status = StatDone;
// check if we are the first to fail, otherwise we are done here
@@ -2734,7 +2768,7 @@ string pkgAcqIndex::Custom600Headers() const
// AcqIndex::Failed - getting the indexfile failed /*{{{*/
void pkgAcqIndex::Failed(string const &Message,pkgAcquire::MethodConfig const * const Cnf)
{
- Item::Failed(Message,Cnf);
+ pkgAcqBaseIndex::Failed(Message,Cnf);
// authorisation matches will not be fixed by other compression types
if (Status != StatAuthError)
diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h
index 1884cfe52..61037f1b7 100644
--- a/apt-pkg/acquire-item.h
+++ b/apt-pkg/acquire-item.h
@@ -609,6 +609,7 @@ class APT_HIDDEN pkgAcqBaseIndex : public pkgAcqTransactionItem
public:
/** \brief Get the full pathname of the final file for the current URI */
virtual std::string GetFinalFilename() const APT_OVERRIDE;
+ virtual void Failed(std::string const &Message,pkgAcquire::MethodConfig const * const Cnf) APT_OVERRIDE;
pkgAcqBaseIndex(pkgAcquire * const Owner, pkgAcqMetaClearSig * const TransactionManager,
IndexTarget const &Target);
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc
index ca1fd4836..c009f402e 100644
--- a/apt-pkg/acquire-worker.cc
+++ b/apt-pkg/acquire-worker.cc
@@ -439,7 +439,10 @@ bool pkgAcquire::Worker::RunMessages()
else
{
if (isDoomedItem(Owner) == false)
+ {
+ Message.append("\nFailReason: HashSumMismatch");
Owner->Failed(Message,Config);
+ }
if (Log != nullptr)
Log->Fail(Owner->GetItemDesc());
}
diff --git a/test/integration/framework b/test/integration/framework
index 2a78e6194..a68209326 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -217,6 +217,12 @@ gdb() {
fi
runapt command gdb --quiet -ex run "$CMD" --args "$CMD" "$@"
}
+lastmodification() {
+ date -u -d "@$(stat -c '%Y' "${TMPWORKINGDIRECTORY}/$1")" '+%a, %d %b %Y %H:%M:%S GMT'
+}
+releasefiledate() {
+ grep "^${2:-Date}:" "$1" | cut -d' ' -f 2- | sed -e 's#UTC#GMT#'
+}
exitwithstatus() {
# error if we about to overflow, but ...
@@ -595,12 +601,12 @@ setupsimplenativepackage() {
mkdir -p ${BUILDDIR}/debian/source
cd ${BUILDDIR}
echo "* most suckless software product ever" > FEATURES
- test -e debian/copyright || echo "Copyleft by Joe Sixpack $(date +%Y)" > debian/copyright
+ test -e debian/copyright || echo "Copyleft by Joe Sixpack $(date -u +%Y)" > debian/copyright
test -e debian/changelog || echo "$NAME ($VERSION) $RELEASE; urgency=low
* Initial release
- -- Joe Sixpack <joe@example.org> $(date -R)" > debian/changelog
+ -- Joe Sixpack <joe@example.org> $(date -u -R)" > debian/changelog
test -e debian/control || echo "Source: $NAME
Section: $SECTION
Priority: optional
@@ -658,12 +664,12 @@ buildsimplenativepackage() {
echo "#!/bin/sh
echo '$NAME says \"Hello!\"'" > "${BUILDDIR}/${NAME}"
- echo "Copyleft by Joe Sixpack $(date +%Y)" > "${BUILDDIR}/debian/copyright"
+ echo "Copyleft by Joe Sixpack $(date -u +%Y)" > "${BUILDDIR}/debian/copyright"
echo "$NAME ($VERSION) $RELEASE; urgency=low
* Initial release
- -- Joe Sixpack <joe@example.org> $(date -R)" > "${BUILDDIR}/debian/changelog"
+ -- Joe Sixpack <joe@example.org> $(date -u -R)" > "${BUILDDIR}/debian/changelog"
{
echo "Source: $NAME
Priority: $PRIORITY
@@ -1014,13 +1020,13 @@ NotAutomatic: yes' "$dir/Release"
fi
if [ -n "$DATE" -a "$DATE" != "now" ]; then
for release in $(find ./aptarchive -name 'Release'); do
- sed -i "s/^Date: .*$/Date: $(date -d "$DATE" '+%a, %d %b %Y %H:%M:%S %Z')/" "$release"
+ sed -i "s/^Date: .*$/Date: $(date -u -d "$DATE" '+%a, %d %b %Y %H:%M:%S %Z')/" "$release"
touch -d "$DATE" "$release"
done
fi
if [ -n "$VALIDUNTIL" ]; then
sed -i "/^Date: / a\
-Valid-Until: $(date -d "$VALIDUNTIL" '+%a, %d %b %Y %H:%M:%S %Z')" $(find ./aptarchive -name 'Release')
+Valid-Until: $(date -u -d "$VALIDUNTIL" '+%a, %d %b %Y %H:%M:%S %Z')" $(find ./aptarchive -name 'Release')
fi
msgdone "info"
}
@@ -1119,7 +1125,7 @@ signreleasefiles() {
}
redatereleasefiles() {
- local DATE="$(date -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')"
+ local DATE="$(date -u -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')"
for release in $(find aptarchive/ -name 'Release'); do
sed -i "s/^Date: .*$/Date: ${DATE}/" "$release"
touch -d "$DATE" "$release"
diff --git a/test/integration/test-apt-helper b/test/integration/test-apt-helper
index bc7f6e680..8a25859b8 100755
--- a/test/integration/test-apt-helper
+++ b/test/integration/test-apt-helper
@@ -34,12 +34,27 @@ test_apt_helper_download() {
msgtest 'apt-file download-file' 'wrong md5sum'
testfailure --nomsg apthelper -qq download-file "${1}/foo" './downloaded/foo5' 'MD5Sum:aabbcc'
testfileequal rootdir/tmp/testfailure.output "E: Failed to fetch ${1}/foo Hash Sum mismatch
+ Hashes of expected file:
+ - MD5Sum:aabbcc
+ Hashes of received file:
+ - SHA512:0cf9180a764aba863a67b6d72f0918bc131c6772642cb2dce5a34f0a702f9470ddc2bf125c12198b1995c233c34b4afd346c54a2334c350a948a51b6e8b4e6b6
+ - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+ - SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
+ - MD5Sum:d3b07384d113edec49eaa6238ad5ff00
+ - Checksum-FileSize:4
+ Last modification reported: $(lastmodification 'aptarchive/foo')
E: Download Failed"
testfileequal ./downloaded/foo5.FAILED 'foo'
msgtest 'apt-file download-file' 'wrong sha256'
testfailure --nomsg apthelper -qq download-file "${1}/foo" './downloaded/foo6' 'SHA256:aabbcc'
testfileequal rootdir/tmp/testfailure.output "E: Failed to fetch ${1}/foo Hash Sum mismatch
+ Hashes of expected file:
+ - SHA256:aabbcc
+ Hashes of received file:
+ - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+ - Checksum-FileSize:4
+ 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 b1f801bc5..c81a05b2c 100755
--- a/test/integration/test-apt-update-not-modified
+++ b/test/integration/test-apt-update-not-modified
@@ -6,6 +6,7 @@ TESTDIR="$(readlink -f "$(dirname "$0")")"
setupenvironment
configarchitecture 'amd64' 'i386'
+confighashes 'SHA256'
insertpackage 'unstable' 'apt' 'amd64,i386' '1.0'
@@ -34,10 +35,9 @@ Reading package lists..." aptget update
# readd arch so its downloaded again…
configarchitecture 'amd64' 'i386'
# … but oh noes, hashsum mismatch!
- SIZE=$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz')
- find aptarchive/dists/unstable/main/binary-amd64/ -type f -delete
- cat >> aptarchive/dists/unstable/main/binary-amd64/Packages <<EOF
-
+ SIZE=$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz')
+ mv aptarchive/dists/unstable/main/binary-amd64/Packages.gz aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig
+ cat > aptarchive/dists/unstable/main/binary-amd64/Packages <<EOF
Package: thisisbad
Architecture: amd64
Version: 1
@@ -47,8 +47,24 @@ EOF
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')
+ - 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')
+ 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')
+ - 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')
+ 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
testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)"
rm -rf aptarchive/dists
@@ -93,10 +109,9 @@ Reading package lists..." aptget update
# readd arch so its downloaded again…
configarchitecture 'amd64' 'i386'
# … but oh noes, hashsum mismatch!
- SIZE=$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz')
- find aptarchive/dists/unstable/main/binary-amd64/ -type f -delete
- cat >> aptarchive/dists/unstable/main/binary-amd64/Packages <<EOF
-
+ SIZE=$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz')
+ mv aptarchive/dists/unstable/main/binary-amd64/Packages.gz aptarchive/dists/unstable/main/binary-amd64/Packages.gz.orig
+ cat > aptarchive/dists/unstable/main/binary-amd64/Packages <<EOF
Package: thisisbad
Architecture: amd64
Version: 1
@@ -108,8 +123,24 @@ Hit:2 $1 unstable Release
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')
+ - 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')
+ 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')
+ - 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')
+ 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
testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)"
rm -rf aptarchive/dists
diff --git a/test/integration/test-apt-update-rollback b/test/integration/test-apt-update-rollback
index dc95627d7..d343baeae 100755
--- a/test/integration/test-apt-update-rollback
+++ b/test/integration/test-apt-update-rollback
@@ -30,6 +30,7 @@ add_new_package() {
}
break_repository_sources_index() {
+ mv "$APTARCHIVE/dists/unstable/main/source/Sources.gz" "$APTARCHIVE/dists/unstable/main/source/Sources.gz.orig"
printf 'xxx' > "$APTARCHIVE/dists/unstable/main/source/Sources"
compressfile "$APTARCHIVE/dists/unstable/main/source/Sources" "$@"
}
@@ -61,6 +62,14 @@ 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')
+ - 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')
+ 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
# ensure that the Packages file is also rolled back
testfileequal lists.before "$(listcurrentlistsdirectory)"
@@ -127,6 +136,14 @@ E: There were unauthenticated packages and -y was used without --allow-unauthent
break_repository_sources_index '+1hour'
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')
+ - 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')
+ 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
testfileequal lists.before "$(listcurrentlistsdirectory)"
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 2a271607e..8994fa24e 100755
--- a/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum
+++ b/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum
@@ -220,8 +220,74 @@ Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc)
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
+ Hashes of received file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - Checksum-FileSize:3
+ 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)
E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz Hash Sum mismatch
+ Hashes of expected file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - Checksum-FileSize:4
+ Hashes of received file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - Checksum-FileSize:3
+ Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc")
+E: Failed to fetch some archives."
+ elif [ "$1" = 'pkg-md5-bad' ]; then
+ FAILURE="Reading package lists...
+Need to get 6 B of source archives.
+Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [3 B]
+Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc)
+ Hash Sum mismatch
+ Hashes of expected file:
+ - MD5Sum:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ - Checksum-FileSize:3
+ Hashes of received file:
+ - SHA512:e52b7bb395ea3f46974f1f65b7c5975839aad32d4e2ec0f458f735d5aa24d2bf36d7816ed1e01dc3c493e11879e9a8f66dfca42821608cfe993996929a6be18a
+ - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a
+ - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44
+ - MD5Sum:9604ba9427a280db542279d9ed78400b
+ - Checksum-FileSize:3
+ 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
+ - Checksum-FileSize:3
+ Hashes of received file:
+ - SHA512:5aa4cad81553320574eb72ee92bd45a1f0575528e257749dff298b2a33df9e7fc7f5c1c87fc1c8fde230f1234cca3a99bf8625a0ff7bb3238eb7e5473f9b43c0
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a
+ - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6
+ - Checksum-FileSize:3
+ 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
+ - Checksum-FileSize:3
+ Hashes of received file:
+ - SHA512:e52b7bb395ea3f46974f1f65b7c5975839aad32d4e2ec0f458f735d5aa24d2bf36d7816ed1e01dc3c493e11879e9a8f66dfca42821608cfe993996929a6be18a
+ - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a
+ - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44
+ - MD5Sum:9604ba9427a280db542279d9ed78400b
+ - Checksum-FileSize:3
+ 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
+ - Checksum-FileSize:3
+ Hashes of received file:
+ - SHA512:5aa4cad81553320574eb72ee92bd45a1f0575528e257749dff298b2a33df9e7fc7f5c1c87fc1c8fde230f1234cca3a99bf8625a0ff7bb3238eb7e5473f9b43c0
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a
+ - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6
+ - Checksum-FileSize:3
+ Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz")
E: Failed to fetch some archives."
else
FAILURE="Reading package lists...
@@ -229,11 +295,55 @@ Need to get 6 B of source archives.
Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [3 B]
Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc)
Hash Sum mismatch
+ Hashes of expected file:
+ - SHA256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ - Checksum-FileSize:3
+ - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44
+ - MD5Sum:9604ba9427a280db542279d9ed78400b
+ Hashes of received file:
+ - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a
+ - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44
+ - MD5Sum:9604ba9427a280db542279d9ed78400b
+ - Checksum-FileSize:3
+ 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
+ - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a
+ - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6
+ Hashes of received file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a
+ - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6
+ - Checksum-FileSize:3
+ 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
+ - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44
+ - MD5Sum:9604ba9427a280db542279d9ed78400b
+ Hashes of received file:
+ - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a
+ - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44
+ - MD5Sum:9604ba9427a280db542279d9ed78400b
+ - Checksum-FileSize:3
+ 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
+ - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a
+ - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6
+ Hashes of received file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a
+ - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6
+ - Checksum-FileSize:3
+ Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz")
E: Failed to fetch some archives."
fi
testfailureequal "$FAILURE" aptget source -d "$@"
@@ -311,7 +421,21 @@ Need to get 3 B of source archives.
Get:1 http://localhost:${APTHTTPPORT} pkg-mixed-sha2-bad 1.0 (tar) [3 B]
Err:1 http://localhost:${APTHTTPPORT} pkg-mixed-sha2-bad 1.0 (tar)
Hash Sum mismatch
+ Hashes of expected file:
+ - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+ - Checksum-FileSize:3
+ Hashes of received file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - Checksum-FileSize:3
+ 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
+ Hashes of received file:
+ - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb
+ - Checksum-FileSize:3
+ 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
# it gets even more pathologic: multiple entries for one file, some even disagreeing!