From 6a279c698c8852e5796c89bc82c82330ddc41cba Mon Sep 17 00:00:00 2001 From: Zoltan Papp Date: Thu, 7 Dec 2023 18:29:00 +0100 Subject: [PATCH] code cleaning --- client/internal/dns/host_android.go | 2 +- client/internal/dns/host_darwin.go | 2 +- client/internal/dns/host_ios.go | 2 +- client/internal/dns/host_linux.go | 2 +- client/internal/dns/host_windows.go | 2 +- client/internal/dns/server.go | 18 +++--------------- client/internal/dns/server_android.go | 10 ++++++++++ client/internal/dns/server_darwin.go | 5 +++++ client/internal/dns/server_ios.go | 6 ++++++ client/internal/dns/server_linux.go | 5 +++++ client/internal/dns/server_windows.go | 5 +++++ 11 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 client/internal/dns/server_android.go create mode 100644 client/internal/dns/server_darwin.go create mode 100644 client/internal/dns/server_ios.go create mode 100644 client/internal/dns/server_linux.go create mode 100644 client/internal/dns/server_windows.go diff --git a/client/internal/dns/host_android.go b/client/internal/dns/host_android.go index 3bd72aa87..7e9594be8 100644 --- a/client/internal/dns/host_android.go +++ b/client/internal/dns/host_android.go @@ -3,7 +3,7 @@ package dns type androidHostManager struct { } -func newHostManager(wgInterface WGIface, dnsManager IosDnsManager) (hostManager, error) { +func newHostManager() (hostManager, error) { return &androidHostManager{}, nil } diff --git a/client/internal/dns/host_darwin.go b/client/internal/dns/host_darwin.go index 2acb29fc8..d053d2af1 100644 --- a/client/internal/dns/host_darwin.go +++ b/client/internal/dns/host_darwin.go @@ -34,7 +34,7 @@ type systemConfigurator struct { createdKeys map[string]struct{} } -func newHostManager(_ WGIface, dnsManager IosDnsManager) (hostManager, error) { +func newHostManager() (hostManager, error) { return &systemConfigurator{ createdKeys: make(map[string]struct{}), }, nil diff --git a/client/internal/dns/host_ios.go b/client/internal/dns/host_ios.go index c90882520..0eec49792 100644 --- a/client/internal/dns/host_ios.go +++ b/client/internal/dns/host_ios.go @@ -10,7 +10,7 @@ type iosHostManager struct { config hostDNSConfig } -func newHostManager(wgInterface WGIface, dnsManager IosDnsManager) (hostManager, error) { +func newHostManager(dnsManager IosDnsManager) (hostManager, error) { return &iosHostManager{ dnsManager: dnsManager, }, nil diff --git a/client/internal/dns/host_linux.go b/client/internal/dns/host_linux.go index 763ff48c8..7838c988f 100644 --- a/client/internal/dns/host_linux.go +++ b/client/internal/dns/host_linux.go @@ -25,7 +25,7 @@ const ( type osManagerType int -func newHostManager(wgInterface WGIface, dnsManager IosDnsManager) (hostManager, error) { +func newHostManager(wgInterface WGIface) (hostManager, error) { osManager, err := getOSDNSManagerType() if err != nil { return nil, err diff --git a/client/internal/dns/host_windows.go b/client/internal/dns/host_windows.go index c7ad5e46e..3814be00b 100644 --- a/client/internal/dns/host_windows.go +++ b/client/internal/dns/host_windows.go @@ -29,7 +29,7 @@ type registryConfigurator struct { routingAll bool } -func newHostManager(wgInterface WGIface, dnsManager IosDnsManager) (hostManager, error) { +func newHostManager(wgInterface WGIface) (hostManager, error) { guid, err := wgInterface.GetInterfaceGUIDString() if err != nil { return nil, err diff --git a/client/internal/dns/server.go b/client/internal/dns/server.go index 732b43c74..0a936b103 100644 --- a/client/internal/dns/server.go +++ b/client/internal/dns/server.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "net/netip" - "runtime" "sync" "github.com/miekg/dns" @@ -127,7 +126,7 @@ func newDefaultServer(ctx context.Context, wgInterface WGIface, dnsService servi } // Initialize instantiate host manager and the dns service -func (s *DefaultServer) Initialize(manager IosDnsManager) (err error) { +func (s *DefaultServer) Initialize() (err error) { s.mux.Lock() defer s.mux.Unlock() @@ -135,19 +134,8 @@ func (s *DefaultServer) Initialize(manager IosDnsManager) (err error) { return nil } - if s.permanent { - err = s.service.Listen() - if err != nil { - return err - } - } - - if runtime.GOOS == "ios" { - s.hostManager, err = newHostManager(nil, manager) - } else { - s.hostManager, err = newHostManager(s.wgInterface, nil) - } - return + s.hostManager, err = s.initialize() + return err } // DnsIP returns the DNS resolver server IP address diff --git a/client/internal/dns/server_android.go b/client/internal/dns/server_android.go new file mode 100644 index 000000000..f3e8d0839 --- /dev/null +++ b/client/internal/dns/server_android.go @@ -0,0 +1,10 @@ +package dns + +func (s *DefaultServer) initialize() (manager hostManager, err error) { + err = s.service.Listen() + if err != nil { + return err + } + + return newHostManager() +} diff --git a/client/internal/dns/server_darwin.go b/client/internal/dns/server_darwin.go new file mode 100644 index 000000000..7ca12d69d --- /dev/null +++ b/client/internal/dns/server_darwin.go @@ -0,0 +1,5 @@ +package dns + +func (s *DefaultServer) initialize() (manager hostManager, err error) { + return newHostManager() +} diff --git a/client/internal/dns/server_ios.go b/client/internal/dns/server_ios.go new file mode 100644 index 000000000..70b664963 --- /dev/null +++ b/client/internal/dns/server_ios.go @@ -0,0 +1,6 @@ +package dns + +func (s *DefaultServer) initialize() (manager hostManager, err error) { + // todo add ioDnsManager to constuctor + return newHostManager(m.ioDnsManager) +} diff --git a/client/internal/dns/server_linux.go b/client/internal/dns/server_linux.go new file mode 100644 index 000000000..5e1494e9e --- /dev/null +++ b/client/internal/dns/server_linux.go @@ -0,0 +1,5 @@ +package dns + +func (s *DefaultServer) initialize() (manager hostManager, err error) { + return newHostManager(s.wgInterface) +} diff --git a/client/internal/dns/server_windows.go b/client/internal/dns/server_windows.go new file mode 100644 index 000000000..5e1494e9e --- /dev/null +++ b/client/internal/dns/server_windows.go @@ -0,0 +1,5 @@ +package dns + +func (s *DefaultServer) initialize() (manager hostManager, err error) { + return newHostManager(s.wgInterface) +}