mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-11-28 09:58:52 +03:00
b3210cfa7e
Merge in DNS/adguard-home from 3835-imp-error-msg to master
Updates #3835.
Squashed commit of the following:
commit ba31cb67833df9f293fe13be96a35c2a823f115b
Merge: 19c7dfc9 4be69d35
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Thu Dec 16 20:07:25 2021 +0300
Merge branch 'master' into 3835-imp-error-msg
commit 19c7dfc96284a271d30d7111c86c439be3461389
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Thu Dec 16 19:42:10 2021 +0300
all: imp more
commit 5b9c6a3e357238bf44ef800a6033a7671f27d469
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Thu Dec 16 18:57:02 2021 +0300
all: introduce aghhttp
commit 29caa17200957aad2b98461573bb33d80931adcf
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Thu Dec 16 14:23:53 2021 +0300
all: imp more
commit 754c020191d7b9518cb0e789f3f5741ba38c3cf4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Wed Dec 15 20:53:41 2021 +0300
all: imp code, log changes
commit ec712dd562f31fcc2fbc27e7035f926c79827444
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Wed Dec 15 18:40:54 2021 +0300
home: check ports properly
45 lines
1 KiB
Go
45 lines
1 KiB
Go
//go:build !(linux || darwin || freebsd || openbsd)
|
|
// +build !linux,!darwin,!freebsd,!openbsd
|
|
|
|
package aghnet
|
|
|
|
import (
|
|
"io"
|
|
"syscall"
|
|
"time"
|
|
|
|
"github.com/AdguardTeam/AdGuardHome/internal/aghos"
|
|
"github.com/AdguardTeam/golibs/errors"
|
|
"golang.org/x/sys/windows"
|
|
)
|
|
|
|
func canBindPrivilegedPorts() (can bool, err error) {
|
|
return aghos.HaveAdminRights()
|
|
}
|
|
|
|
func ifaceHasStaticIP(string) (ok bool, err error) {
|
|
return false, aghos.Unsupported("checking static ip")
|
|
}
|
|
|
|
func ifaceSetStaticIP(string) (err error) {
|
|
return aghos.Unsupported("setting static ip")
|
|
}
|
|
|
|
func closePortChecker(c io.Closer) (err error) {
|
|
if err = c.Close(); err != nil {
|
|
return err
|
|
}
|
|
|
|
// It seems that net.Listener.Close() doesn't close file descriptors right
|
|
// away. We wait for some time and hope that this fd will be closed.
|
|
//
|
|
// TODO(e.burkov): Investigate the purpose of the line and perhaps use more
|
|
// reliable approach.
|
|
time.Sleep(100 * time.Millisecond)
|
|
|
|
return nil
|
|
}
|
|
|
|
func isAddrInUse(err syscall.Errno) (ok bool) {
|
|
return errors.Is(err, windows.WSAEADDRINUSE)
|
|
}
|