tailscale/wgengine/router/router_darwin.go
Avery Pennarun f0b6ba78e8 wgengine: don't pass nil router.Config objects.
These are hard for swift to decode in the iOS app.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-05-31 02:37:22 -04:00

46 lines
888 B
Go

// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package router
import (
"github.com/tailscale/wireguard-go/device"
"github.com/tailscale/wireguard-go/tun"
"tailscale.com/types/logger"
)
type darwinRouter struct {
logf logger.Logf
tunname string
}
func newUserspaceRouter(logf logger.Logf, _ *device.Device, tundev tun.Device) (Router, error) {
tunname, err := tundev.Name()
if err != nil {
return nil, err
}
return &darwinRouter{
logf: logf,
tunname: tunname,
}, nil
}
func (r *darwinRouter) Up() error {
return nil
}
func (r *darwinRouter) Set(cfg *Config) error {
if SetRoutesFunc == nil {
return nil
}
if cfg == nil {
cfg = &shutdownConfig
}
return SetRoutesFunc(cfg)
}
func (r *darwinRouter) Close() error {
return nil
}