From d7d9e38ef72a5328cbb5ca490b34a3ebd9b36d5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Wed, 16 Sep 2015 17:20:22 -0700 Subject: [PATCH] scanner: use a blacklist instead of a whitelist This is much closer to what we did before with mimetypes. Using a whitelist turns out to be a bad idea since repositories seem to be randomly filled with executable images and documents, which trigger the scanner. In an ideal world the scanner would complain about all of those. For now, just warn about the possibility of them being hidden binaries. --- fdroidserver/scanner.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/fdroidserver/scanner.py b/fdroidserver/scanner.py index c5e18ddc..f46627d3 100644 --- a/fdroidserver/scanner.py +++ b/fdroidserver/scanner.py @@ -160,18 +160,13 @@ def scan_source(build_dir, root_dir, thisbuild): for name in suspects_found(line): count += handleproblem('usual supect \'%s\' at line %d' % (name, i), fd, fp) - # These files are often found - avoid checking if they are binary - # to speed up the scanner - elif ext in [ - 'xml', 'md', 'txt', 'html', 'sh', 'png', 'jpg', - 'ttf', 'otf']: - pass - - elif is_binary(fp): - if is_executable(fp): - count += handleproblem('executable binary', fd, fp) - elif ext == '': - count += handleproblem('unknown binary', fd, fp) + elif ext in ['', 'bin', 'out', 'exe']: + if is_binary(fp): + count += handleproblem('binary', fd, fp) + + elif is_executable(fp): + if is_binary(fp): + warnproblem('possible binary', fd) for p in scanignore: if p not in scanignore_worked: -- 2.30.2