Commit Graph

6849 Commits

Author SHA1 Message Date
DL6ER 7bdf3d8eea Increase default recycler table size from 1024 to 65535
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-25 10:05:22 +02:00
DL6ER 3b33767a4f Print recycler fullness on receipt of SIGRT7
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-23 22:21:36 +02:00
DL6ER 3b5ca24ff1 Add a table recording recycled domains, clients and DNS cache entries to speep up insertion
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-23 21:43:43 +02:00
DL6ER 787021b1cf Try to use DNS cache ID if known to avoid searching when possible
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-21 20:05:11 +02:00
DL6ER 9d545369a5 Log last query timestamp during domain/client recycling in human-readable format (only logged if debug.gc is enabled)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-19 21:07:11 +02:00
DL6ER 3cbbb227d2 Improve cache integer hashing to acknowledge that the three integers are not equally distributed
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-19 21:00:07 +02:00
DL6ER 9a9615ad78 Set lastQuery property of CNAME child domains
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-19 19:05:49 +02:00
DL6ER 3f4bc0e2ba Only recycle domains when their last query was more than 24 hours ago.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-19 16:10:15 +02:00
DL6ER 1d99b6f988 Update domain's last query time on new queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-19 15:12:42 +02:00
DL6ER cf0f8e8dab Lookup table element removal: Zero out the memory of the removed element
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 22:31:19 +02:00
DL6ER 383d62b938 Add missing newline at end of file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 19:08:52 +02:00
DL6ER 790bb536bc Add new SEARCH_LOOKUP_HASH_COLLISIONS event
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 18:48:33 +02:00
DL6ER 97ddf8b252 Improve hashThreeInts(a,b,c)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 18:43:42 +02:00
DL6ER 051c9be0ed Search for hash collisions when receiving SIGRTMIN+7 (e.g. sudo kill -s RTMIN+7 2931163)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 18:26:55 +02:00
DL6ER 4596e518be Add hash collision searching if debug.gc is enabled
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 18:07:24 +02:00
DL6ER 3cf7baf258 Remove MEASURE_ITERATIONS code path. It makes the code unnecessarily hard to read. The expected convergence behavior has already been demonstrated
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 17:50:48 +02:00
DL6ER ebff95143e Merge branch 'development' into new/lookup_table
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 17:47:38 +02:00
Dominik 908d207bda Merge pull request #2087 from kaechele/development-nxdomain-aa-bit
Fix external block detection on NXDOMAIN replies from authoritative upstreams
2024-10-18 17:21:09 +02:00
DL6ER e2c58b9378 Merge branch 'new/lookup_table' of github.com:pi-hole/FTL into new/lookup_table 2024-10-18 14:13:48 +02:00
DL6ER 390c9bbd0c Remove debugging function print_lookup_table(). It should not be necessary to do this.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 14:13:38 +02:00
DL6ER 32f8516ec3 Use lookup table names, not identifiers
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-18 14:12:48 +02:00
Felix Kaechele a67a6df342 Fix external block detection on NXDOMAIN replies from authoritative upstreams
Only consider NXDOMAIN replies as indication of external blocking if
both the RA and AA bit are unset.

Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2024-10-17 00:41:29 -04:00
Dominik 6666bc54bf Update comment
Co-authored-by: yubiuser <github@yubiuser.dev>
Signed-off-by: Dominik <DL6ER@users.noreply.github.com>
2024-10-16 18:59:34 +02:00
DL6ER 93a06c0124 Remove unused code segments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-15 21:36:43 +02:00
DL6ER 2f8355ed25 Further code maintainance (adding "const", etc.)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-14 19:27:52 +02:00
DL6ER f64ce8fed1 Only try to adjust upstream counters if this query has been forwarded
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-14 18:55:46 +02:00
DL6ER 7b7f950cce CMake: print comment when appending sha256sum to pihole-FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-13 21:47:45 +02:00
yubiuser 3c7b356ec3 Merge pull request #2083 from pi-hole/tweak/db
Amend help text to database.maxDBdays
2024-10-13 17:59:09 +02:00
yubiuser a5cfba2d3d Amend help text to database.maxDBdays
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-10-13 11:46:25 +02:00
DL6ER 8f4d8622ae Finish lookup table implementation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-12 22:21:11 +02:00
DL6ER 33645777e9 Add basic lookup table implementation and create new SHM objects for them. Also simplify code by changing index counters to unsigned types.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-12 22:01:57 +02:00
DL6ER 69117f6353 Print computed SHA256 checksum to console during build
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-12 11:13:11 +02:00
DL6ER e608dfc573 Implement cache hashing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-12 11:09:14 +02:00
DL6ER 842b234174 Implement client hashing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-12 11:03:21 +02:00
Dominik 8504bb9bf2 Merge pull request #2075 from pi-hole/update/rapidoc
Update rapidoc and highlight
2024-10-12 10:23:28 +02:00
Dominik 7ea73f5353 Merge pull request #2082 from pi-hole/fix/ubuntu_24_04_1
Fix compilation support on Ubuntu 24.04.1 LTS
2024-10-11 11:40:19 +02:00
DL6ER c43a81c703 Fix compilation support on Ubuntu 24.04.1 LTS
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-11 10:27:51 +02:00
Dominik 629911ec4c Merge pull request #2081 from pi-hole/tweak/vector_safety
Do not try to access vector items if (re)allocation failed
2024-10-11 08:42:37 +02:00
Dominik e7f85ada37 Merge pull request #2080 from pi-hole/tweak/database_debug_msg
Print size of database / count of removed rows only in debug mode
2024-10-10 21:16:17 +02:00
DL6ER c4b5b80570 Print size of database / count of removed rows only in debug mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-10 19:56:52 +02:00
DL6ER f5811116db Do not try to access vector items if (re)allocation failed
Signed-off-by: DL6ER <dl6er@dl6er.de>
2024-10-10 15:28:37 +02:00
Dominik e558f7985f Merge pull request #2076 from pi-hole/tweak/qps
Improve QPS calculation
2024-10-05 18:06:26 +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
yubiuser 6fb223ebf3 Update rapidoc
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-10-01 20:03:33 +02:00
yubiuser 4144408074 Update highlight
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-10-01 20:03:20 +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