DL6ER
e75bd26994
Improve overall memory handling by checking for failed memory allocation events at the places we need the allocated space
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2018-02-07 13:23:54 +01:00
DL6ER
ecde321632
Add custom macros for the memory-functions
...
- calloc,
- realloc,
- free, and
- strdup
These functions will not directly improve memory handling but they will log if something will go wrong *before* it actually goes wrong. This will ease debugging when user provide log snippets especially in ENOMEM (no memory available) situations.
Signed-off-by: DL6ER <dl6er@dl6er.de >
2018-02-07 12:24:12 +01:00
DL6ER
449a2fc44d
Minor optimizations and one bug fix
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2018-01-26 17:21:29 +01:00
Mark Drobnak
bef10ed9dd
Fix spelling
...
Signed-off-by: Mark Drobnak <newtoncat12@yahoo.com >
2018-01-24 09:42:27 -05:00
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