Przeglądaj źródła

improve test for commit daff4a

Michael Vogt 11 lat temu
rodzic
commit
23d0a6fbee
2 zmienionych plików z 10 dodań i 2 usunięć
  1. 3 2
      apt-pkg/acquire-item.cc
  2. 7 0
      test/integration/test-apt-update-file

+ 3 - 2
apt-pkg/acquire-item.cc

@@ -1141,13 +1141,14 @@ void pkgAcqIndex::Done(string Message,unsigned long long Size,string Hash,
    else
       Local = true;
 
-   // The files timestamp matches
+   // The files timestamp matches, for non-local URLs reverify the local
+   // file, for local file, uncompress again to ensure the hashsum is still
+   // matching the Release file
    if (!Local && StringToBool(LookupTag(Message,"IMS-Hit"),false) == true)
    {
       ReverifyAfterIMS(FileName);
       return;
    }
-
    string decompProg;
 
    // If we enable compressed indexes, queue for hash verification

+ 7 - 0
test/integration/test-apt-update-file

@@ -22,6 +22,13 @@ chmod 550 aptarchive/dists/unstable/main/binary-amd64
 
 testsuccess aptget update -qq
 testsuccess aptget update -qq
+aptget update -qq -o Debug::pkgAcquire::Auth=1 2> output.log
+
+# ensure that the hash of the uncompressed file was verified even on a local 
+# ims hit
+canary="SHA512:$(bzcat aptarchive/dists/unstable/main/binary-amd64/Packages.bz2 | sha512sum |cut -f1 -d' ')"
+grep -q "RecivedHash: $canary" output.log
+
 
 # the cleanup should still work
 chmod 750 aptarchive/dists/unstable/main/binary-amd64