Commit Graph

94 Commits

Author SHA1 Message Date
DL6ER 20ba471ccd pihole-FTL.log was renamed to FTL.log
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-07-17 12:20:28 +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 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 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 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 1b43a44d42 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-14 10:21:54 +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 3f97888c1a Ensure database permissions are correct
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-11-02 15:09:38 +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 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
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 5f4d0395a7 Abort database routines early if database is known to be broken due to database file corruption.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-09-09 13:46:01 +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 ed4c645715 Improve indentation in remaining source files.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-28 10:43:18 +02:00
DL6ER 34dd54bb90 Fix indentation of refactored log routines.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-28 10:27:30 +02:00
yubiuser b13f873353 Fix common.c
Signed-off-by: yubiuser <ckoenig@posteo.de>
2021-05-27 18:27:29 +02:00
yubiuser 39753f21c7 New logging common.c
Signed-off-by: yubiuser <ckoenig@posteo.de>
2021-05-27 13:46:53 +02:00
DL6ER e35cc1021c Use specific log routines in hooks/extract_question_flags.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-27 12:54:33 +02:00
DL6ER 07e17f805a Update tests to database version 10
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-26 11:52:21 +02:00
DL6ER 494d3def68 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-25 15:43:37 +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 77b578edf5 Merge pull request #1134 from pi-hole/fix/lock_gravityClose
Improve locking during heavy TCP forking
2021-05-22 22:26:03 +02:00
DL6ER 90764f4be2 Check if mutex is already locked before trying to lock again in forks with timeouts
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-05-10 09:51:08 +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 49094570c4 Enable compile-time flag SQLITE_ENABLE_DBPAGE_VTAB to add support for .recover shell option.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-23 17:29:10 +02:00
Petr Čech 74a6b073f1 Merge pull request #1120 from petrcech/patch-1
Fix compilation failure
2021-04-21 22:05:03 +02:00
DL6ER dfb09a35ce Fix database update to version 7 reporting error when there is none. This is not a critical bug as the issue resolves itself on the next start of FTL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-15 10:23:11 +02:00
DL6ER 1115edee18 Always set database pointer to NULL, even when closing failed
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-21 10:21:09 +00: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 d53b032342 Avoid leaking memory if dbquery() fails
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-19 10:23:52 +00:00
DL6ER eb8de5f0f2 Fix a memory leak when re-opening the databases (when forking or reloading the lists). The memory leak is on the order of a few bytes but scales quickly with the number of clients. It is caused by SQLite3 not being able to clean up behind itself when we're not finalizing and closing everything explicitly.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-16 11:37:13 +01:00
DL6ER f78b15f131 Add in-memory database for queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-26 18:26:07 +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 8e83082636 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-01-02 11:36:59 +01:00
DL6ER 7459d8235b Rename memory.c -> syscalls.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-12-09 20:21:03 +01:00
DL6ER f71aa9467b Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-12-08 22:23:05 +01:00
DL6ER 471a9e4dee Merge pull request #936 from pi-hole/tweak/disabled_database
Tweaks to disabling the FTL database
2020-11-27 06:22:35 +01:00
DL6ER 26827af625 Merge pull request #926 from pi-hole/new/mesage_dnsmasq_config_errors
Log dnsmasq config errors to pihole-FTL.log
2020-11-26 22:21:40 +01:00
DL6ER 056a70c931 Clarify that disabling the database only disables storing queries in the database. We still use the database for storing messages (such as regex syntax warnings) and alias-clients.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-25 19:53:39 +01:00
DL6ER 261d482d58 Store fatal dnsmasq message in message table so it can be used by the Pi-hole dashboard diagnosis system.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-17 22:38:32 +01:00
DL6ER 99a07ba57a Rename super-clients ---> alias-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-15 19:09:48 +01:00
DL6ER 6f6ae518d2 Merge branch 'development' into new/super-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-15 08:47:44 +01:00
DL6ER 0abcc246a5 Merge branch 'development' into new/http-ph7
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-10-26 12:38:55 +01:00
DL6ER 23d5440d39 Mark database as being available when creating a new database to avoid FTL skipping adding the tables thinking the database connection isn't ready.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-10-22 21:52:36 +02:00
DL6ER b7fe809467 Reopening the FTL database may lead to rare race-collisions in SQLite3. We avoid them by keeping the database connection open all the time.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-09-27 23:35:44 +02:00