Compare commits

..

26 Commits

Author SHA1 Message Date
Adam Warner
d88629e23f v5.12.2 (#4922) 2022-09-19 11:00:09 +01:00
yubiuser
d581401f4e Fix gravity database integrity check (#4921) 2022-09-18 13:35:03 +02:00
Christian König
60c35cb93c Remove unused check_database_integrity()
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-18 13:08:44 +02:00
Christian König
2c3fea321b Remove FAQ_ULA as it is unused in core
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-18 09:10:24 +02:00
Christian König
40f00c6f0b Fix gravity database integrity check
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-18 09:01:22 +02:00
yubiuser
7eff36b3bb Update workflow python to 3.10 and allow any python3 version in tests (#4914) 2022-09-17 16:13:48 +02:00
yubiuser
5332b31b92 Add comment in lighttpd.conf how to change the server port (#4917) 2022-09-17 14:05:13 +02:00
yubiuser
16640ee174 Bump actions/stale from 5.1.1 to 5.2.0 (#4918) 2022-09-17 14:04:25 +02:00
dependabot[bot]
5fe170666a Bump actions/stale from 5.1.1 to 5.2.0
Bumps [actions/stale](https://github.com/actions/stale) from 5.1.1 to 5.2.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5.1.1...v5.2.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 10:08:40 +00:00
Christian König
7e6f81f814 Add comment in lighttpd.conf how to change the server port
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-17 12:00:33 +02:00
yubiuser
80c770357c Fixing texts forgotten after Blocking Page removal (#4915) 2022-09-16 08:25:15 +02:00
RD WebDesign
5cc317de5b Change texts after Block Page removal
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-09-16 03:16:54 -03:00
Adam Warner
515e5f8c8a Store docker version in versions file (If PIHOLE_DOCKER_TAG variable is set) (#4913) 2022-09-15 18:05:42 +01:00
Adam Warner
3d53bda121 Update advanced/Scripts/updatecheck.sh
Co-authored-by: yubiuser <ckoenig@posteo.de>
Signed-off-by: Adam Warner <github@adamwarner.co.uk>
2022-09-15 17:54:54 +01:00
Christian König
8bc5b16527 Set tox envlist to py3
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-15 13:55:45 +02:00
Christian König
c1a927fff1 Run test workflows on python 3.10
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-15 13:55:45 +02:00
Adam Warner
760325eb76 Update piholeDebug to source versions file for DOCKER_VERSION instead of reading PIHOLE_DOCKER_TAG
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-09-14 22:49:37 +01:00
Adam Warner
bf256aa5a7 If docker version env var is set, store it in /etc/pihole/versions file for later use
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-09-14 22:38:41 +01:00
Adam Warner
8dbe6fc0b7 master-> Dev (#4912) 2022-09-14 22:08:15 +01:00
Adam Warner
fe8b0e98ab v5.12.1 (#4908) 2022-09-14 21:28:44 +01:00
yubiuser
ef45578af3 Fix 4898 (#4899) 2022-09-06 19:43:24 +02:00
Christian König
89b88416b3 Fix 4898
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-06 17:09:52 +02:00
Adam Warner
5d913ad192 Release 5.12 (#4889) (#4897) 2022-09-05 08:48:37 +01:00
yubiuser
711035fd8f Update FTL Binary test to ensure we catch incompatibility issues early (#4893) 2022-09-03 14:44:16 +02:00
Adam Warner
0f74165c9d Drop Ubuntu 18 tests
Tweek version_check to only output 1st char of the reported version

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-09-03 12:55:17 +01:00
Adam Warner
46e1a87e9e Tweak FTL test to ensure we don't get false positives on incompatible OS (Will remote Ub18 in a separate commit)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-09-03 12:09:37 +01:00
17 changed files with 38 additions and 57 deletions

View File

@@ -13,7 +13,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@v5.1.1
- uses: actions/stale@v5.2.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30

View File

@@ -43,7 +43,7 @@ jobs:
strategy:
fail-fast: false
matrix:
distro: [debian_10, debian_11, ubuntu_18, ubuntu_20, ubuntu_22, centos_8, fedora_34]
distro: [debian_10, debian_11, ubuntu_20, ubuntu_22, centos_8, fedora_34]
env:
DISTRO: ${{matrix.distro}}
steps:
@@ -51,10 +51,10 @@ jobs:
name: Checkout repository
uses: actions/checkout@v3.0.2
-
name: Set up Python 3.8
name: Set up Python 3.10
uses: actions/setup-python@v4.2.0
with:
python-version: 3.8
python-version: '3.10'
-
name: Install dependencies
run: pip install -r test/requirements.txt

View File

@@ -41,6 +41,9 @@ else
#OVER="\r\033[K"
fi
# shellcheck disable=SC1091
. /etc/pihole/versions
OBFUSCATED_PLACEHOLDER="<DOMAIN OBFUSCATED>"
# FAQ URLs for use in showing the debug log
@@ -50,7 +53,6 @@ FAQ_HARDWARE_REQUIREMENTS="${COL_CYAN}https://docs.pi-hole.net/main/prerequisite
FAQ_HARDWARE_REQUIREMENTS_PORTS="${COL_CYAN}https://docs.pi-hole.net/main/prerequisites/#ports${COL_NC}"
FAQ_HARDWARE_REQUIREMENTS_FIREWALLD="${COL_CYAN}https://docs.pi-hole.net/main/prerequisites/#firewalld${COL_NC}"
FAQ_GATEWAY="${COL_CYAN}https://discourse.pi-hole.net/t/why-is-a-default-gateway-important-for-pi-hole/3546${COL_NC}"
FAQ_ULA="${COL_CYAN}https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127${COL_NC}"
FAQ_FTL_COMPATIBILITY="${COL_CYAN}https://github.com/pi-hole/FTL#compatibility-list${COL_NC}"
FAQ_BAD_ADDRESS="${COL_CYAN}https://discourse.pi-hole.net/t/why-do-i-see-bad-address-at-in-pihole-log/3972${COL_NC}"
@@ -465,8 +467,8 @@ diagnose_operating_system() {
# Display the current test that is running
echo_current_diagnostic "Operating system"
# If the PIHOLE_DOCKER_TAG variable is set, include this information in the debug output
[ -n "${PIHOLE_DOCKER_TAG}" ] && log_write "${INFO} Pi-hole Docker Container: ${PIHOLE_DOCKER_TAG}"
# If DOCKER_VERSION is set (Sourced from /etc/pihole/versions at start of script), include this information in the debug output
[ -n "${DOCKER_VERSION}" ] && log_write "${INFO} Pi-hole Docker Container: ${DOCKER_VERSION}"
# If there is a /etc/*release file, it's probably a supported operating system, so we can
if ls /etc/*release 1> /dev/null 2>&1; then
@@ -802,7 +804,7 @@ check_networking() {
ping_gateway "6"
# Skip the following check if installed in docker container. Unpriv'ed containers do not have access to the information required
# to resolve the service name listening - and the container should not start if there was a port conflict anyway
[ -z "${PIHOLE_DOCKER_TAG}" ] && check_required_ports
[ -z "${DOCKER_VERSION}" ] && check_required_ports
}
check_x_headers() {
@@ -812,7 +814,7 @@ check_x_headers() {
# Similarly, it will show "X-Pi-hole: The Pi-hole Web interface is working!" if you view the header returned
# when accessing the dashboard (i.e curl -I pi.hole/admin/)
# server is operating correctly
echo_current_diagnostic "Dashboard and block page"
echo_current_diagnostic "Dashboard headers"
# Use curl -I to get the header and parse out just the X-Pi-hole one
local full_curl_output_dashboard
local dashboard
@@ -822,7 +824,7 @@ check_x_headers() {
local dashboard_working
dashboard_working="X-Pi-hole: The Pi-hole Web interface is working!"
# Same logic applies to the dashboard as above, if the X-Header matches what a working system should have,
# If the X-Header matches what a working system should have,
if [[ $dashboard == "$dashboard_working" ]]; then
# then we can show a success
log_write "$TICK Web interface X-Header: ${COL_GREEN}${dashboard}${COL_NC}"
@@ -1274,7 +1276,7 @@ analyze_gravity_list() {
# if users want to check database integrity
if [[ "${CHECK_DATABASE}" = true ]]; then
database_integrity_check "${PIHOLE_FTL_DB_FILE}"
database_integrity_check "${PIHOLE_GRAVITY_DB_FILE}"
fi
show_db_entries "Info table" "SELECT property,value FROM info" "20 40"
@@ -1337,16 +1339,6 @@ database_integrity_check(){
}
check_database_integrity() {
echo_current_diagnostic "Gravity Database"
database_permissions "${PIHOLE_GRAVITY_DB_FILE}"
database_integrity_check "${PIHOLE_GRAVITY_DB_FILE}"
echo_current_diagnostic "Pi-hole FTL Query Database"
database_permissions "${PIHOLE_FTL_DB_FILE}"
database_integrity_check "${PIHOLE_FTL_DB_FILE}"
}
# Show a text spinner during a long process run
spinner(){
# Show the spinner only if there is a tty

View File

@@ -84,4 +84,9 @@ else
FTL_VERSION="$(pihole-FTL version)"
addOrEditKeyValPair "${VERSION_FILE}" "FTL_VERSION" "${FTL_VERSION}"
# PIHOLE_DOCKER_TAG is set as env variable only on docker installations
if [[ "${PIHOLE_DOCKER_TAG}" ]]; then
addOrEditKeyValPair "${VERSION_FILE}" "DOCKER_VERSION" "${PIHOLE_DOCKER_TAG}"
fi
fi

View File

@@ -32,6 +32,8 @@ server.errorlog = "/var/log/lighttpd/error-pihole.log"
server.pid-file = "/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
# For lighttpd version 1.4.46 or above, the port can be overwritten in `/etc/lighttpd/external.conf` using the := operator
# e.g. server.port := 8000
server.port = 80
accesslog.filename = "/var/log/lighttpd/access-pihole.log"
accesslog.format = "%{%s}t|%V|%r|%s|%b"

View File

@@ -33,6 +33,8 @@ server.errorlog = "/var/log/lighttpd/error-pihole.log"
server.pid-file = "/run/lighttpd.pid"
server.username = "lighttpd"
server.groupname = "lighttpd"
# For lighttpd version 1.4.46 or above, the port can be overwritten in `/etc/lighttpd/external.conf` using the := operator
# e.g. server.port := 8000
server.port = 80
accesslog.filename = "/var/log/lighttpd/access-pihole.log"
accesslog.format = "%{%s}t|%V|%r|%s|%b"

6
pihole
View File

@@ -104,6 +104,9 @@ restartDNS() {
local svcOption svc str output status pid icon FTL_PID_FILE
svcOption="${1:-restart}"
# get the current path to the pihole-FTL.pid
FTL_PID_FILE="$(getFTLPIDFile)"
# Determine if we should reload or restart
if [[ "${svcOption}" =~ "reload-lists" ]]; then
# Reloading of the lists has been requested
@@ -111,9 +114,6 @@ restartDNS() {
# Note 2: We cannot use killall here as it does
# not know about real-time signals
# get the current path to the pihole-FTL.pid
FTL_PID_FILE="$(getFTLPIDFile)"
pid="$(getFTLPID ${FTL_PID_FILE})"
if [[ "$pid" -eq "-1" ]]; then
svc="true"

View File

@@ -1,17 +0,0 @@
FROM buildpack-deps:bionic-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV SKIP_INSTALL true
ENV OS_CHECK_DOMAIN_NAME dev-supportedos.pi-hole.net
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

View File

@@ -1,6 +1,7 @@
from setuptools import setup
setup(
py_modules=[],
setup_requires=['pytest-runner'],
tests_require=['pytest'],
)

View File

@@ -880,13 +880,17 @@ def test_FTL_binary_installed_and_responsive_no_errors(host):
source /opt/pihole/basic-install.sh
create_pihole_user
funcOutput=$(get_binary_name)
echo "development" > /etc/pihole/ftlbranch
binary="pihole-FTL${funcOutput##*pihole-FTL}"
theRest="${funcOutput%pihole-FTL*}"
FTLdetect "${binary}" "${theRest}"
pihole-FTL version
''')
version_check = host.run('''
VERSION=$(pihole-FTL version)
echo ${VERSION:0:1}
''')
expected_stdout = 'v'
assert expected_stdout in installed_binary.stdout
assert expected_stdout in version_check.stdout
def test_IPv6_only_link_local(host):

View File

@@ -1,5 +1,5 @@
[tox]
envlist = py38
envlist = py3
[testenv]
whitelist_externals = docker

View File

@@ -1,5 +1,5 @@
[tox]
envlist = py38
envlist = py3
[testenv]
whitelist_externals = docker

View File

@@ -1,5 +1,5 @@
[tox]
envlist = py38
envlist = py3
[testenv]
whitelist_externals = docker

View File

@@ -1,5 +1,5 @@
[tox]
envlist = py38
envlist = py3
[testenv]
whitelist_externals = docker

View File

@@ -1,8 +0,0 @@
[tox]
envlist = py38
[testenv]
whitelist_externals = docker
deps = -rrequirements.txt
commands = docker build -f _ubuntu_18.Dockerfile -t pytest_pihole:test_container ../
pytest {posargs:-vv -n auto} ./test_any_automated_install.py ./test_any_utils.py

View File

@@ -1,5 +1,5 @@
[tox]
envlist = py38
envlist = py3
[testenv]
whitelist_externals = docker

View File

@@ -1,5 +1,5 @@
[tox]
envlist = py38
envlist = py3
[testenv]
whitelist_externals = docker