@ -39,6 +39,7 @@ import (
"tailscale.com/version"
"tailscale.com/version"
"tailscale.com/wf"
"tailscale.com/wf"
"tailscale.com/wgengine"
"tailscale.com/wgengine"
"tailscale.com/wgengine/monitor"
"tailscale.com/wgengine/netstack"
"tailscale.com/wgengine/netstack"
"tailscale.com/wgengine/router"
"tailscale.com/wgengine/router"
)
)
@ -177,6 +178,11 @@ func beFirewallKillswitch() bool {
func startIPNServer ( ctx context . Context , logid string ) error {
func startIPNServer ( ctx context . Context , logid string ) error {
var logf logger . Logf = log . Printf
var logf logger . Logf = log . Printf
linkMon , err := monitor . New ( logf )
if err != nil {
return err
}
getEngineRaw := func ( ) ( wgengine . Engine , error ) {
getEngineRaw := func ( ) ( wgengine . Engine , error ) {
dev , devName , err := tstun . New ( logf , "Tailscale" )
dev , devName , err := tstun . New ( logf , "Tailscale" )
if err != nil {
if err != nil {
@ -201,6 +207,7 @@ func startIPNServer(ctx context.Context, logid string) error {
Router : r ,
Router : r ,
DNS : d ,
DNS : d ,
ListenPort : 41641 ,
ListenPort : 41641 ,
LinkMonitor : linkMon ,
} )
} )
if err != nil {
if err != nil {
r . Close ( )
r . Close ( )
@ -287,7 +294,7 @@ func startIPNServer(ctx context.Context, logid string) error {
return fmt . Errorf ( "safesocket.Listen: %v" , err )
return fmt . Errorf ( "safesocket.Listen: %v" , err )
}
}
err = ipnserver . Run ( ctx , logf , ln , store , l ogid, getEngine , ipnServerOpts ( ) )
err = ipnserver . Run ( ctx , logf , ln , store , l inkMon, l ogid, getEngine , ipnServerOpts ( ) )
if err != nil {
if err != nil {
logf ( "ipnserver.Run: %v" , err )
logf ( "ipnserver.Run: %v" , err )
}
}