summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2018-04-28config: Minor cleanupHarsh Shandilya
- Stop implicitly assuming locales in String.format - Cleanup method visibilities - Improve uses of Integer methods - Remove unused getToken method Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
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-28Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-28Use validation instead of two-way bindingJason A. Donenfeld
This is insane, but it appears to be working. We essentially store things in a separate class for editing, and then commit it back at a given time. This business with onViewStateRestored in both TunnelEditorFragment and in TunnelDetailFragment is buggy and likely wrong. In general TunnelEditorFragment should probably be rewritten. The relationship with the changed name is not clear. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Do not do DNS lookups for IPsJason A. Donenfeld
This involves reflection, which is a bummer, but it's better than doing unnecessary DNS lookups. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Add build instructionsJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Throw IllegalArgumentExceptions when arguments are badJason A. Donenfeld
This will make the two way data binding crash more, but it will improve the robustness of the config file parser, which deals with exceptions gracefully, and when we move to one way data binding, it will help with that too. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-27Latest go changesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
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-26Manifest: disable always-on VPNJason A. Donenfeld
We don't actually comprehend how this works yet, so disable it. But we'll need to add support for this at some point. 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-25Use variable map instead of shell switchJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-25Curve25519: fix up spacingJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-24Use binary distro of GolangJason A. Donenfeld
This is a bummer, but Gradle already specifies tons of specific versions of various binary components, so this is not materially different than the rest of how this whole thing works. It also allows us to specify the Go version that will actually build a working binary of wireguard-go, since all of the Go bugs mean not every version works equally. We do *not* want to use whatever version a distro happens to be shipping. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-23Version bumpJason A. Donenfeld
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-19Version bumpJason A. Donenfeld
Due to https://github.com/golang/go/issues/24950 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-19Work around go fd closing limitation and version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Version bump for go race conditionJason 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-18Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-18Update dependenciesJason 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-17Version bumpJason 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-17global: update various upstreamsJason A. Donenfeld
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>
2018-04-17Config: Handle multiple address or dns in config fileAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Add support for multiple address and dns as a comma separated listAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: parse allowed ipsAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Parse the dns addressAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: IPv6 handlingAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Resolve endpoint before passing it to the go libAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17GoBackend: Use the android VpnService to encapsulate the go backendAurélien Chabot
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-28GoBackend: support NO_PI modeJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-20Update submodulesJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-17GoBackend: integrate into appJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-17wg: bump commitJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-13KeyEncoding: add constant time hex implementationJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-03manifest: Add permission to read external storageSamuel Holland
This fixes support for file managers that don't proxy the file access from the file selection dialog through a content provider, and just return a raw file:// URL. In this case, resolver.openInputStream() tries to open the file directly, and fails with "Permission denied". Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-18Version bumpJason A. Donenfeld
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-01-18FileConfigStore: Warn for deletion failure in exception pathSamuel Holland
There's nothing we can do about it at this point; we're already rolling back changes. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-18WgQuickBackend: Always pass the full path to wg-quickSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-18fragments: Be extra paranoid about the binding getting destroyedSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-17TunnelManager: Use constants directly where appropriateSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-17Peer: Add missing @OverrideSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-17WgQuickBackend: Clean up unused fields and importsSamuel Holland
Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-17ToolsInstaller: Remove double-checked lockingSamuel Holland
It can't work and may be crashing the runtime. Use a lock object to avoid exposing the synchronization in the class's interface. Signed-off-by: Samuel Holland <samuel@sholland.org>
2018-01-17RootShell: Use a lock object instead of sync methodsSamuel Holland
This avoids exposing the synchronization implementation details in the class's interface. Signed-off-by: Samuel Holland <samuel@sholland.org>