wgengine: build for freebsd

Signed-off-by: wardn <wardn@users.noreply.github.com>
pull/54/head
wardn 5 years ago committed by Brad Fitzpatrick
parent fbfe474492
commit 58ce50389e

@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// +build openbsd freebsd
package wgengine package wgengine
import ( import (
@ -25,7 +27,7 @@ import (
// `ifstated(8)`/`devd(8)`, or become possible with the OpenBSD kernel // `ifstated(8)`/`devd(8)`, or become possible with the OpenBSD kernel
// implementation. This merits further investigation. // implementation. This merits further investigation.
type openbsdRouter struct { type bsdRouter struct {
logf logger.Logf logf logger.Logf
tunname string tunname string
local wgcfg.CIDR local wgcfg.CIDR
@ -33,7 +35,7 @@ type openbsdRouter struct {
} }
func NewUserspaceRouter(logf logger.Logf, tunname string, _ *device.Device, tuntap tun.Device, _ func()) Router { func NewUserspaceRouter(logf logger.Logf, tunname string, _ *device.Device, tuntap tun.Device, _ func()) Router {
r := openbsdRouter{ r := bsdRouter{
logf: logf, logf: logf,
tunname: tunname, tunname: tunname,
} }
@ -48,7 +50,7 @@ func cmd(args ...string) *exec.Cmd {
return exec.Command(args[0], args[1:]...) return exec.Command(args[0], args[1:]...)
} }
func (r *openbsdRouter) Up() error { func (r *bsdRouter) Up() error {
ifup := []string{"ifconfig", r.tunname, "up"} ifup := []string{"ifconfig", r.tunname, "up"}
if out, err := cmd(ifup...).CombinedOutput(); err != nil { if out, err := cmd(ifup...).CombinedOutput(); err != nil {
r.logf("running ifconfig failed: %v\n%s", err, out) r.logf("running ifconfig failed: %v\n%s", err, out)
@ -57,7 +59,7 @@ func (r *openbsdRouter) Up() error {
return nil return nil
} }
func (r *openbsdRouter) SetRoutes(rs RouteSettings) error { func (r *bsdRouter) SetRoutes(rs RouteSettings) error {
var errq error var errq error
if rs.LocalAddr != r.local { if rs.LocalAddr != r.local {
@ -155,7 +157,7 @@ func (r *openbsdRouter) SetRoutes(rs RouteSettings) error {
return errq return errq
} }
func (r *openbsdRouter) Close() error { func (r *bsdRouter) Close() error {
out, err := cmd("ifconfig", r.tunname, "down").CombinedOutput() out, err := cmd("ifconfig", r.tunname, "down").CombinedOutput()
if err != nil { if err != nil {
r.logf("running ifconfig failed: %v\n%s", err, out) r.logf("running ifconfig failed: %v\n%s", err, out)
@ -172,5 +174,5 @@ func (r *openbsdRouter) Close() error {
// TODO(mbaillie): these are no-ops for now. They could re-use the Linux funcs // TODO(mbaillie): these are no-ops for now. They could re-use the Linux funcs
// (sans systemd parts), but I note Linux DNS is disabled(?) so leaving for now. // (sans systemd parts), but I note Linux DNS is disabled(?) so leaving for now.
func (r *openbsdRouter) replaceResolvConf(_ []net.IP, _ []string) error { return nil } func (r *bsdRouter) replaceResolvConf(_ []net.IP, _ []string) error { return nil }
func (r *openbsdRouter) restoreResolvConf() error { return nil } func (r *bsdRouter) restoreResolvConf() error { return nil }

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
// +build !windows,!linux,!darwin,!openbsd // +build !windows,!linux,!darwin,!openbsd,!freebsd
package wgengine package wgengine

Loading…
Cancel
Save