3701 Commits

Author SHA1 Message Date
DL6ER 2b9932b5f5 Move global cache status message into debug.queries mode instead of being a general INFO message
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-15 19:25:15 +02:00
Dominik bcb77ef0d6 Merge pull request #2060 from pi-hole/fix/help_gzip
Fix gzip help text
2024-09-14 21:58:18 +02:00
DL6ER d8627a91e6 Simplify gzip help text further
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-14 21:40:26 +02:00
Dominik 031c4668c0 Merge pull request #2062 from pi-hole/new/edns_reasoning
Improve EDNS handling
2024-09-14 21:39:28 +02:00
Dominik 21b77b7e8a Apply suggestions from code review
Co-authored-by: RD WebDesign <github@rdwebdesign.com.br>
Signed-off-by: Dominik <DL6ER@users.noreply.github.com>
2024-09-14 10:28:59 +02:00
DL6ER 3e090f52c7 Unify query and cache status enums
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-14 10:17:20 +02:00
DL6ER c12c47cf58 Add EDE 15 from upstream => Blocked detection + new query type representing this
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-14 10:17:20 +02:00
DL6ER d67d13303d Add downstream EDE info for synthesized replies
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-14 10:17:14 +02:00
DL6ER 850d263ec3 Check and create v6 migration directory before trying to move/write files there. This involves config migrations but also Teleporter importing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-13 15:56:25 +02:00
DL6ER db0054bdb6 Restart FTL after successful Teleporter import and provide more detailed log messages. Also reduce code duplication by defining a common restart_ftl() routine
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-12 21:41:11 +02:00
DL6ER 1f264eb6d5 Clarify exit messages
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-12 17:11:47 +02:00
DL6ER 7b60775fdc Add missing import instruction for CNAME records file (if present in the archive)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-11 21:22:29 +02:00
DL6ER dc3e1eb108 Fix gzip help text
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-10 23:27:13 +02:00
Dominik 3b1aebdf36 Merge pull request #2059 from pi-hole/fix/yubi_bug_1
Fix possible crash due to incorrect setupVars.conf import
2024-09-10 22:42:02 +02:00
DL6ER cc4a6ae44e Prevent endless resarting loop on crashes before the DNS resolver is fully seeded (moid was not set)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-10 22:23:26 +02:00
DL6ER 621d11697d Fix REV_SERVER parsing when importing setupVars.conf from v5 Pi-holes
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-10 22:15:37 +02:00
DL6ER c0aaad3a56 Do not free allocated hash when we are still using it
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-10 20:31:03 +02:00
Dominik 685a5c95ff Merge pull request #2054 from pi-hole/new/query_frequency_avg
Add queries per second (QPS) metric
2024-09-10 19:57:21 +02:00
DL6ER f29749defb Ensure calls to free(ptr) set ptr to NULL afterwards. This guarantees there can be no double-free corruptions in the future. Instead, on trying to free a pointer which has already been free'd (or was never allocated!), we instead print a warning to the log file and continue normal operation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-09 17:51:54 +02:00
DL6ER 19175b10f7 Migrate legacy files (setupVars.conf, pihole-FTL.conf and custom.list) into /etc/pihole/migration_backup_v6 instead of leaving them inside /etc/pihole
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-09 17:44:19 +02:00
DL6ER b7dfdb4ef8 Add new queries per second (QPS) metric exposed via GET /api/stats/summary as .queries.frequency and /api/info/ftl as .query_frequency. The QPS value is averaged over 30 seconds
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-07 11:20:44 +02:00
Dominik e5a24bdd09 Merge pull request #2042 from pi-hole/tweak/verbose_migration
Make v5 -> v6 migration verbose
2024-09-02 21:42:03 +02:00
DL6ER ecc05dccf5 Remove appending ?target=... when redirecting to the login page. web-PR #3124 removed the redirection feature from the login page
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-02 19:14:46 +02:00
Dominik 11d6c79a0f Merge pull request #2047 from pi-hole/tweak/nprocs_conf
Fix CPU % calculation
2024-09-02 09:59:37 +02:00
Dominik f13a76005c Merge pull request #2048 from pi-hole/new/stats_last_gravity_update
Add GET /api/stats/summary -> .gravity.last_update
2024-09-02 09:49:33 +02:00
DL6ER 68a14bf12c Use total number of *configured* (= existing) cores rather then the number of available (= online and assigned) cores when computing the CPU utilization of the system
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-02 06:58:57 +02:00
DL6ER 0fa865a29e Add GET /api/stats/summary -> .gravity.last_update timestamp exposing the last gravity update via the API
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-02 06:49:53 +02:00
Dominik 8001aa099a Merge pull request #2041 from pi-hole/fix/cli_pw_restart
Restart FTL on change of webserver.api.cli_pw
2024-09-02 06:33:17 +02:00
DL6ER c09ce7c8c3 Remove CLI password file after emptying it
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-29 18:44:19 +02:00
Dominik ee9ca39150 Merge pull request #2030 from pi-hole/new/cache_upstream_replies
Implement DNS caching for queries blocked upstream
2024-08-27 06:32:56 +02:00
Dominik 453cdefb0d Update src/config/setupVars.c
Co-authored-by: Adam Warner <me@adamwarner.co.uk>
Signed-off-by: Dominik <DL6ER@users.noreply.github.com>
2024-08-26 21:59:41 +02:00
DL6ER 42b626f36c Rename dns.cache.upstreamTTL -> dns.cache.upstreamBlockedTTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-26 21:40:27 +02:00
DL6ER 8571c99aae Restart FTL on change of webserver.api.cli_pw
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-26 19:52:00 +02:00
DL6ER 358478e333 Ensure we free all memory in ngethostbyname()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-26 19:49:49 +02:00
DL6ER c98f1cf0be Avoid (unlikely) memory leaking and ensure we properly reset the config type to a non-allocated type after free'ing.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-26 19:49:49 +02:00
Dominik 2341704046 Merge pull request #2037 from pi-hole/fix/another_in_docker
Allow other FTL process inside docker
2024-08-26 17:04:07 +02:00
DL6ER 267d150ac7 Make v5 -> v6 migration verbose by default (not only when debug.config = false). This will happen only once and may greatly ease debugging in case unintended side-effects (most often it will by typos in the old setupVars.conf)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-25 19:22:41 +02:00
DL6ER 7fea06811d Allow other FTL process inside docker
Do not refuse to (re)start if there is another pihole-FTL process already running *inside* a docker container on the same host. Currently, (re)starting on the host is prevented when FTL detects during startup that another process is running on the machine (the one inside the container) even when they can obviously run alongside perfectly fine. This is caused by the host being able to see *all* processes, not only the one in its own cgroup.
This actually hinders development/testing natively on the host. This commit fixes this by not considering pihole-FTL processes running in downstream (!) docker containers as duplicate instances.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-22 16:49:27 +02:00
DL6ER af1c5b3039 Add new config option dns.cache.upstreamTTL (defaulting to one day) for configuring how long relpies from upstream are cached
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-21 20:18:59 +02:00
DL6ER 070544bde1 Implement DNS caching for queries blocked upstream (NXDOMAIN + no RA, 0.0.0.0/::, and known Umbrella IP blocking pages) accompanied with suitable CI testing. This change improves handling of externally blocked queries in two ways:
1. Once we know the domain is externally blocked, we don't forward it again for the same client (it is currently forwarded each time)
2. We can recognize cache content with the specified addresses/flags as being upstream blocked and don't return them as "OK (cached)" through the API/in the database

Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-21 20:14:51 +02:00
Dominik f40d89589b Merge pull request #2036 from pi-hole/tweak/config_warnings
Improve incomplete installations support
2024-08-20 21:30:10 +02:00
DL6ER 72f9874366 Clarify that our version of CivetWeb has been modified for our needs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-18 20:31:02 +02:00
DL6ER 588ae42c11 Improve behavior on systems where mandatory config file locations aren't present (initial install interrupted/not completed)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-18 20:18:49 +02:00
DL6ER 1c8579e668 Fix headers not being correctly handled for Kepler-style Lua server pages
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-18 19:06:15 +02:00
DL6ER ce62ddc936 Apply and update Pi-hole patches
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-15 20:33:42 +02:00
DL6ER 07561835f0 Update embedded CivetWeb to latest master of their repo
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-15 20:13:16 +02:00
Dominik 0c36f47fab Merge pull request #2032 from pi-hole/fix/top_clients
Fix Top Clients table
2024-08-14 06:07:59 +02:00
DL6ER f2ae6db391 Add further API debugging to top_client generation and fix an incorrect condition that skipped all clients without a name
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-13 16:52:11 +02:00
DL6ER 828dd7b806 Update embedded SQLite3 engine to 3.46.1 released today. None of the mentioned points in the changelog apply to how Pi-hole uses SQLite3 but we may still benefit from "other minor fixes"
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-08-13 16:34:14 +02:00
Dominik 57b9bac922 Merge pull request #2027 from pi-hole/fix/ntp_service_unknown
Fix NTP synchronization on devices not knowing the NTP service type
2024-08-12 22:24:08 +02:00