Pull request: 5089-windows-hosts-crash
Updates #5089. Squashed commit of the following: commit dd3ce763326ad3207de111bb911e0a2665bcebba Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Mon Nov 7 16:21:43 2022 +0300 aghnet: fix comparison commit 0d736fb7fc5cb2e77fd533cd95fdf3fbc6dc86d1 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Mon Nov 7 14:13:05 2022 +0300 aghnet: fix crash
This commit is contained in:
parent
a7d02fa935
commit
464fbf0b54
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -17,6 +17,14 @@ and this project adheres to
|
|||
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- Crash on Windows when system hosts files are read ([#5089]).
|
||||
|
||||
[#5089]: https://github.com/AdguardTeam/AdGuardHome/issues/5089
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
## [v0.107.18] - 2022-11-16 (APPROX.)
|
||||
|
||||
|
@ -1088,7 +1096,7 @@ See also the [v0.106.0 GitHub milestone][ms-v0.106.0].
|
|||
- Hostname uniqueness validation in the DHCP server ([#2952]).
|
||||
- Hostname generating for DHCP clients which don't provide their own ([#2723]).
|
||||
- New flag `--no-etc-hosts` to disable client domain name lookups in the
|
||||
operating system's /etc/hosts files ([#1947]).
|
||||
operating system's `/etc/hosts` files ([#1947]).
|
||||
- The ability to set up custom upstreams to resolve PTR queries for local
|
||||
addresses and to disable the automatic resolving of clients' addresses
|
||||
([#2704]).
|
||||
|
|
|
@ -139,6 +139,8 @@ type HostsRecord struct {
|
|||
func (rec *HostsRecord) equal(other *HostsRecord) (ok bool) {
|
||||
if rec == nil {
|
||||
return other == nil
|
||||
} else if other == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return rec.Canonical == other.Canonical && rec.Aliases.Equal(other.Aliases)
|
||||
|
@ -478,7 +480,11 @@ func (hc *HostsContainer) refresh() (err error) {
|
|||
return fmt.Errorf("refreshing : %w", err)
|
||||
}
|
||||
|
||||
if maps.EqualFunc(hp.table, hc.last, (*HostsRecord).equal) {
|
||||
// hc.last is nil on the first refresh, so let that one through.
|
||||
//
|
||||
// TODO(a.garipov): Once https://github.com/golang/go/issues/56621 is
|
||||
// resolved, remove the first condition.
|
||||
if hc.last != nil && maps.EqualFunc(hp.table, hc.last, (*HostsRecord).equal) {
|
||||
log.Debug("%s: no changes detected", hostsContainerPref)
|
||||
|
||||
return nil
|
||||
|
|
Loading…
Reference in New Issue