Commit Graph

142 Commits

Author SHA1 Message Date
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
DL6ER 84e92df597 Re-parse gravity data when receiving SIGHUP
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-25 17:45:09 +02:00
DL6ER ee355d0a88 Merge pull request #148 from pi-hole/new/RESOLVE_IPv4
Add RESOLVE_IPV4 config flag
2017-10-23 08:48:57 +02:00
DL6ER e939dad5ca Add RESOLVE_IPV4 config flag
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-21 16:25:24 +02:00
DL6ER cbeb6a241a Merge pull request #146 from pi-hole/fix/newyearissue
New year's issue
2017-10-11 18:29:27 +02:00
DL6ER 06efbdf5bb Merge pull request #134 from pi-hole/new/clientsovertime
[WIP] Add clients over time data structure
2017-10-10 19:06:20 +02:00
DL6ER 1adaa78584 Merge pull request #138 from pi-hole/tweak/IPv6resolverflag
Add RESOLVEIPV6 config flag
2017-10-10 19:05:22 +02:00
DL6ER 2c47ab55e2 dnsmasq's log output is lacking the year probably as a filesize reduction measure. That is irrelevant most of the year. However, every year we come to the point where a year ends and a new year starts. Here, the lack of the year *can* become problematic as we have to assume a year when converting dates into timestamps. Before this commit, FTL always assumed the current year to be the correct choice. That is true in all cases except one: FTL is restarted on Jan 01. It would then interpret the Dec 31 data if finds during log parrsing with this (instead of last) year which would be wrong.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-10 18:22:52 +02:00
DL6ER 7838ecf8d3 Detect and skip queries older than the ones before in the same log file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-03 14:04:43 +02:00
DL6ER e5847f7ae6 Added RESOLVEIPV6 config flag + extended comments in source
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-30 15:17:13 +02:00
DL6ER 7a0ce6b2a2 Add overTime/clients data structure 2017-09-22 20:44:29 +02:00
DL6ER a16656e6d0 Remove actually too verbose new debug output
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-19 22:45:08 +02:00
DL6ER 93b0586d4f Ensure forward destinations are only count once when analyzing the "forwarded" lines, i.e. not when analyzing the "query" lines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-19 22:40:38 +02:00
DL6ER 1fc9620065 Skip analysis of forward destination if query type is [PTR]
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-19 22:22:28 +02:00
DL6ER 33b5229c5e Add memory validation before trying to access client data
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-07 19:27:50 +02:00
DL6ER 64450206fa Remove old client host name string length from counter when storing new host name
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-07 17:05:41 +02:00
DL6ER 4f1cfe1264 Add reresolveHostnames() routine
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-09-06 16:59:35 +02:00
DL6ER 306af05c96 Don't add extra zeros at the very end of the output
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-08-06 19:23:04 +02:00
DL6ER ac259b82d6 Avoid accessing invalid time stamps at the very beginning of the log parsing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-08-06 19:14:37 +02:00
DL6ER 797822e80e Ensure that data in overTime data struct in contiguous. Previously, we stored only timestamps for which we actually have found data. This may lead to uncertainties in plotting engines.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-08-06 18:38:48 +02:00
Mcat12 e9e4cd500f Merge branch 'development' into new/ignore_pi.hole 2017-08-01 09:17:14 -04:00