From 189d19da3765d26f0694a84a4a7cea9afc9af8ca Mon Sep 17 00:00:00 2001 From: Tommy Huff Date: Wed, 19 Oct 2016 12:47:39 -0400 Subject: [PATCH] quote setupVars include / remove if statement for piholeIPv6 --- advanced/Scripts/blacklist.sh | 13 +----- advanced/Scripts/whitelist.sh | 79 +++++++++++++++-------------------- 2 files changed, 35 insertions(+), 57 deletions(-) diff --git a/advanced/Scripts/blacklist.sh b/advanced/Scripts/blacklist.sh index e7984a4d..e99f2b30 100755 --- a/advanced/Scripts/blacklist.sh +++ b/advanced/Scripts/blacklist.sh @@ -26,9 +26,6 @@ helpFunc() exit 1 } -modifyHost=false - - HandleOther(){ #check validity of domain validDomain=$(echo "$1" | perl -ne'print if /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/') @@ -39,13 +36,6 @@ HandleOther(){ fi } -# After setting defaults, check if there's local overrides -if [[ -r ${piholeDir}/pihole.conf ]];then - echo "::: Local calibration requested..." - . ${piholeDir}/pihole.conf -fi - - PopBlacklistFile(){ #check blacklist file exists, and if not, create it if [[ ! -f ${blacklist} ]];then @@ -163,6 +153,7 @@ DisplayBlist() { ################################################### #globals +modifyHost=false reload=true addmode=true force=false @@ -194,7 +185,7 @@ if [[ -z "${setupVars}" ]] ; then setupVars=/etc/pihole/setupVars.conf fi if [[ -f "${setupVars}" ]];then - . ${setupVars} + . "${setupVars}" else echo "::: WARNING: ${setupVars} missing. Possible installation failure." echo "::: Please run 'pihole -r', and choose the 'install' option to reconfigure." diff --git a/advanced/Scripts/whitelist.sh b/advanced/Scripts/whitelist.sh index 48ead6a0..430a0c6c 100755 --- a/advanced/Scripts/whitelist.sh +++ b/advanced/Scripts/whitelist.sh @@ -37,14 +37,6 @@ helpFunc() exit 1 } -modifyHost=false - -# After setting defaults, check if there's local overrides -if [[ -r ${piholeDir}/pihole.conf ]];then - echo "::: Local calibration requested..." - . ${piholeDir}/pihole.conf -fi - PopWhitelistFile(){ #check whitelist file exists, and if not, create it if [[ ! -f ${whitelist} ]];then @@ -102,43 +94,37 @@ RemoveDomain(){ } ModifyHostFile(){ - if ${addmode}; then - #remove domains in from hosts file - if [[ -r ${whitelist} ]];then - # Remove whitelist entries - numberOf=$(cat ${whitelist} | sed '/^\s*$/d' | wc -l) - plural=; [[ "$numberOf" != "1" ]] && plural=s - echo ":::" - echo -n "::: Modifying HOSTS file to whitelist $numberOf domain${plural}..." - awk -F':' '{print $1}' ${whitelist} | while read -r line; do echo "$piholeIP $line"; done > ${piholeDir}/whitelist.tmp - echo "l" >> ${piholeDir}/whitelist.tmp - grep -F -x -v -f ${piholeDir}/whitelist.tmp ${adList} > ${piholeDir}/gravity.tmp - rm ${adList} - mv ${piholeDir}/gravity.tmp ${adList} - rm ${piholeDir}/whitelist.tmp - echo " done!" - fi - else - #we need to add the removed domains to the hosts file - echo ":::" - echo "::: Modifying HOSTS file to un-whitelist domains..." - for rdom in "${domToRemoveList[@]}"; do - if grep -q "$rdom" ${piholeDir}/*.domains; then - echo "::: AdLists contain $rdom, re-adding block" - if [[ -n ${piholeIPv6} ]];then - echo -n "::: Restoring block for $rdom on IPv4 and IPv6..." - echo "$rdom" | awk -v ipv4addr="$piholeIP" -v ipv6addr="$piholeIPv6" '{sub(/\r$/,""); print ipv4addr" "$0"\n"ipv6addr" "$0}' >> ${adList} - echo " done!" - else - echo -n "::: Restoring block for $rdom on IPv4..." - echo "$rdom" | awk -v ipv4addr="$piholeIP" '{sub(/\r$/,""); print ipv4addr" "$0}' >>${adList} - echo " done!" - fi - fi - echo -n "::: Removing $rdom from $whitelist..." - echo "$rdom" | sed 's/\./\\./g' | xargs -I {} perl -i -ne'print unless /'{}'(?!.)/;' ${whitelist} - echo " done!" - done + if ${addmode}; then + #remove domains in from hosts file + if [[ -r ${whitelist} ]];then + # Remove whitelist entries + numberOf=$(cat ${whitelist} | sed '/^\s*$/d' | wc -l) + plural=; [[ "$numberOf" != "1" ]] && plural=s + echo ":::" + echo -n "::: Modifying HOSTS file to whitelist $numberOf domain${plural}..." + awk -F':' '{print $1}' ${whitelist} | while read -r line; do echo "$piholeIP $line"; done > ${piholeDir}/whitelist.tmp + echo "l" >> ${piholeDir}/whitelist.tmp + grep -F -x -v -f ${piholeDir}/whitelist.tmp ${adList} > ${piholeDir}/gravity.tmp + rm ${adList} + mv ${piholeDir}/gravity.tmp ${adList} + rm ${piholeDir}/whitelist.tmp + echo " done!" + fi + else + #we need to add the removed domains to the hosts file + echo ":::" + echo "::: Modifying HOSTS file to un-whitelist domains..." + for rdom in "${domToRemoveList[@]}"; do + if grep -q "$rdom" ${piholeDir}/*.domains; then + echo "::: AdLists contain $rdom, re-adding block" + echo -n "::: Restoring block for $rdom on IPv4..." + echo "$rdom" | awk -v ipv4addr="$piholeIP" '{sub(/\r$/,""); print ipv4addr" "$0}' >>${adList} + echo " done!" + fi + echo -n "::: Removing $rdom from $whitelist..." + echo "$rdom" | sed 's/\./\\./g' | xargs -I {} perl -i -ne'print unless /'{}'(?!.)/;' ${whitelist} + echo " done!" + done fi } @@ -180,6 +166,7 @@ DisplayWlist() { ################################################### #globals +modifyHost=false reload=true addmode=true force=false @@ -210,7 +197,7 @@ if [[ -z "${setupVars}" ]] ; then setupVars=/etc/pihole/setupVars.conf fi if [[ -f "${setupVars}" ]];then - . ${setupVars} + . "${setupVars}" else echo "::: WARNING: ${setupVars} missing. Possible installation failure." echo "::: Please run 'pihole -r', and choose the 'install' option to reconfigure."