From: Zac Medico Date: Tue, 2 Mar 2010 20:11:56 +0000 (-0000) Subject: Bug #303211 - Discard invalid SIZE metadata when using the old binhost X-Git-Tag: v2.1.8~158 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=bf53782ad32ce5b0e4d1c3ddec0ae98fb7a443f5;p=portage.git Bug #303211 - Discard invalid SIZE metadata when using the old binhost protocol. (trunk r15333) svn path=/main/branches/2.1.7/; revision=15564 --- diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py index e817e3d03..e07f58a47 100644 --- a/pym/portage/dbapi/bintree.py +++ b/pym/portage/dbapi/bintree.py @@ -838,6 +838,17 @@ class binarytree(object): remote_metadata = self.remotepkgs[mypkg] for k, v in remote_metadata.items(): remote_metadata[k] = v.strip() + + # Eliminate metadata values with names that digestCheck + # uses, since they are not valid when using the old + # protocol. Typically this is needed for SIZE metadata + # which corresponds to the size of the unpacked files + # rather than the binpkg file size, triggering digest + # verification failures as reported in bug #303211. + remote_metadata.pop('SIZE', None) + for k in portage.checksum.hashfunc_map: + remote_metadata.pop(k, None) + self._remotepkgs[fullpkg] = remote_metadata #print " -- Injected" except SystemExit as e: