Pull request: all: fix some races
Updates #3087. Squashed commit of the following: commit e888ce524f286f3c34e14e0086336b65a95fa020 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Mon May 17 16:34:10 2021 +0300 all: fix some races
This commit is contained in:
parent
d9ae6dbcc3
commit
5acae6e204
|
@ -14,7 +14,7 @@ and this project adheres to
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
## [v0.106.3] - 2021-05-17 (APPROX.)
|
## [v0.106.3] - 2021-05-18 (APPROX.)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
@ -25,6 +25,7 @@ and this project adheres to
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- Intermittent "Warning: ID mismatch" errors ([#3087]).
|
||||||
- Error when using installation script on some ARMv7 devices ([#2542]).
|
- Error when using installation script on some ARMv7 devices ([#2542]).
|
||||||
- DHCP leases validation ([#3107], [#3127]).
|
- DHCP leases validation ([#3107], [#3127]).
|
||||||
- Local PTR request recursion in Docker containers ([#3064]).
|
- Local PTR request recursion in Docker containers ([#3064]).
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module github.com/AdguardTeam/AdGuardHome
|
||||||
go 1.15
|
go 1.15
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/AdguardTeam/dnsproxy v0.37.2
|
github.com/AdguardTeam/dnsproxy v0.37.4
|
||||||
github.com/AdguardTeam/golibs v0.4.5
|
github.com/AdguardTeam/golibs v0.4.5
|
||||||
github.com/AdguardTeam/urlfilter v0.14.5
|
github.com/AdguardTeam/urlfilter v0.14.5
|
||||||
github.com/NYTimes/gziphandler v1.1.1
|
github.com/NYTimes/gziphandler v1.1.1
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -20,8 +20,8 @@ dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D
|
||||||
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
||||||
github.com/AdguardTeam/dhcp v0.0.0-20210517101438-550ef4cd8c6e h1:M6YnFP12o0/SjBEPt6b2r8ZkIy/wsV14TK8X9Tb6DEE=
|
github.com/AdguardTeam/dhcp v0.0.0-20210517101438-550ef4cd8c6e h1:M6YnFP12o0/SjBEPt6b2r8ZkIy/wsV14TK8X9Tb6DEE=
|
||||||
github.com/AdguardTeam/dhcp v0.0.0-20210517101438-550ef4cd8c6e/go.mod h1:TKl4jN3Voofo4UJIicyNhWGp/nlQqQkFxmwIFTvBkKI=
|
github.com/AdguardTeam/dhcp v0.0.0-20210517101438-550ef4cd8c6e/go.mod h1:TKl4jN3Voofo4UJIicyNhWGp/nlQqQkFxmwIFTvBkKI=
|
||||||
github.com/AdguardTeam/dnsproxy v0.37.2 h1:3lgizD+lZI6uqxFiQykd1/hV7Ji4vSJBMejl1rbFAXU=
|
github.com/AdguardTeam/dnsproxy v0.37.4 h1:YIoJkIp828LKmmmgxXvZHUKfGLsqTQAK8g+4DXbDbyU=
|
||||||
github.com/AdguardTeam/dnsproxy v0.37.2/go.mod h1:xkJWEuTr550gPDmB9azsciKZzSXjf9wMn+Ji54PQ4gE=
|
github.com/AdguardTeam/dnsproxy v0.37.4/go.mod h1:xkJWEuTr550gPDmB9azsciKZzSXjf9wMn+Ji54PQ4gE=
|
||||||
github.com/AdguardTeam/golibs v0.4.0/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
github.com/AdguardTeam/golibs v0.4.0/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
||||||
github.com/AdguardTeam/golibs v0.4.2/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
github.com/AdguardTeam/golibs v0.4.2/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
||||||
github.com/AdguardTeam/golibs v0.4.4/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
github.com/AdguardTeam/golibs v0.4.4/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
||||||
|
|
|
@ -133,14 +133,21 @@ func handleStatus(w http.ResponseWriter, _ *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
resp := statusResponse{
|
var resp statusResponse
|
||||||
DNSAddrs: dnsAddrs,
|
|
||||||
DNSPort: config.DNS.Port,
|
func() {
|
||||||
HTTPPort: config.BindPort,
|
config.RLock()
|
||||||
IsRunning: isRunning(),
|
defer config.RUnlock()
|
||||||
Version: version.Version(),
|
|
||||||
Language: config.Language,
|
resp = statusResponse{
|
||||||
}
|
DNSAddrs: dnsAddrs,
|
||||||
|
DNSPort: config.DNS.Port,
|
||||||
|
HTTPPort: config.BindPort,
|
||||||
|
IsRunning: isRunning(),
|
||||||
|
Version: version.Version(),
|
||||||
|
Language: config.Language,
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
var c *dnsforward.FilteringConfig
|
var c *dnsforward.FilteringConfig
|
||||||
if Context.dnsServer != nil {
|
if Context.dnsServer != nil {
|
||||||
|
|
|
@ -319,6 +319,9 @@ func applyAdditionalFiltering(clientAddr net.IP, clientID string, setts *dnsfilt
|
||||||
}
|
}
|
||||||
|
|
||||||
func startDNSServer() error {
|
func startDNSServer() error {
|
||||||
|
config.Lock()
|
||||||
|
defer config.Unlock()
|
||||||
|
|
||||||
if isRunning() {
|
if isRunning() {
|
||||||
return fmt.Errorf("unable to start forwarding DNS server: Already running")
|
return fmt.Errorf("unable to start forwarding DNS server: Already running")
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,13 @@ func handleI18nChangeLanguage(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
config.Language = language
|
func() {
|
||||||
|
config.Lock()
|
||||||
|
defer config.Unlock()
|
||||||
|
|
||||||
|
config.Language = language
|
||||||
|
}()
|
||||||
|
|
||||||
onConfigModified()
|
onConfigModified()
|
||||||
returnOK(w)
|
returnOK(w)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue