mirror of
https://github.com/pi-hole/pi-hole.git
synced 2024-11-15 10:43:55 +00:00
Pi-hole core v5.15.4 (#5165)
This commit is contained in:
commit
741717aa38
6 changed files with 71 additions and 25 deletions
|
@ -66,6 +66,8 @@ RUN_DIRECTORY="/run"
|
||||||
LOG_DIRECTORY="/var/log/pihole"
|
LOG_DIRECTORY="/var/log/pihole"
|
||||||
WEB_SERVER_LOG_DIRECTORY="/var/log/lighttpd"
|
WEB_SERVER_LOG_DIRECTORY="/var/log/lighttpd"
|
||||||
WEB_SERVER_CONFIG_DIRECTORY="/etc/lighttpd"
|
WEB_SERVER_CONFIG_DIRECTORY="/etc/lighttpd"
|
||||||
|
WEB_SERVER_CONFIG_DIRECTORY_FEDORA="${WEB_SERVER_CONFIG_DIRECTORY}/conf.d"
|
||||||
|
WEB_SERVER_CONFIG_DIRECTORY_DEBIAN="${WEB_SERVER_CONFIG_DIRECTORY}/conf-enabled"
|
||||||
HTML_DIRECTORY="/var/www/html"
|
HTML_DIRECTORY="/var/www/html"
|
||||||
WEB_GIT_DIRECTORY="${HTML_DIRECTORY}/admin"
|
WEB_GIT_DIRECTORY="${HTML_DIRECTORY}/admin"
|
||||||
SHM_DIRECTORY="/dev/shm"
|
SHM_DIRECTORY="/dev/shm"
|
||||||
|
@ -77,6 +79,8 @@ PIHOLE_CRON_FILE="${CRON_D_DIRECTORY}/pihole"
|
||||||
|
|
||||||
WEB_SERVER_CONFIG_FILE="${WEB_SERVER_CONFIG_DIRECTORY}/lighttpd.conf"
|
WEB_SERVER_CONFIG_FILE="${WEB_SERVER_CONFIG_DIRECTORY}/lighttpd.conf"
|
||||||
WEB_SERVER_CUSTOM_CONFIG_FILE="${WEB_SERVER_CONFIG_DIRECTORY}/external.conf"
|
WEB_SERVER_CUSTOM_CONFIG_FILE="${WEB_SERVER_CONFIG_DIRECTORY}/external.conf"
|
||||||
|
WEB_SERVER_PIHOLE_CONFIG_FILE_DEBIAN="${WEB_SERVER_CONFIG_DIRECTORY_DEBIAN}/15-pihole-admin.conf"
|
||||||
|
WEB_SERVER_PIHOLE_CONFIG_FILE_FEDORA="${WEB_SERVER_CONFIG_DIRECTORY_FEDORA}/pihole-admin.conf"
|
||||||
|
|
||||||
PIHOLE_INSTALL_LOG_FILE="${PIHOLE_DIRECTORY}/install.log"
|
PIHOLE_INSTALL_LOG_FILE="${PIHOLE_DIRECTORY}/install.log"
|
||||||
PIHOLE_RAW_BLOCKLIST_FILES="${PIHOLE_DIRECTORY}/list.*"
|
PIHOLE_RAW_BLOCKLIST_FILES="${PIHOLE_DIRECTORY}/list.*"
|
||||||
|
@ -140,6 +144,8 @@ PIHOLE_PROCESSES=( "lighttpd" "pihole-FTL" )
|
||||||
REQUIRED_FILES=("${PIHOLE_CRON_FILE}"
|
REQUIRED_FILES=("${PIHOLE_CRON_FILE}"
|
||||||
"${WEB_SERVER_CONFIG_FILE}"
|
"${WEB_SERVER_CONFIG_FILE}"
|
||||||
"${WEB_SERVER_CUSTOM_CONFIG_FILE}"
|
"${WEB_SERVER_CUSTOM_CONFIG_FILE}"
|
||||||
|
"${WEB_SERVER_PIHOLE_CONFIG_FILE_DEBIAN}"
|
||||||
|
"${WEB_SERVER_PIHOLE_CONFIG_FILE_FEDORA}"
|
||||||
"${PIHOLE_INSTALL_LOG_FILE}"
|
"${PIHOLE_INSTALL_LOG_FILE}"
|
||||||
"${PIHOLE_RAW_BLOCKLIST_FILES}"
|
"${PIHOLE_RAW_BLOCKLIST_FILES}"
|
||||||
"${PIHOLE_LOCAL_HOSTS_FILE}"
|
"${PIHOLE_LOCAL_HOSTS_FILE}"
|
||||||
|
@ -977,6 +983,20 @@ ftl_full_status(){
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lighttpd_test_configuration(){
|
||||||
|
# let lighttpd test it's own configuration
|
||||||
|
local lighttpd_conf_test
|
||||||
|
echo_current_diagnostic "Lighttpd configuration test"
|
||||||
|
lighttpd_conf_test=$(lighttpd -tt -f /etc/lighttpd/lighttpd.conf)
|
||||||
|
if [ -z "${lighttpd_conf_test}" ]; then
|
||||||
|
# empty output
|
||||||
|
log_write "${TICK} ${COL_GREEN}No error in lighttpd configuration${COL_NC}"
|
||||||
|
else
|
||||||
|
log_write "${CROSS} ${COL_RED}Error in lighttpd configuration${COL_NC}"
|
||||||
|
log_write " ${lighttpd_conf_test}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
make_array_from_file() {
|
make_array_from_file() {
|
||||||
local filename="${1}"
|
local filename="${1}"
|
||||||
# The second argument can put a limit on how many line should be read from the file
|
# The second argument can put a limit on how many line should be read from the file
|
||||||
|
@ -1069,10 +1089,13 @@ dir_check() {
|
||||||
# check if exists first; if it does,
|
# check if exists first; if it does,
|
||||||
if ls "${filename}" 1> /dev/null 2>&1; then
|
if ls "${filename}" 1> /dev/null 2>&1; then
|
||||||
# do nothing
|
# do nothing
|
||||||
:
|
true
|
||||||
|
return
|
||||||
else
|
else
|
||||||
# Otherwise, show an error
|
# Otherwise, show an error
|
||||||
log_write "${COL_RED}${directory} does not exist.${COL_NC}"
|
log_write "${COL_RED}${directory} does not exist.${COL_NC}"
|
||||||
|
false
|
||||||
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -1080,6 +1103,19 @@ dir_check() {
|
||||||
list_files_in_dir() {
|
list_files_in_dir() {
|
||||||
# Set the first argument passed to this function as a named variable for better readability
|
# Set the first argument passed to this function as a named variable for better readability
|
||||||
local dir_to_parse="${1}"
|
local dir_to_parse="${1}"
|
||||||
|
|
||||||
|
# show files and sizes of some directories, don't print the file content (yet)
|
||||||
|
if [[ "${dir_to_parse}" == "${SHM_DIRECTORY}" ]]; then
|
||||||
|
# SHM file - we do not want to see the content, but we want to see the files and their sizes
|
||||||
|
log_write "$(ls -lh "${dir_to_parse}/")"
|
||||||
|
elif [[ "${dir_to_parse}" == "${WEB_SERVER_CONFIG_DIRECTORY_FEDORA}" ]]; then
|
||||||
|
# we want to see all files files in /etc/lighttpd/conf.d
|
||||||
|
log_write "$(ls -lh "${dir_to_parse}/" 2> /dev/null )"
|
||||||
|
elif [[ "${dir_to_parse}" == "${WEB_SERVER_CONFIG_DIRECTORY_DEBIAN}" ]]; then
|
||||||
|
# we want to see all files files in /etc/lighttpd/conf.d
|
||||||
|
log_write "$(ls -lh "${dir_to_parse}/"/ 2> /dev/null )"
|
||||||
|
fi
|
||||||
|
|
||||||
# Store the files found in an array
|
# Store the files found in an array
|
||||||
mapfile -t files_found < <(ls "${dir_to_parse}")
|
mapfile -t files_found < <(ls "${dir_to_parse}")
|
||||||
# For each file in the array,
|
# For each file in the array,
|
||||||
|
@ -1095,11 +1131,8 @@ list_files_in_dir() {
|
||||||
[[ "${dir_to_parse}/${each_file}" == "${PIHOLE_WEB_SERVER_ACCESS_LOG_FILE}" ]] || \
|
[[ "${dir_to_parse}/${each_file}" == "${PIHOLE_WEB_SERVER_ACCESS_LOG_FILE}" ]] || \
|
||||||
[[ "${dir_to_parse}/${each_file}" == "${PIHOLE_LOG_GZIPS}" ]]; then
|
[[ "${dir_to_parse}/${each_file}" == "${PIHOLE_LOG_GZIPS}" ]]; then
|
||||||
:
|
:
|
||||||
elif [[ "${dir_to_parse}" == "${SHM_DIRECTORY}" ]]; then
|
|
||||||
# SHM file - we do not want to see the content, but we want to see the files and their sizes
|
|
||||||
log_write "$(ls -lhd "${dir_to_parse}"/"${each_file}")"
|
|
||||||
elif [[ "${dir_to_parse}" == "${DNSMASQ_D_DIRECTORY}" ]]; then
|
elif [[ "${dir_to_parse}" == "${DNSMASQ_D_DIRECTORY}" ]]; then
|
||||||
# in case of the dnsmasq directory inlcuede all files in the debug output
|
# in case of the dnsmasq directory include all files in the debug output
|
||||||
log_write "\\n${COL_GREEN}$(ls -lhd "${dir_to_parse}"/"${each_file}")${COL_NC}"
|
log_write "\\n${COL_GREEN}$(ls -lhd "${dir_to_parse}"/"${each_file}")${COL_NC}"
|
||||||
make_array_from_file "${dir_to_parse}/${each_file}"
|
make_array_from_file "${dir_to_parse}/${each_file}"
|
||||||
else
|
else
|
||||||
|
@ -1132,9 +1165,10 @@ show_content_of_files_in_dir() {
|
||||||
# Set a local variable for better readability
|
# Set a local variable for better readability
|
||||||
local directory="${1}"
|
local directory="${1}"
|
||||||
# Check if the directory exists
|
# Check if the directory exists
|
||||||
dir_check "${directory}"
|
if dir_check "${directory}"; then
|
||||||
# if it does, list the files in it
|
# if it does, list the files in it
|
||||||
list_files_in_dir "${directory}"
|
list_files_in_dir "${directory}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
show_content_of_pihole_files() {
|
show_content_of_pihole_files() {
|
||||||
|
@ -1142,6 +1176,8 @@ show_content_of_pihole_files() {
|
||||||
show_content_of_files_in_dir "${PIHOLE_DIRECTORY}"
|
show_content_of_files_in_dir "${PIHOLE_DIRECTORY}"
|
||||||
show_content_of_files_in_dir "${DNSMASQ_D_DIRECTORY}"
|
show_content_of_files_in_dir "${DNSMASQ_D_DIRECTORY}"
|
||||||
show_content_of_files_in_dir "${WEB_SERVER_CONFIG_DIRECTORY}"
|
show_content_of_files_in_dir "${WEB_SERVER_CONFIG_DIRECTORY}"
|
||||||
|
show_content_of_files_in_dir "${WEB_SERVER_CONFIG_DIRECTORY_FEDORA}"
|
||||||
|
show_content_of_files_in_dir "${WEB_SERVER_CONFIG_DIRECTORY_DEBIAN}"
|
||||||
show_content_of_files_in_dir "${CRON_D_DIRECTORY}"
|
show_content_of_files_in_dir "${CRON_D_DIRECTORY}"
|
||||||
show_content_of_files_in_dir "${WEB_SERVER_LOG_DIRECTORY}"
|
show_content_of_files_in_dir "${WEB_SERVER_LOG_DIRECTORY}"
|
||||||
show_content_of_files_in_dir "${LOG_DIRECTORY}"
|
show_content_of_files_in_dir "${LOG_DIRECTORY}"
|
||||||
|
@ -1496,6 +1532,7 @@ check_name_resolution
|
||||||
check_dhcp_servers
|
check_dhcp_servers
|
||||||
process_status
|
process_status
|
||||||
ftl_full_status
|
ftl_full_status
|
||||||
|
lighttpd_test_configuration
|
||||||
parse_setup_vars
|
parse_setup_vars
|
||||||
check_x_headers
|
check_x_headers
|
||||||
analyze_ftl_db
|
analyze_ftl_db
|
||||||
|
|
|
@ -7,13 +7,15 @@
|
||||||
# This file is copyright under the latest version of the EUPL.
|
# This file is copyright under the latest version of the EUPL.
|
||||||
# Please see LICENSE file for your rights under this license.
|
# Please see LICENSE file for your rights under this license.
|
||||||
|
|
||||||
###############################################################################
|
###################################################################################################
|
||||||
# FILE AUTOMATICALLY OVERWRITTEN BY PI-HOLE INSTALL/UPDATE PROCEDURE. #
|
# IF THIS HEADER EXISTS, THE FILE WILL BE OVERWRITTEN BY PI-HOLE'S UPDATE PROCEDURE. #
|
||||||
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
|
# ANY CHANGES MADE TO THIS FILE WILL BE LOST ON THE NEXT UPDATE UNLESS YOU REMOVE THIS HEADER #
|
||||||
# #
|
# #
|
||||||
# CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE: #
|
# ENSURE THAT YOU DO NOT REMOVE THE REQUIRED LINE: #
|
||||||
# /etc/lighttpd/external.conf #
|
# #
|
||||||
###############################################################################
|
# include "/etc/lighttpd/conf-enabled/*.conf" #
|
||||||
|
# #
|
||||||
|
###################################################################################################
|
||||||
|
|
||||||
server.modules = (
|
server.modules = (
|
||||||
"mod_access",
|
"mod_access",
|
||||||
|
|
|
@ -7,13 +7,15 @@
|
||||||
# This file is copyright under the latest version of the EUPL.
|
# This file is copyright under the latest version of the EUPL.
|
||||||
# Please see LICENSE file for your rights under this license.
|
# Please see LICENSE file for your rights under this license.
|
||||||
|
|
||||||
###############################################################################
|
###################################################################################################
|
||||||
# FILE AUTOMATICALLY OVERWRITTEN BY PI-HOLE INSTALL/UPDATE PROCEDURE. #
|
# IF THIS HEADER EXISTS, THE FILE WILL BE OVERWRITTEN BY PI-HOLE'S UPDATE PROCEDURE. #
|
||||||
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
|
# ANY CHANGES MADE TO THIS FILE WILL BE LOST ON THE NEXT UPDATE UNLESS YOU REMOVE THIS HEADER #
|
||||||
# #
|
# #
|
||||||
# CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE: #
|
# ENSURE THAT YOU DO NOT REMOVE THE REQUIRED LINE: #
|
||||||
# /etc/lighttpd/external.conf #
|
# #
|
||||||
###############################################################################
|
# include "/etc/lighttpd/conf.d/pihole-admin.conf" #
|
||||||
|
# #
|
||||||
|
###################################################################################################
|
||||||
|
|
||||||
server.modules = (
|
server.modules = (
|
||||||
"mod_access",
|
"mod_access",
|
||||||
|
|
|
@ -1409,7 +1409,7 @@ installConfigs() {
|
||||||
mkdir -p /run/lighttpd
|
mkdir -p /run/lighttpd
|
||||||
chown ${LIGHTTPD_USER}:${LIGHTTPD_GROUP} /run/lighttpd
|
chown ${LIGHTTPD_USER}:${LIGHTTPD_GROUP} /run/lighttpd
|
||||||
|
|
||||||
if grep -q -F "FILE AUTOMATICALLY OVERWRITTEN BY PI-HOLE" "${lighttpdConfig}"; then
|
if grep -q -F "FILE WILL BE OVERWRITTEN BY PI-HOLE" "${lighttpdConfig}"; then
|
||||||
# Attempt to preserve backwards compatibility with older versions
|
# Attempt to preserve backwards compatibility with older versions
|
||||||
install -D -m 644 -T ${PI_HOLE_LOCAL_REPO}/advanced/${LIGHTTPD_CFG} "${lighttpdConfig}"
|
install -D -m 644 -T ${PI_HOLE_LOCAL_REPO}/advanced/${LIGHTTPD_CFG} "${lighttpdConfig}"
|
||||||
# Make the directories if they do not exist and set the owners
|
# Make the directories if they do not exist and set the owners
|
||||||
|
|
7
pihole
7
pihole
|
@ -24,7 +24,12 @@ utilsfile="${PI_HOLE_SCRIPT_DIR}/utils.sh"
|
||||||
source "${utilsfile}"
|
source "${utilsfile}"
|
||||||
|
|
||||||
versionsfile="/etc/pihole/versions"
|
versionsfile="/etc/pihole/versions"
|
||||||
source "${versionsfile}"
|
if [ -f "${versionsfile}" ]; then
|
||||||
|
# Only source versionsfile if the file exits
|
||||||
|
# fixes a warning during installation where versionsfile does not exist yet
|
||||||
|
# but gravity calls `pihole -status` and thereby sourcing the file
|
||||||
|
source "${versionsfile}"
|
||||||
|
fi
|
||||||
|
|
||||||
webpageFunc() {
|
webpageFunc() {
|
||||||
source "${PI_HOLE_SCRIPT_DIR}/webpage.sh"
|
source "${PI_HOLE_SCRIPT_DIR}/webpage.sh"
|
||||||
|
|
|
@ -2,5 +2,5 @@ docker-compose == 1.29.2
|
||||||
pytest == 7.2.1
|
pytest == 7.2.1
|
||||||
pytest-xdist == 3.1.0
|
pytest-xdist == 3.1.0
|
||||||
pytest-testinfra == 7.0.0
|
pytest-testinfra == 7.0.0
|
||||||
tox == 4.3.5
|
tox == 4.4.4
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue