summaryrefslogtreecommitdiffhomepage
path: root/app/src/main/java/com/wireguard/android/backend
AgeCommit message (Collapse)Author
2020-03-09Migrate tunnel related classes to tunnel/ Gradle moduleHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-03-09Tunnel: move state change into interfaceJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-08Backend: do not use singletonsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-08GoBackend: setConfigureIntent does nothingJason A. Donenfeld
It's only used from the ManageDialog in VpnDialogs, which in turn is only instantiated in the legacy VPN path. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-09ModuleDownloaderPreference: properly use errormessagesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-09ErrorMessages: do not use R from backendJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-03-09backend: do not depend on anything except configJason A. Donenfeld
This is likely broken but should make for a good starting point. It also should hopefully handle stopping tunnels before starting new ones, in the case of the GoBackend. Again, untested. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-01-24GoBackend: restrict APIs to proper versionJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-01-24GoBackend: Ensure we're unmetered on API 29 as wellHarsh Shandilya
VPN apps targetting Android 10 are treated as metered by default. Source: https://developer.android.com/reference/android/net/VpnService.Builder.html#setMetered(boolean) Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-01-23GoBackend: set empty underlying networksJason A. Donenfeld
https://lists.zx2c4.com/pipermail/wireguard/2020-January/004859.html https://issuetracker.google.com/issues/114309459 https://developer.android.com/about/versions/pie/android-9.0-changes-all#network-capabilities-vpn Apparently we need to call this at least once. Reported-by: Andrey Kupreychik <foxel@quickfox.ru> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-11-20Implement statisticsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-03-16WgQuickBackend: pass result to error stringJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-01-07Update copyrightJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-18Migrate to AndroidXHarsh Shandilya
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-12-15Clean up error messagesSamuel Holland
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Fix locale usageJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-11Localize exception messagesZachary Wander
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-09Use English lower casingJason A. Donenfeld
In Turkish, I becomes ı instead of i, which is a problem when matching things like "AllowedIPs". Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-08Remodel the ModelSamuel Holland
- The configuration and crypto model is now entirely independent of Android classes other than Nullable and TextUtils. - Model classes are immutable and use builders that enforce the appropriate optional/required attributes. - The Android config proxies (for Parcelable and databinding) are moved to the Android side of the codebase, and are designed to be safe for two-way databinding. This allows proper observability in TunnelDetailFragment. - Various robustness fixes and documentation updates to helper classes. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-11Auto-format the source directoriesSamuel Holland
Blame Jason for writing Java in vim. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-06global: update copyright headersJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-26TunnelDetailFragment now restores state correctly after process deathEric Kuck
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-13global: Add nullity annotationsEric Kuck
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
2018-07-06global: move to Apache 2.0Jason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-06AppListDialogFragment: add implementation for excluding applicationsEric Kuck
Signed-off-by: Eric Kuck <eric@bluelinelabs.com>
2018-06-19config: Refactor IPCidr and use of InetAddressSamuel Holland
Use a canonically-named utility class to tack on methods to the existing InetAddress class. Rename IPCidr to InetNetwork so it better matches InetAddress and is more pronouceable :) While here, simplify the constructor and toString() functions, and properly implement hashCode(). Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-07Backend: abstract version informationJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-07Give Samuel heart attack by removing DaggerJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-04TunnelManager: new intentsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-02Backends: print versions somewhere in logJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-02android: Cleanup classesHarsh Shandilya
- Use final modifer wherever possible - Use try-with-resources for input/output streams Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-06-01Settings: add versionJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-29SharedLibraryLoader: introduce to work around Samsung PackageManager bugsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-27Support always-on-vpnJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-26libwg-go: try no stickiness and no roamingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24libwg-go: reenable sticky sockets, just slightly less stickyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-09global: Cleanup line lengths and misc lint warningsHarsh Shandilya
I know we decided to ditch the idea of shutting up "Exception thrown with empty param" warnings but this pesters me too much and we can instead just treat this as a weird future proofing thing if and when we end up needing the exception messages. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-05-03global: fix up copyrightsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-02global: Add or update copyright headers in Java codeSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-04-30global: Clean up JavaSamuel Holland
Address Java and Android lints. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-04-30global: Automatic code formattingSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-04-28Quick cleanup across the boardHarsh Shandilya
- Clean up imports - Adjust method visibility - Drop in NonNull annotations where needed - Prevent potential NPEs from nulled getActivity calls - Remove unused methods Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2018-04-26WgQuickBackend: always create configuration fileJason A. Donenfeld
It might be removed on an update. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-25GoBackend: bring down tunnels when revoked or disconnectedJason A. Donenfeld
This synchronizes the OS's connection state with ours, such as when the user disconnects using the system UI. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-23Update application state based on wg-quickJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Determine MTU automaticallyJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18More javaficationJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: default MTU is 1280Jason A. Donenfeld
This sucks, but it works with mobile networks. Later we can do something sophisticated like we do with wg-quick.c, but not now. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17Remove sloppy java with enterprise java horrorsJason A. Donenfeld
Since the amount of mind numbing boiler plate has been increased, this must be the proper way to do things. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Handle vpn service expirationAurélien Chabot
After a timeout the android system is destroying the vpn service when it is not used. By using a completable future we can wait for the service to be relaunch on demand. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>