fix after merge changes

This commit is contained in:
Pascal Fischer
2023-11-07 15:52:19 +01:00
parent 0e7a67cf81
commit 2b249ab9c9
6 changed files with 37 additions and 38 deletions
+5 -5
View File
@@ -43,12 +43,12 @@ func RunClientMobile(ctx context.Context, config *Config, statusRecorder *peer.S
return runClient(ctx, config, statusRecorder, mobileDependency) return runClient(ctx, config, statusRecorder, mobileDependency)
} }
func RunClientiOS(ctx context.Context, config *Config, statusRecorder *peer.Status, fileDescriptor int32, routeListener routemanager.RouteListener, dnsManager dns.IosDnsManager, interfaceName string) error { func RunClientiOS(ctx context.Context, config *Config, statusRecorder *peer.Status, fileDescriptor int32, networkChangeListener listener.NetworkChangeListener, dnsManager dns.IosDnsManager, interfaceName string) error {
mobileDependency := MobileDependency{ mobileDependency := MobileDependency{
FileDescriptor: fileDescriptor, FileDescriptor: fileDescriptor,
InterfaceName: interfaceName, InterfaceName: interfaceName,
RouteListener: routeListener, NetworkChangeListener: networkChangeListener,
DnsManager: dnsManager, DnsManager: dnsManager,
} }
return runClient(ctx, config, statusRecorder, mobileDependency) return runClient(ctx, config, statusRecorder, mobileDependency)
} }
+1 -1
View File
@@ -52,6 +52,6 @@ func (n *notifier) notify() {
} }
go func(l listener.NetworkChangeListener) { go func(l listener.NetworkChangeListener) {
l.OnNetworkChanged() l.OnNetworkChanged("")
}(n.listener) }(n.listener)
} }
+1
View File
@@ -4,6 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"net/netip" "net/netip"
"runtime"
"sync" "sync"
"github.com/miekg/dns" "github.com/miekg/dns"
+2 -1
View File
@@ -3,5 +3,6 @@ package listener
// NetworkChangeListener is a callback interface for mobile system // NetworkChangeListener is a callback interface for mobile system
type NetworkChangeListener interface { type NetworkChangeListener interface {
// OnNetworkChanged invoke when network settings has been changed // OnNetworkChanged invoke when network settings has been changed
OnNetworkChanged() OnNetworkChanged(string)
SetInterfaceIP(string)
} }
+4 -7
View File
@@ -2,18 +2,15 @@ package routemanager
import ( import (
"sort" "sort"
"strings"
"sync" "sync"
log "github.com/sirupsen/logrus"
"github.com/netbirdio/netbird/client/internal/listener"
"github.com/netbirdio/netbird/route" "github.com/netbirdio/netbird/route"
) )
// RouteListener is a callback interface for mobile system
// type RouteListener interface {
// // OnNewRouteSetting invoke when new route setting has been arrived
// OnNewRouteSetting(string)
// SetInterfaceIP(string)
// }
type notifier struct { type notifier struct {
initialRouteRangers []string initialRouteRangers []string
routeRangers []string routeRangers []string
+24 -24
View File
@@ -10,15 +10,15 @@ import (
"github.com/netbirdio/netbird/client/internal" "github.com/netbirdio/netbird/client/internal"
"github.com/netbirdio/netbird/client/internal/auth" "github.com/netbirdio/netbird/client/internal/auth"
"github.com/netbirdio/netbird/client/internal/dns" "github.com/netbirdio/netbird/client/internal/dns"
"github.com/netbirdio/netbird/client/internal/listener"
"github.com/netbirdio/netbird/client/internal/peer" "github.com/netbirdio/netbird/client/internal/peer"
"github.com/netbirdio/netbird/client/internal/routemanager"
"github.com/netbirdio/netbird/client/system" "github.com/netbirdio/netbird/client/system"
"github.com/netbirdio/netbird/formatter" "github.com/netbirdio/netbird/formatter"
) )
// RouteListener export internal RouteListener for mobile // RouteListener export internal RouteListener for mobile
type RouteListener interface { type NetworkChangeListener interface {
routemanager.RouteListener listener.NetworkChangeListener
} }
// DnsManager export internal dns Manager for mobile // DnsManager export internal dns Manager for mobile
@@ -39,30 +39,30 @@ func init() {
// Client struct manage the life circle of background service // Client struct manage the life circle of background service
type Client struct { type Client struct {
cfgFile string cfgFile string
recorder *peer.Status recorder *peer.Status
ctxCancel context.CancelFunc ctxCancel context.CancelFunc
ctxCancelLock *sync.Mutex ctxCancelLock *sync.Mutex
deviceName string deviceName string
osName string osName string
osVersion string osVersion string
routeListener routemanager.RouteListener networkChangeListener listener.NetworkChangeListener
onHostDnsFn func([]string) onHostDnsFn func([]string)
dnsManager dns.IosDnsManager dnsManager dns.IosDnsManager
loginComplete bool loginComplete bool
} }
// NewClient instantiate a new Client // NewClient instantiate a new Client
func NewClient(cfgFile, deviceName string, osVersion string, osName string, routeListener RouteListener, dnsManager DnsManager) *Client { func NewClient(cfgFile, deviceName string, osVersion string, osName string, networkChangeListener NetworkChangeListener, dnsManager DnsManager) *Client {
return &Client{ return &Client{
cfgFile: cfgFile, cfgFile: cfgFile,
deviceName: deviceName, deviceName: deviceName,
osName: osName, osName: osName,
osVersion: osVersion, osVersion: osVersion,
recorder: peer.NewRecorder(""), recorder: peer.NewRecorder(""),
ctxCancelLock: &sync.Mutex{}, ctxCancelLock: &sync.Mutex{},
routeListener: routeListener, networkChangeListener: networkChangeListener,
dnsManager: dnsManager, dnsManager: dnsManager,
} }
} }
@@ -98,7 +98,7 @@ func (c *Client) Run(fd int32, interfaceName string) error {
// todo do not throw error in case of cancelled context // todo do not throw error in case of cancelled context
ctx = internal.CtxInitState(ctx) ctx = internal.CtxInitState(ctx)
c.onHostDnsFn = func([]string) {} c.onHostDnsFn = func([]string) {}
return internal.RunClientiOS(ctx, cfg, c.recorder, fd, c.routeListener, c.dnsManager, interfaceName) return internal.RunClientiOS(ctx, cfg, c.recorder, fd, c.networkChangeListener, c.dnsManager, interfaceName)
} }
// Stop the internal client and free the resources // Stop the internal client and free the resources