summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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!