Commit Graph
55 Commits
Author SHA1 Message Date
Mcat12 5937391020 Merge branch 'development' into new/IP-NODATA-AAAA-blocking
# Conflicts:
#	FTL.h
2018-05-27 11:17:30 -04:00
DL6ER 77e85ad144 Re-parse regex.list on receive of SIGHUP and use possibly changed blocking mode for regex blocked domains
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-27 11:40:40 +02:00
DL6ER d3e9365f53 Remove obsolete readGravityFiles() funtion
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-26 19:24:34 +02:00
DL6ER a5f31c2d67 Pass has_IPv4/6 as bool (and not bool*) to add_blocked_domain_cache()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-26 12:08:28 +02:00
DL6ER 556993ca5a Replace while() continue; by if() continue; for the sake of readability (there really is no need for a while() loop being used here)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-26 12:01:44 +02:00
DL6ER a1cb443ce6 Add blocking mode IP-NODATA-AAAA
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-20 12:54:08 +02:00
DL6ER b6dd8ec47f Implement reading regex from file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-19 17:21:56 +02:00
DL6ER a783798575 Simplify cache handling routines (remove all code duplication) + ensure that regex blocked entries follow the user defined blocking mode (previously, they always returned NXDOMAIN)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-19 16:58:41 +02:00
DL6ER db7dbda9da Use status == QUERY_WILDCARD to identify regex blocked queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-19 16:37:25 +02:00
DL6ER 79fb026278 Improve blocking regex implementation (block both A and AAAA requests, not only A)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-19 16:32:52 +02:00
DL6ER decef2e5fd Remove special support for old type of wildcard lists as dnsmasq config file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-19 14:46:21 +02:00
DL6ER fd57e9f601 Add new BLOCKINGMODE "NULL" responding with "0.0.0.0" and "::" to A and AAAA queries, respectively
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-13 12:16:26 +02:00
DL6ER 50e4f57f08 Re-parse BLOCKINGMODE on receive of SIGHUP for being able to change it without a full restart of pihole-FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-13 12:04:42 +02:00
DL6ER 599e27b324 Revert "No forking" 2018-05-12 14:39:44 +02:00
DL6ER 64fc0c3e59 Merge pull request #274 from pi-hole/no-initial-forking
No forking
2018-05-12 13:12:50 +02:00
DL6ER cfece8d9f9 Remove debug statement
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-10 14:38:35 +02:00
DL6ER f6e4ec4230 Add blocked domains counter for individual clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-10 14:22:58 +02:00
DL6ER 0714bd6ed1 Don't go into background, just let this be handled by init (sys-V, systemd)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-08 18:02:18 +02:00
DL6ER ff35a43b12 Analyze incoming TCP queries. There have been no hooks here as TCP queries are handled in a different part of the resolver (as the resolver forks itself for handling TCP queries to not block)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-05-04 16:41:29 +02:00
DL6ER 6cba8e17fb Fix IPv6 blocking and blocking reason detection
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-30 17:41:23 +02:00
DL6ER 76924b9425 Merge pull request #260 from pi-hole/new/regex
Add regex blocking support to FTLDNS
2018-04-29 17:57:09 +02:00
DL6ER 29ea841e19 Optimize FTL_dnssec()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-29 11:25:56 +02:00
DL6ER e33f97d49b Optimzie FTL_cache()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-29 11:23:43 +02:00
DL6ER 8d3ad5e34f Optimize FTL_reply()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-29 11:21:19 +02:00
DL6ER ab8a7e3972 Optimizations for FTL_forwarded()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-29 11:18:06 +02:00
DL6ER dd84694a6c Optimize FTL_new_query(). Mostly added new comments, but also rearranged some stuff to be only computed when we need them (we might otherwise compute them although we don't actually need this value as we're skipping this query anyhow due to a set filter)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-29 11:09:03 +02:00
DL6ER c7453d5343 Call memory_check() only when needed (before creating a new domain/client record)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-29 11:05:20 +02:00
DL6ER 2f6e24045f Add regex blocking support
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-24 17:22:17 +02:00
DL6ER 2690dae551 Only add host records for which we found a valid IP address. Don't require a valid IP address for NXDOMAIN blocking...
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-22 19:03:33 +02:00
DL6ER 9c96776200 Add fallback mode for HOSTS format: If gravity.list or black.list are still in HOSTS format, we accept this, print a message that the user should run pihole -g and still import the lists as regular hosts lists. Note that BLOCKINGMODE=NXDOMAIN won't work with HOSTS lists import.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-22 12:28:06 +02:00
DL6ER 6d82f29f09 Add BLOCKINGMODE=IP|NXDOMAIN config flag for selecting if FTLDNS should reply with IPv4/IPv6 addresses (need 2 cache slots per domain) or with NXDOMAIN (need 1 cache slot per domain)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-22 12:08:44 +02:00
DL6ER d50494b8f4 Get rid of numBlocked file, FTLDNS can now determine number of domains thanks to the new lists format
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-21 23:57:25 +02:00
DL6ER 7aeee8ed65 Clarify comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-21 23:50:23 +02:00
DL6ER 821e64e514 Accept gravity.list and black.list in simple domain list format. Speeds up list importing by about 2x
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-21 23:26:44 +02:00
DL6ER b133b657ac Small bugfix: Don't log reverse lookup results as unknown replies in non-debug mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-14 13:09:07 +02:00
DL6ER efbe8025d0 Implement IGNORE_LOCALHOST config option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-11 18:50:36 +02:00
DL6ER 3f92f3a543 Re-implement improved exception for queried CNAME requiring forwarding of A/AAAA record. Slighly improve GC subroutine
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-08 22:52:24 +02:00
DL6ER b2840f49a0 Move struct timeval conversion into its own function to reduce clones
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-07 12:09:40 +02:00
DL6ER 9f940d82e0 Reduce memory footprint by removing unnecessry TTL value
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-06 23:52:07 +02:00
DL6ER eba63be23b Print unknown reply/cache entries also when not running in debug mode for beta testing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-06 23:42:46 +02:00
DL6ER 53a5c2cdc5 Integrate storing of response time in void save_reply_type()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-06 23:41:46 +02:00
DL6ER dfc32a6204 Move reply type and dnssec status to per-query (not per-domain) for more accurate data at negligible additional costs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-06 23:32:32 +02:00
DL6ER 1d6a339969 Fix bug that disabled "AAAA_QUERY_ANALYSIS" config option. Fixes #250
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-05 19:40:40 +02:00
DL6ER be5e8fe63e Measure and store response time for individual queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-04-01 16:11:55 +02:00
DL6ER 1c191dd2c2 Read number of blocked domains from preEventHorizon. Solves #246
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-03-30 19:54:17 +02:00
DL6ER f87ce3f466 Print "unknown ..." message only if in debug mode. Reverse lookup is not an unknown reply (although we ignore PTR queries).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-03-13 21:43:07 +01:00
DL6ER e3f9685a8f Handle correctly that config is only read at initialization, whereas hosts files are read also on reload (SIGHUP)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-03-04 23:26:07 +01:00
DL6ER a972c901a0 Update FTL to analyze blocking via config file (NXDOMAIN blocking)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-03-04 21:43:29 +01:00
DL6ER a076cbb49f Queries answered from config with NXDOMAIN should be counted as blocked
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-02-28 00:03:26 +01:00
DL6ER 2ae4b52bb3 A number of improvements:
- use "extern" for the glibal variable specifications in the header files (and clarif where the variables are actually defined)
- record number of failed requests to forward destinations
- Add dnsmasq_interface.h to DTLDEPS
- Add new request type ">cacheinfo" to get information about cache usage in the resolver

Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-02-26 17:24:09 +01:00