Commit Graph

6576 Commits

Author SHA1 Message Date
Dominik fbae3b9aca Merge pull request #1977 from pi-hole/new/ntp
Add NTP-server/client implementation
2024-06-29 21:48:25 +02:00
DL6ER 3f7d317b8a Check capabilities only when user requested updating time time
Build, Test, Deploy / smoke-tests (push) Has been cancelled
Codespell / spell-check (push) Has been cancelled
Check for merge conflicts / merge-conflict (push) Has been cancelled
API validation / Node (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Has been cancelled
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-27 18:42:56 +02:00
DL6ER 8e63dd99f9 Adjust tests
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-27 17:35:56 +02:00
DL6ER ec0e0c98bf Print database statistics after historic queries have been loaded from disk
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-27 16:36:02 +02:00
DL6ER 4e55268544 Clarify which server is used when invoked via CLI
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-27 16:34:54 +02:00
DL6ER 6eff0296b3 Check availablity of CAP_SYS_TIME when NTP client is invoked from CLI
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-27 16:33:16 +02:00
DL6ER 14e716729c Styling
Build, Test, Deploy / smoke-tests (push) Has been cancelled
Codespell / spell-check (push) Has been cancelled
Check for merge conflicts / merge-conflict (push) Has been cancelled
API validation / Node (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Has been cancelled
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-26 10:21:12 +02:00
DL6ER 6d164a3529 Remove restarting step as queries are now loaded *after* NTP time synchronization
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-26 09:37:01 +02:00
DL6ER b3d72cb7b6 Load queries only after first NTP synchronization (if enabled)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-26 09:35:13 +02:00
DL6ER 5c2da0d074 Only use valid replies. Before, invalid replies would have contributed to the mean with a value of 0.0ms deviation, i.e., reducing any existing real time difference
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-26 09:04:18 +02:00
DL6ER 23ddd85837 Check if database is actually writable when we request this
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-26 08:49:55 +02:00
Dominik 0367117cad Merge pull request #2003 from pi-hole/update/lua_5.4.7
Build, Test, Deploy / smoke-tests (push) Has been cancelled
Codespell / spell-check (push) Has been cancelled
Check for merge conflicts / merge-conflict (push) Has been cancelled
API validation / Node (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Has been cancelled
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Has been cancelled
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Has been cancelled
Update embedded LUA engine to 5.4.7
2024-06-25 22:30:43 +02:00
DL6ER f863c058d1 Update embedded LUA engine to 5.4.7
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-25 16:12:15 +02:00
DL6ER ab52ea063c Merge branch 'development-v6' into new/ntp
Build, Test, Deploy / smoke-tests (push) Waiting to run
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Blocked by required conditions
Codespell / spell-check (push) Waiting to run
Check for merge conflicts / merge-conflict (push) Waiting to run
API validation / Node (push) Waiting to run
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-25 15:13:37 +02:00
Dominik 96f7dff669 Merge pull request #1988 from pi-hole/new/misc_readOnly
Build, Test, Deploy / smoke-tests (push) Waiting to run
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Blocked by required conditions
Codespell / spell-check (push) Waiting to run
Check for merge conflicts / merge-conflict (push) Waiting to run
API validation / Node (push) Waiting to run
Add read-only config option
2024-06-25 14:32:13 +02:00
DL6ER b45695c3bd Restart FTL if system time has been updated by more than one hour using the internal NTP synchronization method. This ensures FTL can import the real most recent 24 hours data of history after a restart on a system lacking a real hardware clock
Build, Test, Deploy / smoke-tests (push) Waiting to run
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Blocked by required conditions
Codespell / spell-check (push) Waiting to run
Check for merge conflicts / merge-conflict (push) Waiting to run
API validation / Node (push) Waiting to run
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-25 10:03:28 +02:00
Dominik 75b5e5fab9 Merge pull request #2000 from pi-hole/fix/dns-sd
Build, Test, Deploy / smoke-tests (push) Waiting to run
Build, Test, Deploy / gha (pihole-FTL-386, , linux/386) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64, , linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-amd64-clang, clang, linux/amd64) (push) Blocked by required conditions
Build, Test, Deploy / gha (pihole-FTL-riscv64, , linux/riscv64) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-arm64, linux/arm64/v8) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv6, linux/arm/v6) (push) Blocked by required conditions
Build, Test, Deploy / self-hosted (pihole-FTL-armv7, linux/arm/v7) (push) Blocked by required conditions
Codespell / spell-check (push) Waiting to run
Check for merge conflicts / merge-conflict (push) Waiting to run
API validation / Node (push) Waiting to run
Fix DNS-SD query analysis
2024-06-24 14:29:36 +02:00
DL6ER 9e329be3ef Fix DNS-SD query analysis
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-21 19:32:26 +02:00
yubiuser c82676b1ae Merge pull request #1998 from pi-hole/no_dnsmasq
Fix API hint
2024-06-15 19:50:40 +02:00
yubiuser a09088efdf Merge pull request #1996 from pi-hole/dependabot-github_actions-development-v6-github_action-dependencies-0bd1363a87
Bump actions/checkout from 4.1.6 to 4.1.7 in the github_action-dependencies group
2024-06-15 14:18:07 +02:00
Christian König b3182568a5 Fix API hint
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-06-15 13:16:37 +02:00
dependabot[bot] bf476509b5 Bump actions/checkout in the github_action-dependencies group
Bumps the github_action-dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 4.1.6 to 4.1.7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.6...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github_action-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-15 10:14:29 +00:00
Dominik 01c5c5629b Merge pull request #1994 from pi-hole/fix/env_password
Check if the newly set password is the same as the old one
2024-06-15 07:45:45 +02:00
DL6ER 5a6a212980 Add special handling for systems without password in the password checking short-circuiting
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-13 20:28:37 +02:00
DL6ER 09a1f6fe5e Adjust CI tests due to modified NTP error message text
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-13 07:35:47 +02:00
DL6ER e05d931412 Spellchecking
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-13 06:31:44 +02:00
DL6ER 3ae3afa1b5 Fix harmless incorrect warning when generating HTML regex messages
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-13 06:30:43 +02:00
DL6ER e70c364af4 Add message table entries for selected NTP warnings/errors
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-13 06:26:28 +02:00
Dominik 7adda9ad3c Merge pull request #1993 from pi-hole/tweak/pogo
(Re-)Add support for Pogoplug
2024-06-12 19:35:46 +02:00
DL6ER 126d4d87ce Mark timer thread as running
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-12 18:21:46 +02:00
DL6ER 2516dcf3e2 Always join threads if they have ever been started to avoid resource leaking
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-11 04:23:52 +02:00
DL6ER 90ba90a0c7 Pre-define thread names so they can always be shown during shutdown, even if a thread was never started, remove unused CONF_READER thread slot
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-11 04:20:04 +02:00
DL6ER 9bc0d4c25d Fix root delay/dispersion debug printing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-11 04:18:55 +02:00
DL6ER ec6750d42f Make definition of __USE_MISC conditional
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-10 20:06:41 +02:00
DL6ER b8eee89e07 Do not detach threads because we want to join them during shutdown
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-10 19:35:40 +02:00
DL6ER d737bf524c Determine root dispersion and error based on our own most recent time synchronization as described by RFC 5905, Scn. 4 (page 9)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-10 17:23:58 +02:00
DL6ER fcc0a5ab2f Use "fresh" sockets for NTP client requests to avoid reusing the same ephermal port for mulitple requests
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-10 17:18:41 +02:00
DL6ER 27db8a43ce Copy root delay/dispersion errors from upstream server (after first upstream NTP synchronization)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-10 17:12:09 +02:00
DL6ER a05bf8dd24 Improve shutdown sequence of threads
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-10 16:57:11 +02:00
DL6ER 791e3a8097 Add RTC synchronization
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-07 20:01:04 +02:00
DL6ER fb0b06e21a Merge branch 'new/ntp' of github.com:pi-hole/FTL into new/ntp 2024-06-07 18:53:24 +02:00
DL6ER 671771ceb0 Improve NTP synchronization by rejecting synchronization if the standard deviation of the time offset or round-trip delay is larger than 1 second. This ensures the time cannot go off even in cases where the network connectivity is really bad
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-07 18:50:14 +02:00
DL6ER 93f751f90a Use adjtimex instead of adjtime as the latter uses the former (see http://git.musl-libc.org/cgit/musl/tree/src/linux/adjtime.c and https://codebrowser.dev/glibc/glibc/time/adjtime.c.html). Also add comment from man rtc(4) about how RTCs are updated at the same time
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-07 18:49:11 +02:00
DL6ER 2406e1a70e Check if the newly set password is the same as the old one
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-06 20:42:06 +02:00
DL6ER f9eea51dbd Ensure we also recalculate te checksum of the config file when in read-only mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-06 20:25:59 +02:00
Dominik 9491cdfe2d Merge pull request #1992 from pi-hole/fix/no_gravity
Fix non-existing gravity.db issue
2024-06-06 18:56:54 +02:00
DL6ER 44d57e5b37 Add checking of return status of sqlite3_open_v2 to ensure we are not trying to use the database when it failed to open
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-06 16:17:01 +02:00
Dominik 08f2e37d9f Apply suggestions from code review
Co-authored-by: RD WebDesign <github@rdwebdesign.com.br>
Signed-off-by: Dominik <DL6ER@users.noreply.github.com>
2024-06-06 08:54:31 +02:00
DL6ER d923904291 Tweak config option description
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-06 07:36:38 +02:00
DL6ER ee8f9899dd Add NTP settings category to the API and create all threads in detached mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-06-06 07:21:37 +02:00