Commit Graph

3740 Commits

Author SHA1 Message Date
DL6ER d15e02fc35 Return exit code 42 if called as pihole-FTL --adam
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-09 19:15:02 +02:00
DL6ER 7e12e40840 Reset the following timestamp slot to avoid possible race-collisions (GC thread is not aligned to wall clock)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-03 19:22:58 +02:00
DL6ER 7ec1478018 Adaptively adjust GC sleeping time (if necessary)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-02 22:15:08 +02:00
DL6ER 59b9f0143a Outsource counter resetting into a dedicated function periodically run by the GC thread to make the average computation independet from external trigger sources. This solves the problem of artificially high QPS values when no queries are processed by FTL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-02 22:08:15 +02:00
Dominik 6c0c875476 Merge pull request #2072 from pi-hole/new/verify
Verify FTL binary integrity
2024-10-01 06:56:21 +02:00
Dominik dec2c8a700 Review comment extending documentation
Co-authored-by: yubiuser <github@yubiuser.dev>
Signed-off-by: Dominik <DL6ER@users.noreply.github.com>
2024-09-30 21:34:16 +02:00
DL6ER 8d1394d00e Simplify text
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-30 19:37:04 +02:00
DL6ER 450964edef Remove sha256 --skip-end feature as discussed during PR review process
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-29 10:41:45 +02:00
Dominik d749dffb62 Merge pull request #2073 from pi-hole/fix/piholePTR
Restart FTL to enforce flushing the cache when dns.piholePTR is changed
2024-09-27 10:07:32 +02:00
DL6ER e62e58619e Do not take the not-filtered shortcut if one of the magic upstream={blocklist,cache} is selected. This is currently broken as detection of ongoing filtering is through variable bindung to the SQL string. However, these two special upstreams work by using the IN operator which does not support binding to a prepared statement.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-26 19:25:04 +02:00
DL6ER c2a2df8a77 Restart FTL to enforce flushing the cache when dns.piholePTR is changed
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-26 18:51:05 +02:00
DL6ER 3ca04acd75 Add message table entry on binary verification failure
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-26 11:43:22 +02:00
DL6ER bb93467442 Add new binary integrity verification function
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-26 11:02:39 +02:00
DL6ER 92e259021e Disentangle info/ftl : ftl.database.domains from newly added ftl.database.regex
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-25 10:05:50 +02:00
Dominik 361e0ce5bb Merge pull request #2067 from pi-hole/tweak/db_counter_update
Tweak DB counter update
2024-09-25 03:29:20 -04:00
Dominik 001db4953b Merge pull request #2070 from pi-hole/fix/civetweb_lua_issue
Fix Civetweb Lua error reporting issue
2024-09-24 00:13:00 -04:00
DL6ER 0ff00e1c83 Add bundled script loading into luaL_openlibs to make them available globally (also in the webserver)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 21:42:21 +02:00
DL6ER dce844b599 Properly generate traceback in lua_error_handler() avoiding the first line showing the manual call to debug.traceback() itself
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 20:36:02 +02:00
DL6ER 835933f850 Increase LUA_IDSIZE so that long script filenames as well as long script lines fit into the error logging buffer
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 13:25:34 +02:00
DL6ER 3a5f5450fd Print to user *and* log to log file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 13:24:27 +02:00
DL6ER 221389b060 Print error to user
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 13:18:54 +02:00
DL6ER bdf0d91f8a Abort early on Lua errors
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 13:07:33 +02:00
DL6ER 8c92b20e5a Fix lua error handling issue present in current CivetWeb code
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-23 12:32:45 +02:00
DL6ER 4048081418 Reset global counters after update
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-18 18:16:56 +02:00
DL6ER e3a7820aa8 Include update inside running transaction
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-18 15:42:28 +02:00
DL6ER 66141d8b48 Improve database updating procedure by avoiding opening a dedicated / separate database connection for updating the query counters when we already have the disk database attached to our in-memory database under the disk.* namespace. This also brings a bit of code duplication and removal of functions called only once.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-18 15:38:06 +02:00
DL6ER 5552e33e55 Fix whitespace issue
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 14:11:08 +02:00
DL6ER 9148224324 Reduce superfluent enum initializer
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER acbe08cbc5 Add missing header guards
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER 4df3c26ce7 Fix local variable address stored in non-local memory
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER 8fed1361f1 Check for leap year, and adjust the date accordingly
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER 2153cbbee3 Reduce global variable scope to file-local
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER 45e9e4453a Fix using incorrect type
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER 73b0d1383c Add NULL check for array allocation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER 31473f47b5 Check sscanf result when reading
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER bf5ec1417c Restrict permissions to owner read/write only when creating a new file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER cfdd7030db Fix comparison of narrow type with wide type in loop condition
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER e48cb188e5 Fix multiplication result converted to larger type
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:15 +02:00
DL6ER b0733a04a3 Avoid using dangerous function localtime()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-09-16 13:53:11 +02:00
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