Skip to content

Commit

Permalink
Release 5.18 (#5615)
Browse files Browse the repository at this point in the history
  • Loading branch information
PromoFaux committed Mar 27, 2024
2 parents 19bfa08 + f3af031 commit 3c7a6ce
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 38 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,8 @@ jobs:
ubuntu_23,
centos_8,
centos_9,
fedora_36,
fedora_37,
fedora_38,
fedora_38,
fedora_39,
]
env:
DISTRO: ${{matrix.distro}}
Expand Down
36 changes: 32 additions & 4 deletions gravity.sh
Original file line number Diff line number Diff line change
Expand Up @@ -503,6 +503,7 @@ compareLists() {
gravity_DownloadBlocklistFromUrl() {
local url="${1}" adlistID="${2}" saveLocation="${3}" target="${4}" compression="${5}"
local heisenbergCompensator="" listCurlBuffer str httpCode success="" ip cmd_ext
local file_path permissions ip_addr port blocked=false download=true

# Create temp file to store content on disk instead of RAM
# We don't use '--suffix' here because not all implementations of mktemp support it, e.g. on Alpine
Expand All @@ -519,7 +520,6 @@ gravity_DownloadBlocklistFromUrl() {

str="Status:"
echo -ne " ${INFO} ${str} Pending..."
blocked=false
case $BLOCKINGMODE in
"IP-NODATA-AAAA"|"IP")
# Get IP address of this domain
Expand Down Expand Up @@ -560,16 +560,44 @@ gravity_DownloadBlocklistFromUrl() {
cmd_ext="--resolve $domain:$port:$ip"
fi

# shellcheck disable=SC2086
httpCode=$(curl --connect-timeout ${curl_connect_timeout} -s -L ${compression} ${cmd_ext} ${heisenbergCompensator} -w "%{http_code}" "${url}" -o "${listCurlBuffer}" 2> /dev/null)
# If we are going to "download" a local file, we first check if the target
# file has a+r permission. We explicitly check for all+read because we want
# to make sure that the file is readable by everyone and not just the user
# running the script.
if [[ $url == "file://"* ]]; then
# Get the file path
file_path=$(echo "$url" | cut -d'/' -f3-)
# Check if the file exists
if [[ ! -e $file_path ]]; then
# Output that the file does not exist
echo -e "${OVER} ${CROSS} ${file_path} does not exist"
download=false
else
# Check if the file has a+r permissions
permissions=$(stat -c "%a" "$file_path")
if [[ $permissions == "??4" || $permissions == "??5" || $permissions == "??6" || $permissions == "??7" ]]; then
# Output that we are using the local file
echo -e "${OVER} ${INFO} Using local file ${file_path}"
else
# Output that the file does not have the correct permissions
echo -e "${OVER} ${CROSS} Cannot read file (file needs to have a+r permission)"
download=false
fi
fi
fi

if [[ "${download}" == true ]]; then
# shellcheck disable=SC2086
httpCode=$(curl --connect-timeout ${curl_connect_timeout} -s -L ${compression} ${cmd_ext} ${heisenbergCompensator} -w "%{http_code}" "${url}" -o "${listCurlBuffer}" 2> /dev/null)
fi

case $url in
# Did we "download" a local file?
"file"*)
if [[ -s "${listCurlBuffer}" ]]; then
echo -e "${OVER} ${TICK} ${str} Retrieval successful"; success=true
else
echo -e "${OVER} ${CROSS} ${str} Not found / empty list"
echo -e "${OVER} ${CROSS} ${str} Retrieval failed / empty list"
fi;;
# Did we "download" a remote file?
*)
Expand Down
18 changes: 0 additions & 18 deletions test/_fedora_37.Dockerfile

This file was deleted.

2 changes: 1 addition & 1 deletion test/_fedora_36.Dockerfile → test/_fedora_39.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM fedora:36
FROM fedora:39
RUN dnf install -y git initscripts

ENV GITDIR /etc/.pihole
Expand Down
6 changes: 3 additions & 3 deletions test/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
pyyaml == 6.0.1
pytest == 7.4.4
pytest == 8.0.2
pytest-xdist == 3.5.0
pytest-testinfra == 10.0.0
tox == 4.11.4
pytest-testinfra == 10.1.0
tox == 4.14.1

8 changes: 0 additions & 8 deletions test/tox.fedora_36.ini

This file was deleted.

2 changes: 1 addition & 1 deletion test/tox.fedora_37.ini → test/tox.fedora_39.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ envlist = py3
[testenv]
allowlist_externals = docker
deps = -rrequirements.txt
commands = docker buildx build --load --progress plain -f _fedora_37.Dockerfile -t pytest_pihole:test_container ../
commands = docker buildx build --load --progress plain -f _fedora_39.Dockerfile -t pytest_pihole:test_container ../
pytest {posargs:-vv -n auto} ./test_any_automated_install.py ./test_any_utils.py ./test_centos_fedora_common_support.py ./test_fedora_support.py

0 comments on commit 3c7a6ce

Please sign in to comment.