DL6ER
|
1ccfd9a081
|
Ensure the API does not try to create DNS cache records for queries that don't have one
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-08-20 15:27:38 +02:00 |
|
DL6ER
|
ff30d4a973
|
Log memory access error details even when no debug flag is set
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-08-20 15:20:55 +02:00 |
|
DL6ER
|
15942b17ce
|
Store domainlist IDs for blocked/permitted queries
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-08-19 19:44:11 +02:00 |
|
DL6ER
|
613014e81a
|
Merge branch 'development' into new/query_special_domain
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-04-24 09:26:46 +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 |
|
Adam Warner
|
671a438c4d
|
Fix some spellings, ignore others
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
|
2022-04-22 18:26:31 +01:00 |
|
DL6ER
|
2e479f6a8c
|
Merge pull request #1286 from stuXORstu/tweak/domainid_perf
performance improvements for findDomainID()
|
2022-02-08 20:31:21 +01:00 |
|
stuXORstu
|
8410af394a
|
Updates for tweak/domainid_perf to implement better hash based comparisions
Signed-off-by: stuXORstu <stuxorstu@gmail.com>
|
2022-02-06 12:34:08 +00:00 |
|
DL6ER
|
c1009ba0ec
|
Print FTL regex extension details in regex-test mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2022-01-22 13:29: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
|
ac0346b9e2
|
Improvements based on static-analysis of source code
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-09-23 20:24:57 +02:00 |
|
DL6ER
|
127860e195
|
Merge pull request #1156 from pi-hole/tweak/blocking_while_busy
Customizable locking while database is busy
|
2021-08-23 20:19:36 +02:00 |
|
DL6ER
|
f73c9d2907
|
Remove redundant upstream->count
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-08-22 11:58:51 +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
|
82780ecca0
|
Add additional checks for validity of data before trying to access it. Fixes #1151
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-07-24 12:39:48 +02:00 |
|
DL6ER
|
f0f6b1de6f
|
Further reduce memory footprint of FTL by about 12%. We don't store the char pointer of the extended DNS errors because we can get this at any time.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-07-02 18:02:21 +02:00 |
|
DL6ER
|
a4005d8cc6
|
Merge branch 'development' into update/dnsmasq-v2.86
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-06-22 09:53:56 +02:00 |
|
DL6ER
|
e1bad8504c
|
Improve flags debugging
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-06-16 23:17:47 +02:00 |
|
DL6ER
|
f72962c1f6
|
Give threads a bit more time to reach a point where cancellation is safe. We cannot give them too much time because, otherwise, the proces trying to TERMinate FTL may decide to KILL it instead. We should avoid this to be able to properly cleanup.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-04-18 11:09:52 +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
|
0795cf6209
|
Open individual database connections where we need them. Do not use global pointers anywhere. This may mean we have more than one connection open at the sae time. SQLite3 will take care of thread-safety.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-03-20 20:21:09 +00:00 |
|
DL6ER
|
7fdc926f32
|
Do not close FTL database connection when forking TCP workers
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-03-19 16:03:34 +00:00 |
|
DL6ER
|
67801b8383
|
Resize shared memory only when locking. This ensures all shm pointers are invariant inside locks.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-02-21 10:00:16 +01:00 |
|
DL6ER
|
dd773b0d2f
|
Fix queries sent upstream being counted incorrectly when modified later on (blocked externally, blocked during CNAME inspection). This also applies to queries loaded from the database.
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2021-02-13 16:57:13 +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
|
21537822cb
|
Merge pull request #999 from pi-hole/new/iface_change_same_IP
Detect and handle interface changes of clients with the same IP
|
2021-01-14 20:55:30 +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
|
fcd9228f20
|
Detect and handle interface changes of clients with the same IP
Signed-off-by: DL6ER <dl6er@dl6er.de>
|
2020-12-24 10:43:23 +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
|
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 |
|