Commit Graph

258 Commits (b8c3f9da9a37078512ef82507257968a367a3f00)
 

Author SHA1 Message Date
Elias Naur 07b2373e6b com/tailscale/ipn,cmd/tailscale: handle quick tile clicks while signed out
Specifically, start the main activity to prompt the user to sign in or
be notified of a pending machine auth.

Fixes tailscale/tailscale#1225

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 71a9bd537c com/tailscale/ipn,AndroidManifest.xml: make quick tile service passive
Active mode is more efficient, but otherwise equivalent to passive mode.
However, some Android versions don't implement active mode reliably. See
also

https://stackoverflow.com/questions/58035971/tileservice-requestlisteningstate-not-working-on-android-q-couldnt-find-tile-f
https://issuetracker.google.com/issues?q=requestListeningState

I can reproduce issue 1225 on an Android 10 emulator, but no longer with
this change applied.

For tailscale/tailscale#1225

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur f19c0c057e android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Sonia Appasamy c4f626c5a7 cmd/tailscale: use node.DisplayName for machine names
Update to tailscale 1.4.0 while here.

Signed-off-by: Sonia Appasamy <sonia@tailscale.com>
4 years ago
Elias Naur ba38a9bb59 jni,cmd/tailscale: replace jni.EnvFor with explicit conversion
The EnvFor converted an uintptr to a pointer value, which is not
guaranteed to work in general. This change removes EnvFor and pushes the
potentially unsafe conversion to users of the jni package.

Fixes tailscale/tailscale#1195

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 61d9733b24 jni,cmd/tailscale: replace jni.JVMFor with direct cast
The JVMFor function converted an uintptr to a pointer, which is not
guaranteed to work in general. This change removes JVMFor, forcing the
unsafe conversion to the user of the jni packge.

Updates tailscale/tailscale#1195

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur d3dc208237 jni: move package documentation to the package declaration
Updates tailscale/tailscale#1195

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 9525b1c46c android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 96e2661764 version: determine tailscale.com version by cloning it and running version.sh
Updates tailscale/tailscale#1158

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 1c93c0f2c7 cmd/tailscale: don't surface IPv6 addresses in UI
Fixes tailscale/tailscale#1158

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
David Anderson b1395cfefb cmd/tailscale: update to network engine that supports IPv6.
Part of tailscale/tailscale#1158.

Signed-off-by: David Anderson <danderson@tailscale.com>
4 years ago
Elias Naur c8114b4474 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur c26c3b0a35 metadata/en-US/images/phoneScreenshots: add screenshots for F-Droid
Fixes tailscale/tailscale#1086

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 28e5c33b3b android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur b981aa576c cmd/tailscale,go.*: update Gio version
Fixes tailscale/tailscale#471

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 2ed6c7df9a android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
David Anderson 8daee9c431 com/tailscale/ipn: exclude the app from its own VPN.
This means that the Tailscale app's traffic will never use
the VPN that it sets up, which avoids routing loops in
scenarios like publishing a default route over Tailscale.

Signed-off-by: David Anderson <danderson@tailscale.com>
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
David Anderson e87e87367a README.md: document how to get the app working in android emulator.
Signed-off-by: David Anderson <dave@natulte.net>
4 years ago
Elias Naur 2c9fddab4f cmd/tailscale: warn when debug signed and Google Sign-In fails
Fixes tailscale/tailscale#1036

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 1c61cc0702 jni: tolerate nil byte arrays in GetByteArrayElements
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur de6c243bae android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 9db851a113 cmd/tailscale: notify user when VPN access is denied
When tailscale starts, any other active VPN service is automatically closed by the system.
However, if the other VPN service is configured to be always-on, we will be denied access
to set up a VPN. The user may not realize this case, so this change adds a notification
when we're denied access.

The failure mode is identical to the user denying access tthrough the system dialog
shown first time Tailscale starts, so the notification also mentions that case.

Fixes tailscale/tailscale#1017

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 0363b565ee
Merge pull request #4 from Poussinou/patch-1
Update README.md
4 years ago
Poussinou 9c39b7fced
Update README.md 4 years ago
Elias Naur b97970dd8f android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 33a953fb21 cmd/tailscale: only refresh VPN tunnel if configuration changed
This used to work, but a later ChromeOS workaround closed and cleared the last
configuration before comparing it with the new.

Fixes tailscale/tailscale#966

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 129abdb13f cmd/tailscale: close Tailscale when user cancels system VPN dialog
Fixes tailscale/tailscale#904

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 21037e6d67 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur f2c035a8bf cmd/tailscale: note in Hostinfo.OSVersion if Google Play is unavailable
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur cedc696c87 go.*,cmd/tailscale: upgrade to latest gio version
Includes the GOARM=7 fix to avoid softfloat on 32-bit android/arm.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur d95d693a73 Dockerfile: bump Go version to 1.15.5
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 0964bc5a6e android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 97a826d118 Makefile: extract version information from build.gradle
The tag_release target already writes the version into build.gradle.
Ensure the exact same version information is used for the Go build.

As a bonus, the F-Droid builder no longer needs a modern git installed
for determining the version string.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 6252433c48 metadata: add short and full descriptions for F-Droid
The F-Droid app store reads metadata from the source repository.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 7f6ccc9f88 Makefile: add tag_release target for bumping version and tagging
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 99d00e803c Makefile: separate target for generating ipn.aar
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 9c38bebfa9 android: create build flavor for omitting non-free Google dependency
The F-Droid app store don't support non-free dependencies. Create two build
flavors, "fdroid" for building without Google Sign-In, and "play" for including
it.

Modify Makefile to target the play flavor.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 6d9acbb479 cmd/tailscale,java: refactor Google Sign-In into separate class
In preparation for the F-Droid release, refactor the non-free Google dependency
into a separate Java class and make the Go client tolerate missing support.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 412fe8ad68 android/gradle/wrapper: add cryptographic checksum
Suggested by F-Droid bot, https://gitlab.com/fdroid/rfp/-/issues/1546#note_443476386.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 39dfd84951 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 2b38d32130 go.*: upgrade to Tailscale 1.2.2
Also revert the "0.0.0" hack that made mkversion.sh complain.

Fixes tailscale/tailscale#883

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 3eab35ca80 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 5a581c1a9d version,Makefile: implement new Tailscale versioning scheme
The strategy is to ask `go list` for the tailscale.com module version, and then
use that as a tag in a `git ls-remote` query.

If the module version is a pseudo-version such as
"v1.1.1-0.20201030135043-eab6e9ea4e45", use the abbreviated commit directly
(git ls-remote only list remote refs, not commits).

Fixes tailscale/tailscale#883

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 6aaaa84dcf go.*: bump Gio version to fix Fairphone 2 UI glitches
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur cddf7217f3 go.*: bump tailscale version
Include a fix for an Android crash on startup:

eab6e9ea4e

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 25168130a7 cmd/tailscale,go.*: update to tailscale 1.2
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur fd4646a900 android: bump version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur ab29b995b5 go.*: bump gogio version
Exposes the app to OpenGL ES 2.0 devices such as the Fairphone 2.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
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