chiark
/
gitweb
/
~ianmdlvl
/
fdroidserver.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d254fb8
)
Signature file names are not fixed
author
Ciaran Gultnieks
<ciaran@ciarang.com>
Sat, 31 Jan 2015 16:04:39 +0000
(16:04 +0000)
committer
Ciaran Gultnieks
<ciaran@ciarang.com>
Sat, 31 Jan 2015 16:16:21 +0000
(16:16 +0000)
fdroidserver/common.py
patch
|
blob
|
history
diff --git
a/fdroidserver/common.py
b/fdroidserver/common.py
index 5b191d28746f5f128cec4679a551a48ec7ae4808..dc8162e1ee38a7a8bb8a32e849e465b1882c0adf 100644
(file)
--- a/
fdroidserver/common.py
+++ b/
fdroidserver/common.py
@@
-1908,8
+1908,14
@@
def verify_apks(signed_apk, unsigned_apk, tmp_dir):
:returns: None if the verification is successful, otherwise a string
describing what went wrong.
"""
:returns: None if the verification is successful, otherwise a string
describing what went wrong.
"""
+ sigfile = re.compile(r'META-INF/[0-9A-Za-z]+\.(SF|RSA)')
with ZipFile(signed_apk) as signed_apk_as_zip:
with ZipFile(signed_apk) as signed_apk_as_zip:
- meta_inf_files = ['META-INF/MANIFEST.MF', 'META-INF/CERT.SF', 'META-INF/CERT.RSA']
+ meta_inf_files = ['META-INF/MANIFEST.MF']
+ for f in signed_apk_as_zip.namelist():
+ if sigfile.match(f):
+ meta_inf_files.append(f)
+ if len(meta_inf_files) < 3:
+ return "Signature files missing from {0}".format(signed_apk)
signed_apk_as_zip.extractall(tmp_dir, meta_inf_files)
with ZipFile(unsigned_apk, mode='a') as unsigned_apk_as_zip:
for meta_inf_file in meta_inf_files:
signed_apk_as_zip.extractall(tmp_dir, meta_inf_files)
with ZipFile(unsigned_apk, mode='a') as unsigned_apk_as_zip:
for meta_inf_file in meta_inf_files: