Commit Graph

760 Commits (main)
 

Author SHA1 Message Date
Elias Naur 6eeb9d8ac4 AndroidManifest.xml: disable auto-backup of (encrypted) app data
Android 6.0 and later automatically backs up app data and allow the user
to restore it when setting up a new device. Unfortunately, the app data
is encrypted with a device specific master key, rendering the data
unreadable on the second device.

Apply the allowBackup=false hammer since we only store device-specific
(logs) and sensitive (private keys, authentication tokens) data for now.

Fixes tailscale/tailscale#732

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 233515e86a cmd/tailscale: move the App.appDir field to the only method that uses it
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 7de19cd9b8 cmd/tailscale: remove unused field stateStore.dataDir
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur dfbfd2a3ed android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 97b727d8a8 README.md: document Google Sign-In requirements
Fixes tailscale/tailscale#608

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 679f97afb3 cmd/tailscale: don't show toggle when not authenticated
Also, change the login screen tile to say "Tailscale", not the
redundant "Needs authentication".

Updates tailscale/tailscale#608

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur c1863a42ae android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur d221e0db42 java/com/tailscale/ipn: run attachPeer on main thread
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur b6d6f57261 android: bump version code 4 years ago
Elias Naur 1b402aebb0 cmd/tailscale,java/com/tailscale/ipn: always register the Peer Fragment
Before this change, the Peer would be registered across Activity restarts
but not after Activity destruction (for example, when the user pressed the
back button).

Use the newer Gio ViewEvent API for tracking the Activity lifecycle and
the most recent Activity reference.

Move Java calls that need an Activity from Peer to App, leaving Peer solely
as a method for receiving onActivityResult.

Fixes tailscale/tailscale#670

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 3089ad8347 cmd/tailsca,java/comt/tailscale/ipn: don't require an Activity for Google sign-out
The GoogleSignIn.getClient has a version that only needs a Context, not an Activity.

Updates tailscale/tailscale#670

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur a0a33e92c4 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 39cb01da42 java/com/tailscale/ipn: upgrade Android security to support Android 5.1
As luck would have it, there's a new version of the androidx.security
library available that support Android 5+. Use that, and adjust to the
incompatible API changes.

Fixes tailscale/tailscale#577

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 3ced33d812 java/com/tailscale/ipn: make App Android 5.1 compatible
Fragment.commitNow doesn't exist on Android 5.1. Calling commit and then all
flushing pending transactions is just as good, because we're not using any
other fragments.

Updates tailscale/tailscale#577

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur f25b5bbcba cmd/tailscale: make intro screen scrollable
Include the version code bump as well. Oops.

Updates tailscale/tailscale#488

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 1003774193 cmd/tailscale,go.*: fix network hangs on Huawei devices
Bump the tailscale.com module version to get the Android fallback
for determining the default network device,

25b021388b

Updates tailscale/tailscale#471

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 758e5691da cmd/tailscale: mask route addresses to please VpnService.Builder.addRoute
Update inet.af/netaddr for IPPrefix.Masked.

Fixes tailscale/tailscale#645

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 454c59a4e5 cmd/tailscale: add detail to VpnService.Builder cosntruction errors
Updates tailscale/tailscale#645

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 943bded910 cmd/tailscale: don't duplicate log output
logtail.Log by default writes log output to stderr, but stderr is taken over by
filch's ReplaceStderr, resulting in duplicate logs sent to Tailscale.
ReplaceStderr is useful for capturing stack dumps from panics.

Configure logtail to route logs to the Android logger, which stops the
duplicate logging and replaces an existing MultiWriter setup for the same
purpose.

Reduce the scope of the logtail logger while here.

Fixes tailscale/tailscale#646

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 334dff897c cmd/tailscale: pause app on sign-in screen when internet is gone
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 05fc3ef433 cmd/tailscale: close overflow menu when the Android back button is pressed
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur a2b15127dd go.*: bump gogio tool version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur c706699862 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur fe465654a2 jni: fold gojni.h into jni.go
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur a7dfea267c cmd/tailscale: fallback back to Google DNS on ChromeOS
Contrary to the VpnService.Builder documentation, ChromeOS doesn't
automatically fall back to the underlying network nameservers when
none are provided.

Updates tailscale/tailscale#431

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 7211e6db1b cmd/tailscale: tee log output to both Tailscale and the Android log
Updates tailscale/tailscale#471

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 9e45538997 cmd/tailscale,java/com/tailscale/ipn: provide OSVersion and DeviceModel for the backend
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 93afdf1e5d cmd/tailscale: bump tailscale version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 91d4d47fd8 cmd/tailscale: stop loader indicator when Google Sign-in is cancelled
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 15632cb15b cmd/tailscale: sign-out any Google users when logging out from Tailscale
Fixes tailscale/tailscale#585

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 053820acda cmd/tailscale: ensure the web sign-in button always chooses the browser
It was set to reauthenticate with the last used sign-in method by mistake.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 5a018c7209 cmd/tailscale: reset loader indicator after Google Sign-in
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 8353a32ed9 go.*: bump gio to avoid a deadlock at startup
Updates tailscale/tailscale#471

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 1a937b5c5f java/com/tailscale/ipn: retain peer Fragment across Activity restarts
There is no reason to recreate it for transient restarts.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 1775eaf309 go.*: fix ChromeOS flickering byu upgrading Gio
Updates tailscale/tailscale#431

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 6265d84c36 cmd/tailscale: don't use TileService if not supported
Bump version code for release.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur cbde34f13b android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 19ed532519 cmd/tailscale: don't set up VPN for invalid configurations
Fixes tailscale/tailscale#507

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 2119f8aa9d cmd/tailscale: avoid backend deadlocks from SetPrefs and LinkChange
Updates tailscale/tailscale#471 (perhaps fixes it)

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur bae9b8394a android: add quick setting tile support
Fixes tailscale/tailscale#516

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur df1d8b338b cmd/tailscale: implement Google ID sign-in
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur ad92c8d81f cmd/tailscale: remove redundant locking
There are no more concurrent accesses to the prefs variable.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 42a327e5e5 Makefile: fix version name propagation, bump Android version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 541e3431f6 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 2e24d0609d go.*: bump gio version
Fixes missing caret for empty search field.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 3f469f3f8a cmd/tailscale: replace manual border widget with gioui.org/widget.Border
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 878e6e75df cmd/tailscale: disable sign-in buttons during sign-in
Fixes tailscale/tailscale#481

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 22851bfa05 cmd/tailscale: add progress indicator to sign in buttons
For tailscale/tailscale#481

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur e3befb01d8 cmd/tailscale: make sign-in buttons visually lighter
Having two (or more) login buttons demands a less overwhelming look.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur ec9bb108c6 cmd/tailscale: add Google sign-in button
Hidden behind a flag pending support from the Tailscale client.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago