cmd/tailscale,java/com/tailscale/ipn: set hostname to Build.MODEL

Fixes tailscale/tailscale#409

Signed-off-by: Elias Naur <mail@eliasnaur.com>
pull/2/head
Elias Naur 4 years ago
parent 920aba4ff1
commit 3db59c3a9b

@ -11,6 +11,7 @@ import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.BroadcastReceiver;
import android.net.ConnectivityManager;
import android.os.Build;
import java.io.IOException;
import java.io.File;
@ -77,5 +78,9 @@ public class App extends Application {
);
}
String getHostname() {
return Build.MODEL;
}
private static native void onConnectivityChanged(boolean connected);
}

@ -141,7 +141,11 @@ func (a *App) runBackend(events <-chan UIEvent) error {
alarmChan = timer.C
}
}
var prefs *ipn.Prefs
err = b.Start(func(n ipn.Notify) {
if p := n.Prefs; p != nil {
prefs = p
}
if s := n.State; s != nil {
oldState := state.State
state.State = *s
@ -179,6 +183,8 @@ func (a *App) runBackend(events <-chan UIEvent) error {
if err != nil {
return err
}
prefs.Hostname = a.hostname()
b.backend.SetPrefs(prefs)
for {
select {
case <-alarmChan:
@ -237,6 +243,23 @@ func (a *App) runBackend(events <-chan UIEvent) error {
}
}
// hostname builds a hostname from android.os.Build fields, in place of a
// useless os.Hostname().
func (a *App) hostname() string {
var hostname string
err := jni.Do(a.jvm, func(env jni.Env) error {
cls := jni.GetObjectClass(env, a.appCtx)
getHostname := jni.GetMethodID(env, cls, "getHostname", "()Ljava/lang/String;")
n, err := jni.CallObjectMethod(env, a.appCtx, getHostname)
hostname = jni.GoString(env, jni.String(n))
return err
})
if err != nil {
panic(err)
}
return hostname
}
// updateNotification updates the foreground persistent status notification.
func (a *App) updateNotification(service jni.Object, state ipn.State) error {
var msg, title string

@ -8,5 +8,5 @@ require (
github.com/tailscale/wireguard-go v0.0.0-20200515231107-62868271d710
golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e
tailscale.com v0.98.1-0.20200528074203-30e5c1921435
tailscale.com v0.98.1-0.20200602194027-364a8508b2a3
)

@ -81,8 +81,8 @@ github.com/tcnksm/go-httpstat v0.2.0/go.mod h1:s3JVJFtQxtBEBC9dwcdTTXS9xFnM3SXAZ
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
go4.org/mem v0.0.0-20200411205429-f77f31c81751 h1:sgGPu7KkyLjyOYOwKFHCtnfosdSuM5q2Gud23Y/+nzw=
go4.org/mem v0.0.0-20200411205429-f77f31c81751/go.mod h1:NEYvpHWemiG/E5UWfaN5QAIGZeT1sa0Z2UNk6oeMb/k=
go4.org/mem v0.0.0-20200601023850-d8ee1dfa5518 h1:AA3bSGklCgkrqIGnvL4894oa/2K9ltE0RejXh8CgyvA=
go4.org/mem v0.0.0-20200601023850-d8ee1dfa5518/go.mod h1:NEYvpHWemiG/E5UWfaN5QAIGZeT1sa0Z2UNk6oeMb/k=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@ -148,9 +148,9 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
inet.af/netaddr v0.0.0-20200430175045-5aaf2097c7fc h1:We3b/z+7i9LV4Ls0yWve5vYIlnAPSPeqxKVgZseRDBs=
inet.af/netaddr v0.0.0-20200430175045-5aaf2097c7fc/go.mod h1:qqYzz/2whtrbWJvt+DNWQyvekNN4ePQZcg2xc2/Yjww=
inet.af/netaddr v0.0.0-20200513162223-787f13e36cbe h1:WjJ6wZhXEWQA3FFSwOjG8tO2q1NDFSqrUwNcTvxwMEQ=
inet.af/netaddr v0.0.0-20200513162223-787f13e36cbe/go.mod h1:qqYzz/2whtrbWJvt+DNWQyvekNN4ePQZcg2xc2/Yjww=
rsc.io/goversion v1.2.0 h1:SPn+NLTiAG7w30IRK/DKp1BjvpWabYgxlLp/+kx5J8w=
rsc.io/goversion v1.2.0/go.mod h1:Eih9y/uIBS3ulggl7KNJ09xGSLcuNaLgmvvqa07sgfo=
tailscale.com v0.98.1-0.20200528074203-30e5c1921435 h1:Aosg7R6BEAr+pZlsDM+l/C5eqByuqlKI7DIWEUVjNB0=
tailscale.com v0.98.1-0.20200528074203-30e5c1921435/go.mod h1:qhqIOURjwBji/8sD4E3HmTou3eyp/2HfFuPLdjs7ge8=
tailscale.com v0.98.1-0.20200602194027-364a8508b2a3 h1:bNfw9eZYqqIV82TIYVYsE5IuetrLx3nugrAA6+u4bto=
tailscale.com v0.98.1-0.20200602194027-364a8508b2a3/go.mod h1:XQhcTfDAdZHL82OoizTIB/veZgYwGZwcF0XHtAu/Jmk=

Loading…
Cancel
Save