Commit Graph

57 Commits

Author SHA1 Message Date
Fabian Preuß 1f7a1ddd60 Don't show retried queries when filtering for blocked queries.
Signed-off-by: Fabian Preuß <preuss_fabian@gmx.de>
2021-01-15 15:34:31 +01:00
DL6ER ee971091b4 Only return regex index when allowed by privacy settings. This may leak information, otherwise.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-01-08 19:22:38 +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
Fabian Preuß 1b7bad88bb Added missing NS query type to getQueryTypes()
Signed-off-by: Fabian Preuß <preuss_fabian@gmx.de>
2020-12-27 04:43:13 +01:00
Adam Warner 7f82b16902 Merge pull request #934 from pi-hole/fix/getClientsOverTime_only_Active
Skip clients with no active counts at all (may be old IPv6 addresses)
2020-11-28 16:38:51 +00:00
Adam Warner 98f012b98e Merge pull request #932 from pi-hole/new/unlink_DHCP_lease
Add API callback to remove DHCP leases without the need for a restart
2020-11-28 16:32:14 +00:00
DL6ER b409dadc70 Keep upper case characters in host names because they may make them more readable (like FritzBox, WDMyCloud, or VacuumRobot)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-25 13:00:07 +01:00
DL6ER 6dc3f953b2 Skip clients with no active counts at all (may be old IPv6 addresses)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-25 12:24:59 +01:00
DL6ER 9b6ad974bc Add API debug messages
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-23 13:21:30 +01:00
DL6ER 887dc24688 Add API callback to remove DHCP leases without the need for a restart of the DNS/DHCP server
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-23 12:36:48 +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 0abcaa7d09 Include upstream details in all-queries API response
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-12 22:50:27 +01: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 4883037816 Merge pull request #881 from pi-hole/tweak/event_queue
Add event queue for signal handling
2020-09-21 22:57:08 +02:00
DL6ER 3bb0fe98be Fix subdirectory include paths. This is only to be explicit, the relative search finds them otherwise as well
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-09-03 20:46:01 +02:00
DL6ER 2d90c17767 Merge branch 'development' into new/super-clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-31 19:05:59 +02:00
DL6ER c889d47f17 Improve API filtering for domains
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-30 21:38:00 +02:00
DL6ER 91b9c96fc2 Extend domain filtering to also check the CNAME domain for domain-filtering (if this is indicated by the query status)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-30 21:33:31 +02:00
DL6ER aa0a33adae Merge pull request #856 from pi-hole/new/query_log_blocked_client_filtering
Add ability to show only blocked queries for a specific client
2020-08-15 13:05:19 +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 5afc6bf986 Tests: Test for correct import and assignment of super-client
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-12 19:34:58 +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 3da7668f44 Rename table from "superclients" to "superclient".
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-11 21:50:31 +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 a4041a97b3 Fix API computation error introduced in e0609f14eee7903bca93020371576dad0ca93338
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:54:05 +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 5062c5032e All queries: Hide UNKNOWN queries when not requesting both query status types
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-02 20:06:54 +02: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 bad4914a87 Don't use fshort-enums as it may make objects files incompatible.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-28 20:19:11 +02:00
DL6ER 6941f0cfb7 Add support for additional query types: "A", "AAAA", "ANY", "SRV", "SOA", "PTR", "TXT", "NAPTR", "MX", "DS", "RRSIG", "DNSKEY" and "OTHER" (summing up all other possible DNS types)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-06-28 19:58:15 +02:00
DL6ER fb5cfe06fd Do not decide whether we are blocking or not based on the gravity count (pre-v5.0 measure) but use the dedicated blockingstatus variable.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-23 10:08:42 +02:00
DL6ER c83b5dcad5 Add new telnet API hook >getallqueries-client-blocked allowing to show only blocked queries for a specific client.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-04-16 20:39:55 +00:00
DL6ER 3e2ef282f8 Merge pull request #713 from pi-hole/new/NAPTR
Add support for Name Authority Pointer (NAPTR) resource record
2020-03-17 23:07:37 +00: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 d648572fd9 Regex for which no ID is available should be sent as -1.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-02-04 18:31:17 +01:00
DL6ER 5c08c56d35 Store ID of matching blacklist regex if this is the blocking reason.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-02-04 08:34:01 +01:00
DL6ER 122a701f16 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 21:58:58 +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 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 96746a8199 Attach guards to remaining getter functions.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-05 21:04:51 +02:00
DL6ER a78c0cc5ae Merge branch 'development' into new/ls_dev_shm_on_crash
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-14 22:43:37 +02:00
DL6ER 8172493679 Use unsigned long lng on all platforms for file size. Print human-readable filesize in ls_dir().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-14 22:36:26 +02:00
DL6ER a5ea558d5a Merge branch 'new/modularize_headers' into new/use_audit_database_table
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:09:54 +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