Commit Graph
681 Commits
Author SHA1 Message Date
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 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 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
DL6ER a5d1d4477b Move debug messages meant for debug.status from debug.gc over
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-24 11:42:04 +01:00
DL6ER bb23ef090a DNS cache entries were never recycled, possibly causing incorrect blocking of certain domain/client/type combinations
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-24 10:37:20 +01:00
DL6ER 96c2f6cb21 Greatly simplify memory db initialization by defining normal sync mode globally as compile-time option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-23 12:23:14 +01:00
DL6ER cbec12a657 Set disk.synchronous=NORMAL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-23 12:19:13 +01:00
DL6ER 2665da72f4 Remove SQLite3 URI feature - we do not need it any longer. It is not part of the regular SQLite3 shell builds.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-23 12:19:13 +01:00
DL6ER f683244444 Attach disk database once when initializing memory database and don't bother detaching it - it will finally be detached when FTL terminates
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-23 12:19:13 +01:00
DL6ER 6c921e75ae Use WAL, remove (and strip) SQLite3 shared-cache support
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-23 12:19:11 +01:00
Dominik 1a0921cd48 Merge pull request #1810 from pi-hole/new/batchDelete
Implement special POST :batchDelete callbacks
2023-12-15 20:19:09 +01:00
DL6ER 34cfc9c465 Remove undocumented audit feature
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-08 07:53:49 +01:00
DL6ER 835fcde327 Condition 'hwaddr!=NULL' is always true and reduce amount of allocated memory for synthesized MAC addresses from 324 to 18 bytes
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-08 07:53:49 +01:00
DL6ER a455a40d01 Reduce variable scope
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-08 07:53:49 +01:00
DL6ER d5f68f0022 sscanf() without field width limits can crash with huge input data
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-08 07:53:49 +01:00
DL6ER 0ef89ab3eb Implement special POST :batchDelete callbacks for /api/groups, /api/domains/, /api/clients, and /api/lists
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-12-06 23:27:20 +01:00
DL6ER e0714f445d Merge pull request #1694 from pi-hole/new/recycle
Recycle memory to reduce footprint
2023-11-30 20:52:52 +01:00
DL6ER 215a683069 Merge branch 'development-v6' into new/recycle 2023-11-29 21:57:10 +01:00
yubiuser d52174ff40 Merge pull request #1792 from pi-hole/fix/adlist_link
Fix link from message table to list table
2023-11-28 22:30:13 +01:00
Christian König d982b46052 Fix link from message table to list table
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-11-28 21:05:54 +01:00
DL6ER 34e44f2453 Set imported database query IDs to counter value and fix GC pointer magic (update comment to explain better what happens here)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-28 15:44:58 +01:00
DL6ER 4f0800b854 Update embedded SQLite3 engine to version 3.44.2
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-27 14:07:26 +01:00
DL6ER 399ca11038 Add extra debug statements
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-26 21:44:55 +01:00
DL6ER d3826c9743 Remove obsolete overTime structure stored for each upstream. This reduces memory consumption per upstream destination from 640 to 56 bytes each
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-26 10:48:59 +01:00
DL6ER b2884505ab Merge branch 'development-v6' into new/recycle 2023-11-26 10:41:42 +01:00
DL6ER 3ea9ce2bbc Update embedded SQLite3 engine to version 3.44.1
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-22 21:47:17 +01:00
Christian König c341b73d0f Only log number of stored sessions not total number
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-11-22 13:50:34 +01:00
DL6ERandyubiuser 247a3c4669 Apply suggestions from code review
Co-authored-by: yubiuser <ckoenig@posteo.de>
Signed-off-by: DL6ER <DL6ER@users.noreply.github.com>
2023-11-21 22:37:10 +01:00
DL6ER 1cde68bce7 Add ability to get most recent client hostname from network table if specified by MAC address
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-21 14:11:40 +01:00
DL6ER 1230165baa Merge pull request #1767 from pi-hole/fix/config_crash
Fix possible crash when importing legacy DHCP config
2023-11-21 13:37:33 +01:00
Christian König f4e830ca17 Only log how many sessions have been restored
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-11-21 12:41:18 +01:00
DL6ER d6f30b3931 Install safe-guards for string-related functions to not crash when accidentially supplied with a NULL pointer
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-20 22:38:33 +01:00
DL6ER ad5d078193 The group table's column is called "description" but we expose it in the API as "comment". Adjust internally used SQL to translate between them (this was already implemented and working for comment editing)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-19 07:46:58 +01:00
DL6ER ea5ff0df7b Merge pull request #1735 from pi-hole/fix/group_errors
Fix domain modification
2023-11-12 13:59:33 +01:00
DL6ER 9f71bc4814 Merge pull request #1733 from pi-hole/new/num_sessions
Make number of maximum concurrent API sessions adjustable
2023-11-11 20:49:59 +01:00
DL6ER 5779db9ca5 Warn if NULL is bound to a message row even when we actually want to bind a blob
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-10 21:09:31 +01:00
DL6ER 1bcb7541dc Add missing database type definition for CERTIFICATE_DOMAIN_MISMATCH_MESSAGE
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-10 21:06:19 +01:00
DL6ER ec064d9c6e Use correct type when manipulating domainlist entries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-10 20:47:33 +01:00
DL6ER 84ba6da404 max_sessions can only change across FTL restarts - not while it is running
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-10 20:05:06 +01:00
DL6ER 6498e6bf93 Add logging to the Pi-hole diagnosis system when we detect a certificate domain mismatch
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-09 16:00:26 +01:00
DL6ER c450d488a4 Fix domain modification. The UNIQUE key in the domainlist table is the combination of domain+type, not domain alone so you can add the same domain, e.g. once as allowed and once as denied entries and assign them to different clients using appropriate groups
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-05 20:59:55 +02:00
DL6ER 9345841b10 Fix error message shown when gravityDB_addToTable() fails
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-05 20:58:19 +02:00
DL6ER add7ceadda Make number of maximum concurrent API sessions adjustable
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-11-04 17:00:59 +01:00