unlink(DestFile.c_str());
#endif
return;
+ } else {
+ // FIXME: use the same method to find
+ // check the compressed hash too
+ if(MetaKey != "" && Hashes.size() > 0)
+ {
+ indexRecords::checkSum *Record = MetaIndexParser->Lookup(MetaKey);
+ if(Record && Record->Hashes.usable() && Hashes != Record->Hashes)
+ {
+ RenameOnError(HashSumMismatch);
+ printHashSumComparision(RealURI, Record->Hashes, Hashes);
+ Failed(Message, Cfg);
+ return;
+ }
+ }
}
Erase = false;
# test the error condition
testequal "W: Failed to fetch file:${APTARCHIVE}/dists/unstable/InRelease
-W: Failed to fetch copy:${APTARCHIVE}/dists/unstable/main/source/Sources Hash Sum mismatch
-
-W: Failed to fetch copy:${APTARCHIVE}/dists/unstable/main/binary-i386/Packages
+W: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources Hash Sum mismatch
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
W: Failed to fetch file:$APTARCHIVE/dists/unstable/Release.gpg
-W: Failed to fetch copy:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
-
-W: Failed to fetch copy:$APTARCHIVE/dists/unstable/main/binary-i386/Packages
+W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq # -o Debug::acquire::transaction=1
testequal "W: Failed to fetch file:$APTARCHIVE/dists/unstable/InRelease
-W: Failed to fetch copy:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
-
-W: Failed to fetch copy:$APTARCHIVE/dists/unstable/main/binary-i386/Packages
+W: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq
testsuccess ls rootdir/var/lib/apt/lists/*_InRelease
}
+test_inrelease_to_broken_gzip() {
+ msgmsg "Test InRelease to broken gzip"
+ create_fresh_archive
+ # append junk at the end of the gzip, this
+ echo "lala" >> $APTARCHIVE/dists/unstable/main/source/Sources.gz
+ # remove uncompressed file, otherwise apt will just fallback fetching
+ # that
+ rm $APTARCHIVE/dists/unstable/main/source/Sources
+ avoid_ims_hit
+
+ testfailure aptget update
+}
+
TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
test_inrelease_to_new_inrelease
test_inrelease_to_broken_hash_reverts_all
-
test_inreleae_to_valid_release
test_inreleae_to_release_reverts_all
-
test_unauthenticated_to_invalid_inrelease
-
test_inrelease_to_unauth_inrelease
+test_inrelease_to_broken_gzip