chiark / gitweb /
Hans-Christoph Steiner [Fri, 10 Mar 2017 23:06:22 +0000 (23:06 +0000)]
Merge branch 'include-ota-zip-in-index-xml' into 'master'
fix OTA ZIP inclusion in index.xml
See merge request !223
Hans-Christoph Steiner [Fri, 10 Mar 2017 18:05:01 +0000 (19:05 +0100)]
fix source tarball filename for media files
bug from
07ce9488097c1361c1cc1a515773fb73199550bf
Hans-Christoph Steiner [Fri, 10 Mar 2017 17:28:22 +0000 (18:28 +0100)]
include non-APKs that match metadata and fdroid-generated filenames
Since it is now possible to build and include arbitrary files, like OTA
update ZIP files, the update procedure needs to look for non-APK files that
match the packageName_versionCode pattern of fdroid-generated files.
!193
admin#14
privileged-extension#9
Hans-Christoph Steiner [Fri, 10 Mar 2017 16:40:19 +0000 (17:40 +0100)]
update: do not include fdroid-generated tarballs as "media" files
`fdroid build` will generate source tarballs, and now with support for
adding any file to a repo, we need to explicitly ignore the fdroid-
generated source tarballs. If people want to include source tarballs in a
repo, they still can, as long as that source tarball doesn't use the
`fdroid build` tarball naming scheme.
Hans-Christoph Steiner [Fri, 10 Mar 2017 15:23:41 +0000 (15:23 +0000)]
Merge branch 'gradle341' into 'master'
makebs: add gradle 3.4.1
See merge request !222
Boris Kraut [Fri, 10 Mar 2017 13:29:36 +0000 (14:29 +0100)]
makebs: add gradle 3.4.1
Hans-Christoph Steiner [Tue, 7 Mar 2017 10:39:41 +0000 (10:39 +0000)]
Merge branch 'pre-indexv1-fixes' into 'master'
pre index-v1 fixes
See merge request !220
Hans-Christoph Steiner [Tue, 29 Nov 2016 20:04:27 +0000 (21:04 +0100)]
uses-permission maxSdkVersion as int, and enforces int string in XML
This forces <uses-permission maxSdkVersion=""> to be an integer in the
internal dict, and forces it to have no decimal point in XML. Having it as
an integer in the internal dict means data will pass directly through to
the fdroidclient Apk instance, where it is ultimately an integer.
Hans-Christoph Steiner [Thu, 8 Dec 2016 18:30:38 +0000 (19:30 +0100)]
non-APK files will not have minSdkVersion, so don't force it
fdroidclient should handle no minSdkVersion fine, since it just parses the
text in <sdkver></sdkver> as an int, and uses a default value if there is
an Exception.
Hans-Christoph Steiner [Wed, 1 Mar 2017 20:25:42 +0000 (21:25 +0100)]
update: do not include PGP signatures as "media" files
A .asc or .sig file is a detached PGPG signature, `fdroid gpgsign`
generates them. It makes no sense for them to be ever treated as a file
for distribution.
This also adds to forgotten forms of index files.
Hans-Christoph Steiner [Tue, 28 Feb 2017 13:46:37 +0000 (14:46 +0100)]
update bash completion commenting to match standards
Hans-Christoph Steiner [Mon, 6 Mar 2017 09:13:15 +0000 (09:13 +0000)]
Merge branch 'master' into 'master'
upload release apk to virustotal
Closes #17
See merge request !218
thez3ro [Fri, 3 Mar 2017 12:44:55 +0000 (13:44 +0100)]
upload release apk to virustotal
Hans-Christoph Steiner [Wed, 1 Mar 2017 22:36:53 +0000 (22:36 +0000)]
Merge branch 'master' into 'master'
upload release apk to AndroidObservatory
Closes #142
See merge request !217
Hans-Christoph Steiner [Wed, 1 Mar 2017 22:36:26 +0000 (22:36 +0000)]
Merge branch 'master' into 'master'
upload release apk to AndroidObservatory
Closes #142
See merge request !217
thez3ro [Wed, 1 Mar 2017 21:34:55 +0000 (22:34 +0100)]
upload release apk to AndroidObservatory
Hans-Christoph Steiner [Wed, 1 Mar 2017 17:35:02 +0000 (17:35 +0000)]
Merge branch 'skip-scan' into 'master'
Pass on --skip-scan flag to build server VM when running fdroid build --server.
Closes #130
See merge request !216
Michael Pöhn [Wed, 1 Mar 2017 16:27:17 +0000 (17:27 +0100)]
Pass on --skip-scan flag to build server VM when running fdroid build --server.
Hans-Christoph Steiner [Tue, 28 Feb 2017 13:28:55 +0000 (13:28 +0000)]
Merge branch 'metadata-fixes-and-tests' into 'master'
metadata fixes and tests
Closes #261
See merge request !215
Hans-Christoph Steiner [Tue, 28 Feb 2017 09:37:09 +0000 (10:37 +0100)]
metadata: port .fdroid.yml handling to App dict subclass
This got overlooked in
b7fc7f2228986d0210e221c9ec8ddcc2ad9b93bc, then
caught in the ./makebuildserver tests, where it builds Checkey.
Hans-Christoph Steiner [Thu, 8 Dec 2016 18:11:36 +0000 (19:11 +0100)]
fix bug including media files
'name' is not the full path, so it'll always fail common.is_repo_file()'s
os.path.isfile() check.
Introduced in
56d51fcd6be992c7bbc38431db06817816c1e08e
Hans-Christoph Steiner [Wed, 7 Dec 2016 19:20:59 +0000 (20:20 +0100)]
improve rewritemeta error msg about formats
Hans-Christoph Steiner [Mon, 27 Feb 2017 13:00:42 +0000 (14:00 +0100)]
match versionCode/versionName when set as gradle variable
For example, see org.kontalk:
allprojects {
ext {
appVersionCode = 221
appVersionName = '4.0.1-preview'
}
}
Hans-Christoph Steiner [Mon, 27 Feb 2017 12:38:59 +0000 (13:38 +0100)]
do not crash if no versionCode is found while parsing
if vercode is None and max_vercode is None, then it gave None as an arg to
the regexp pattern in ignoresearch().
closes #261
Hans-Christoph Steiner [Tue, 28 Feb 2017 10:32:51 +0000 (11:32 +0100)]
fix metadata dump test to run on CI servers
Hans-Christoph Steiner [Mon, 28 Nov 2016 20:17:22 +0000 (21:17 +0100)]
rename lastupdated to lastUpdated to match fdroid client
This lets index-v1 be parsed directly into class instances because the
field/instance var names match exactly. The original index v0 element
must retain the 'lastupdated' name for backwards compatibility.
Hans-Christoph Steiner [Mon, 27 Feb 2017 09:10:11 +0000 (09:10 +0000)]
Merge branch 'gradle34' into 'master'
makebs: add gradle 3.4
See merge request !214
Boris Kraut [Sun, 26 Feb 2017 02:23:49 +0000 (03:23 +0100)]
makebs: add gradle 3.4
Hans-Christoph Steiner [Fri, 24 Feb 2017 14:18:43 +0000 (15:18 +0100)]
Merge branch 'remove-manual' into 'master'
remove TeX manual, it moved to https://gitlab.com/fdroid/fdroid-website
See merge request !209
Hans-Christoph Steiner [Fri, 24 Feb 2017 13:01:09 +0000 (14:01 +0100)]
jenkins-build-makebuildserver: add rudimentary rewritemeta test
This will show if rewritemeta changed anything. fdroiddata requires all
files to be rewritten with rewritemeta before they are accepted.
Hans-Christoph Steiner [Mon, 13 Feb 2017 21:36:28 +0000 (22:36 +0100)]
remove TeX manual, it moved to https://gitlab.com/fdroid/fdroid-website
The whole TeX manual has been folded into the new Jekyll-based website, so
this is no longer needed at all.
Hans-Christoph Steiner [Fri, 24 Feb 2017 12:36:41 +0000 (13:36 +0100)]
rewritemeta: fix silly bug of using == for =
This was introduced in
c0bc3afda9d67a826471df2f387ab1b489df04e0
Torsten Grote [Fri, 24 Feb 2017 11:11:11 +0000 (11:11 +0000)]
Merge branch 'make-Build-App-act-like-dicts' into 'master'
make Build and App classes act like dicts
See merge request !210
Hans-Christoph Steiner [Fri, 24 Feb 2017 09:28:00 +0000 (10:28 +0100)]
provide warning if config items will not preserve order
If a group of items are enclosed in {}, then that will be a Python set,
which does not preserve order. To preserve order, the data must be either
a tuple () or list [].
Hans-Christoph Steiner [Thu, 23 Feb 2017 21:32:08 +0000 (22:32 +0100)]
build: ensure test is running on git commit that this code works with
Since https://gitlab.com/fdroid/ci-test-app is a separate git repo, things
with incompatible changes could get out of sync. Therefore, this test
should specify which git commit is runs against.
For example, the .fdroid.yml file is still a moving target. Just now, the
keys had the spaces removed as part of this MR.
Hans-Christoph Steiner [Thu, 23 Feb 2017 21:25:33 +0000 (22:25 +0100)]
normalize Build TYPE_STRING data based on .txt
Unfortunately, things like versionCode must be strings. That should be
converted to be ints throughout.
Hans-Christoph Steiner [Thu, 23 Feb 2017 17:54:33 +0000 (18:54 +0100)]
normalize Build TYPE_LIST data based on .txt
In the future, we should have better internal datatypes for this stuff,
i.e. instead of gradle: ['yes'] for True, actually use a boolean. For now,
make the YAML and JSON metadata produce the same internal data as .txt.
Hans-Christoph Steiner [Thu, 23 Feb 2017 17:33:39 +0000 (18:33 +0100)]
add script for mass testing metadata parsing after changes
This requires manually running it. I suppose it would be possible to
include a snapshot of the dumped internal representation for each release,
then make the tests run automatically against that. Right now, the dump is
17megs of YAML. Seems large to include in this git repo.
Hans-Christoph Steiner [Wed, 23 Nov 2016 16:52:04 +0000 (17:52 +0100)]
rename Build fields: version -> versionName, vercode -> versionCode
Since the YAML/JSON/etc. field names are now exactly the same as the field
names used in the internal dict in the Build class, this is a global rename
This keeps with the standard names used in Android:
https://developer.android.com/guide/topics/manifest/manifest-element.html
Hans-Christoph Steiner [Tue, 29 Nov 2016 12:26:32 +0000 (13:26 +0100)]
convert metadata.Build to a subclass of dict
Like with the App class in the commit before, this makes it a lot
easier to work with this data when converting between the internal
formats and external formats like YAML, JSON, MsgPack, protobuf, etc.
The one unfortunate thing here is Build.update. It becomes
dict.update(), which is a method not an attribute.
build.get('update') or build['update'] could be used, but that would
be oddly inconsistent. So instead the field is renamed to
'androidupdate', except for in the .txt v0 metadata files. This better
describes what field does anyway, since it runs `android update`.
Build.update is only referenced in two places right next to each other
for the ant builds, so this change still seems worthwhile.
Hans-Christoph Steiner [Wed, 23 Nov 2016 16:25:59 +0000 (17:25 +0100)]
convert App to subclass of dict to support parsing/dumping libs
Python is heavily based on its core data types, and dict is one of the more
important ones. Even classes are basically a wrapper around a dict. This
converts metadata.App to be a subclass of dict so it can behave like a dict
when being dumped and loaded. This makes its drastically easier to use
different data formats for build metadata and for sending data to the
client. This approach will ultimately mean we no longer have to maintain
custom parsing and dumping code.
This also means then that the YAML/JSON field names will not have spaces in
them, and they will match exactly what it used as the dict keys once the
data is parsed, as well as matching exactly the instance attribute names:
* CurrentVersion: 1.2.6
* app['CurrentVersion'] == '1.2.6'
* app.CurrentVersion == '1.2.6'
Inspired by:
https://goodcode.io/articles/python-dict-object/
Hans-Christoph Steiner [Fri, 18 Nov 2016 08:56:37 +0000 (09:56 +0100)]
make Build class act more like a dict
This makes it a lot easier to work with Build instances with parsing and
dumping libraries, since they expect only core Python types (dict, list,
tuple, str, etc)
Hans-Christoph Steiner [Tue, 29 Nov 2016 14:55:07 +0000 (15:55 +0100)]
sort repo index data to make index.xml generation reproducible
This makes it easy to test that the code is still generating the exact same
index.xml. It also might help the ZIP compression work better in index.jar
Hans-Christoph Steiner [Thu, 23 Feb 2017 20:23:45 +0000 (21:23 +0100)]
test for original "v0" index XML compatibility
The original index.xml format needs to stay around for backwards
compatibility, but we shouldn't touch it anymore once the new format is in
place. This is a test to make sure `fdroid update` can still generate the
correct XML.
install_list and uninstall_list should be tuples or lists in order to
ensure that the order is preserved.
These tests also check that the added and lastupdated dates are
working correct, based on the dates in tests/stats/known_apks.txt. I
could see no useful way to test the timestamp, it is just hardcoded
using a regexp search-and-replace. Running these tests manually might
require deleting tmp/apkcache.
Hans-Christoph Steiner [Thu, 23 Feb 2017 11:48:01 +0000 (11:48 +0000)]
Merge branch 'support-v44' into 'master'
makebs: update support repo to r44, closes fdroid/rfp#49
Closes rfp#49
See merge request !213
Hans-Christoph Steiner [Thu, 23 Feb 2017 11:46:56 +0000 (11:46 +0000)]
Merge branch 'firebase' into 'master'
scanner: add firebase to usual suspect list, closes #259
Closes #259
See merge request !212
Boris Kraut [Thu, 23 Feb 2017 00:27:10 +0000 (01:27 +0100)]
makebs: update support repo to r43, closes fdroid/rfp#49
Boris Kraut [Wed, 22 Feb 2017 23:40:55 +0000 (00:40 +0100)]
scanner: add firebase to usual suspect list, closes #259
Hans-Christoph Steiner [Tue, 21 Feb 2017 14:08:47 +0000 (14:08 +0000)]
Merge branch 'name' into 'master'
update: add name to skeleton, closes #258
See merge request !211
Boris Kraut [Sun, 19 Feb 2017 15:25:49 +0000 (16:25 +0100)]
update: add name to skeleton
Hans-Christoph Steiner [Fri, 17 Feb 2017 15:26:15 +0000 (15:26 +0000)]
Merge branch 'feature/git-mirroring' into 'master'
Add git repo mirroring
Closes #235
See merge request !206
thez3ro [Fri, 10 Feb 2017 17:38:25 +0000 (18:38 +0100)]
add git repo mirroring
Hans-Christoph Steiner [Mon, 13 Feb 2017 21:06:18 +0000 (21:06 +0000)]
Merge branch 'ossjfrog' into 'master'
scanner: allow oss.jfrog.org/artifactory/oss-snapshot-local
See merge request !208
Hans-Christoph Steiner [Mon, 13 Feb 2017 19:42:21 +0000 (19:42 +0000)]
Merge branch 'build-publish-staging-test' into 'master'
build/publish staging test
See merge request !207
Boris Kraut [Mon, 13 Feb 2017 19:24:35 +0000 (20:24 +0100)]
scanner: allow oss.jfrog.org/artifactory/oss-snapshot-local
Hans-Christoph Steiner [Tue, 7 Feb 2017 10:05:18 +0000 (11:05 +0100)]
jenkins-build-makebuildserver: remove VLC as test, its too flaky
Revert "jenkins-build-makebuildserver: include VLC as a test build"
This reverts commit
6debb3ebbf0fdbfeb49f80891fd8ba38cea72cd7.
Hans-Christoph Steiner [Fri, 10 Feb 2017 14:53:52 +0000 (15:53 +0100)]
buildserver: update to latest tools and m2repository
Hans-Christoph Steiner [Fri, 10 Feb 2017 11:45:04 +0000 (12:45 +0100)]
jenkins-build-makebuildserver: handle git update of fdroiddata better
This prevents attempts to merge when there was rebasing, which can fail.
Hans-Christoph Steiner [Thu, 9 Feb 2017 22:49:42 +0000 (23:49 +0100)]
build: include buildserverid in build log for wiki
Hans-Christoph Steiner [Thu, 9 Feb 2017 22:48:40 +0000 (23:48 +0100)]
log Android SDK/NDK component versions on buildserver
ad2b9b99c2a7084e1ef4df06d635c7b63bee89e3 put this in the wrong place, it
was running it on the buildserver host rather than in the buildserver VM
itself, where the builds actually run.
refs #148
Hans-Christoph Steiner [Thu, 9 Feb 2017 15:26:57 +0000 (16:26 +0100)]
build: fix fdroidserverid in build log post on wiki
The carriage return in the fdroidserverid file messes up the wiki format.
This was forgotten in
69d39bb30101e8fdca1d4369cd2fd3b0d8a6fbc1
Hans-Christoph Steiner [Thu, 9 Feb 2017 14:50:58 +0000 (15:50 +0100)]
jenkins-build-makebuildserver: test the whole build/publish workflow
For full deployments like f-droid.org, the building happens on a separate
machine from the signing. This adds a basic test of that kind of setup.
Hans-Christoph Steiner [Mon, 13 Feb 2017 19:05:44 +0000 (19:05 +0000)]
Merge branch 'supportlib' into 'master'
makebs: bump support repo to r43
See merge request !205
Boris Kraut [Sat, 11 Feb 2017 13:40:40 +0000 (14:40 +0100)]
makebs: bump support repo to r43
Ciaran Gultnieks [Tue, 7 Feb 2017 13:27:56 +0000 (13:27 +0000)]
Merge branch 'fix-build-and-vlc' into 'master'
fix CI, makebuildserver, and VLC build
See merge request !204
Hans-Christoph Steiner [Tue, 7 Feb 2017 10:05:18 +0000 (11:05 +0100)]
jenkins-build-makebuildserver: include VLC as a test build
Hans-Christoph Steiner [Tue, 7 Feb 2017 09:47:20 +0000 (10:47 +0100)]
buildserver: use automake and cmake from jessie-backports
These should be reasonably backwards compatible, and there is already
automake1.11 for those that need a version that old. As for cmake, there
are five apps that seem to it:
com.amaze.filemanager
org.dolphinemu.dolphinemu
org.navitproject.navit
org.yabause.android
org.videolan.vlc
It looks like VLC is the only app that is currently building and using
cmake in the most recent releases. Some of them used to use cmake, but no
longer.
Hans-Christoph Steiner [Mon, 6 Feb 2017 16:28:07 +0000 (17:28 +0100)]
gitlab-ci: workaround "ImportError: No module named 'packaging'"
https://github.com/pypa/setuptools/issues/937
fdroid/ci-images#1
Hans-Christoph Steiner [Mon, 6 Feb 2017 13:59:15 +0000 (14:59 +0100)]
buildserver: add openjdk-8-jdk-headless depends from backports
Ciaran Gultnieks [Sat, 4 Feb 2017 17:34:49 +0000 (17:34 +0000)]
Merge branch 'supportlib' into 'master'
makebs: upgrade support repo to r42
See merge request !203
Boris Kraut [Sat, 4 Feb 2017 14:01:15 +0000 (15:01 +0100)]
makebs: upgrade support repo to r42
Hans-Christoph Steiner [Sat, 21 Jan 2017 21:34:33 +0000 (21:34 +0000)]
Merge branch 'collection-of-fixes' into 'master'
include fdroidserverid in build log post on wiki
See merge request !201
Hans-Christoph Steiner [Fri, 20 Jan 2017 11:10:35 +0000 (12:10 +0100)]
build: include fdroidserverid in build log post on wiki
Hans-Christoph Steiner [Mon, 9 Jan 2017 14:12:27 +0000 (15:12 +0100)]
update URL for git repo of test app
Hans-Christoph Steiner [Mon, 28 Nov 2016 14:23:59 +0000 (15:23 +0100)]
break out categories.txt generation to standalone method
This is to clean up the code for the introduction of a new index format.
This also makes it so that only repo/categories.txt is generated, and not
archive/categories.txt.
Currently, the only thing that I can find that reads categories.txt is the
wordpress plugin, e.g. wp-fdroid. And it only reads repo/categories.txt
not archive/categories.txt.
Hans-Christoph Steiner [Mon, 28 Nov 2016 20:18:17 +0000 (21:18 +0100)]
fix bad caching of non-APK files in the repo
Silly mistake in
07ce9488097c1361c1cc1a515773fb73199550bf
Hans-Christoph Steiner [Thu, 12 Jan 2017 13:03:51 +0000 (13:03 +0000)]
Merge branch 'fdroid-publish-ota-zip' into 'master'
`fdroid publish` now includes OTA ZIPs and related source
See merge request !193
Hans-Christoph Steiner [Thu, 12 Jan 2017 12:59:57 +0000 (12:59 +0000)]
Merge branch 'libtool-from-testing' into 'master'
buildserver: support installing packages from Debian/testing
Closes #224
See merge request !200
Hans-Christoph Steiner [Thu, 12 Jan 2017 09:19:38 +0000 (10:19 +0100)]
buildserver: update android_m2repository to latest (r41)
Hans-Christoph Steiner [Wed, 11 Jan 2017 21:42:41 +0000 (22:42 +0100)]
ensure fdroiddata metadata file overrides .fdroid.yml in source
If the already parsed App instance from metadata/*.* has a field, then the
value coming from .fdroid.yml should not override it.
Hans-Christoph Steiner [Tue, 10 Jan 2017 09:54:21 +0000 (10:54 +0100)]
buildserver: support installing packages from Debian/testing
Sometimes, a build process requires newer versions of build tools than are
available in Debian/stable. Oftentimes, using the package straight from
Debian/testing works fine when a package is not available as a backport.
libtool 2.4.6 is needed for building VLC, so it is one example of this.
The preferences file sets up the apt "pinning" so that all updates are not
installed from testing, only the packages that are requested by adding
"/testing" after then package name.
closes #224
Hans-Christoph Steiner [Wed, 7 Dec 2016 10:48:05 +0000 (11:48 +0100)]
`fdroid publish` now includes OTA ZIPs and related source
This adds support for publishing ZIP files which were built with
`fdroid build`. This is for "Over-The-Air" (OTA) update ZIP files for
flashing to ROMs. The first example of this is the Privileged Extension,
which must be installed by flashing an OTA ZIP on Android > 5.0.
!181
https://gitlab.com/fdroid/privileged-extension/issues/9
https://gitlab.com/fdroid/privileged-extension/issues/10
https://gitlab.com/fdroid/fdroiddata/merge_requests/1804
Also, "if app.Binaries:" is the same as "if app.Binaries is not None:", but
is the standard Python style.
Hans-Christoph Steiner [Mon, 9 Jan 2017 10:31:57 +0000 (10:31 +0000)]
Merge branch 'gradle33' into 'master'
makebs: install gradle 3.3
See merge request !199
Boris Kraut [Sun, 8 Jan 2017 20:13:24 +0000 (21:13 +0100)]
makebs: install gradle 3.3
Ciaran Gultnieks [Sat, 7 Jan 2017 19:05:08 +0000 (19:05 +0000)]
Merge branch 'gettext-backport' into 'master'
buildserver: install gettext from jessie-backports
Closes #224
See merge request !198
Hans-Christoph Steiner [Tue, 3 Jan 2017 21:23:38 +0000 (22:23 +0100)]
buildserver: install gettext from jessie-backports
In order to install a package from jessie-backports, apt-get has to be told
to get it from there rather than the main archive. It will not use
jessie-backports by default even if it is added as an apt source.
closes #224
Daniel Martí [Sun, 1 Jan 2017 23:25:30 +0000 (23:25 +0000)]
Merge branch 'import' into 'master'
import: fix raw git-over-https urls
See merge request !196
Daniel Martí [Sun, 1 Jan 2017 23:24:37 +0000 (23:24 +0000)]
Merge branch 'spdx' into 'master'
docs: switch to spdx license list
See merge request !194
Daniel Martí [Fri, 23 Dec 2016 17:22:35 +0000 (17:22 +0000)]
Merge branch 'ci-update' into 'master'
Bump CI image, now with build-tools 25.0.2
See merge request !197
Daniel Martí [Fri, 23 Dec 2016 16:46:09 +0000 (17:46 +0100)]
Bump CI image, now with build-tools 25.0.2
Boris Kraut [Wed, 21 Dec 2016 09:12:20 +0000 (10:12 +0100)]
import: fix raw git-over-https urls
Daniel Martí [Sat, 17 Dec 2016 23:19:50 +0000 (23:19 +0000)]
Merge branch 'master' into 'master'
Makebs: add build tools 25.0.2
See merge request !195
est31 [Sat, 17 Dec 2016 22:36:48 +0000 (23:36 +0100)]
Makebs: add build tools 25.0.2
Boris Kraut [Sat, 17 Dec 2016 08:57:38 +0000 (09:57 +0100)]
docs: switch to spdx license list
Hans-Christoph Steiner [Tue, 6 Dec 2016 13:03:34 +0000 (14:03 +0100)]
Merge branch 'feature/dscanner' into master
dscanner - drozer scanner work.
closes !187
Kevin C. Krinke [Tue, 6 Dec 2016 12:57:04 +0000 (13:57 +0100)]
dscanner - Drozer based post-build dynamic vulnerability scanner command
* New command `dscanner`, enables one to scan signed APKs with Drozer
* Drozer is a dynamic vulnerability scanner for Android
* Drozer runs in a emulator or on-device, this new `dscanner` command...
* starts a docker image with Drozer and the Android Emulator pre-installed,
* loads the signed APK into the emulator
* activates Drozer automated tests for the APK
* gathers the report output and places it next to the original APK
* The Drozer docker image can be:
* cached locally for re-use (just don't run --clean*)
* retrieved from dockerhub.com for more efficient runtime
* or be built from scratch (in the new "./docker" directory)
* New "Vulnerability Scanning" documentation section (run gendocs.sh)
Hans-Christoph Steiner [Tue, 6 Dec 2016 12:37:11 +0000 (12:37 +0000)]
Merge branch 'collection-fixes-and-KnownVuln' into 'master'
add KnownVuln anti-feature, and other fixes
This is a bit of a random collection of things that I have added in the process of working on the drozer/scanner support, YAML support, etc. The only new things are:
* adding new AntiFeature for security issues: `KnownVuln`
* removing broken, incomplete XML metadata support
Everything else included are just code improvements. This also includes the first check for `KnownVuln`, which is a scanner to check whether custom OpenSSL binaries in apps are not old with known vulnerabilities. `KnownVuln` will then ultimately be used for things like the drozer scanner !187
See merge request !189
Hans-Christoph Steiner [Thu, 1 Dec 2016 22:29:38 +0000 (23:29 +0100)]
fix `fdroid build` with non-git repos
HEAD is really only in git. This was introduced in
a4e4310803a463433eb7515c2038a8d3ea44edc4
Hans-Christoph Steiner [Wed, 23 Nov 2016 14:14:44 +0000 (15:14 +0100)]
convert metadata test dumps to YAML for easy comparison
When making code changes related to the metadata parsing, it is useful to
see how the internal format has changed by seeing the differences in the
dump files. Those files are currently in the binary .pickle format. This
just straight converts them to YAML, which is a text format, so that normal
diff tools work to see changes.
The dump files are named .yaml instead of .yml since .yml is used for hand-
edited YAML files for fdroiddata/metadata, while these dump files here are
a human readable form of a Python pickle.
Hans-Christoph Steiner [Wed, 23 Nov 2016 14:01:23 +0000 (15:01 +0100)]
remove support for XML app metadata, its broken
JSON and YAML are very closely related, so supporting both of them is
basically almost no extra work. Both are also closely related to how
Python works with dicts and pickles. XML is a very different beast, and its
not popular for this kind of thing anyway, so just purge it.