From 042f12470288484a56b8539b0e08e0964c95a184 Mon Sep 17 00:00:00 2001 From: Givi Khojanashvili Date: Tue, 13 Jun 2023 11:20:29 +0400 Subject: [PATCH] Use different initialize order for DNS resolver in android/nonandroid clients (#952) --- client/internal/engine.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/client/internal/engine.go b/client/internal/engine.go index 2c08b1415..9b277602b 100644 --- a/client/internal/engine.go +++ b/client/internal/engine.go @@ -199,7 +199,7 @@ func (e *Engine) Start() error { } } - if e.dnsServer == nil { + if e.dnsServer == nil && runtime.GOOS == "android" { // todo fix custom address dnsServer, err := dns.NewDefaultServer(e.ctx, e.wgInterface, e.config.CustomDNSAddress, dnsCfg) if err != nil { @@ -259,6 +259,16 @@ func (e *Engine) Start() error { e.acl = acl } + if e.dnsServer == nil && runtime.GOOS != "android" { + // todo fix custom address + dnsServer, err := dns.NewDefaultServer(e.ctx, e.wgInterface, e.config.CustomDNSAddress, dnsCfg) + if err != nil { + e.close() + return err + } + e.dnsServer = dnsServer + } + e.receiveSignalEvents() e.receiveManagementEvents()