Commit Graph

725 Commits

Author SHA1 Message Date
DL6ER dc204a41b0 Use v2.6 CI containers and nightly for the devcontainer
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-25 09:54:37 +02:00
DL6ER ab373bc580 Merge branch 'special/CI_development' into new/clang
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-18 12:04:32 +02:00
DL6ER 313cb2353f Update C standard to C17
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-18 11:39:23 +02:00
DL6ER 9fbd40e05f Avoid ambigious else
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-18 11:10:47 +02:00
DL6ER 32de390b00 Add Clang compiler support, tested with Clang 14.0.0 (Ubuntu 22.04.3 LTS), Clang 16.0.2 (Alpine 3.18), and Clang 17.0.6 (Alping Edge)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-15 20:41:52 +02:00
DL6ER 30cade643f Use new constant also as back-off factor for exporting into the database
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-14 20:36:32 +02:00
DL6ER 688a551a24 Improve query storing algorithm to better cope with bursts of queries of arbitrary size and frequency
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-14 20:17:05 +02:00
DL6ER 6ce1668d41 Change database permissions to -rw-r----- (640)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-05-10 13:17:58 +02:00
DL6ER e29bcb0695 Fix a crash resulting from a bad interaction between PRs #1928 and #1930
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-04-20 09:39:39 +02:00
Dominik 4734e01b1e Merge pull request #1930 from pi-hole/tweak/ede_neterr
Add extra logging around network issues (EDE: network error)
2024-04-18 21:28:52 +02:00
DL6ER c7ce555382 Update embedded SQLite3 to 3.45.3
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-04-16 08:22:53 +02:00
DL6ER 563b02ccc7 Add new CONNECTION_ERROR message to the Pi-hole diagnosis system
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-04-02 13:43:43 +02:00
DL6ER d88e52d8c8 Improve diagnosis message adding subroutine to not require manually typed in number of arguments and do strict testing against the number of given arguments (instead of crashing if fewer are given and ignoring if more are given)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-04-01 10:08:45 +02:00
DL6ER 5b2dda886c Store message in database as well
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-04-01 09:43:34 +02:00
DL6ER df1f70dd09 Add further debug output concerning disk usage when debug.gc=true
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-31 12:21:21 +02:00
DL6ER 58ca959cf2 Add proper memory allocation checking in the message formatting subroutines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-30 20:21:26 +01:00
DL6ER bc46302717 Merge branch 'development-v6' into HEAD
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-28 09:50:50 +01:00
Dominik 91d8738a7f Merge pull request #1916 from pi-hole/update/sqlite_3.45.2
Update embedded SQLite3 to 3.45.2
2024-03-28 07:11:15 +01:00
DL6ER c82561cf4e Define a general function escape_json() similar to the already existing escape_html()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-24 11:35:43 +01:00
DL6ER 079c66c909 Use cJSON to escape hostnames possibly containing control characters
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-24 09:36:26 +01:00
DL6ER 05867e20f2 Ensure cJSON is used in a thread-safe manner and add CI tests ensuring this. Also ensure every JSON parsing is doing error checking and reduce some code duplication. No functional change.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-24 08:55:12 +01:00
DL6ER 2a2c4d188e Report the hex-code of the found invalid character
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-23 19:39:36 +01:00
Dominik 0d2fcd09ef Merge pull request #1872 from pi-hole/tweak/DBexport
Remove config option database.DBexport
2024-03-17 20:34:36 +01:00
DL6ER 75b792f589 Update embedded SQLite3 to 3.45.2
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-17 06:21:24 +01:00
DL6ER 66653ae0d5 Merge branch 'development-v6' into fix/overTimeGraphs 2024-03-16 09:05:00 +01:00
DL6ER 74eba5f605 Remove config option database.DBexport. Its implementation was broken by design as its value was always overwritten by the condition (database.maxDBdays > 0). Replace it with exactly this condition and document the behavior in the config file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-03-16 08:34:19 +01:00
Dominik 4b2a4be94c Merge pull request #1868 from pi-hole/new/useWAL
Make WAL mode for pihole-FTL.db optional
2024-03-04 19:40:29 +01:00
Dominik 7ef8e6c916 Merge pull request #1882 from pi-hole/merge-v5-6
Sync v5 -> v6
2024-03-02 18:30:31 +01:00
DL6ER d5cf5799c1 Merge branch 'development' into merge-v5-6
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-02-17 16:43:15 +01:00
DL6ER 7a919cbf59 Allow narrowing down the (ad)list type using the (optional) query parameter ?type={allow,block}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-02-13 08:42:08 +01:00
DL6ER 54fe14f1bf Include forwarded queries in /api/history and count stale-cache queries as cached queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-02-11 20:35:15 +01:00
Dominik 276ba4210f Merge pull request #1841 from pi-hole/tweak/list_id
Make adlist ID available, rename queries.regex_id -> queries.list_id
2024-02-09 20:52:35 +01:00
Dominik 34a885ab1c Merge pull request #1869 from pi-hole/update/sqlite_3.45.1
Update embedded SQLite3 to 3.45.1
2024-02-09 20:41:35 +01:00
Dominik a720330239 Apply suggestions from code review
Co-authored-by: RD WebDesign <github@rdwebdesign.com.br>
Signed-off-by: Dominik <DL6ER@users.noreply.github.com>
2024-01-30 19:14:50 +01:00
Dominik 3262d7d7c3 Merge pull request #1826 from pi-hole/fix/resolver
Improve and fix host name resolution
2024-01-30 19:11:54 +01:00
DL6ER f198a4fee4 Update embedded SQLite3 to 3.45.1
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-30 19:05:02 +01:00
DL6ER 3dff85623c Add new config option database.useWAL defaulting to true making the use of the WAL journal optional for the on-disk query database
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-29 16:02:01 +01:00
DL6ER 1bf26f0de8 Update embedded SQLite 3 to 3.45.0
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-15 20:09:08 +01:00
DL6ER 55e0e84a92 Extend 204/404 logic to /network/devices/{device_id}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-07 09:51:31 +01:00
DL6ER c0172130fd Extend 204/404 logic to /info/messages/{message_id}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-07 09:51:27 +01:00
DL6ER e5e9d11211 Fix DELETE API endpoints. They should return 204 when something was deleted and 404 is nothing was found at this resource
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-07 09:04:20 +01:00
DL6ER d77547d4d7 Ensure database analysis / MAC vendor update is running also when FTL is frequently restarted (e.g. during development or for users joining a special branch, e.g. during extended bug fixing or a beta release period)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-06 09:13:29 +01:00
DL6ER 710e0bb3b7 Merge branch 'development-v6' into tweak/even_better_database 2024-01-05 16:46:13 +01:00
DL6ER da7c3a7735 Run ANALYZE instead of PRAMGA optimize after some discussion with the SQlite3 developers. Also ensure notices and mere messages are not always logged as errors in FTL's log. Furhtermore, reduce the frequency of running ANALYZE from once per day to once per week.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-04 23:30:14 +01:00
Dominik c24c1e18c4 Merge pull request #1840 from pi-hole/fix/cache_recycling
Implement DNS cache recycling
2024-01-04 23:25:52 +01:00
DL6ER 83dfd6250c Merge branch 'development-v6' into tweak/list_id
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-01 20:43:44 +01:00
DL6ER 3d41513121 Use IN where = was used but a multi-value result may occur
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-01 08:59:33 +01:00
DL6ER 975c46817b Optimize database on close (gravity) or frequently (queries)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-01-01 08:41:37 +01:00
DL6ER e022600fef Recheck statements in forks to avoid edge-case collisions possibly leading to a crash in heavy TCP worker activity
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-27 19:08:36 +01:00
DL6ER d92e1a056c Do not check errors on ROLLBACK TRANSACTION when gravityDB_delFromTable() fails. We remove this to avoid overwriting the initial cause of the error.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-25 22:19:03 +01:00