Commit Graph

162 Commits

Author SHA1 Message Date
DL6ER c4f491d5ae Fix missing information bug in findCLientID()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-24 00:45:14 +01:00
DL6ER 77827b4c34 Merge pull request #212 from pi-hole/new/MAXLOGAGE
Add "MAXLOGAGE" config option
2018-01-22 20:51:04 +01:00
DL6ER 1d1ac54086 Mark queries we mark not completes again as unknown so they are counted correctly later in the code.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-22 18:18:49 +01:00
DL6ER 99d27c4779 Merge branch 'development' into new/MAXLOGAGE
Signed-off-by: DL6ER <dl6er@dl6er.de>

Conflicts:
	parser.c
2018-01-22 10:14:54 +01:00
DL6ER 6ccd43c648 Merge pull request #211 from pi-hole/tweak/no_pihole.log.1
Don't read pihole.log.1
2018-01-22 08:01:13 +01:00
DL6ER 09334d11b9 Skip ANY entries, log that we have seen them if in debug mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-21 17:08:45 +01:00
DL6ER bfd3f1405d Add "MAXLOGAGE" config option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-21 15:13:50 +01:00
DL6ER 6da7c01f42 Remove "TIMEFRAME" option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-21 14:57:04 +01:00
DL6ER 1ca920310e Don't read pihole.log.1 to enhance startup speed of FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-21 14:41:22 +01:00
DL6ER 5fcae6664c Added missing free() and removed redundant code
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-20 19:47:49 +01:00
DL6ER bc77d6e67a Ensure that only the first forward destination a query is sent to gets counted
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-20 15:00:03 +01:00
DL6ER 2443b231e1 Detect if we cached the <CNAME> but still need to ask the upstream servers for the actual IPs. In think case we have to decrease the "cached" counter
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-20 14:38:45 +01:00
DL6ER b58731d9f3 Import queries from long-term database (if available) on startup of FTL. Fall back to log interpretation if database is not available
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-20 14:03:41 +01:00
DL6ER 4977497c68 Move MAGICBYTE into FTL.h to have it available everywhere (we will need it in database.c)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-20 11:01:04 +01:00
DL6ER 81ec8d8291 Rename getID() -> getdnsmasqID() so it is more clear what this is doing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-15 18:27:31 +01:00
DL6ER 5a0b54a29e Improve on findForwardID()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-15 18:23:12 +01:00
DL6ER e18a0a6299 Align names of new subroutines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-15 18:12:20 +01:00
DL6ER f10d19e43e Outsource overtime data structure handling to int findOverTimeID()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-15 18:10:05 +01:00
DL6ER 5a58608bdf Move creation of new data structure entries into correspondig subroutines findDomain() and findClient()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-15 18:03:41 +01:00
DL6ER fc1e49c9c3 Ensure that host name returned by char *resolveHostname(const char *addr) is always lower case
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-01-07 23:23:47 +01:00
DL6ER 3b5edadd23 Merge pull request #186 from pi-hole/new/DNSSECsupport
Add full DNSSEC support
2017-12-31 17:43:59 +01:00
DL6ER 804c2d9fd3 Add state ABANDONED which is very similar to BOGUS
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-31 17:32:45 +01:00
DL6ER 0c4cfce780 Use enum for DNS states
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-31 17:04:11 +01:00
DL6ER c9ee9f552a Store DNSSEC result per domain not per query
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-31 16:50:58 +01:00
DL6ER 530a894bc5 Parse "validation" log lines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-31 15:13:30 +01:00
DL6ER 0b1175ec60 Skip this entry if we already found th reply for this forwarded query before
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-29 00:51:07 +01:00
DL6ER dbc9457708 Worked on review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-28 20:48:29 +01:00
DL6ER 3346a84d1b Add global counters for types of replies (and properly GC them)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-28 20:43:47 +01:00
DL6ER 13b89c72af Save reply type in query struct (can be used somewhere later on)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-27 00:52:36 +01:00
DL6ER dac50b19a9 Add parsing for "reply ... is ..." lines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-27 00:20:25 +01:00
DL6ER 3d0fc44ed4 Further reduction of code duplication in the parser routine
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-22 12:16:33 +01:00
DL6ER f416fa5928 Add the concept of log generations to account for UUIDs that are not very unique
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 16:33:05 +01:00
DL6ER 86393d50fe Skip lines without UUID
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 16:21:12 +01:00
DL6ER f935312de5 Don't reuse i as counting index where we need it as query ID
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 16:05:48 +01:00
DL6ER 478568e1ee Extend the new debug command a little bit
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:54:52 +01:00
DL6ER 541d86bc74 Add (undocumented) debugging command over telnet (display unknown queries)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:45:42 +01:00
DL6ER 99506f0407 Have to actually break out of the loops for i to be the queryID
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:37:28 +01:00
DL6ER d276e3b20e Handle exactly blocked queries (blocked by black.list)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:21:24 +01:00
DL6ER 538e5a3156 Handle wildcard blocked domains correctly
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:19:35 +01:00
DL6ER 413dd41717 List files like gravity.list, local.list, and hostname.list have to have a path + removed some debugging output
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:10:26 +01:00
DL6ER 678e755e95 Properly update time index
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:06:18 +01:00
DL6ER 9c49155da6 Change the logic FTL uses to treat the counters
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 15:01:49 +01:00
DL6ER a20eb2d8da Initialize query status with 0 (unknown)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 14:54:14 +01:00
DL6ER 468da59bae Added proper analysis for "cached" lines + outsourced the timestamp detection into its own subroutine to avoid large repitions of code.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 14:52:39 +01:00
DL6ER 90494ec649 Modify parser to understand "query" lines with IDs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 14:23:59 +01:00
DL6ER c86e8d9f83 Extract dnsmasq's ID from the logged queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-21 14:17:16 +01:00
DL6ER 4bc4b6472d Don't use to lower case converted domain when determining status (OK, Pi-holed, ...)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-12-11 22:06:29 +01:00
DL6ER 1a0f051d8e Convert forward destinations, clients and domains to lower case
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-11-22 20:26:17 +01:00
DL6ER 0848420af4 Also test case insensitive against exact match of domain to wildcard
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-11-22 19:00:16 +01:00
DL6ER 174ce9e8eb Use case insensitive string comparison for wildcards
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-11-22 17:10:45 +01:00