summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-21update ics-openvpn: add new aidl interface definitionscyBerta
2017-09-21update ics-openvpn: add plurals to bitmask resourcescyBerta
2017-09-18change expiration offset to 15 days before actual certificate expirescyBerta
2017-09-15vpn certificate gets renewed 3 month before current certificate expirescyBerta
2017-09-14minor changes: replace depr. img and change xml identifier to follow android ↵cyBerta
code guidelines
2017-09-14improves comparison of images - reduces complexity and more reliablecyBerta
2017-09-14fixes tests that fail to login & some more assertions for showing causes of ↵cyBerta
failure earlier
2017-09-14avoid dependencies between different test classes extending ↵cyBerta
ActivityInstrumentationTestCase2
2017-09-14refactor failing certification validation testcyBerta
2017-09-14rename test classes - starting with a capital lettercyBerta
2017-05-31Merge branch 'add-caa' into 'master'aguestuser
Add CAA See merge request !4
2017-05-30[ag] add aguestuser's CAA signatureaguestuser
2017-05-30[ag] add copyright assignment agreementaguestuser
2017-05-17Merge branch 'develop' move to 'master-'based developmentkwadronaut
2017-05-04Update README, Dockerfile to build, smoothing on-boardingaguestuser
Closes https://0xacab.org/leap/bitmask_android/merge_requests/1 README: add detailed instructions on installing and compiling provide workarounds for gotchas setting up emulator on 64-bit debian provide updated dockerfile & offer instructions for building in docker Docker: move dockerfiles to registry contained w/in bitmask_android repo provide separate dockerfiles for sdk (base), ndk, and emulator images resolve issues causing containerized build to fail, including: upstream ics-openvpn conflict with clang (:. transitively with ndk > r12b) (subtle!) missing dependency of ndk r12b on file (message: "missing file" meant a missing program called "file" not an actual missing file) missing locales causing errors in copyIcsOpenVPNFiles build step (resolved by generating all locales in dockerfile) silent failure in sdknmanager's isntallation of platforms;android-23 during image build causing install failure in remote (but not local!) containers Signed-off-by: kwadronaut <kwadronaut@leap.se>
2017-04-30[ag] change issues link in readme to point to 0xacab not githubaguestuser
2017-04-30[ag] update README to reflect correct versions, install processaguestuser
2017-04-30[ag] modify sdk dockerfile to ensure android-23 platform installsaguestuser
* on remote builds, failure of Android SDK Platform 23 to properly install was causing build failures undetected in local container. see: <https://0xacab.org/aguestuser/bitmask_android/builds/9906> * to fix this, tweak order of `sdkmanager` calls and remove `echo -y` flags to ensure platform installation completes successfully and build step never tries to install Platform 23
2017-04-30[ag] use ndk container from repo registry in buildaguestuser
2017-04-30[ag] extract sdk, ndk, emulator configs to separate dockerfilesaguestuser
2017-04-30[ag] generate all locales in android-sdk dockerfile to pass buildaguestuser
2017-04-30[ag] use external docker registry to demonstrate state of buildaguestuser
2017-04-30[ag] clean up READMEaguestuser
2017-04-30[ag] use canonical format for 0xacab docker registry imagesaguestuser
* this change was necessitated by prior format failing a whitelisted images check here: https://0xacab.org/aguestuser/bitmask_android/builds/9406 * NOTE: this format means we can't label `android-sdk` images by version because the tag is reserved for the image name, not the version :( * ie: the whitelist forces us to specify `bimtask_android:android-sdk` rather than `bitmask_android/android-sdk:0.0.1` -- is there a reason for this?
2017-04-30[ag] use self-contained docker registry in ci buildaguestuser
* for greater compartmentalization and self-documentation, use docker registry in this repo to host image used in its build rather than registry in `leap/gitlab-buildpackage` as before
2017-04-30[ag] eliminate hacky workaround for 64-bit buildsaguestuser
* HACK: replace all toolchain references to `linux-x86_64` with `linux-x86` * FIX: provide dependency on `file` package that will allow `ndk-build` to detect 32-bit userland, making this * side-effects: * group sdk/env vars with installation code that uses them * add explanatory note about why we use outdated version of `android-ndk` ------------------ *Explanation:* More careful analysis of the meaning of the word `file` in this (subtle!) error message: ```shell /opt/android-sdk-linux/android-ndk-r12b/build/ndk-build: 143: /opt/android-sdk-linux/android-ndk-r12b/build/ndk-build: file: not found ``` led to inspecting line 143 of `ndk-build`, revealing an undefined variable called `file` that would allow `ndk-build` to detect a 32-bit userland: ```shell file -L "$SHELL" | grep -q "x86[_-]64" ``` Thus the error messsage was *not* trying to tell us that a file could not be found, but that the program called `file` could not be found. FUN! :)
2017-04-30[ag] Fix native build step with revised dockerfileaguestuser
* PROBLEM: * most recent version (r14b) of `android-ndk` uses `clang` for cross-compilation * BUT: `openssl` cannot compile successfully w/ `clang` * AND: we depend on `openssl` transitively through `ics-openvpn` while trying to use `android-ndk` r14b * FIX: * downgrade to `android-ndk` (12b) (most recent versoin that still uses `gcc` instead of `clang`) * modify some of the default * REMAINING PROBLEMS: * some string translations for Jamaica now break the build (unclear why -- outdated country abbreviation? ja for jm???) * we are now using a version of ndk that is 2 versions old and a version of ics-openvpn (pinned to a 3.1.2016 commit via submodule) that depends on an outdated version of `openssl`, which raises security concerns. updating to the most recent version will force us to wade into all the dependency problems amongst `ics-openvpn`/`openssl`/`ndk` * REFERENCES: * on `openssl` incompatibility w/ clang: https://github.com/openssl/openssl/pull/2229 * on `ics-openvpn` problems with `ndk`: https://github.com/android-ndk/ndk/issues/144
2017-04-30[ag] Update dockerfile to match config in passing local buildaguestuser
* PROBLEM: the build fails on gitlab in a debian-based docker container * BUT: i (@aguestuser) have a recently-achieved passing build on a debian laptop * ATTEMPTED SOLUTION: construct a dockerfile that matches my local configuration as precisely as possible * PROGRESS: the build gets further than it did before -- getting part of the way through the `buildNative` gradle script before failing * REMAINING FAILURE: several arm64 cross-compile steps in the `ndk-build` step fail because they depend on [neon](https://developer.android.com/ndk/guides/cpu-arm-neon.html): ```shell [arm64-v8a] Compile : crypto_static <= aesv8-armx-64.S openssl/crypto/aes/asm/aesv8-armx-64.S:35:2: error: instruction requires: neon eor v0.16b,v0.16b,v0.16b ^ openssl/crypto/aes/asm/aesv8-armx-64.S:36:2: error: instruction requires: neon ld1 {v3.16b},[x0],#16 ^ openssl/crypto/aes/asm/aesv8-armx-64.S:38:2: error: instruction requires: neon ld1 {v1.4s,v2.4s},[x3],#32 ``` * PROPOSED NEXT STEPS: * consult team to see if there's any collective wisdom about `neon` * look for ways to analyze diff of c dependencies in local machine v. docker instance * consider using ubuntu or debian:sid as the base image for the android container?
2017-04-17[ag] Update README to promote smoother on-boardingaguestuser
* add detailed instructions on installing and compiling * provide workarounds for gotchas setting up emulator on debian * offer instructions for building in docker side-effects: * update build tools & gradle version * fix indentation in build.gradle * comment out tests in `TestLogFileHandler` causing `build` to break (and provide justification)
2017-03-15Try with explicit git submodule cloningvarac
2017-03-14try our own docker image for buildingkwadronaut
2017-03-14sync submodules (ics-ovpn) when buildingkwadronaut
2017-03-14gitlab ci with jdk8 dockerkwadronaut
2017-03-14give gitlab builds a try with foreign docker imagekwadronaut
2017-03-14add .gitlab-ci config for CI buildingkwadronaut
2016-10-13Merge branch 'develop' of ssh://leap.se:22/bitmask_android into developkwadronaut
2016-10-13Handle RequestPermisson sdk>23kwadronaut
closes #8536
2016-09-20updated README.md with correct build-native.sh pathelijah
2016-09-19Merged branch rm_pins_update_ics into developkwadronaut
2016-09-19Update Manifest versionkwadronaut
0.9.5RC2
2016-09-19Remove pins (solves #8455)kwadronaut
remove pins, because didn\'t work this way (solves #8455)
2016-09-19update gradle versionkwadronaut
2016-09-19bump Android SDK minor revision in READMEkwadronaut
2016-09-19Merge remote-tracking branch 'upstream/develop' into developkwadronaut
2016-09-19remove snappy (closes #8475)kwadronaut
2016-04-03Merge branch 'bug/shows-log-on-error' into developParménides GV
2016-04-03Bitmask does not show the log if an error happens.Parménides GV
ics-openvpn already shows it if necessary. Our heuristic (just looking for an "error" keyword in the past N messages of the log) is very weak, and it returns an annoying false positive: turning off the VPN triggers the show log error.
2016-04-02Merge branch 'update-ics-openvpn' into developParménides GV
2016-04-02Update BuildTools to 23.0.3, and pluginsParménides GV
- Android gradle plugin to 1.5.0 - Gson to 2.4 - Support annotations to 23.2.1 - Robotium-solo to 5.5.4
2016-04-02VpnStatus.initLogCache must be called only once.Parménides GV
onCreate gets called when the activity is back on the screen. If the app was already launched, we should not set everything up again.