Commit Graph

415 Commits

Author SHA1 Message Date
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
DL6ER bea9630882 Apply suggestions from code review
Co-authored-by: yubiuser <ckoenig@posteo.de>
Signed-off-by: DL6ER <DL6ER@users.noreply.github.com>
2022-09-11 11:31:08 +02:00
Christian König 2a4d10e9f7 Apply reviewer's suggestions
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-06 19:54:07 +02:00
Christian König 5b20a7bc83 Only check enabled adlists
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-01 08:34:23 +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 15942b17ce Store domainlist IDs for blocked/permitted queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-08-19 19:44:11 +02:00
Adam Warner 35bd9a63d1 [skip ci] a couple of spelling changes
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-08-17 21:51:37 +01:00
DL6ER e9d4de40f6 Update SQLite3 from 3.39.0 to 3.39.2
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-07-25 15:34:48 +02:00
DL6ER dcc2e5d5a3 Change default log file path to /var/log/pihole/FTL.log
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-07-03 18:36:39 +02:00
DL6ER 0890d35f0f Updat embedded SQLite3 to version 3.39.0
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-06-29 20:00:01 +02:00
DL6ER add24af04f Update SQLite to v3.38.5
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-05-19 09:48:14 +02:00
DL6ER 0cf7245f56 Update SQLite to v3.38.3
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-05-01 10:01:50 +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
yubiuser 4f6f6caa41 Merge pull request #1322 from pi-hole/fix/negative_replies
Fix query counts
2022-04-02 20:20:19 +02:00
DL6ER 77c5665d64 Update SQLite to v3.38.2
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-03-27 10:30:00 +02:00
DL6ER 8734b60a53 Ensure we subtract from the old reply counter when reply type changes
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-03-26 13:24:08 +01:00
DL6ER fbe28c9f27 Update SQLite to v3.38.1
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-03-20 09:16:42 +01:00
DL6ER 213b7eb7f4 Adjust query type counters when importing from the database
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-03-18 13:05:19 +01:00
DL6ER 7f7dc2e9fa Reload blocking mode independently of incoming queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-03-01 04:27:40 +01:00
DL6ER 8ff5b0a47e Update SQLite to v3.38.0
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-02-23 06:11:06 +01:00
DL6ER 2c91e487fd Store NULL in the REPLY_TIME column when the reply time is not available
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-02-05 10:11:20 +01:00
DL6ER 9a257a9bb1 Set response_calculated to true when imported reply_time is not 0.0
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-02-01 21:11:55 +01:00
DL6ER 0b7cfa99d9 Reopen database after schema editing to reload the schema
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-19 19:38:55 +01:00
DL6ER 4994e59282 Add new reply, reply_time, and dnssec columns to the query_storage table and queries view
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-19 19:38:44 +01:00
DL6ER 48e7bd8247 Merge pull request #1255 from pi-hole/new/optimize-queries
Optimize queries table
2022-01-16 22:05:05 +01:00
DL6ER feac92edff Use query_storage instead of queries when removing old queries and when couting them
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-09 22:18:56 +01:00
DL6ER 4db9740508 Update SQLite engine from 3.37.1 to 3.37.2
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-09 13:04:32 +01:00
DL6ER 8cdc8ed48a Merge branch 'development' into new/optimize-queries 2022-01-05 20:50:27 +01:00
DL6ER 912ce90e47 Update SQLite to v3.37.1
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-02 15:19:28 +01:00
DL6ER 4516ee22b0 Do not use AUTOINCREMENT as it will add gaps between the IDs even if nothing is actually INSERTed as we chose the OR IGNORE path.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-16 22:30:30 +01:00
DL6ER f350ce5729 Create and use link table for additional_info column
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-16 22:10:17 +01:00
DL6ER d134a4943a Use the SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner that the prepared statement will be retained for a long time and probably reused many times. Without this flag, SQLite3 assumes that the prepared statement will be used just once or at most a few times and then destroyed relatively soon. The current implementation acts on this hint by avoiding the use of [lookaside memory] so as not to deplete the limited store of lookaside memory. Also, update the tests for the expected database schema after renaming the table and adding the new view.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-16 12:28:19 +01:00
DL6ER beae1b3bf5 Use table name query_storage
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-16 11:52:08 +01:00
DL6ER 1cd6f04fb6 Utilize new queries_storage and link-tables for the queries table
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-16 10:58:12 +01:00
DL6ER 6c82a9c4f8 Optimize queries table by separating domain, client, and forward strings into a linking table and referencing them by an ID. This also allows storing (IP,hostname) pair for clients.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-16 10:58:01 +01:00
DL6ER 5b9eefd120 Merge pull request #1251 from pi-hole/update/sqlite_3.37.0
Update SQLite engine from 3.36.0 to 3.37.0
2021-12-02 06:59:05 +01:00
DL6ER db5e13d361 Update SQLite engine from 3.36.0 to 3.37.0
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-01 19:40:36 +01:00
DL6ER 4c2c59b214 Warn about resource shortages (15min load average exceeding number of cores, available disk space for database and log file, and available shared memory (RAM))
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-11-29 14:11:15 +01:00
DL6ER 028989bcae Reduce code duplication by using labels + ensure we do not run dbclose() multiple times on database issues (e.g., when database is locked)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-11-14 13:01:39 +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
Christian König 0fde381a76 Print FTL version when calling the built in sqlite function only in interactive mode
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-24 20:42:51 +02:00
DL6ER c5e05a5880 Improve response time calculation. We are interested in the time it takes until we have everything we need to serve content. Typically, this is the first reply (either from cache or from upstream), but sometimes it is a later reply (e.g. when content can only partially be served from cache and needs extra forwarding).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-10-14 20:57:24 +02:00
DL6ER d317a3f190 Merge branch 'development' into tweak/rate_limiting
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-10-03 14:53:07 +02:00
DL6ER 5ab7bf7797 Merge pull request #1162 from yubiuser/db_permissions
Change database permission to 664
2021-09-26 09:01:52 +02:00
DL6ER 5bd6b0910a Fix indentation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-09-26 08:55:35 +02:00
yubiuser 8e363468b2 Set database permissions everytime the database is initialized
Signed-off-by: yubiuser <ckoenig@posteo.de>
2021-09-26 08:52:58 +02:00
yubiuser 6c7838ef3a Change database permission to 664
Signed-off-by: yubiuser <ckoenig@posteo.de>
2021-09-26 08:52:42 +02:00