Add netstack support for the agent to run it without privileges.

- use interface for tun device
- use common IPC for userspace WireGuard integration
- move udpmux creation and sharedsock to tun layer
This commit is contained in:
Zoltan Papp
2024-01-03 16:06:20 +01:00
committed by GitHub
parent 163933d429
commit 1de3bb5420
40 changed files with 1745 additions and 1002 deletions
+13 -7
View File
@@ -1,12 +1,18 @@
//go:build !android
// +build !android
package iface
type MobileIFaceArguments struct {
Routes []string
Dns string
SearchDomains []string
}
import (
"github.com/netbirdio/netbird/iface/bind"
)
// NetInterface represents a generic network tunnel interface
type NetInterface interface {
type wgTunDevice interface {
Create() (wgConfigurer, error)
Up() (*bind.UniversalUDPMuxDefault, error)
UpdateAddr(address WGAddress) error
WgAddress() WGAddress
DeviceName() string
Close() error
Wrapper() *DeviceWrapper // todo eliminate this function
}