mirror of
https://github.com/pi-hole/pi-hole.git
synced 2024-12-24 13:50:17 +00:00
additional shellcheck fixes
This commit is contained in:
parent
b6a2a4ad5a
commit
22fac5e1e0
1 changed files with 30 additions and 34 deletions
|
@ -162,12 +162,14 @@ source_setup_variables() {
|
||||||
# Display the current test that is running
|
# Display the current test that is running
|
||||||
log_write "\n${COL_LIGHT_PURPLE}*** [ INITIALIZING ]${COL_NC} Sourcing setup variables"
|
log_write "\n${COL_LIGHT_PURPLE}*** [ INITIALIZING ]${COL_NC} Sourcing setup variables"
|
||||||
# If the variable file exists,
|
# If the variable file exists,
|
||||||
if_file_exists "${PIHOLE_SETUP_VARS_FILE}" && \
|
if ls "${PIHOLE_SETUP_VARS_FILE}" 1> /dev/null 2>&1; then
|
||||||
log_write "${INFO} Sourcing ${PIHOLE_SETUP_VARS_FILE}...";
|
log_write "${INFO} Sourcing ${PIHOLE_SETUP_VARS_FILE}...";
|
||||||
# source it
|
# source it
|
||||||
source ${PIHOLE_SETUP_VARS_FILE} || \
|
source ${PIHOLE_SETUP_VARS_FILE}
|
||||||
|
else
|
||||||
# If it can't, show an error
|
# If it can't, show an error
|
||||||
log_write "${PIHOLE_SETUP_VARS_FILE} ${COL_LIGHT_RED}does not exist or cannot be read.${COL_NC}"
|
log_write "${PIHOLE_SETUP_VARS_FILE} ${COL_LIGHT_RED}does not exist or cannot be read.${COL_NC}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
make_temporary_log() {
|
make_temporary_log() {
|
||||||
|
@ -209,19 +211,6 @@ echo_current_diagnostic() {
|
||||||
log_write "\n${COL_LIGHT_PURPLE}*** [ DIAGNOSING ]:${COL_NC} ${1}"
|
log_write "\n${COL_LIGHT_PURPLE}*** [ DIAGNOSING ]:${COL_NC} ${1}"
|
||||||
}
|
}
|
||||||
|
|
||||||
if_file_exists() {
|
|
||||||
# Set the first argument passed to tihs function as a named variable for better readability
|
|
||||||
local file_to_test="${1}"
|
|
||||||
# If the file is readable
|
|
||||||
if [[ -r "${file_to_test}" ]]; then
|
|
||||||
# Return success
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
# Otherwise, return a failure
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
compare_local_version_to_git_version() {
|
compare_local_version_to_git_version() {
|
||||||
# The git directory to check
|
# The git directory to check
|
||||||
local git_dir="${1}"
|
local git_dir="${1}"
|
||||||
|
@ -372,7 +361,7 @@ get_distro_attributes() {
|
||||||
OLD_IFS="$IFS"
|
OLD_IFS="$IFS"
|
||||||
# Store the distro info in an array and make it global since the OS won't change,
|
# Store the distro info in an array and make it global since the OS won't change,
|
||||||
# but we'll keep it within the function for better unit testing
|
# but we'll keep it within the function for better unit testing
|
||||||
IFS=$'\r\n' command eval "distro_info=( $(cat /etc/*release) )"
|
IFS=$'\r\n' command eval 'distro_info=( $(cat /etc/*release) )'
|
||||||
|
|
||||||
# Set a named variable for better readability
|
# Set a named variable for better readability
|
||||||
local distro_attribute
|
local distro_attribute
|
||||||
|
@ -402,7 +391,7 @@ diagnose_operating_system() {
|
||||||
echo_current_diagnostic "Operating system"
|
echo_current_diagnostic "Operating system"
|
||||||
|
|
||||||
# If there is a /etc/*release file, it's probably a supported operating system, so we can
|
# If there is a /etc/*release file, it's probably a supported operating system, so we can
|
||||||
if [[ -r /etc/*release ]]; then
|
if ls /etc/*release 1> /dev/null 2>&1; then
|
||||||
# display the attributes to the user from the function made earlier
|
# display the attributes to the user from the function made earlier
|
||||||
get_distro_attributes
|
get_distro_attributes
|
||||||
else
|
else
|
||||||
|
@ -457,7 +446,7 @@ does_ip_match_setup_vars() {
|
||||||
# IP address to check for
|
# IP address to check for
|
||||||
local ip_address="${2}"
|
local ip_address="${2}"
|
||||||
# See what IP is in the setupVars.conf file
|
# See what IP is in the setupVars.conf file
|
||||||
local setup_vars_ip=$(< ${PIHOLE_SETUP_VARS_FILE} | grep IPV${protocol}_ADDRESS | cut -d '=' -f2)
|
local setup_vars_ip=$(cat ${PIHOLE_SETUP_VARS_FILE} | grep IPV${protocol}_ADDRESS | cut -d '=' -f2)
|
||||||
# If it's an IPv6 address
|
# If it's an IPv6 address
|
||||||
if [[ "${protocol}" == "6" ]]; then
|
if [[ "${protocol}" == "6" ]]; then
|
||||||
# Strip off the / (CIDR notation)
|
# Strip off the / (CIDR notation)
|
||||||
|
@ -613,10 +602,12 @@ check_required_ports() {
|
||||||
done < <( lsof -i -P -n | awk -F' ' '/LISTEN/ {print $9, $1}' | sort -n | uniq | cut -d':' -f2 )
|
done < <( lsof -i -P -n | awk -F' ' '/LISTEN/ {print $9, $1}' | sort -n | uniq | cut -d':' -f2 )
|
||||||
|
|
||||||
# Now that we have the values stored,
|
# Now that we have the values stored,
|
||||||
for i in ${!ports_in_use[@]}; do
|
for i in "${!ports_in_use[@]}"; do
|
||||||
# loop through them and assign some local variables
|
# loop through them and assign some local variables
|
||||||
local port_number="$(echo "${ports_in_use[$i]}" | awk '{print $1}')"
|
local port_number
|
||||||
local service_name=$(echo "${ports_in_use[$i]}" | awk '{print $2}')
|
port_number="$(echo "${ports_in_use[$i]}" | awk '{print $1}')"
|
||||||
|
local service_name
|
||||||
|
service_name=$(echo "${ports_in_use[$i]}" | awk '{print $2}')
|
||||||
# Use a case statement to determine if the right services are using the right ports
|
# Use a case statement to determine if the right services are using the right ports
|
||||||
case "${port_number}" in
|
case "${port_number}" in
|
||||||
53) compare_port_to_service_assigned "${resolver}"
|
53) compare_port_to_service_assigned "${resolver}"
|
||||||
|
@ -647,14 +638,18 @@ check_x_headers() {
|
||||||
# server is operating correctly
|
# server is operating correctly
|
||||||
echo_current_diagnostic "Dashboard and block page"
|
echo_current_diagnostic "Dashboard and block page"
|
||||||
# Use curl -I to get the header and parse out just the X-Pi-hole one
|
# Use curl -I to get the header and parse out just the X-Pi-hole one
|
||||||
local block_page=$(curl -Is localhost | awk '/X-Pi-hole/' | tr -d '\r')
|
local block_page
|
||||||
|
block_page=$(curl -Is localhost | awk '/X-Pi-hole/' | tr -d '\r')
|
||||||
# Do it for the dashboard as well, as the header is different than above
|
# Do it for the dashboard as well, as the header is different than above
|
||||||
local dashboard=$(curl -Is localhost/admin/ | awk '/X-Pi-hole/' | tr -d '\r')
|
local dashboard
|
||||||
|
dashboard=$(curl -Is localhost/admin/ | awk '/X-Pi-hole/' | tr -d '\r')
|
||||||
# Store what the X-Header shoud be in variables for comparision later
|
# Store what the X-Header shoud be in variables for comparision later
|
||||||
local block_page_working="X-Pi-hole: A black hole for Internet advertisements."
|
local block_page_working
|
||||||
local dashboard_working="X-Pi-hole: The Pi-hole Web interface is working!"
|
block_page_working="X-Pi-hole: A black hole for Internet advertisements."
|
||||||
|
local dashboard_working
|
||||||
|
dashboard_working="X-Pi-hole: The Pi-hole Web interface is working!"
|
||||||
# If the X-header found by curl matches what is should be,
|
# If the X-header found by curl matches what is should be,
|
||||||
if [[ $block_page == $block_page_working ]]; then
|
if [[ $block_page == "$block_page_working" ]]; then
|
||||||
# display a success message
|
# display a success message
|
||||||
log_write "$TICK ${COL_LIGHT_GREEN}${block_page}${COL_NC}"
|
log_write "$TICK ${COL_LIGHT_GREEN}${block_page}${COL_NC}"
|
||||||
else
|
else
|
||||||
|
@ -663,7 +658,7 @@ check_x_headers() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Same logic applies to the dashbord as above, if the X-Header matches what a working system shoud have,
|
# Same logic applies to the dashbord as above, if the X-Header matches what a working system shoud have,
|
||||||
if [[ $dashboard == $dashboard_working ]]; then
|
if [[ $dashboard == "$dashboard_working" ]]; then
|
||||||
# then we can show a success
|
# then we can show a success
|
||||||
log_write "$TICK ${COL_LIGHT_GREEN}${dashboard}${COL_NC}"
|
log_write "$TICK ${COL_LIGHT_GREEN}${dashboard}${COL_NC}"
|
||||||
else
|
else
|
||||||
|
@ -682,7 +677,6 @@ dig_at() {
|
||||||
echo_current_diagnostic "Name resolution (IPv${protocol}) using a random blocked domain and a known ad-serving domain"
|
echo_current_diagnostic "Name resolution (IPv${protocol}) using a random blocked domain and a known ad-serving domain"
|
||||||
# Set more local variables
|
# Set more local variables
|
||||||
# We need to test name resolution locally, via Pi-hole, and via a public resolver
|
# We need to test name resolution locally, via Pi-hole, and via a public resolver
|
||||||
local url
|
|
||||||
local local_dig
|
local local_dig
|
||||||
local pihole_dig
|
local pihole_dig
|
||||||
local remote_dig
|
local remote_dig
|
||||||
|
@ -852,13 +846,15 @@ dir_check() {
|
||||||
# Display the current test that is running
|
# Display the current test that is running
|
||||||
echo_current_diagnostic "contents of ${COL_CYAN}${directory}${COL_NC}"
|
echo_current_diagnostic "contents of ${COL_CYAN}${directory}${COL_NC}"
|
||||||
# For each file in the directory,
|
# For each file in the directory,
|
||||||
for filename in "${directory}"; do
|
for filename in ${directory}; do
|
||||||
# check if exists first; if it does,
|
# check if exists first; if it does,
|
||||||
if_file_exists "${filename}" && \
|
if ls "${filename}" 1> /dev/null 2>&1; then
|
||||||
# do nothing
|
# do nothing
|
||||||
: || \
|
:
|
||||||
# Otherwise, show an error
|
else
|
||||||
log_write "${COL_LIGHT_RED}${directory} does not exist.${COL_NC}"
|
# Otherwise, show an error
|
||||||
|
log_write "${COL_LIGHT_RED}${directory} does not exist.${COL_NC}"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue