From d3ada9881ac0333deeaa13a77a78d6c4d891d14b Mon Sep 17 00:00:00 2001 From: Stanislav Chzhen Date: Wed, 14 Jun 2023 15:08:57 +0300 Subject: [PATCH] Pull request 1854: 951-blocked-services-schedule Merge in DNS/adguard-home from 951-blocked-services-schedule to master Squashed commit of the following: commit 0f0770292f8aa9dc0dddc05edefacf6655f329b8 Merge: 2705fbcfb 7309a5335 Author: Stanislav Chzhen Date: Wed Jun 14 15:00:56 2023 +0300 Merge branch 'master' into 951-blocked-services-schedule commit 2705fbcfba57392bcc0fa9b6e1f1dfdce9796963 Author: Stanislav Chzhen Date: Wed Jun 14 14:56:01 2023 +0300 schedule: imp field alignment commit ff8fa040558e97192a5a2c91c1d5722c67d88b3d Merge: f99936f36 9fda7bfd3 Author: Stanislav Chzhen Date: Tue Jun 13 11:49:15 2023 +0300 Merge branch 'master' into 951-blocked-services-schedule commit f99936f36be3453b50d772ce10bfdc1ad14879c5 Author: Stanislav Chzhen Date: Fri Jun 9 19:14:06 2023 +0300 schedule: add tests commit 8436c2c5675d5cc22a3554ded2ce4a49eeeefc91 Author: Stanislav Chzhen Date: Thu Jun 8 20:10:03 2023 +0300 schedule: imp code commit 850a3d93e659e0584bd449cf5af3f13b36be9e62 Author: Stanislav Chzhen Date: Thu Jun 8 18:57:23 2023 +0300 schedule: imp tests commit d54c42b782a4a806d2f35abbea1826ba6394a64c Merge: 21dfa51ea 156c199bb Author: Stanislav Chzhen Date: Thu Jun 8 18:12:03 2023 +0300 Merge branch 'master' into 951-blocked-services-schedule commit 21dfa51ea7441c655ac39f2cbceeaa598d364bff Author: Stanislav Chzhen Date: Thu Jun 8 18:02:47 2023 +0300 all: add todo commit d0d4532c8911fb6365f6af66ceb72a70b158b77d Author: Stanislav Chzhen Date: Wed Jun 7 18:54:44 2023 +0300 all: upd chlog commit dc1d55fa23c0ec8e7f7b7cd25d3d0cbf3e51e236 Author: Stanislav Chzhen Date: Wed Jun 7 17:34:28 2023 +0300 all: add tests commit 601775307c2b23fa9d6cf2aa271793e8fd5f1797 Author: Stanislav Chzhen Date: Wed Jun 7 13:20:00 2023 +0300 all: add schedule pkg commit e0bcad0193a559a89f5f5052f5a985fa730d23be Author: Stanislav Chzhen Date: Fri Jun 2 13:03:04 2023 +0300 filtering: add test case commit da7a7c20c84151ff83414cb5d576a91740a1be7e Author: Stanislav Chzhen Date: Wed May 31 15:31:48 2023 +0300 filtering: imp code commit 9845a11cdae25eafe39a50f8cdc408fefe1fd746 Author: Stanislav Chzhen Date: Mon May 29 17:46:24 2023 +0300 filtering: add type check commit f4bcea8ad90d584ceff236ccce4f246e391e0e33 Author: Stanislav Chzhen Date: Mon May 29 17:37:25 2023 +0300 all: imp code commit 9de3a0f37eb65d0db2431c27dd4d69136c1485a7 Author: Stanislav Chzhen Date: Mon May 29 15:20:33 2023 +0300 filtering: imp err msg commit 1befab59cf2a12a3bc8296066ce1115dff5a8843 Author: Stanislav Chzhen Date: Mon May 29 14:31:14 2023 +0300 filtering: imp tests commit 09506f924f363f1563009cec0c44ad40d08b8ddd Author: Stanislav Chzhen Date: Fri May 26 18:44:12 2023 +0300 filtering: add tests commit 36c42f523fcfe7fa6dca5f6f13e6c79f491c1ad5 Author: Stanislav Chzhen Date: Fri May 26 17:57:01 2023 +0300 all: fix typos commit 69399cd3ea17691ff0848baf43ff09b18b82114c Author: Stanislav Chzhen Date: Thu May 25 18:50:51 2023 +0300 all: upd chlog ... and 2 more commits --- CHANGELOG.md | 58 +++ internal/dnsforward/filter.go | 6 +- internal/filtering/blocked.go | 32 +- internal/filtering/filtering.go | 27 +- internal/filtering/http.go | 6 +- internal/home/config.go | 6 + internal/home/dns.go | 4 +- internal/home/upgrade.go | 53 ++- internal/home/upgrade_test.go | 43 +++ internal/schedule/schedule.go | 220 ++++++++++++ internal/schedule/schedule_internal_test.go | 371 ++++++++++++++++++++ 11 files changed, 798 insertions(+), 28 deletions(-) create mode 100644 internal/schedule/schedule.go create mode 100644 internal/schedule/schedule_internal_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 88ca9e69..d23c574c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,9 +25,67 @@ NOTE: Add new changes BELOW THIS COMMENT. ### Added +- The ability to set inactivity periods for filtering blocked services in the + configuration file ([#951]). The UI changes are coming in the upcoming + releases. - The ability to edit rewrite rules via `PUT /control/rewrite/update` HTTP API ([#1577]). +### Changed + +#### Configuration Changes + +In this release, the schema version has changed from 20 to 21. + +- Property `dns.blocked_services`, which in schema versions 20 and earlier used + to be a list containing ids of blocked services, is now an object containing + ids and schedule for blocked services: + + ```yaml + # BEFORE: + 'blocked_services': + - id_1 + - id_2 + + # AFTER: + 'blocked_services': + 'ids': + - id_1 + - id_2 + 'schedule': + 'time_zone': 'Local' + 'sun': + 'start': '0s' + 'end': '24h' + 'mon': + 'start': '10m' + 'end': '23h30m' + 'tue': + 'start': '20m' + 'end': '23h' + 'wed': + 'start': '30m' + 'end': '22h30m' + 'thu': + 'start': '40m' + 'end': '22h' + 'fri': + 'start': '50m' + 'end': '21h30m' + 'sat': + 'start': '1h' + 'end': '21h' + ``` + + To rollback this change, replace `dns.blocked_services` object with the list + of ids of blocked services and change the `schema_version` back to `20`. + +### Fixed + + - DNSCrypt upstream not resetting the client and resolver information on + dialing errors ([#5872]). + +[#951]: https://github.com/AdguardTeam/AdGuardHome/issues/951 [#1577]: https://github.com/AdguardTeam/AdGuardHome/issues/1577