aboutsummaryrefslogtreecommitdiff
path: root/app/src
Commit message (Collapse)AuthorAge
* config: make all generated files accessible to the userpacien2024-01-20
| | | | | | | | | | | Permissions mode 0600 was preventing even the user from accessing the configuration files. This makes the permissions more open. The private key files should nevertheless be protected from other apps by the permissions on the parent directory. Password protection for the private key is also recommended in general. GitHub: fixes #122
* screen/select-network: fix app crash on fast tap on network selectionpacien2023-07-30
|
* screen/configuration: fix app crash on fast tap on toolspacien2023-07-30
|
* errors: remove now unused notification permissionpacien2023-07-30
|
* errors: handle notifications internallypacien2023-07-30
|
* activity/start: move warning note to parent activity layout filepacien2023-07-30
|
* storage/config: move configuration files to the user-accessible storagepacien2023-07-30
|
* storage: rename ConfigurationDirectoryMigrator -> StorageMigratorpacien2023-07-30
|
* storage: move app and tinc daemon logs to user-accessible cache directorypacien2023-07-30
|
* storage: remove embedded FTP serverpacien2023-07-30
| | | | | | | Moving back the configuration files and logs to the user-accessible storage. Everything should be accessible through a file manager using the "USB storage" mode. The embedded FTP server is no longer necessary.
* manifest: add notification permission for api 33pacien2023-07-30
|
* app: do no prevent encrypted or local backupspacien2023-07-30
| | | | | | | | Backup was disabled altogether to avoid leaking the private keys in clear. This relaxes this restriction only for client-side encrypted online backups or local device-to-device transfers.
* app: remove redundant label for activitypacien2023-07-30
|
* Russian translation (#117)Exclued2023-01-10
| | | | | | | | | | | * Automatic commit of updated project files * Machine translation formatting fixed * Update strings.xml Copyright years fixed. Co-authored-by: L10N Robot <l10n@mycompany.com>
* net: inherit metered property from underlying networkpacien2023-01-09
| | | | | | | | Since API 29, all VPN connections were treated as metered by default. This is not relevant for tinc networks, so it's preferable to simply inherit that property from the underlying link. GitHub: closes #114
* translations: update copyrightpacien2023-01-08
|
* fix app crash due to missing intent flag for android API >=31pacien2023-01-06
| | | | | This was causing a crash when connecting or enabling the internal FTP server or opening manual links.
* manifest: move namespace to build.gradlepacien2023-01-06
| | | | Recommended and performed by Android Studio's Upgrade Assistant.
* activity/start: add network trust warning headerpacien2023-01-02
| | | | | The "prominent disclosure" is a new requirement for Google Play: https://support.google.com/googleplay/android-developer/answer/12564964?hl=en
* deps: target sdk 30 -> 32pacien2023-01-02
| | | | The Google Play Store requires targetting >=API 31.
* activities: fix nullable type mismatch following updatepacien2022-06-11
|
* app: update copyright yearpacien2021-07-12
|
* deps: update tinc to 1.1pre18pacien2021-07-12
|
* ConfigurationAccessService: make FTP connection parameters persistent and ↵pacien2020-12-16
| | | | | | configurable GitHub: see https://github.com/pacien/tincapp/issues/103#issuecomment-741025439
* ConfigurationAccessService: disable multithreaded FTP and set explicit data ↵pacien2020-12-09
| | | | | | | | | | | | port range The Apache Mina FtpServer library seems to have some issues when handling parallel transfers. This simply disables multithreading in the library to avoid those. The changeset also explicitly define a port range to be used for passive FTP data connections, solving the warnings about unregistered ports. GitHub: see https://github.com/pacien/tincapp/issues/103#issuecomment-741025439
* ConfigurationDirectoryMigrator: avoid the use of NIO API absent on old ↵pacien2020-12-09
| | | | | | | Android versions The Java NIO API is not fully available below Android API level 26, causing errors on devices that we still support otherwise.
* ConfigurationAccessService: prevent service from being stopped when app ↵pacien2020-12-08
| | | | | | | | | loses focus This makes the ConfigurationAccessService (formerly ConfigurationFtpService) start in foreground through the use of a persistent notification so that it isn't stopped by the system after the app loses the focus on the user's screen, which happens when the user switches to an FTP client application on the same device.
* ConfigurationFtpService: reduce ftp lib log verbositypacien2020-12-08
| | | | | The default logging settings of the Apache Mina FtpServer library quickly fill-up the logs at the INFO level. This sets the level to WARN for this library.
* app: add configuration FTP serverpacien2020-12-08
| | | | | | | | | | | | | This is a ridiculous workaround to make the configuration (and other files) accessible to the user necessary after the new storage access restriction enforced in Android 11 which prevent other applications from accessing the supposedly public application's directory. The app's internal private storage directory is now exposed to the user through an embedded FTP server that the user can turn on and off from the configuration activity. The user can then play with the configuration and retrieve logs through a remote or local FTP client application of their choice. GitHub: closes #103
* app: add configuration directory migratorpacien2020-12-08
| | | | | | | | | | | This adds an automatic configuration migrator which moves the configuration files previously located on the external public-ish directory to the private app storage, so that existing users can seamlessly transition to the next version. The cache directory containing the logs is cleared instead of being migrated, because those files are considered disposable. GitHub: related to #103
* context: read configuration from and write logs and temp files to private ↵pacien2020-12-08
| | | | | | | | | | | | | | app storage The external app public storage directory is no longer reliably accessible on Android 11 and above. This makes editing the configuration and accessing the log files impossible in some cases. Let's move to the app private storage, to be made accessible to the user by some other mean. This has the benefit of also protecting the private keys that need to be stored encrypted otherwise. We also split the configuration and cache directory into specialised sub-directories. GitHub: related to #103
* project: update to kotlin 1.4.20 and fix new warningspacien2020-12-06
|
* app: set target api to 30 (Android 11)pacien2020-09-16
| | | | | | | | The following works from API 21 to 30 (included): * creating a new network configuration * private key encryption and decryption * communication between apps and the tinc daemon * communication between tinc daemon and the internet
* context/paths: add fallback to internal cache dirpacien2020-09-16
| | | | | | | The external cache directory used to store the application's log files may not be available on all devices, in particular on Android >11. GitHub: closes #98
* app: set target api to 29 (Android 10)pacien2020-09-10
| | | | | | | | | | | | | The following works from API 21 to 29 (included): * creating a new network configuration * private key encryption and decryption * communication between apps and the tinc daemon * communication between tinc daemon and the internet The app seems to have issues with the new storage restriction on API 30 (Android 11). GitHub: closes #97
* app: reformat manifest filepacien2020-09-10
|
* tinc: fix FORTIFY error when initialising a new tinc configurationpacien2020-09-10
| | | | | | | | | This fixes the "FORTIFY: umask: called with invalid mask -601" error when attempting to create a new tinc configuration on builds having the FORTIFY option enabled (by default in NDK >=r21). Upstream patch: https://github.com/gsliepen/tinc/pull/251 GitHub: closes #99
* translations: update copyright stringspacien2020-09-09
|
* activities/start: add missing callback super callpacien2020-09-08
|
* treewide: fix code style issues reported by linterpacien2020-09-08
|
* layout: mark config and password fields as unimportant for auto-fillpacien2020-09-08
|
* service/conn change receiver: add note for new intent filterpacien2020-09-08
|
* treewide: fix trivial null assertion warningspacien2020-09-08
|
* add missing legacy logging library on Android 10pacien2020-01-20
| | | | GitHub: closes https://github.com/pacien/tincapp/issues/94
* use private temp files to pass decrypted private keyspacien2020-01-20
| | | | | | | Android 10 (API 29) doesn't allow us to pass them by sharing file descriptors anymore, making the use of temp files mandatory. GitHub: https://github.com/pacien/tincapp/issues/92
* pass network device fd via unix socket instead of inheritancepacien2020-01-20
| | | | | | | | | Workaround for new shared memory restrictions added in Android 10 preventing file descriptor leakage to sub-processes. This change set BREAKS ENCRYPTED PRIVATE KEYS SUPPORT. GitHub: https://github.com/pacien/tincapp/issues/92
* target sdk 28pacien2019-10-13
| | | | switching from android.support to androidx
* notify user of missing vpn permissionpacien2019-09-15
|
* fix daemon startup for android 10pacien2019-09-15
|
* add some keys to default configuration filepacien2019-06-13
|