DL6ER
|
7ecd358f96
|
Allow FTL to analyze stale cache replies. They are assigned to a new query type (17)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-11-09 20:09:48 +01:00 |
Christian König
|
04133fb362
|
Log inaccesible adlists to message table
Signed-off-by: Christian König <ckoenig@posteo.de>
|
2022-08-31 23:51:25 +02:00 |
DL6ER
|
3ecb14640c
|
Major rewrite of the socket processing routines. Before, we launched a new thread for each incoming connection (more than 40 threads were never allowed). This could potentially be used to DoS FTL by opening and closing telnet sessions in very quick succession. The new behavior is to, instead, launch five (compile-time setting) threads per type (5 for telnet IPv4, 5 for telnet IPv6, and 5 for Unix socket communication) and let them handle incoming connections in a FIFO manner. If too many requests are sent to FTL at once, they will simply have to wait until they are accepted.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-07-30 18:34:43 +02:00 |
DL6ER
|
7acd0f31e4
|
Add QUERY_SPECIAL_DOMAIN as new query status
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-04-24 09:10:38 +02:00 |
DL6ER
|
7f7dc2e9fa
|
Reload blocking mode independently of incoming queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-03-01 04:27:40 +01:00 |
DL6ER
|
f350ce5729
|
Create and use link table for additional_info column
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-12-16 22:10:17 +01:00 |
DL6ER
|
4c2c59b214
|
Warn about resource shortages (15min load average exceeding number of cores, available disk space for database and log file, and available shared memory (RAM))
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-11-29 14:11:15 +01:00 |
DL6ER
|
ff34a0c84b
|
Add DNSMASQ_WARN message type whenever dnsmasq logs a warning. Also, do not flush the message table on reload (but only on restart) so that config-related (i.e. one-time) warnings are not accidentally deleted.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-11-13 10:28:59 +01:00 |
DL6ER
|
695c7a9371
|
Add PIHOLE_PTR=HOSTNAMEFQDN option
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-10-04 11:10:35 +02:00 |
DL6ER
|
2de47b83e5
|
Add PIHOLE_PTR=HOSTNAME allowing users to specify that Pi-hole should respond with the device's hostname (instead of "pi.hole") for local interface IP address PTR requests.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-09-14 11:05:02 +02:00 |
DL6ER
|
fbb03df1dc
|
Skip DNSSEC analysis if DNSSEC validation is disabled. Add new DEBUG_DNSSEC flag.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-09-02 12:28:22 +02:00 |
DL6ER
|
40141e308c
|
Add BLOB reply type
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-08-31 22:26:07 +02:00 |
DL6ER
|
d57311e56f
|
Allow users to configure how FTL reacts to queries when the gravity database is not available
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-08-18 11:41:16 +02:00 |
DL6ER
|
ce75d4acb1
|
Merge pull request #1155 from pi-hole/new/rate_limit_message
Log rate-limiting of clients to the message table
|
2021-08-08 08:20:53 +02:00 |
DL6ER
|
d0ecd748df
|
Reload blockingmode on receipt of real-time signal 0 (a.k.a. pihole restartdns reload-lists)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-08-06 21:09:56 +02:00 |
DL6ER
|
62973a082f
|
Log rate-limiting of clients to the message table
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-08-06 19:45:35 +02:00 |
DL6ER
|
2207d83ad8
|
Implement special handling of the Mozilla canary domain to disable Firefox auto-DoH
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-07-04 13:51:20 +02:00 |
DL6ER
|
2b28b1552c
|
Deprecate DEBUG_DNSMASQ_LINES (now included in DEBUG_FLAGS)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-06-27 09:56:19 +02:00 |
DL6ER
|
e0ffa346ab
|
Rename replyt ype 11 DNSKEY -> DNSSEC
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-06-22 08:51:49 +02:00 |
DL6ER
|
c1d597a475
|
Also process automatically generated queries, e.g. for DNSSEC validation
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-06-20 11:07:03 +02:00 |
DL6ER
|
b1deb8ce0e
|
Re-add IN_PROGRESS query status
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-04-07 01:59:30 +02:00 |
DL6ER
|
de7c2919c9
|
Simplify status and reply type handling in FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-04-06 20:01:47 +02:00 |
DL6ER
|
7127e2a348
|
Do not flag query as retried when we decide ourselves that it should be retried without any new query triggering this. Deprecate DEBUG_EXTBLOCKED (now covered by DEBUG_QUERIES and add DEBUG_STATUS)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-04-04 19:20:34 +02:00 |
DL6ER
|
799836c030
|
Merge branch 'development' into update/dnsmasq-v2.85
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-03-28 08:40:33 +00:00 |
DL6ER
|
cf73475291
|
Ensure shared memory strings bucket is large enough when locking. Do not resize it when we are holding the lock. Also, optimize FTL-domains size
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-03-16 14:26:40 +01:00 |
DL6ER
|
981a9d1a6e
|
Join canceled threads on exit to ensure they exited properly before we exit from the main process. This includes waiting for them to clean up their own stack memory, etc.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-03-16 13:42:49 +01:00 |
DL6ER
|
a2deb8676d
|
The preceeding commit changes the handling of retried queries. The logic is now changed so that distinct requests for repeated queries still get merged into a single ID/source port, but they now always trigger a re-try upstream. This effectively removes our IN-PROGRESS status so we remove the code handling this as well.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-02-23 08:18:55 +01:00 |
DL6ER
|
6bb025faec
|
dnsmasq-v2.83 forwards multiple queries to the same destination only once and stores the other queries as duplicates. They do receive the answer later on, however, this is usually not logged (when log-queries=extra is enabled, there will be a warning about the duplicate). This commit handles such duplicates and introduces a new reply type 14 = "already forwarded"
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-01-24 10:42:03 +01:00 |
DL6ER
|
51bbaad6ea
|
Add new query types SVCB and HTTPS
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-31 10:33:28 +01:00 |
DL6ER
|
0eade4581e
|
Add DEBUG_EXTRA flag (#994)
* Add new DEBUG_EXTRA flag used for special (temporary) debugging
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-23 15:12:24 +01:00 |
DL6ER
|
5cca201338
|
Don't iterate over all clients every minute trying to find new ones but only do this when the RESOLVE_NEW_HOSTNAMES event is set
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-23 14:38:06 +01:00 |
DL6ER
|
302abf80bf
|
Add new DEBUG_EXTRA flag used for special (temporary) debugging
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-18 07:03:30 +01:00 |
DL6ER
|
65dd6f93f6
|
Force refreshing of hostnames (according to REFRESH_HOSTNAMES config) on receipt of SIGRT4
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-17 09:46:43 +01:00 |
DL6ER
|
ef02fa5ede
|
Add REFRESH_HOSTNAMES=UNKNWON to support only refreshing recently active clients with unknown hostnames
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-17 09:41:05 +01:00 |
DL6ER
|
b833b73a4d
|
Add new REFRESH_HOSTNAMES option
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-01 14:18:44 +01:00 |
DL6ER
|
9751ae9efc
|
Do not try to resolve IPs for records without hostnames in the network_addresses table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-01 14:09:50 +01:00 |
DL6ER
|
99a07ba57a
|
Rename super-clients ---> alias-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-11-15 19:09:48 +01:00 |
DL6ER
|
6f6ae518d2
|
Merge branch 'development' into new/super-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-11-15 08:47:44 +01:00 |
DL6ER
|
5d74f1e740
|
Add new DEBUG_HELPER option. It logs any helper activity (and possible errors) to pihole-FTL.log
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-10-27 10:42:49 +01:00 |
DL6ER
|
baf7b2aa96
|
Merge pull request #901 from pi-hole/fix/query_retries
Add new query retried status
|
2020-10-22 22:37:38 +02:00 |
DL6ER
|
5341aefcae
|
Move call to resolveNetworkTableNames() from resolver into database thread
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-10-19 08:32:10 +02:00 |
DL6ER
|
e640e45ceb
|
Also handle retry events when the retry happened in the small timeframe of when we already have the upstream response but DNSSEC validation is still ongoing
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-10-18 18:55:39 +02:00 |
DL6ER
|
1c30f8755c
|
Add new status RETRIED (12) to be used for queries which were retried. If a query was retried five times before it suceeded, queries 1-4 will be marked as RETRIED and only query 5 will stay in status FORWARDED.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-10-08 16:54:10 +02:00 |
DL6ER
|
489b6f08f5
|
Merge branch 'development' into new/super-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-09-27 22:04:59 +02:00 |
DL6ER
|
196fca38ff
|
Merge branch 'development' into new/super-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-09-21 23:28:57 +02:00 |
DL6ER
|
2ee26e0811
|
Reset actions after the threads picked up the new real-time signals
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-09-21 23:06:25 +02:00 |
DL6ER
|
46ac93353e
|
Add explicit event queue to avoid possible race collisions when many signals arrive at the same time (or very very close to each other)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-09-03 20:45:59 +02:00 |
DL6ER
|
aba20cf05c
|
Read superclients from new FTL database table
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-11 21:13:36 +02:00 |
DL6ER
|
54f92dd16a
|
Merge branch 'development' into new/mac_clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-11 06:53:58 +02:00 |
DL6ER
|
d3467daf44
|
Merge branch 'development' into new/tre-regex
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-11 00:21:33 +02:00 |