Commit Graph

2856 Commits

Author SHA1 Message Date
DL6ER 1dde00299b Ensure mock-devices which are not assigned to any addresses any more (they have been converted to "real" devices), are removed at this point
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-18 23:00:40 +02:00
DL6ER 15e3d66dad Add more debugging output to network table processing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-17 21:47:56 +02:00
DL6ER c81b5df4ef Do not try to locate a previously used mock device when EDNS(0) MAC data is available.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-17 20:05:08 +02:00
DL6ER 1a6e0837f7 Use EDNS(0) MAC address for the network table (if available)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-16 23:11:52 +02:00
DL6ER 251c62ff06 Tests: Tweak test to recognize new debug output format
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-11 07:06:03 +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 e46831c646 Merge pull request #815 from pi-hole/new/tre-regex
Upgrade RegEx engine
2020-08-11 06:31:40 +02:00
DL6ER 899fef6564 Remove left-over debugging output
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-11 00:35:53 +02:00
DL6ER 3803750d19 Tests: Need to test also for the interface being specified in the log
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-11 00:30:25 +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 6a9f9bb3bf Undo PTR blocking warning
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-11 00:06:55 +02:00
DL6ER 1124f255a9 Merge pull request #851 from pi-hole/new/edns0
Analyze EDNS(0) records
2020-08-11 00:03:39 +02:00
DL6ER 7195d50b43 Add tests for new ;querytype sanity check warnings.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:54:05 +02:00
DL6ER 62e2b6df20 Warn if specified more than one querytype option (the last one wins)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:54:05 +02:00
DL6ER c10b0af281 Blocking PTR requests may have been done unintentionally, print a warning about this
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:54:05 +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 f22397317d Only print time/ID string when not in direct user interaction (CLI mode)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:54:05 +02:00
DL6ER 0fa2173e5e Log invalid querytype as warning to the Pi-hole diagnosis system
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:53:32 +02:00
DL6ER e201c8c98f Terminate running FTL instance (if any) before starting tests.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:53:32 +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 d2a01e10c5 Add ;invert option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:44:19 +02:00
DL6ER 795c403364 Case-insensitive query type checking in regex extra instructions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:43:02 +02:00
DL6ER 3a4d8e2e0d Add ;querytype=AAAA option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:43:02 +02:00
DL6ER 75d71e30ff Simplify memory structure of regular expressions inside FTL. This allows for future regex extensions.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:34:24 +02:00
DL6ER 4317fc0d2f Tests: Test quiet regex-test mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:27:04 +02:00
DL6ER 67b1584349 Make quiet mode really quiet. However, speak up when there are regex errors
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:27:04 +02:00
DL6ER c02dfddebc Add quiet regex test mode for inclusion in pihole -q
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:27:04 +02:00
DL6ER dde020ea54 Modify regex-test mode for better batch-processing capabilities
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:27:04 +02:00
DL6ER d51224cb57 Mark get_regex_from_rowid as pure.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER 0aecef5b5c Tests: Add tests for useful error hints for incorrect regex.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER ce84f6d56a Adjust empty lines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER 094b1ed828 Use info box for step reporting
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER a246a2d458 Mark all the new cli_{}() functions as ((const)) to make them subject to common subexpression elimination.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER 4cb64d17f0 Tests: Bats ignored empty lines
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER 89960e3698 Make regex-text output more user-friendly
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER 66fa3190d3 Add 26 regex tests (following https://discourse.pi-hole.net/t/regex-engine-improvements/34751)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER c4689c158f Reduce overall costs by not always calling the approximate matching algorithm.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:25:49 +02:00
DL6ER 22c8ccefd5 Allow test-regex mode to be started without log ans shared memory (alleviates write permission issues when running pihole-FTL as a different user)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:24:30 +02:00
DL6ER 87b2b42e44 Add regex-test mode
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:24:30 +02:00
DL6ER 2144857d93 Improve regex engine. This adds new features such as in-code comments, approximate matching (fuzzy matching)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:19:04 +02:00
DL6ER 56aeab8cc6 The version of dig in the CI containers is too old for the option +cookie. Simulate the same with +ednsopt
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00
DL6ER 1cd1b39d7c Use %z to print size_t for both 32 and 64 bit compatibility
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00
DL6ER e20e378c09 Tests: Simplify EDNS(0) tests
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00
DL6ER fd7ae44bff Make EDNS MAC available for FTL_new_query()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00
DL6ER cab466415a Tests: EDNS(0) analysis
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00
DL6ER e267459359 Add partial support for EDNS(0) COOKIES
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:09:59 +02:00