From a5f534df07a598f3fc9d353a1a9a0ff6c09cfbc0 Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Fri, 11 Nov 2011 09:51:37 -0800 Subject: [PATCH] use frozensets to represent APK cert sets Change-Id: Ic92c83be0c3f6a76bf1bd21f0216cd1b87586959 --- tools/releasetools/check_target_files_signatures | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/releasetools/check_target_files_signatures b/tools/releasetools/check_target_files_signatures index 7cb3e8a2d..ae372ba4e 100755 --- a/tools/releasetools/check_target_files_signatures +++ b/tools/releasetools/check_target_files_signatures @@ -187,15 +187,15 @@ def CertFromPKCS7(data, filename): class APK(object): def __init__(self, full_filename, filename): self.filename = filename - self.certs = set() Push(filename+":") try: - self.RecordCert(full_filename) + self.RecordCerts(full_filename) self.ReadManifest(full_filename) finally: Pop() - def RecordCert(self, full_filename): + def RecordCerts(self, full_filename): + out = set() try: f = open(full_filename) apk = zipfile.ZipFile(f, "r") @@ -205,12 +205,13 @@ class APK(object): (info.filename.endswith(".DSA") or info.filename.endswith(".RSA")): pkcs7 = apk.read(info.filename) cert = CertFromPKCS7(pkcs7, info.filename) - self.certs.add(cert) + out.add(cert) ALL_CERTS.Add(cert) if not pkcs7: AddProblem("no signature") finally: f.close() + self.certs = frozenset(out) def ReadManifest(self, full_filename): p = common.Run(["aapt", "dump", "xmltree", full_filename,