aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app (follow)
Commit message (Collapse)AuthorAgeFilesLines
* GoBackend: Handle vpn service expirationAurélien Chabot2018-04-171-8/+22
| | | | | | 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.
* Config: Handle multiple address or dns in config fileAurélien Chabot2018-04-171-2/+16
|
* GoBackend: Add support for multiple address and dns as a comma separated listAurélien Chabot2018-04-171-4/+11
|
* GoBackend: parse allowed ipsAurélien Chabot2018-04-171-5/+33
|
* GoBackend: Parse the dns addressAurélien Chabot2018-04-171-1/+1
|
* GoBackend: IPv6 handlingAurélien Chabot2018-04-171-6/+25
|
* GoBackend: Resolve endpoint before passing it to the go libAurélien Chabot2018-04-171-2/+15
|
* GoBackend: Use the android VpnService to encapsulate the go backendAurélien Chabot2018-04-173-6/+98
|
* GoBackend: support NO_PI modeJason A. Donenfeld2018-02-282-0/+1
|
* Update submodulesJason A. Donenfeld2018-02-202-0/+0
|
* GoBackend: integrate into appJason A. Donenfeld2018-02-1713-56/+342
|
* wg: bump commitJason A. Donenfeld2018-02-171-0/+0
|
* KeyEncoding: add constant time hex implementationJason A. Donenfeld2018-02-131-2/+44
|
* manifest: Add permission to read external storageSamuel Holland2018-02-031-0/+1
| | | | | | | | | 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>
* Version bumpJason A. Donenfeld2018-01-181-1/+1
|
* FileConfigStore: Warn for deletion failure in exception pathSamuel Holland2018-01-181-1/+2
| | | | | | | 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>
* WgQuickBackend: Always pass the full path to wg-quickSamuel Holland2018-01-181-20/+21
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* fragments: Be extra paranoid about the binding getting destroyedSamuel Holland2018-01-181-4/+8
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* TunnelManager: Use constants directly where appropriateSamuel Holland2018-01-171-2/+2
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* Peer: Add missing @OverrideSamuel Holland2018-01-171-0/+1
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* WgQuickBackend: Clean up unused fields and importsSamuel Holland2018-01-171-4/+0
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* ToolsInstaller: Remove double-checked lockingSamuel Holland2018-01-171-16/+15
| | | | | | | | | 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>
* RootShell: Use a lock object instead of sync methodsSamuel Holland2018-01-171-88/+98
| | | | | | | This avoids exposing the synchronization implementation details in the class's interface. Signed-off-by: Samuel Holland <samuel@sholland.org>
* Build bumpJason A. Donenfeld2018-01-101-1/+1
|
* Manifest: show back arrow on sub activitiesJason A. Donenfeld2018-01-101-2/+4
|
* ToolsInstaller: symlink tools alwaysJason A. Donenfeld2018-01-101-22/+14
|
* FileConfigStore: cleanup on rename problemJason A. Donenfeld2018-01-101-1/+3
|
* QuickTileService: Fix crash opening activitySamuel Holland2018-01-101-3/+6
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* TunnelController: Use helper function to unwrap the ThrowableSamuel Holland2018-01-101-2/+2
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* model: Use ConfigStore.rename() to avoid recreating tunnelsSamuel Holland2018-01-103-61/+51
| | | | | | Rename all of the functions to be in line with setConfig/setState Signed-off-by: Samuel Holland <samuel@sholland.org>
* ConfigStore: Add a rename method and implement itSamuel Holland2018-01-102-0/+19
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* FileConfigStore: Simplify error handlingSamuel Holland2018-01-091-8/+4
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* WgQuickBackend: properly report exception so alert showsJason A. Donenfeld2018-01-102-10/+18
|
* Tunnel: ifname has max len 15Jason A. Donenfeld2018-01-101-2/+2
|
* tools: error if setconf failsJason A. Donenfeld2018-01-101-2/+5
|
* tools: ifname has max len 15Jason A. Donenfeld2018-01-101-2/+2
|
* TunnelEditorFragment: do not pass null localConfigJason A. Donenfeld2018-01-101-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we might dereference it, per this play store gathered trace: Xiaomi Redmi 3S (land), 2048MB RAM, Android 7.1 java.lang.NullPointerException: at com.wireguard.android.model.Tunnel.setConfig (Tunnel.java:118) at com.wireguard.android.fragment.TunnelEditorFragment.onOptionsItemSelected (TunnelEditorFragment.java:160) at android.app.Fragment.performOptionsItemSelected (Fragment.java:2478) at android.app.FragmentManagerImpl.dispatchOptionsItemSelected (FragmentManager.java:2182) at android.app.FragmentController.dispatchOptionsItemSelected (FragmentController.java:336) at android.app.Activity.onMenuItemSelected (Activity.java:3211) at com.android.internal.policy.PhoneWindow.onMenuItemSelected (PhoneWindow.java:1219) at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected (MenuBuilder.java:761) at com.android.internal.view.menu.MenuItemImpl.invoke (MenuItemImpl.java:152) at com.android.internal.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:904) at com.android.internal.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:894) at android.widget.ActionMenuView.invokeItem (ActionMenuView.java:616) at com.android.internal.view.menu.ActionMenuItemView.onClick (ActionMenuItemView.java:152) at android.view.View.performClick (View.java:5637) at android.view.View$PerformClick.run (View.java:22433) at android.os.Handler.handleCallback (Handler.java:751) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:153) at android.app.ActivityThread.main (ActivityThread.java:6244) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:891) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:781)
* QuickTileService: sometimes tile is nullJason A. Donenfeld2018-01-101-0/+2
| | | | | | | | | | | | | | | | According to play store reports, such as: wt88047, 0MB RAM, Android 8.1 java.lang.NullPointerException: at com.wireguard.android.QuickTileService.updateTile (QuickTileService.java:97) at com.wireguard.android.QuickTileService.onStartListening (QuickTileService.java:56) at android.service.quicksettings.TileService$H.handleMessage (TileService.java:407) at android.os.Handler.dispatchMessage (Handler.java:106) at android.os.Looper.loop (Looper.java:164) at android.app.ActivityThread.main (ActivityThread.java:6520) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:442) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)
* Prepare version 0.3.0Samuel Holland2018-01-091-2/+2
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* WgQuickBackend: Finish the implementationSamuel Holland2018-01-091-7/+29
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* model: Chain completions to avoid race conditionsSamuel Holland2018-01-092-23/+18
| | | | | | Otherwise getConfigAsync().thenCompose(x -> setState()) would be unsafe. This reverts commit a6595a273afd50524cc66765c6bfbdcc34cb12e4.
* global: Clean up error loggingSamuel Holland2018-01-095-10/+13
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* WgQuickBackend: Log when tunnels can't be enumeratedSamuel Holland2018-01-091-1/+2
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* RootShell: Improve shell start error handlingSamuel Holland2018-01-091-9/+14
| | | | | | | No need to catch and re-throw exceptions before starting the process. If running `su` itself fails, there's no (functional) root, so report that. Signed-off-by: Samuel Holland <samuel@sholland.org>
* RootShell: Be stricter about command delimitersSamuel Holland2018-01-091-13/+24
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* RootShell: stop if we can't startJason A. Donenfeld2018-01-091-31/+36
|
* RootShell: hoist out synchronizationJason A. Donenfeld2018-01-091-11/+7
|
* tools: try not to overflowJason A. Donenfeld2018-01-091-0/+4
|
* ToolsInstaller: Propagate NoRootException properlySamuel Holland2018-01-092-32/+34
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>
* RootShell: Simplify, synchronize, clean upSamuel Holland2018-01-092-128/+89
| | | | Signed-off-by: Samuel Holland <samuel@sholland.org>