Commit Graph

2040 Commits

Author SHA1 Message Date
DL6ER fdff462fa4 Add support for regex filters for whitelisting.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 22:46:28 +02:00
Mark Drobnak ac1018aa2a Merge pull request #610 from pi-hole/tweak/database_error_checking
Database error checking
2019-07-07 15:04:35 -04:00
DL6ER 867e466e08 Added more comments to dnsmasq-interface.c. Now almost every line is commented.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 13:19:44 +02:00
DL6ER e30df589ce Remove obsolete comment.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:10:43 +02:00
DL6ER 5c75fc3e67 Move even more definitions from FTL.h into the respective headers.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:09:18 +02:00
DL6ER 812743c687 The boolean database should not be set to true at the end of delete_old_queries_in_DB(). The function can in any way not be called when database == false as this is an exit criterion for the database thread.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 09:48:41 +02:00
DL6ER 4a9503cbf7 Move checking of database parameter MAXDBDAYS into db_init() to ensure we set database to false.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 09:45:12 +02:00
DL6ER 71d9caad43 No need to use heap space for a constant expression.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-06 17:45:05 +02:00
DL6ER 444255b688 Do not assume the database is not available before we actually hit an error.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-06 17:19:41 +02:00
DL6ER 799e3b4230 Reduce three-fold logging of SQL errors to logging them only once. We prefer to handle the logging through the SQLite3 error callback as this ensures it cannot be missed.
Previously:
[2019-07-06 17:00:55.526 32339] SQLite3 message: statement aborts at 36: [CREATE UNIQUE INDEX network_hwaddr_idx ON network(hwaddr)] attempt to write a readonly database (8)
[2019-07-06 17:00:55.526 32339] dbquery(CREATE UNIQUE INDEX network_hwaddr_idx ON network(hwaddr)) - SQL error (8): attempt to write a readonly database
[2019-07-06 17:00:55.526 32339] check_database(8): Disabling database connection due to error
[2019-07-06 17:00:55.526 32339] unify_hwaddr(): "CREATE UNIQUE INDEX network_hwaddr_idx ON network(hwaddr)" failed!

Now:
[2019-07-06 17:00:55.526 32339] SQLite3 message: statement aborts at 36: [CREATE UNIQUE INDEX network_hwaddr_idx ON network(hwaddr)] attempt to write a readonly database (8)
[2019-07-06 17:00:55.526 32339] check_database(8): Disabling database connection due to error
[2019-07-06 17:00:55.526 32339] ERROR: unify_hwaddr() failed!

Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-06 17:10:20 +02:00
DL6ER 8baf8e6022 Improve error handling and logging in database/common.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-06 17:03:23 +02:00
DL6ER 9f127e9838 Fix incorrect INSERT statement in gravity.db test data.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 16:44:35 +02:00
DL6ER e13e39ad42 Union FTLFileNamesStruct and logFileNamesStruct and define them in config{.c/.h}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 16:36:06 +02:00
DL6ER a4e50c3a53 The macvendor script has moved into subdirectory tools.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:16:15 +02:00
DL6ER 3ce04f0b89 Define timers in timers.h.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:15:04 +02:00
DL6ER 25161c1c7d Move blocking status detection from files.c to setupVars.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:13:38 +02:00
DL6ER 40a75c25fb Remove extra space.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:09:50 +02:00
DL6ER 29dd190562 Move definition of config struct into src/config.h.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:08:14 +02:00
DL6ER ee671a11e1 Also enforce recompilation on change of headers in the subdirectories.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:06:40 +02:00
DL6ER 8280f454a8 Change type of get_FTL_db_filesize() from double to long int.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:05:32 +02:00
DL6ER 569925218c Make variables in Makefile more readable by inserting underscores.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:03:38 +02:00
DL6ER ad27f6f21b Merge branch 'development' into new/modularize_headers 2019-07-05 11:58:56 +02:00
Mark Drobnak eba1dcf6f4 Merge pull request #598 from pi-hole/tests/static_binary
Tests: Dependence on shared libraries and a specific interpreter
2019-07-04 18:11:22 -04:00
Mark Drobnak ef04fb3e00 Merge pull request #602 from pi-hole/tests/new/gravity.db_domain_groups
Implement changes due to core/#2803
2019-07-04 16:53:09 -04:00
DL6ER 62edeb2a5a Add a blacklisted domain that is disabled through a group association.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 22:19:56 +02:00
DL6ER a7f3f424aa Update gravity.db.sql to reflect the state of the merged core PR
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 22:08:25 +02:00
DL6ER 104ea1b86a Move database thread into dedicated module.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 16:52:17 +02:00
DL6ER 6b2f22f9f7 Move API modules (api, request, socket, msgpack) into their own subdirectory src/api.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 16:38:45 +02:00
DL6ER 0d4f08dbd3 Clarify test description
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 16:14:10 +02:00
DL6ER a2961d14a4 Merge branch 'development' into new/modularize_headers
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 12:21:51 +02:00
DL6ER 892da71cd9 Merge pull request #591 from pi-hole/new/networktable_ip_neigh
Add IPv6 support for network table
2019-07-04 11:43:12 +02:00
DL6ER 1afb43c1ea Merge branch 'development' into new/networktable_ip_neigh
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-04 07:57:35 +02:00
DL6ER 26de086840 Re-enable foreign key enforcement at the end of the upgrade transaction.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-03 11:46:14 +02:00
Mark Drobnak 5b9ed18e40 Merge pull request #604 from pi-hole/tweak/save_DB_do_not_copy_domains
Change SQLITE_TRANSIENT to SQLITE_STATIC
2019-07-02 22:41:35 -04:00
DL6ER e365364f72 Move all source files into new subdirectory "src". Put compiled objects into new subdirectory "build".
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-02 00:18:56 +02:00
DL6ER 000312422f Fix wrong standard filename for FTL\'s database.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 20:08:11 +02:00
DL6ER 6b08566b0a Rename object dir for dnsmasq files in Makefile.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 20:02:23 +02:00
DL6ER 5a41241440 Remove dependency of api.c on the huge header database/sqlite3.h and fix clean target.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 19:55:18 +02:00
DL6ER 4556b97461 Readd version.h as explicit dependency in order to have it created on-the-fly.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 19:50:16 +02:00
DL6ER 54547b9e71 Use local sqlite3.h
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 19:48:16 +02:00
DL6ER 5eaf184bde gravity.c has been renamed to gravity-db.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 19:46:21 +02:00
DL6ER 8f28445e7c Change SQLITE_TRANSIENT to SQLITE_STATIC
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 14:52:47 +02:00
DL6ER 49a009c9de Rename database/{gravity.* => gravity-db.*}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 13:55:03 +02:00
DL6ER b6d4e5e9d8 Simplify get_number_of_queries_in_DB().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 13:53:24 +02:00
DL6ER 67e684b224 Rename query reading/saving routines for consistency.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 13:48:40 +02:00
DL6ER 4db159d4fb Move query table related routines into a new module database/query-table.o
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 13:46:39 +02:00
DL6ER 57116ae526 Rename database/database.c => database/common.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 13:13:13 +02:00
DL6ER 2115cdceec Move database modules into common subdirectory
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 13:10:12 +02:00
DL6ER 1d0dc1d404 Ignore any database files that might be present in the repository.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 12:55:46 +02:00
DL6ER 55ed61fbea Move global variable declarations into the suitable header files as far as this is applicable (we do not do it for the thread pointers as this complicates linking dependencies).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 12:51:41 +02:00