Commit Graph

47 Commits

Author SHA1 Message Date
DL6ER 1b15885c0f
Check struct sizes on the CI (in code) instead of during compile time (using the preprocessor)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-04-18 10:39:43 +02:00
DL6ER 4a22180348
Add new FORCE_IP4 and FORCE_IP6 config options
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-30 12:24:58 +01:00
DL6ER 6d7bbcb91c
Add options CHECK_LOAD, CHECK_SHMEM, and CHECK_DISK to control checking levels and disabling warnings.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-11-29 15:53:41 +01:00
DL6ER aaff4b6092
Wrap parse_FTLconf() in mutex lock to prevent rare multi-thread race-collisions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-10-17 10:33:53 +02:00
DL6ER 85a2f45b4c
Add special handling of iCloud Private Relay domains
Signed-off-by: DL6ER <dl6er@dl6er.de>

Rename option to BLOCK_ICLOUD_PR

Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-09-26 10:21:32 +02:00
DL6ER 0675670b73
Make TTL served for blocked queries independent from local-tll setting in dnsmasq's config.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-09-24 11:27:03 +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 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 710dd6fcc0
Add config option ADDR2LINE=true|false
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-07-22 20:42:09 +02:00
DL6ER 67d0f2ba97
Add config option PIHOLE_PTR to control the new auto-PTR behavior.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-07-08 18:39:02 +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 cedc31214b
Add option to suppress automatically generated DNSSEC queries from being analyzed and shown (legacy behavior)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-06-20 12:23:40 +02:00
DL6ER 7524f307b2
Merge pull request #965 from pi-hole/new/auto_IP_blocking_mode
Automate IP blocking mode
2021-04-10 20:51:04 +02:00
DL6ER 18d28db2b8
Add config options REPLY_ADDR4 and REPLY_ADDR6 to overwrite automatic IP detection in IP blocking mode.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-10 10:20:38 +02:00
DL6ER 5a94b282b6
Improve error reporting in network table routines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-28 08:06:19 +00:00
DL6ER bf52156ae0
Add per-client rate-limiting. The default limit is 1000 queries in 60 seconds.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-03 16:55:07 +01:00
DL6ER 50d182950a
Statically assert struct sizes are what we expect. This prevents us from increasing the memory needs unintentionally (e.g. due to sub-optimal padding)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-01-18 14:29:03 +01:00
DL6ER deae66ba58
Optimize datastructures using bitfields and item re-arrangement (to minimize padding). This reduces the size of query, client, and regex records by 8 bytes per item. Note that this optimization was done on x86_64 and may not apply for other architectures (32bit architectures already used less padding).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-01-17 13:06:16 +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 b7fe809467
Reopening the FTL database may lead to rare race-collisions in SQLite3. We avoid them by keeping the database connection open all the time.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-09-27 23:35:44 +02:00
DL6ER 95608cfd31
Merge pull request #762 from pi-hole/new/mac_clients
Allow defining clients by their MAC address
2020-08-25 05:00:59 +02:00
DL6ER d55d5b14bb
Explicitly case time_t to (long long) before printing to address the musl-decision to make time_t 64 bit on 32 bit machines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-12 22:03:24 +02:00
DL6ER 668ee9f83e
Merge branch 'development' into new/mac_clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-11 00:18:54 +02:00
DL6ER 238a1e40ae
Analyse ECS information only if EDNS0_ECS is enabled (enabled by default)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00
DL6ER c74b6c5ee8
Add support for ECS subnet parsing in FTL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:56 +02:00
DL6ER 52af8e135b
Merge branch 'release/v5.2' into new/mac_clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-07-29 12:21:12 +02:00
Dan Schaper 98b5e33678 Revert "Remove portfile not used by the current web interface any longer."
This reverts commit af9107a338.
2020-07-16 11:02:32 -07:00
DL6ER ee578627a9
Remove privacy level 4. Systems currently running level 4 will automatically pick up the highest available level (which is now 3). Also tidy up enums into a dedicated file.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-07-08 23:48:05 +02:00
DL6ER af9107a338 Remove portfile not used by the current web interface any longer.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-27 13:36:38 +02:00
DL6ER f18f758808
Merge branch 'development' into new/mac_clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-05 14:23:36 +02:00
DL6ER eb4b35e7f1
Add NAMES_FROM_NETDB option.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-24 22:39:33 +02:00
DL6ER 9dd8ed705e Show client details when setting DEBUG_CLIENTS=true. We separate this from DEBUG_DATABASE for the sake of simplicity as the user may not be interested in the noise the database is generating elsewhere.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-18 21:05:28 +02:00
DL6ER edf15d86e3
Add MAXNETAGE config option to allow user-defined (instead of hard-coded) maximum age of IP addresses and host names in the network table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-14 18:44:10 +02:00
DL6ER fe976334c0
Merge pull request #732 from pi-hole/tweak/regex_caseinsensitive
Make regex matching case-insensitive by default
2020-04-28 21:04:52 +02:00
DL6ER 1bdb5ce677 Automatically block _esni.* subdomains of blocked domains. This can be disabled by setting BLOCK_ESNI=false in pihole-FTL.conf
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-21 14:10:33 +02:00
DL6ER bcb4789538 Make regex matching case-insensitive by default and remove config option to control this.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-20 09:40:29 +02:00
DL6ER b7a6fa9bfd Modify FTL's internal resolver to work in two phases: First, try to obtain a host name by using the internal resolver (i.e., FTL). In a second step, when FTL didn't know the answer, ask the resolvers as configured by resolv.conf. We've seen that the latter is necessary to get proper name resolution in docker environments.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-09 11:58:34 +02:00
DL6ER 163629774d Explicitly include type definition of int16_t in config.h as needed by the musl-compiler
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-06 12:50:34 +02:00
DL6ER 3aa6edcf07 Implement process-private prepared gravity database client statements. This fixes an incompatibility across forks when serving TCP traffic using dedicated workers.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-06 12:17:04 +02:00
DL6ER 48186a6862 Add DELAY_STARTUP setting to delay startup of the embedded dnsmasq.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-03-25 10:09:14 +01:00
DL6ER 699f25d3ba
Add CNAME_DEEP_INSPECT config option (default: true). It can be used to disable deep CNAME inspection. This might be beneficial for very low-end devices.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-12 12:43:04 +00:00
DL6ER 32d013b457
Add DEBUG_DNSMASQ_LINES debug flag
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-10 11:12:17 +00:00
DL6ER efbdff9ee6
Add new config flag REGEX_IGNORECASE that can be enabled to make FTL's regex case insensitive. It defaults to false (legacy behavior).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-16 22:52:40 +02:00
DL6ER 5c75fc3e67
Move even more definitions from FTL.h into the respective headers.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:09:18 +02:00
DL6ER e13e39ad42
Union FTLFileNamesStruct and logFileNamesStruct and define them in config{.c/.h}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 16:36:06 +02:00
DL6ER 29dd190562
Move definition of config struct into src/config.h.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 12:08:14 +02:00
DL6ER e365364f72
Move all source files into new subdirectory "src". Put compiled objects into new subdirectory "build".
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-02 00:18:56 +02:00