Pull request 2235: 7069-fix-blocked-services
Updates #7069. Squashed commit of the following: commit 0f87493966124af4fa4b28eb1f67281343dd8242 Merge: 87f06b86428a6c24db
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Jun 18 14:09:18 2024 +0300 Merge branch 'master' into 7069-fix-blocked-services commit 87f06b86432bba4d2e2583010784746452b7690f Merge:c2440752c
66877c92d
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Jun 18 13:47:28 2024 +0300 Merge branch 'master' into 7069-fix-blocked-services commitc2440752c8
Merge:17a9c14e2
1c82be295
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Jun 17 18:42:48 2024 +0300 Merge branch 'master' into 7069-fix-blocked-services commit17a9c14e29
Merge:11160bc62
bed86d57f
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Jun 11 13:41:00 2024 +0300 Merge branch 'master' into 7069-fix-blocked-services commit11160bc62b
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Jun 11 13:36:56 2024 +0300 all: imp docs commit491287164d
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Jun 10 14:03:22 2024 +0300 home: imp code commit0caf8b1579
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Jun 10 13:35:54 2024 +0300 all: upd chlog commit46f793b259
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Jun 10 13:27:22 2024 +0300 home: fix blocked services
This commit is contained in:
parent
28a6c24db2
commit
08d863dd3a
|
@ -51,10 +51,14 @@ NOTE: Add new changes BELOW THIS COMMENT.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- Panic caused by missing user-specific blocked services object in configuration
|
||||||
|
file ([#7069]).
|
||||||
- Tracking `/etc/hosts` file changes causing panics within particular
|
- Tracking `/etc/hosts` file changes causing panics within particular
|
||||||
filesystems on start ([#7076]).
|
filesystems on start ([#7076]).
|
||||||
|
|
||||||
[#7053]: https://github.com/AdguardTeam/AdGuardHome/issues/7053
|
[#7053]: https://github.com/AdguardTeam/AdGuardHome/issues/7053
|
||||||
|
[#7069]: https://github.com/AdguardTeam/AdGuardHome/issues/7069
|
||||||
|
[#7076]: https://github.com/AdguardTeam/AdGuardHome/issues/7076
|
||||||
|
|
||||||
[install-script]: https://github.com/AdguardTeam/AdGuardHome/?tab=readme-ov-file#automated-install-linux-and-mac
|
[install-script]: https://github.com/AdguardTeam/AdGuardHome/?tab=readme-ov-file#automated-install-linux-and-mac
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,8 @@ type Persistent struct {
|
||||||
|
|
||||||
SafeSearch filtering.SafeSearch
|
SafeSearch filtering.SafeSearch
|
||||||
|
|
||||||
// BlockedServices is the configuration of blocked services of a client.
|
// BlockedServices is the configuration of blocked services of a client. It
|
||||||
|
// must not be nil after initialization.
|
||||||
BlockedServices *filtering.BlockedServices
|
BlockedServices *filtering.BlockedServices
|
||||||
|
|
||||||
Name string
|
Name string
|
||||||
|
|
|
@ -16,6 +16,7 @@ import (
|
||||||
"github.com/AdguardTeam/AdGuardHome/internal/dnsforward"
|
"github.com/AdguardTeam/AdGuardHome/internal/dnsforward"
|
||||||
"github.com/AdguardTeam/AdGuardHome/internal/filtering"
|
"github.com/AdguardTeam/AdGuardHome/internal/filtering"
|
||||||
"github.com/AdguardTeam/AdGuardHome/internal/querylog"
|
"github.com/AdguardTeam/AdGuardHome/internal/querylog"
|
||||||
|
"github.com/AdguardTeam/AdGuardHome/internal/schedule"
|
||||||
"github.com/AdguardTeam/AdGuardHome/internal/whois"
|
"github.com/AdguardTeam/AdGuardHome/internal/whois"
|
||||||
"github.com/AdguardTeam/dnsproxy/proxy"
|
"github.com/AdguardTeam/dnsproxy/proxy"
|
||||||
"github.com/AdguardTeam/dnsproxy/upstream"
|
"github.com/AdguardTeam/dnsproxy/upstream"
|
||||||
|
@ -261,6 +262,12 @@ func (o *clientObject) toPersistent(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if o.BlockedServices == nil {
|
||||||
|
o.BlockedServices = &filtering.BlockedServices{
|
||||||
|
Schedule: schedule.EmptyWeekly(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
err = o.BlockedServices.Validate()
|
err = o.BlockedServices.Validate()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("init blocked services %q: %w", cli.Name, err)
|
return nil, fmt.Errorf("init blocked services %q: %w", cli.Name, err)
|
||||||
|
|
|
@ -267,7 +267,7 @@ func copyBlockedServices(
|
||||||
var weekly *schedule.Weekly
|
var weekly *schedule.Weekly
|
||||||
if sch != nil {
|
if sch != nil {
|
||||||
weekly = sch.Clone()
|
weekly = sch.Clone()
|
||||||
} else if prev != nil && prev.BlockedServices != nil {
|
} else if prev != nil {
|
||||||
weekly = prev.BlockedServices.Schedule.Clone()
|
weekly = prev.BlockedServices.Schedule.Clone()
|
||||||
} else {
|
} else {
|
||||||
weekly = schedule.EmptyWeekly()
|
weekly = schedule.EmptyWeekly()
|
||||||
|
|
|
@ -49,7 +49,7 @@ func newPersistentClient(name string) (c *client.Persistent) {
|
||||||
Name: name,
|
Name: name,
|
||||||
UID: client.MustNewUID(),
|
UID: client.MustNewUID(),
|
||||||
BlockedServices: &filtering.BlockedServices{
|
BlockedServices: &filtering.BlockedServices{
|
||||||
Schedule: &schedule.Weekly{},
|
Schedule: schedule.EmptyWeekly(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue