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
|
4cd935309e
|
Merge pull request #969 from pi-hole/tweak/interruptsafe_systemcalls
Implement interrupt-safe systemcalls
|
2020-12-21 10:05:03 +01:00 |
|
DL6ER
|
0e0899691f
|
Add more debugging output for domain reloading (on receipt of SIGHUP)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-10 23:33:09 +01:00 |
|
DL6ER
|
7459d8235b
|
Rename memory.c -> syscalls.c
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-09 20:21:03 +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
|
7b0ab09b74
|
Make FTL upstream destination port-aware
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-11-13 00:16:55 +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
|
196fca38ff
|
Merge branch 'development' into new/super-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-09-21 23:28:57 +02:00 |
|
DL6ER
|
00bd54aead
|
Only try to resolve host names of upstream servers which were recently active. The current limit for "recently active" is hard-coded to two hours.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-24 20:39:41 +02:00 |
|
DL6ER
|
69c1181085
|
Change concept of super-clients from MAC-based to index-based. We append a new column to the network table which can be used to assign super-clients to multiple devices. This can both cover automatic grouping (whenever MAC addresses are available) and also situations where this is not possible (when MAC addresses are not available, e.g., due to network layer separation). Real-time signal 3 causes FTL to re-import super-clients from the database without affecting anything else.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-12 19:34:56 +02:00 |
|
DL6ER
|
b422beb82a
|
Implement client-based Query Log filtering for super-clients and ensure we always count both the normal and the super-client when there is a new query / garbage collection
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-11 21:13:36 +02:00 |
|
DL6ER
|
e5b18944eb
|
Implement super-client infrastructure
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-11 21:13:34 +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 |
|
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
|
957ff0b3f8
|
Try to obtain MAC address from dnsmasq's cache (also ask the kernel) instead of only relying on the database content (may not be fully up-to-date)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-11 00:11:06 +02:00 |
|
DL6ER
|
82fe722af9
|
Add tests for ";querytype=A", ";querytype=!A" and ";invert". Add explicit support for query type NS.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-10 23:52:30 +02:00 |
|
DL6ER
|
778c233b38
|
Add ;querytype=!A option for INVERTED query type filtering.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-10 23:51:01 +02:00 |
|
DL6ER
|
68435f83d4
|
Make querytype string available everywhere in FTL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-10 23:47:13 +02:00 |
|
DL6ER
|
3a4d8e2e0d
|
Add ;querytype=AAAA option
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-10 23:43:02 +02:00 |
|
DL6ER
|
fd79c1f5a4
|
Log previously seen client when interpreting EDNS0 client subnet information
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-08-10 23:09:59 +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 |
|
DL6ER
|
a70cd5279f
|
Merge pull request #847 from pi-hole/fix/guard_gravity_reopening
Safely reopen gravity database
|
2020-07-23 06:18:32 +02:00 |
|
DL6ER
|
9d0979431a
|
Do not loop over known domains in addition to looping over all FTL-DNS-cache entries.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-07-21 20:01:35 +02:00 |
|
DL6ER
|
3af4f87dd5
|
Wrap gravity reopening in locking to avoid a race collision with API requests (performed from independent threads).
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-07-20 05:43:27 +02:00 |
|
DL6ER
|
0c4c92b3c2
|
Skip reading per-client regex data during the startup phase (initial history reading) to reduce CPU load. All (per-client) regex settings will be refreshed on the initial reload even when dnsmasq is started.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-06-23 23:31:12 +02:00 |
|
DL6ER
|
0923d6b73f
|
Get groups for this client and set enabled regex filters when adding new clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-06-23 05:25:40 +02:00 |
|
DL6ER
|
9a131e5be2
|
Recheck more often for group updates for new clients to ensure we pick group-based blocking up as soon as possible.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-06-21 22:44:04 +02:00 |
|
DL6ER
|
843c4ab8c7
|
Recheck client groups after a certain amount of time.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-06-05 20:09:54 +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
|
ed4e690245
|
Add boolean to be able to store if we decided which groups to be used (an empty string can actually mean no groups as a special case)
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-05-26 18:51:43 +02:00 |
|
DL6ER
|
efee05115b
|
Store client group information in shared memory.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-05-25 18:40:16 +02:00 |
|
DL6ER
|
24a3fa0158
|
Obtain and store interface also for clients not known through the neigh cache (e.g., VPN connected). This works currently only for clients requesting queries over UDP and when bind-interfaces is NOT used.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-05-20 14:29:42 +02:00 |
|
DL6ER
|
1b1e980745
|
Merge pull request #752 from pi-hole/new/warnings
Store warnings in database table
|
2020-05-11 23:54:44 +02:00 |
|
DL6ER
|
8133752224
|
Always chose most suitable (= maximum) subnet for clients. This allows to configure specific settings for a whole range of devices but still exclude others. Complain softly (no error) if multiple configured subnets match with the same number of relevant bits.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-05-11 20:03:28 +02:00 |
|
DL6ER
|
0e01af2910
|
Ensure message table is also flushed on receipt of real-time signals.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-05-11 19:40:43 +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
|
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
|
564b286954
|
Do not import unknown clients from the ARP cache into FTL's memory. It is not our job to care about them if they are not doing any DNS queries.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-04-02 15:17:00 +00:00 |
|
DL6ER
|
abe0c5bbab
|
Merge branch 'release/v5.0' into tweak/sqlite_debugging
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-03-29 21:07:46 +00:00 |
|
DL6ER
|
c0b1489434
|
Explicitly set prepared statements to NULL when they are finalized.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-03-25 07:57:44 +01:00 |
|
DL6ER
|
623f079f64
|
Import unknown clients from ARP table
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-03-24 15:56:58 +01:00 |
|
DL6ER
|
99bd5e77fb
|
Client statement reinitialization has been moved into gravityDB_open(). No need to call it twice in FTL_reload_all_domainlists().
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-03-08 16:30:38 +01:00 |
|
DL6ER
|
7ca81e3d59
|
Merge pull request #685 from pi-hole/new/CNAME_inspection_details
Improvements to deep CNAME inspection data processing
|
2020-02-12 19:36:36 +01:00 |
|
DL6ER
|
acdd2253e6
|
Finish renaming "forward destionations" to "upstreams".
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-02-11 10:09:02 +01:00 |
|
DL6ER
|
c32d790eba
|
Rename "forwarded" counter to "upstreams" to avoid confusion in the future. We used sed to ensure to have caught every reference.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-02-11 09:35:07 +01:00 |
|
DL6ER
|
7117d396b3
|
Add new CNAME-specific blocking modes [QUERY_GRAVITY_CNAME, QUERY_REGEX_CNAME, QUERY_BLACKLIST_CNAME] and store domain that was the reason for blocking during a CNAME inspection
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-01-29 09:57:43 +01:00 |
|
DL6ER
|
4c74a29f87
|
Add shared per-client regex array. This ensures TCP and UDP workers know the same details about client/regex combinations. This commit also fixes an issue with regex group associations for configured clients that have no assigned group.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-12-30 17:14:40 +00:00 |
|
DL6ER
|
c9c7c27888
|
Add shared DNS cache for FTL. This cache is shared across forks and can be used by TCP and UDP clients avoiding any doubled amount of work.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-12-30 14:08:22 +00:00 |
|