From 931bcd44cb297a21e3dbd3f7ad566bffd28d1970 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 15 Sep 2020 08:32:06 -0700 Subject: [PATCH] control/controlclient: report Synology "distro" + its version to control --- cmd/tailscaled/depaware.txt | 2 +- control/controlclient/hostinfo_linux.go | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/cmd/tailscaled/depaware.txt b/cmd/tailscaled/depaware.txt index 496e6910e..d104b7e26 100644 --- a/cmd/tailscaled/depaware.txt +++ b/cmd/tailscaled/depaware.txt @@ -84,7 +84,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de tailscale.com/util/lineread from tailscale.com/control/controlclient+ tailscale.com/util/pidowner from tailscale.com/ipn/ipnserver tailscale.com/version from tailscale.com/control/controlclient+ - tailscale.com/version/distro from tailscale.com/wgengine+ + tailscale.com/version/distro from tailscale.com/control/controlclient+ tailscale.com/wgengine from tailscale.com/cmd/tailscaled+ tailscale.com/wgengine/filter from tailscale.com/control/controlclient+ tailscale.com/wgengine/magicsock from tailscale.com/cmd/tailscaled+ diff --git a/control/controlclient/hostinfo_linux.go b/control/controlclient/hostinfo_linux.go index 227098d25..64ce3fa24 100644 --- a/control/controlclient/hostinfo_linux.go +++ b/control/controlclient/hostinfo_linux.go @@ -16,6 +16,7 @@ import ( "go4.org/mem" "tailscale.com/util/lineread" + "tailscale.com/version/distro" ) func init() { @@ -23,8 +24,14 @@ func init() { } func osVersionLinux() string { + dist := distro.Get() + propFile := "/etc/os-release" + if dist == distro.Synology { + propFile = "/etc.defaults/VERSION" + } + m := map[string]string{} - lineread.File("/etc/os-release", func(line []byte) error { + lineread.File(propFile, func(line []byte) error { eq := bytes.IndexByte(line, '=') if eq == -1 { return nil @@ -71,6 +78,9 @@ func osVersionLinux() string { return fmt.Sprintf("%s%s", v, attr) } } + if dist == distro.Synology { + return fmt.Sprintf("Synology %s%s", m["productversion"], attr) + } return fmt.Sprintf("Other%s", attr) }