Commit Graph
124 Commits
Author SHA1 Message Date
DL6ER 70127edd52 Add config.dnsmasq and routines to write dnsmasq config files
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-11 20:14:46 +01:00
DL6ER e145d20d28 Rewrite the entire config-related code to allow for changing data without having to restart. Hereby, we greatly reduce code duplication in the TOML routines so we won't have to touch tme in the future when adding additional options.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-07 18:06:41 +01:00
DL6ER 225187447f Add /api/history/database documentation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-02 21:31:57 +01:00
DL6ER 3389b1f0c2 Add /api/ftl/config which can be used to retrieve the entire configuration of FTL. This endpoint only supports GET so far, however, we will add POST in the future so that configuration values can be changed through the API
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-01 18:19:36 +01:00
DL6ER a9ea62a3fc Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-12-30 15:12:14 +01:00
DL6ER 7ecd358f96 Allow FTL to analyze stale cache replies. They are assigned to a new query type (17)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-11-09 20:09:48 +01:00
DL6ER 615b8b6279 Work around long-standing bug in gcc 12.x reported in #1424
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-11-03 20:44:53 +01:00
DL6ER 4cd68092fe Merge pull request #1409 from pi-hole/tweak/white_regex_id
Store domainlist IDs for blocked/permitted queries
2022-09-11 22:12:33 +02:00
Christian König 04133fb362 Log inaccesible adlists to message table
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-31 23:51:25 +02:00
DL6ER 1ccfd9a081 Ensure the API does not try to create DNS cache records for queries that don't have one
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-08-20 15:27:38 +02:00
DL6ER ff30d4a973 Log memory access error details even when no debug flag is set
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-08-20 15:20:55 +02:00
DL6ER 15942b17ce Store domainlist IDs for blocked/permitted queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-08-19 19:44:11 +02:00
DL6ER 26ccee3f4c Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-06-29 11:12:59 +02:00
DL6ER 613014e81a Merge branch 'development' into new/query_special_domain
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-04-24 09:26:46 +02:00
DL6ER 7acd0f31e4 Add QUERY_SPECIAL_DOMAIN as new query status
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-04-24 09:10:38 +02:00
Adam Warner 671a438c4d Fix some spellings, ignore others
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-04-22 18:26:31 +01:00
DL6ER 2e479f6a8c Merge pull request #1286 from stuXORstu/tweak/domainid_perf
performance improvements for findDomainID()
2022-02-08 20:31:21 +01:00
stuXORstu 8410af394a Updates for tweak/domainid_perf to implement better hash based comparisions
Signed-off-by: stuXORstu <stuxorstu@gmail.com>
2022-02-06 12:34:08 +00:00
DL6ER c1009ba0ec Print FTL regex extension details in regex-test mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-22 13:29:15 +01:00
DL6ER 1b43a44d42 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-14 10:21:54 +01:00
DL6ER ff34a0c84b Add DNSMASQ_WARN message type whenever dnsmasq logs a warning. Also, do not flush the message table on reload (but only on restart) so that config-related (i.e. one-time) warnings are not accidentally deleted.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-11-13 10:28:59 +01:00
DL6ER c0570c51c2 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-11-02 09:53:13 +01:00
DL6ER ac0346b9e2 Improvements based on static-analysis of source code
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-09-23 20:24:57 +02:00
DL6ER 127860e195 Merge pull request #1156 from pi-hole/tweak/blocking_while_busy
Customizable locking while database is busy
2021-08-23 20:19:36 +02:00
DL6ER f73c9d2907 Remove redundant upstream->count
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-08-22 11:58:51 +02:00
DL6ER d57311e56f Allow users to configure how FTL reacts to queries when the gravity database is not available
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-08-18 11:41:16 +02:00
DL6ER 82780ecca0 Add additional checks for validity of data before trying to access it. Fixes #1151
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-07-24 12:39:48 +02:00
DL6ER 7b2770e7f6 Merge branch 'release/v5.9' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-07-13 17:04:16 +02:00
DL6ER f0f6b1de6f Further reduce memory footprint of FTL by about 12%. We don't store the char pointer of the extended DNS errors because we can get this at any time.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-07-02 18:02:21 +02:00
DL6ER a4005d8cc6 Merge branch 'development' into update/dnsmasq-v2.86
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-06-22 09:53:56 +02:00
DL6ER e1bad8504c Improve flags debugging
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-06-16 23:17:47 +02:00
DL6ER 55bf825a81 Implement TOML config file reader/writer and a converter of the pre-v6.0 config file format.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-06-10 12:11:25 +02:00
DL6ER b2ab724d83 Use specific log routines in main.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-27 11:17:35 +02:00
DL6ER 36fbc43f87 Include which debug option leads to a DEBUG output and skip logging if this debug option is not enabled
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-27 11:13:25 +02:00
DL6ER 265701f72b Use specific log routines in datastructure.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-27 10:38:03 +02:00
DL6ER ca84d5988d Add option to request query data from the on-disk database instead.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-26 11:36:47 +02:00
DL6ER 774bd0338a Store in and restore from long-term database: reply type, DNSSEC type, reply delay (if applicable), client hostname (if applicable), TTL and regex ID (if applicable)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-25 15:32:38 +02:00
DL6ER e94914be6e Add upstreams, types, status, replies, and dnssec to /api/queries/suggestions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-30 10:58:02 +02:00
DL6ER 45faefa786 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-26 14:09:50 +02:00
DL6ER f72962c1f6 Give threads a bit more time to reach a point where cancellation is safe. We cannot give them too much time because, otherwise, the proces trying to TERMinate FTL may decide to KILL it instead. We should avoid this to be able to properly cleanup.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-18 11:09:52 +02:00
DL6ER de7c2919c9 Simplify status and reply type handling in FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-06 20:01:47 +02:00
DL6ER 0795cf6209 Open individual database connections where we need them. Do not use global pointers anywhere. This may mean we have more than one connection open at the sae time. SQLite3 will take care of thread-safety.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-20 20:21:09 +00:00
DL6ER 7fdc926f32 Do not close FTL database connection when forking TCP workers
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-19 16:03:34 +00:00
DL6ER ea509ecca1 Changes for query log implementation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-02 12:55:22 +01:00
DL6ER 56f0e56b1f Merge branch 'master' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-26 17:24:41 +01:00
DL6ER 67801b8383 Resize shared memory only when locking. This ensures all shm pointers are invariant inside locks.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-21 10:00:16 +01:00
DL6ER dd773b0d2f Fix queries sent upstream being counted incorrectly when modified later on (blocked externally, blocked during CNAME inspection). This also applies to queries loaded from the database.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-13 16:57:13 +01:00
DL6ER 339749da3f Change timestamps from integer to double for (up to) nanosecond accuracy.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-03 12:37:59 +01:00
DL6ER d1269c0a8a Move /api/stats/history to /api/history/queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-01-30 16:13:31 +01:00
DL6ER f12aa58f3f Rename /api/adlists -> /api/lists
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-01-23 07:49:41 +01:00