wgengine/router/dns: remove unsafe endianness detection on Linux
parent
f9659323df
commit
15c064f76f
|
@ -71,7 +71,7 @@ tailscale.com/cmd/tailscale dependencies: (generated by github.com/tailscale/dep
|
||||||
tailscale.com/types/opt from tailscale.com/control/controlclient+
|
tailscale.com/types/opt from tailscale.com/control/controlclient+
|
||||||
tailscale.com/types/strbuilder from tailscale.com/net/packet
|
tailscale.com/types/strbuilder from tailscale.com/net/packet
|
||||||
tailscale.com/types/structs from tailscale.com/control/controlclient+
|
tailscale.com/types/structs from tailscale.com/control/controlclient+
|
||||||
W tailscale.com/util/endian from tailscale.com/net/netns
|
LW tailscale.com/util/endian from tailscale.com/net/netns+
|
||||||
tailscale.com/util/lineread from tailscale.com/control/controlclient+
|
tailscale.com/util/lineread from tailscale.com/control/controlclient+
|
||||||
tailscale.com/util/systemd from tailscale.com/control/controlclient+
|
tailscale.com/util/systemd from tailscale.com/control/controlclient+
|
||||||
tailscale.com/version from tailscale.com/cmd/tailscale/cli+
|
tailscale.com/version from tailscale.com/cmd/tailscale/cli+
|
||||||
|
@ -81,7 +81,7 @@ tailscale.com/cmd/tailscale dependencies: (generated by github.com/tailscale/dep
|
||||||
tailscale.com/wgengine/magicsock from tailscale.com/wgengine
|
tailscale.com/wgengine/magicsock from tailscale.com/wgengine
|
||||||
💣 tailscale.com/wgengine/monitor from tailscale.com/cmd/tailscale/cli+
|
💣 tailscale.com/wgengine/monitor from tailscale.com/cmd/tailscale/cli+
|
||||||
tailscale.com/wgengine/router from tailscale.com/cmd/tailscale/cli+
|
tailscale.com/wgengine/router from tailscale.com/cmd/tailscale/cli+
|
||||||
💣 tailscale.com/wgengine/router/dns from tailscale.com/ipn+
|
tailscale.com/wgengine/router/dns from tailscale.com/ipn+
|
||||||
tailscale.com/wgengine/tsdns from tailscale.com/ipn+
|
tailscale.com/wgengine/tsdns from tailscale.com/ipn+
|
||||||
tailscale.com/wgengine/tstun from tailscale.com/wgengine
|
tailscale.com/wgengine/tstun from tailscale.com/wgengine
|
||||||
W 💣 tailscale.com/wgengine/winnet from tailscale.com/wgengine/router
|
W 💣 tailscale.com/wgengine/winnet from tailscale.com/wgengine/router
|
||||||
|
|
|
@ -79,7 +79,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
||||||
tailscale.com/types/opt from tailscale.com/control/controlclient+
|
tailscale.com/types/opt from tailscale.com/control/controlclient+
|
||||||
tailscale.com/types/strbuilder from tailscale.com/net/packet
|
tailscale.com/types/strbuilder from tailscale.com/net/packet
|
||||||
tailscale.com/types/structs from tailscale.com/control/controlclient+
|
tailscale.com/types/structs from tailscale.com/control/controlclient+
|
||||||
W tailscale.com/util/endian from tailscale.com/net/netns+
|
LW tailscale.com/util/endian from tailscale.com/net/netns+
|
||||||
tailscale.com/util/lineread from tailscale.com/control/controlclient+
|
tailscale.com/util/lineread from tailscale.com/control/controlclient+
|
||||||
tailscale.com/util/pidowner from tailscale.com/ipn/ipnserver
|
tailscale.com/util/pidowner from tailscale.com/ipn/ipnserver
|
||||||
tailscale.com/util/racebuild from tailscale.com/logpolicy
|
tailscale.com/util/racebuild from tailscale.com/logpolicy
|
||||||
|
@ -91,7 +91,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
|
||||||
tailscale.com/wgengine/magicsock from tailscale.com/cmd/tailscaled+
|
tailscale.com/wgengine/magicsock from tailscale.com/cmd/tailscaled+
|
||||||
💣 tailscale.com/wgengine/monitor from tailscale.com/wgengine
|
💣 tailscale.com/wgengine/monitor from tailscale.com/wgengine
|
||||||
tailscale.com/wgengine/router from tailscale.com/cmd/tailscaled+
|
tailscale.com/wgengine/router from tailscale.com/cmd/tailscaled+
|
||||||
💣 tailscale.com/wgengine/router/dns from tailscale.com/ipn+
|
tailscale.com/wgengine/router/dns from tailscale.com/ipn+
|
||||||
tailscale.com/wgengine/tsdns from tailscale.com/ipn+
|
tailscale.com/wgengine/tsdns from tailscale.com/ipn+
|
||||||
tailscale.com/wgengine/tstun from tailscale.com/wgengine
|
tailscale.com/wgengine/tstun from tailscale.com/wgengine
|
||||||
W 💣 tailscale.com/wgengine/winnet from tailscale.com/wgengine/router
|
W 💣 tailscale.com/wgengine/winnet from tailscale.com/wgengine/router
|
||||||
|
|
|
@ -10,30 +10,14 @@ import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"encoding/binary"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"unsafe"
|
|
||||||
|
|
||||||
"github.com/godbus/dbus/v5"
|
"github.com/godbus/dbus/v5"
|
||||||
|
"tailscale.com/util/endian"
|
||||||
)
|
)
|
||||||
|
|
||||||
var nativeEndian binary.ByteOrder
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
// TODO(dmytro): use DBus endianness flag when available.
|
|
||||||
// A more elegant way to do this is by looking at the first byte of a raw DBus message.
|
|
||||||
// However, that requires a change in godbus, which has slow maintainer response.
|
|
||||||
i := uint32(1)
|
|
||||||
p := unsafe.Pointer(&i)
|
|
||||||
if *(*byte)(p) == 1 {
|
|
||||||
nativeEndian = binary.LittleEndian
|
|
||||||
} else {
|
|
||||||
nativeEndian = binary.BigEndian
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// isNMActive determines if NetworkManager is currently managing system DNS settings.
|
// isNMActive determines if NetworkManager is currently managing system DNS settings.
|
||||||
func isNMActive() bool {
|
func isNMActive() bool {
|
||||||
// This is somewhat tricky because NetworkManager supports a number
|
// This is somewhat tricky because NetworkManager supports a number
|
||||||
|
@ -145,7 +129,7 @@ func (m nmManager) Up(config Config) error {
|
||||||
for _, ip := range config.Nameservers {
|
for _, ip := range config.Nameservers {
|
||||||
b := ip.As16()
|
b := ip.As16()
|
||||||
if ip.Is4() {
|
if ip.Is4() {
|
||||||
dnsv4 = append(dnsv4, nativeEndian.Uint32(b[12:]))
|
dnsv4 = append(dnsv4, endian.Native.Uint32(b[12:]))
|
||||||
} else {
|
} else {
|
||||||
dnsv6 = append(dnsv6, b[:])
|
dnsv6 = append(dnsv6, b[:])
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue