diff options
Diffstat (limited to 'app')
37 files changed, 585 insertions, 535 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 181a27a..c983539 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | # Tinc App, an Android binding and user interface for the tinc mesh VPN daemon | 1 | # Tinc App, an Android binding and user interface for the tinc mesh VPN daemon |
2 | # Copyright (C) 2017-2021 Pacien TRAN-GIRARD | 2 | # Copyright (C) 2017-2022 Pacien TRAN-GIRARD |
3 | # | 3 | # |
4 | # This program is free software: you can redistribute it and/or modify | 4 | # This program is free software: you can redistribute it and/or modify |
5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
@@ -43,8 +43,8 @@ ExternalProject_Add(lzo | |||
43 | ) | 43 | ) |
44 | 44 | ||
45 | ExternalProject_Add(libressl | 45 | ExternalProject_Add(libressl |
46 | URL https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.3.3.tar.gz | 46 | URL https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.7.3.tar.gz |
47 | URL_HASH SHA256=a471565b36ccd1a70d0bd7d37c6e95c43a26a62829b487d9d2cdebfe58be3066 | 47 | URL_HASH SHA256=7948c856a90c825bd7268b6f85674a8dcd254bae42e221781b24e3f8dc335db3 |
48 | CONFIGURE_COMMAND <SOURCE_DIR>/configure ${xCONFIG} --disable-shared | 48 | CONFIGURE_COMMAND <SOURCE_DIR>/configure ${xCONFIG} --disable-shared |
49 | BUILD_COMMAND make -j8 -C crypto | 49 | BUILD_COMMAND make -j8 -C crypto |
50 | INSTALL_COMMAND make -C crypto install DESTDIR=${CMAKE_CURRENT_BINARY_DIR} && | 50 | INSTALL_COMMAND make -C crypto install DESTDIR=${CMAKE_CURRENT_BINARY_DIR} && |
@@ -65,9 +65,11 @@ ExternalProject_Add(tinc | |||
65 | BUILD_COMMAND make -j8 -C src | 65 | BUILD_COMMAND make -j8 -C src |
66 | INSTALL_COMMAND make -C src install DESTDIR=${CMAKE_CURRENT_BINARY_DIR} && | 66 | INSTALL_COMMAND make -C src install DESTDIR=${CMAKE_CURRENT_BINARY_DIR} && |
67 | ${CMAKE_COMMAND} -E copy | 67 | ${CMAKE_COMMAND} -E copy |
68 | ${CMAKE_CURRENT_BINARY_DIR}/usr/local/sbin/tinc ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtinc.so && | 68 | ${CMAKE_CURRENT_BINARY_DIR}/usr/local/sbin/tinc |
69 | ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtinc.so && | ||
69 | ${CMAKE_COMMAND} -E copy | 70 | ${CMAKE_COMMAND} -E copy |
70 | ${CMAKE_CURRENT_BINARY_DIR}/usr/local/sbin/tincd ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtincd.so && | 71 | ${CMAKE_CURRENT_BINARY_DIR}/usr/local/sbin/tincd |
72 | ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtincd.so && | ||
71 | rm -r <BINARY_DIR> | 73 | rm -r <BINARY_DIR> |
72 | ) | 74 | ) |
73 | 75 | ||
diff --git a/app/build.gradle b/app/build.gradle index d38b0ac..03d5fc1 100644 --- a/app/build.gradle +++ b/app/build.gradle | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon | 2 | * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon |
3 | * Copyright (C) 2017-2021 Pacien TRAN-GIRARD | 3 | * Copyright (C) 2017-2024 Pacien TRAN-GIRARD |
4 | * | 4 | * |
5 | * This program is free software: you can redistribute it and/or modify | 5 | * This program is free software: you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
@@ -30,15 +30,15 @@ def keystoreProperties = new Properties() | |||
30 | if (keystoreAvailable) keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) | 30 | if (keystoreAvailable) keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) |
31 | 31 | ||
32 | android { | 32 | android { |
33 | compileSdkVersion 30 | 33 | compileSdkVersion 33 |
34 | 34 | ||
35 | defaultConfig { | 35 | defaultConfig { |
36 | applicationId 'org.pacien.tincapp' | 36 | applicationId 'org.pacien.tincapp' |
37 | minSdkVersion 21 | 37 | minSdkVersion 21 |
38 | targetSdkVersion 30 | 38 | targetSdkVersion 33 |
39 | multiDexEnabled true | 39 | multiDexEnabled true |
40 | versionCode 32 | 40 | versionCode 39 |
41 | versionName '0.32' | 41 | versionName '0.39' |
42 | ndk { | 42 | ndk { |
43 | abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' | 43 | abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' |
44 | } | 44 | } |
@@ -71,13 +71,7 @@ android { | |||
71 | dataBinding = true | 71 | dataBinding = true |
72 | } | 72 | } |
73 | 73 | ||
74 | packagingOptions { | 74 | namespace 'org.pacien.tincapp' |
75 | // clashing in dependencies (Apache Mina FtpServer) | ||
76 | exclude 'META-INF/DEPENDENCIES' | ||
77 | exclude 'META-INF/spring.schemas' | ||
78 | exclude 'META-INF/spring.handlers' | ||
79 | exclude 'META-INF/license.txt' | ||
80 | } | ||
81 | } | 75 | } |
82 | 76 | ||
83 | dependencies { | 77 | dependencies { |
@@ -96,7 +90,6 @@ dependencies { | |||
96 | implementation('org.apache.commons:commons-configuration2:2.3') { exclude group: 'commons-logging', module: 'commons-logging' } | 90 | implementation('org.apache.commons:commons-configuration2:2.3') { exclude group: 'commons-logging', module: 'commons-logging' } |
97 | implementation('commons-beanutils:commons-beanutils:1.9.3') { exclude group: 'commons-logging', module: 'commons-logging' } | 91 | implementation('commons-beanutils:commons-beanutils:1.9.3') { exclude group: 'commons-logging', module: 'commons-logging' } |
98 | implementation('commons-io:commons-io:2.6') { exclude group: 'commons-logging', module: 'commons-logging' } | 92 | implementation('commons-io:commons-io:2.6') { exclude group: 'commons-logging', module: 'commons-logging' } |
99 | implementation('org.apache.ftpserver:ftpserver:1.1.1') { exclude group: 'org.slf4j', module: 'slf4j-log4j12' } | ||
100 | } | 93 | } |
101 | 94 | ||
102 | repositories { | 95 | repositories { |
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index ffbb3e3..2bb4a71 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro | |||
@@ -1,5 +1,5 @@ | |||
1 | # Tinc App, an Android binding and user interface for the tinc mesh VPN daemon | 1 | # Tinc App, an Android binding and user interface for the tinc mesh VPN daemon |
2 | # Copyright (C) 2017-2020 Pacien TRAN-GIRARD | 2 | # Copyright (C) 2017-2023 Pacien TRAN-GIRARD |
3 | # | 3 | # |
4 | # This program is free software: you can redistribute it and/or modify | 4 | # This program is free software: you can redistribute it and/or modify |
5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
@@ -15,8 +15,6 @@ | |||
15 | # along with this program. If not, see <https://www.gnu.org/licenses/>. | 15 | # along with this program. If not, see <https://www.gnu.org/licenses/>. |
16 | 16 | ||
17 | -keep class org.apache.commons.** { *; } | 17 | -keep class org.apache.commons.** { *; } |
18 | -keep class org.apache.mina.** { *; } | ||
19 | -keep class org.apache.ftpserver.** { *; } | ||
20 | -keep class org.bouncycastle.** | 18 | -keep class org.bouncycastle.** |
21 | -keep class ch.qos.** { *; } | 19 | -keep class ch.qos.** { *; } |
22 | -keep class org.slf4j.** { *; } | 20 | -keep class org.slf4j.** { *; } |
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c98555f..a1183d5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | <!-- | 3 | <!-- |
4 | * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon | 4 | * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon |
5 | * Copyright (C) 2017-2020 Pacien TRAN-GIRARD | 5 | * Copyright (C) 2017-2023 Pacien TRAN-GIRARD |
6 | * | 6 | * |
7 | * This program is free software: you can redistribute it and/or modify | 7 | * This program is free software: you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
@@ -19,25 +19,24 @@ | |||
19 | --> | 19 | --> |
20 | 20 | ||
21 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | 21 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
22 | xmlns:tools="http://schemas.android.com/tools" | 22 | xmlns:tools="http://schemas.android.com/tools"> |
23 | package="org.pacien.tincapp"> | ||
24 | 23 | ||
25 | <uses-permission android:name="android.permission.INTERNET" /> | 24 | <uses-permission android:name="android.permission.INTERNET" /> |
26 | 25 | ||
27 | <!-- needed for the configuration FTP server --> | ||
28 | <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> | ||
29 | |||
30 | <!-- workaround for broken file permissions on some Android ROMs --> | 26 | <!-- workaround for broken file permissions on some Android ROMs --> |
31 | <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 27 | <uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
32 | 28 | ||
33 | <application | 29 | <application |
34 | android:name="org.pacien.tincapp.context.App" | 30 | android:name="org.pacien.tincapp.context.App" |
35 | android:allowBackup="false" | 31 | android:allowBackup="true" |
32 | android:dataExtractionRules="@xml/data_extraction_rules" | ||
33 | android:fullBackupContent="@xml/backup_rules" | ||
36 | android:icon="@mipmap/ic_launcher" | 34 | android:icon="@mipmap/ic_launcher" |
37 | android:label="@string/app_name" | 35 | android:label="@string/app_name" |
38 | android:supportsRtl="true" | 36 | android:supportsRtl="true" |
39 | android:theme="@style/AppTheme" | 37 | android:theme="@style/AppTheme" |
40 | tools:ignore="GoogleAppIndexingWarning"> | 38 | tools:ignore="GoogleAppIndexingWarning" |
39 | tools:targetApi="s"> | ||
41 | 40 |