wgengine/magicsock: change API to not permit disco key changes

Generate the disco key ourselves and give out the public half instead.

Fixes #525
This commit is contained in:
Brad Fitzpatrick
2020-07-06 12:10:39 -07:00
parent 32156330a8
commit 6196b7e658
6 changed files with 20 additions and 25 deletions

View File

@@ -14,7 +14,6 @@ import (
"tailscale.com/control/controlclient"
"tailscale.com/ipn/ipnstate"
"tailscale.com/tailcfg"
"tailscale.com/types/key"
"tailscale.com/wgengine/filter"
"tailscale.com/wgengine/router"
"tailscale.com/wgengine/tsdns"
@@ -101,8 +100,9 @@ func (e *watchdogEngine) SetDERPMap(m *tailcfg.DERPMap) {
func (e *watchdogEngine) SetNetworkMap(nm *controlclient.NetworkMap) {
e.watchdog("SetNetworkMap", func() { e.wrap.SetNetworkMap(nm) })
}
func (e *watchdogEngine) SetDiscoPrivateKey(k key.Private) {
e.watchdog("SetDiscoPrivateKey", func() { e.wrap.SetDiscoPrivateKey(k) })
func (e *watchdogEngine) DiscoPublicKey() (k tailcfg.DiscoKey) {
e.watchdog("DiscoPublicKey", func() { k = e.wrap.DiscoPublicKey() })
return k
}
func (e *watchdogEngine) Close() {
e.watchdog("Close", e.wrap.Close)