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 |
|
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 |
|