From a9c24b456d34bf83c1a85287a221be70120b79c8 Mon Sep 17 00:00:00 2001 From: nate Date: Fri, 25 Mar 2016 19:04:03 -0500 Subject: [PATCH] Bug fixes and logging improvements Finalized for production deployment. Next release targeting a tarball of config files plus additional logging. --- advanced/Scripts/piholeDebug.sh | 45 +++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/advanced/Scripts/piholeDebug.sh b/advanced/Scripts/piholeDebug.sh index ac7a4262..ab417aa6 100755 --- a/advanced/Scripts/piholeDebug.sh +++ b/advanced/Scripts/piholeDebug.sh @@ -67,8 +67,10 @@ function compareWhitelist { echo "#######################################" >> $DEBUG_LOG while read -r line; do TMP=$(grep -w ".* $line$" "$GRAVITYFILE") - echo "$TMP" >> $DEBUG_LOG - echo "$TMP" >> $WHITELISTMATCHES + if [ ! -z "$TMP" ]; then + echo "$TMP" >> $DEBUG_LOG + echo "$TMP" >> $WHITELISTMATCHES + fi done < "$WHITELISTFILE" echo >> $DEBUG_LOG } @@ -78,34 +80,39 @@ function compareBlacklist { echo "######## Blacklist Comparison #########" >> $DEBUG_LOG echo "#######################################" >> $DEBUG_LOG while read -r line; do - grep -w ".* $line$" "$GRAVITYFILE" >> $DEBUG_LOG + if [ ! -z "$line" ]; then + grep -w ".* $line$" "$GRAVITYFILE" >> $DEBUG_LOG + fi done < "$BLACKLISTFILE" echo >> $DEBUG_LOG } function testNslookup { - TESTURL="" + TESTURL="doubleclick.com" echo "#######################################" >> $DEBUG_LOG echo "############ NSLookup Test ############" >> $DEBUG_LOG echo "#######################################" >> $DEBUG_LOG # Find a blocked url that has not been whitelisted. - while read -r line; do - CUTURL=$("$line" | cut -d " " -f2-) - if [ "$CUTURL" != "Pi-Hole.IsWorking.OK" ]; then - while read -r line2; do - CUTURL2=$("$line2" | cut -d " " -f2-) - if [ "$CUTURL" != "$CUTURL2" ]; then - TESTURL="$CUTURL" - fi - done < "WHITELISTMATCHES" - fi - done < "GRAVITYFILE" + if [ -s "$WHITELISTMATCHES" ]; then + while read -r line; do + CUTURL=${line#*" "} + if [ "$CUTURL" != "Pi-Hole.IsWorking.OK" ]; then + while read -r line2; do + CUTURL2=${line2#*" "} + if [ "$CUTURL" != "$CUTURL2" ]; then + TESTURL="$CUTURL" + break 2 + fi + done < "$WHITELISTMATCHES" + fi + done < "$GRAVITYFILE" + fi echo "NSLOOKUP of $TESTURL from PiHole:" >> $DEBUG_LOG - echo nslookup "$TESTURL" >> $DEBUG_LOG + nslookup "$TESTURL" >> $DEBUG_LOG echo >> $DEBUG_LOG echo "NSLOOKUP of $TESTURL from 8.8.8.8:" >> $DEBUG_LOG - echo nslookup "$TESTURL" 8.8.8.8 >> $DEBUG_LOG + nslookup "$TESTURL" 8.8.8.8 >> $DEBUG_LOG echo >> $DEBUG_LOG } @@ -124,6 +131,8 @@ echo "$GATEWAY_CHECK" >> $DEBUG_LOG echo >> $DEBUG_LOG # Test the nslookup here +compareWhitelist +compareBlacklist testNslookup echo "Writing dnsmasq.conf to debug log..." @@ -199,7 +208,6 @@ fi # Write the hostname output to compare against entries in /etc/hosts, which is logged next echo "Hostname of this pihole is: " >> $DEBUG_LOG hostname >> $DEBUG_LOG -echo >> $DEBUG_LOG echo "Writing hosts file to debug log..." echo "#######################################" >> $DEBUG_LOG @@ -215,7 +223,6 @@ else fi ### PiHole application specific logging ### -# Write Pi-Hole logs to debug log echo "Writing whitelist to debug log..." echo "#######################################" >> $DEBUG_LOG echo "############## Whitelist ##############" >> $DEBUG_LOG