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 |
|
DL6ER
|
997d9f9963
|
Reload all lists (but do not clear the DNS cache itself) on receipt of real-time signal 0.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-12-02 15:37:31 +00:00 |
|
DL6ER
|
8752400609
|
Ensure domains encountered while following CNAME paths are not double-counted.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-11-25 13:44:23 +01:00 |
|
DL6ER
|
faac7005d1
|
Improve performance significantly. We store if (and if: why) a certain domain was blocked for any requesting client and can immediately reply similarly if the same client requests the same domain again. This reduces the O(N^3) problem (number of queries * number of domains * number of clients) to a O(N^2) problem (domains * clients). Note that this state of the code still lacks a possibility to reset when entries in the database have changed. For this, we still have to send either SIGHUP (drawback: clears the cache) or define a new signal for it.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-11-22 09:42:06 +01:00 |
|
DL6ER
|
367d9aebe5
|
Merge branch 'development' into new/internal-blocking
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-11-12 07:10:09 +01:00 |
|
DL6ER
|
8e7b31713f
|
Implement per-client regular expressions.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-09-11 09:14:21 +02:00 |
|
DL6ER
|
c2c43a84e7
|
Check for availablility of prepared statement before trying to use it. This prevents us from preparing statements for clients that have been there within the past 24 hours but might have left the network meanwhile.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-09-09 13:10:04 +02:00 |
|
DL6ER
|
8c3ff39510
|
Implement client-specific gravity, white- and blacklist database statements.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-09-07 11:48:32 +02:00 |
|
DL6ER
|
96746a8199
|
Attach guards to remaining getter functions.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-09-05 21:04:51 +02:00 |
|
DL6ER
|
a2aa21ba62
|
In case requested object is out of range (ID < 0 or > maximum) or has an incorrect magic byte, get getter functions in shmem.c return NULL. We have check against such NULLs before acessing the objects to avoid memory issues and segementation faults.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2019-09-01 20:01:05 +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
|
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 |
|