diff --git a/src/config.c b/src/config.c index 76e49c07..fd0d306b 100644 --- a/src/config.c +++ b/src/config.c @@ -78,7 +78,7 @@ void getLogFilePath(void) } // Read LOGFILE value if available - // defaults to: "/var/log/pihole-FTL.log" + // defaults to: "/var/log/pihole/pihole-FTL.log" buffer = parse_FTLconf(fp, "LOGFILE"); errno = 0; @@ -86,7 +86,7 @@ void getLogFilePath(void) if(buffer == NULL || sscanf(buffer, "%127ms", &FTLfiles.log) != 1) { // Use standard path if no custom path was obtained from the config file - FTLfiles.log = strdup("/var/log/pihole-FTL.log"); + FTLfiles.log = strdup("/var/log/pihole/pihole-FTL.log"); } // Test if memory allocation was successful diff --git a/test/dnsmasq.conf b/test/dnsmasq.conf index 8a21c3b4..acfc3fcc 100644 --- a/test/dnsmasq.conf +++ b/test/dnsmasq.conf @@ -1,6 +1,6 @@ # Enable logging log-queries=extra -log-facility=/var/log/pihole.log +log-facility=/var/log/pihole/pihole.log # Enable DNSSEC validation dnssec diff --git a/test/run.sh b/test/run.sh index e49d0db8..fbfffbb1 100755 --- a/test/run.sh +++ b/test/run.sh @@ -20,14 +20,14 @@ while pidof -s pihole-FTL > /dev/null; do done # Clean up possible old files from earlier test runs -rm -f /etc/pihole/gravity.db /etc/pihole/pihole-FTL.db /var/log/pihole.log /var/log/pihole-FTL.log /dev/shm/FTL-* +rm -f /etc/pihole/gravity.db /etc/pihole/pihole-FTL.db /var/log/pihole/pihole.log /var/log/pihole/pihole-FTL.log /dev/shm/FTL-* # Create necessary directories and files -mkdir -p /home/pihole /etc/pihole /run/pihole /var/log -echo "" > /var/log/pihole-FTL.log -echo "" > /var/log/pihole.log +mkdir -p /home/pihole /etc/pihole /run/pihole /var/log/pihole +echo "" > /var/log/pihole/pihole-FTL.log +echo "" > /var/log/pihole/pihole.log touch /run/pihole-FTL.pid /run/pihole-FTL.port dig.log ptr.log -chown pihole:pihole /etc/pihole /run/pihole /var/log/pihole.log /var/log/pihole-FTL.log /run/pihole-FTL.pid /run/pihole-FTL.port +chown pihole:pihole /etc/pihole /run/pihole /var/log/pihole/pihole.log /var/log/pihole/pihole-FTL.log /run/pihole-FTL.pid /run/pihole-FTL.port # Copy binary into a location the new user pihole can access cp ./pihole-FTL /home/pihole/pihole-FTL @@ -98,10 +98,10 @@ curl_to_tricorder() { if [[ $RET != 0 ]]; then echo -n "pihole.log: " - curl_to_tricorder /var/log/pihole.log + curl_to_tricorder /var/log/pihole/pihole.log echo "" echo -n "pihole-FTL.log: " - curl_to_tricorder /var/log/pihole-FTL.log + curl_to_tricorder /var/log/pihole/pihole-FTL.log echo "" echo -n "dig.log: " curl_to_tricorder ./dig.log diff --git a/test/test_suite.bats b/test/test_suite.bats index 54b16d87..91f8e96f 100644 --- a/test/test_suite.bats +++ b/test/test_suite.bats @@ -33,19 +33,19 @@ } @test "Starting tests without prior history" { - run bash -c 'grep -c "Total DNS queries: 0" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Total DNS queries: 0" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] } @test "Initial blocking status is enabled" { - run bash -c 'grep -c "Blocking status is enabled" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Blocking status is enabled" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] } @test "Number of compiled regex filters as expected" { - run bash -c 'grep "Compiled [0-9]* whitelist" /var/log/pihole-FTL.log' + run bash -c 'grep "Compiled [0-9]* whitelist" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == *"Compiled 2 whitelist and 9 blacklist regex filters"* ]] } @@ -159,31 +159,31 @@ @test "Client 4: Client is recognized by MAC address" { run bash -c "dig TXT CHAOS version.bind -b 127.0.0.4 @127.0.0.1 +short" run sleep 0.1 - run bash -c "grep -c \"Found database hardware address 127.0.0.4 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Found database hardware address 127.0.0.4 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'Regex blacklist: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex blacklist: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'Regex whitelist: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex whitelist: Querying groups for client 127.0.0.4: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'Regex whitelist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex whitelist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "2" ]] - run bash -c "grep -c 'Regex blacklist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex blacklist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.4' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "9" ]] } @@ -191,31 +191,31 @@ @test "Client 5: Client is recognized by MAC address" { run bash -c "dig TXT CHAOS version.bind -b 127.0.0.5 @127.0.0.1 +short" run sleep 0.1 - run bash -c "grep -c \"Found database hardware address 127.0.0.5 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Found database hardware address 127.0.0.5 -> aa:bb:cc:dd:ee:ff\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Gravity database: Client aa:bb:cc:dd:ee:ff found. Using groups (4)\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'Regex blacklist: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex blacklist: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_blacklist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'Regex whitelist: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex whitelist: Querying groups for client 127.0.0.5: \"SELECT id from vw_regex_whitelist WHERE group_id IN (4);\"' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (4));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} != "0" ]] - run bash -c "grep -c 'Regex whitelist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex whitelist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "2" ]] - run bash -c "grep -c 'Regex blacklist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex blacklist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.5' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "9" ]] } @@ -223,37 +223,37 @@ @test "Client 6: Client is recognized by interface name" { run bash -c "dig TXT CHAOS version.bind -b 127.0.0.6 @127.0.0.1 +short" run sleep 0.1 - run bash -c "grep -c \"Found database hardware address 127.0.0.6 -> 00:11:22:33:44:55\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Found database hardware address 127.0.0.6 -> 00:11:22:33:44:55\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c \"There is no record for 00:11:22:33:44:55 in the client table\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"There is no record for 00:11:22:33:44:55 in the client table\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c \"Found database interface 127.0.0.6 -> enp0s123\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Found database interface 127.0.0.6 -> enp0s123\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c \"Gravity database: Client 00:11:22:33:44:55 found (identified by interface enp0s123). Using groups (5)\" /var/log/pihole-FTL.log" + run bash -c "grep -c \"Gravity database: Client 00:11:22:33:44:55 found (identified by interface enp0s123). Using groups (5)\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'Regex blacklist: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_blacklist WHERE group_id IN (5);\"' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex blacklist: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_blacklist WHERE group_id IN (5);\"' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'Regex whitelist: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_whitelist WHERE group_id IN (5);\"' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex whitelist: Querying groups for client 127.0.0.6: \"SELECT id from vw_regex_whitelist WHERE group_id IN (5);\"' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (5));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_whitelist WHERE domain = ? AND group_id IN (5));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (5));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_blacklist WHERE domain = ? AND group_id IN (5));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (5));' /var/log/pihole-FTL.log" + run bash -c "grep -c 'get_client_querystr: SELECT EXISTS(SELECT domain from vw_gravity WHERE domain = ? AND group_id IN (5));' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c "grep -c 'Regex whitelist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex whitelist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "2" ]] - run bash -c "grep -c 'Regex blacklist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole-FTL.log" + run bash -c "grep -c 'Regex blacklist ([[:digit:]]*, DB ID [[:digit:]]*) .* NOT ENABLED for client 127.0.0.6' /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "9" ]] } @@ -274,7 +274,7 @@ run bash -c "dig A use-application-dns.net @127.0.0.1" printf "dig: %s\n" "${lines[@]}" [[ ${lines[3]} == *"status: NXDOMAIN"* ]] - run bash -c 'grep -c "Mozilla canary domain use-application-dns.net is NXDOMAIN" /var/log/pihole.log' + run bash -c 'grep -c "Mozilla canary domain use-application-dns.net is NXDOMAIN" /var/log/pihole/pihole.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] } @@ -653,47 +653,47 @@ } @test "No WARNING messages in pihole-FTL.log (besides known capability issues)" { - run bash -c 'grep "WARNING" /var/log/pihole-FTL.log' + run bash -c 'grep "WARNING" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" - run bash -c 'grep "WARNING" /var/log/pihole-FTL.log | grep -c -v -E "CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_NICE|CAP_IPC_LOCK|CAP_CHOWN"' + run bash -c 'grep "WARNING" /var/log/pihole/pihole-FTL.log | grep -c -v -E "CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_NICE|CAP_IPC_LOCK|CAP_CHOWN"' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "0" ]] } @test "No \"database not available\" messages in pihole-FTL.log" { - run bash -c 'grep -c "database not available" /var/log/pihole-FTL.log' + run bash -c 'grep -c "database not available" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "0" ]] } @test "No ERROR messages in pihole-FTL.log" { - run bash -c 'grep "ERROR" /var/log/pihole-FTL.log' + run bash -c 'grep "ERROR" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" - run bash -c 'grep -c "ERROR" /var/log/pihole-FTL.log' + run bash -c 'grep -c "ERROR" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "0" ]] } @test "No FATAL messages in pihole-FTL.log (besides error due to starting FTL more than once)" { - run bash -c 'grep "FATAL" /var/log/pihole-FTL.log' + run bash -c 'grep "FATAL" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" - run bash -c 'grep "FATAL:" /var/log/pihole-FTL.log | grep -c -v "FATAL: create_shm(): Failed to create shared memory object \"FTL-lock\": File exists"' + run bash -c 'grep "FATAL:" /var/log/pihole/pihole-FTL.log | grep -c -v "FATAL: create_shm(): Failed to create shared memory object \"FTL-lock\": File exists"' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "0" ]] } # Regex tests @test "Compiled blacklist regex as expected" { - run bash -c 'grep -c "Compiling blacklist regex 0 (DB ID 6): regex\[0-9\].ftl" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Compiling blacklist regex 0 (DB ID 6): regex\[0-9\].ftl" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] } @test "Compiled whitelist regex as expected" { - run bash -c 'grep -c "Compiling whitelist regex 0 (DB ID 3): regex2" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Compiling whitelist regex 0 (DB ID 3): regex2" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c 'grep -c "Compiling whitelist regex 1 (DB ID 4): ^gravity-whitelisted" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Compiling whitelist regex 1 (DB ID 4): ^gravity-whitelisted" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] } @@ -1078,21 +1078,21 @@ } @test "Architecture is correctly reported on startup" { - run bash -c 'grep "Compiled for" /var/log/pihole-FTL.log' + run bash -c 'grep "Compiled for" /var/log/pihole/pihole-FTL.log' printf "Output: %s\n\$CI_ARCH: %s\nuname -m: %s\n" "${lines[@]:-not set}" "${CI_ARCH:-not set}" "$(uname -m)" [[ ${lines[0]} == *"Compiled for ${CI_ARCH:-$(uname -m)}"* ]] } @test "Building machine (CI) is reported on startup" { [[ ${CI_ARCH} != "" ]] && compiled_str="on CI" || compiled_str="locally" && export compiled_str - run bash -c 'grep "Compiled for" /var/log/pihole-FTL.log' + run bash -c 'grep "Compiled for" /var/log/pihole/pihole-FTL.log' printf "Output: %s\n\$CI_ARCH: %s\n" "${lines[@]:-not set}" "${CI_ARCH:-not set}" [[ ${lines[0]} == *"(compiled ${compiled_str})"* ]] } @test "Compiler version is correctly reported on startup" { compiler_version="$(${CC} --version | head -n1)" && export compiler_version - run bash -c 'grep "Compiled for" /var/log/pihole-FTL.log' + run bash -c 'grep "Compiled for" /var/log/pihole/pihole-FTL.log' printf "Output: %s\n\$CC: %s\nVersion: %s\n" "${lines[@]:-not set}" "${CC:-not set}" "${compiler_version:-not set}" [[ ${lines[0]} == *"using ${compiler_version}"* ]] } @@ -1104,13 +1104,13 @@ } @test "No errors on setting busy handlers for the databases" { - run bash -c 'grep -c "Cannot set busy handler" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Cannot set busy handler" /var/log/pihole/pihole-FTL.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "0" ]] } @test "Blocking status is correctly logged in pihole.log" { - run bash -c 'grep -c "gravity blocked gravity.ftl is 0.0.0.0" /var/log/pihole.log' + run bash -c 'grep -c "gravity blocked gravity.ftl is 0.0.0.0" /var/log/pihole/pihole.log' printf "%s\n" "${lines[@]}" [[ ${lines[0]} == "2" ]] } @@ -1136,7 +1136,7 @@ @test "EDNS(0) analysis working as expected" { # Get number of lines in the log before the test - before="$(grep -c ^ /var/log/pihole-FTL.log)" + before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Run test command # CLIENT SUBNET COOKIE MAC HEX MAC TEXT CPE-ID @@ -1146,10 +1146,10 @@ [[ $status == 0 ]] # Get number of lines in the log after the test - after="$(grep -c ^ /var/log/pihole-FTL.log)" + after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Extract relevant log lines - log="$(sed -n "${before},${after}p" /var/log/pihole-FTL.log)" + log="$(sed -n "${before},${after}p" /var/log/pihole/pihole-FTL.log)" printf "%s\n" "${log}" # Start actual test @@ -1172,7 +1172,7 @@ @test "EDNS(0) ECS can overwrite client address (IPv4)" { # Get number of lines in the log before the test - before="$(grep -c ^ /var/log/pihole-FTL.log)" + before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Run test command run bash -c 'dig localhost +short +subnet=192.168.47.97/32 @127.0.0.1' @@ -1181,17 +1181,17 @@ [[ $status == 0 ]] # Get number of lines in the log after the test - after="$(grep -c ^ /var/log/pihole-FTL.log)" + after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Extract relevant log lines - run bash -c "sed -n \"${before},${after}p\" /var/log/pihole-FTL.log" + run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ "${lines[@]}" == *"**** new UDP IPv4 query[A] query \"localhost\" from lo/192.168.47.97#53 "* ]] } @test "EDNS(0) ECS can overwrite client address (IPv6)" { # Get number of lines in the log before the test - before="$(grep -c ^ /var/log/pihole-FTL.log)" + before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Run test command run bash -c 'dig localhost +short +subnet=fe80::b167:af1e:968b:dead/128 @127.0.0.1' @@ -1200,29 +1200,29 @@ [[ $status == 0 ]] # Get number of lines in the log after the test - after="$(grep -c ^ /var/log/pihole-FTL.log)" + after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Extract relevant log lines - run bash -c "sed -n \"${before},${after}p\" /var/log/pihole-FTL.log" + run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ "${lines[@]}" == *"**** new UDP IPv4 query[A] query \"localhost\" from lo/fe80::b167:af1e:968b:dead#53 "* ]] } @test "alias-client is imported and used for configured client" { - run bash -c 'grep -c "Added alias-client \"some-aliasclient\" (aliasclient-0) with FTL ID 0" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Added alias-client \"some-aliasclient\" (aliasclient-0) with FTL ID 0" /var/log/pihole/pihole-FTL.log' printf "Added: %s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c 'grep -c "Aliasclient ID 127.0.0.6 -> 0" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Aliasclient ID 127.0.0.6 -> 0" /var/log/pihole/pihole-FTL.log' printf "Found ID: %s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] - run bash -c 'grep -c "Client .* (127.0.0.6) IS managed by this alias-client, adding counts" /var/log/pihole-FTL.log' + run bash -c 'grep -c "Client .* (127.0.0.6) IS managed by this alias-client, adding counts" /var/log/pihole/pihole-FTL.log' printf "Adding counts: %s\n" "${lines[@]}" [[ ${lines[0]} == "1" ]] } @test "EDNS(0) ECS skipped for loopback address (IPv4)" { # Get number of lines in the log before the test - before="$(grep -c ^ /var/log/pihole-FTL.log)" + before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Run test command run bash -c 'dig localhost +short +subnet=127.0.0.1/32 @127.0.0.1' @@ -1231,17 +1231,17 @@ [[ $status == 0 ]] # Get number of lines in the log after the test - after="$(grep -c ^ /var/log/pihole-FTL.log)" + after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Extract relevant log lines - run bash -c "sed -n \"${before},${after}p\" /var/log/pihole-FTL.log" + run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ "${lines[@]}" == *"EDNS(0) CLIENT SUBNET: Skipped 127.0.0.1/32 (IPv4 loopback address)"* ]] } @test "EDNS(0) ECS skipped for loopback address (IPv6)" { # Get number of lines in the log before the test - before="$(grep -c ^ /var/log/pihole-FTL.log)" + before="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Run test command run bash -c 'dig localhost +short +subnet=::1/128 @127.0.0.1' @@ -1250,10 +1250,10 @@ [[ $status == 0 ]] # Get number of lines in the log after the test - after="$(grep -c ^ /var/log/pihole-FTL.log)" + after="$(grep -c ^ /var/log/pihole/pihole-FTL.log)" # Extract relevant log lines - run bash -c "sed -n \"${before},${after}p\" /var/log/pihole-FTL.log" + run bash -c "sed -n \"${before},${after}p\" /var/log/pihole/pihole-FTL.log" printf "%s\n" "${lines[@]}" [[ "${lines[@]}" == *"EDNS(0) CLIENT SUBNET: Skipped ::1/128 (IPv6 loopback address)"* ]] }