Commit Graph

7166 Commits

Author SHA1 Message Date
yubiuser 5198095e12 Bump actions/stale from 10.2.0 to 10.3.0 in the github-actions-dependencies group (#6640) 2026-05-24 07:51:44 +02:00
dependabot[bot] c9f932ab48 Bump actions/stale in the github-actions-dependencies group
Bumps the github-actions-dependencies group with 1 update: [actions/stale](https://github.com/actions/stale).


Updates `actions/stale` from 10.2.0 to 10.3.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/b5d41d4e1d5dceea10e7104786b73624c18a190f...eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-23 10:02:24 +00:00
Adam Warner a50b35b1a5 Add Fedora 44 and Ubuntu 26.04 LTS to tests (#6623) 2026-05-22 22:37:34 +01:00
darkexplosiveqwx d01a893721 replace tox with BATS for new OSes
Signed-off-by: darkexplosiveqwx <101737077+darkexplosiveqwx@users.noreply.github.com>
2026-05-21 22:29:28 +02:00
darkexplosiveqwx af4df3fa75 Merge branch 'development' into april-os 2026-05-21 22:24:50 +02:00
Adam Warner bca84e7125 Replace pytest/tox with direct in-container BATS (#6598) 2026-05-21 19:33:31 +01:00
Adam Warner 86562b5eba Remove spurious runUnattended=true from install test
Move from setup/teardown steps to explicit cleanup in each test that creates a "mess"

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:20 +01:00
Adam Warner 3468c0c418 test: update README for BATS runner usage
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:20 +01:00
Adam Warner e972c758ab test: split containers, simplify run_suite, improve distro error
Split the BATS suite into two containers: one for mock/function tests
and one for the fresh install, so installer tests can mutate the
filesystem freely without teardown.

Replace mocks.bash with bats-mock and bats-file, baked into the test
images at build time via Docker ARG-versioned git clones.

Improve the invalid-distro error to list available distros rather than
printing an opaque Dockerfile path.

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:20 +01:00
Adam Warner 551b6516d1 test: bake BATS libraries into test images at build time
Add ARG declarations and a build-time RUN step to all Dockerfiles so
bats-core, bats-support, bats-assert, bats-mock, and bats-file are cloned
at image build time rather than at container runtime.  Library versions are
defined once in run.sh and passed down via --build-arg

Add .dockerignore to exclude any locally-cached test/libs/ directory from
the build context, preventing 'destination already exists' failures when
the directory exists from a previous local test run.

Remove the legacy commented-out sed stub command from all Dockerfiles

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:20 +01:00
Adam Warner 356afe66c5 test: restore executable bit on installer FTL bats file
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:20 +01:00
Adam Warner 1359c6aff5 test: simplify in-container BATS flow and clarify suite intent
The test refactor intentionally prioritizes deterministic CI behavior and clearer semantics over historical transition scaffolding.

Reasoning behind the changes:

- Keep output consistent across distros by enabling pretty BATS output in all images; Alpine now installs ncurses so tput is available.

- Remove no-longer-needed migration plumbing in test/run.sh (CSV env handoff and extra local filename array), while preserving isolated /tmp tests execution to avoid installer side effects on /etc/.pihole.

- Rename ambiguous terminology from earlier direct-vs-legacy comparison and keep runner naming minimal (TEST_FILES, /tmp/tests).

- Clarify scope of the former FTL suite by renaming it to test_installer_ftl.bats and updating test titles to reflect that these validate installer architecture-detection/install paths.

- Reduce duplicated setup/teardown cleanup code in BATS files via shared reset helpers without changing behavior.

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:20 +01:00
Adam Warner da333b0982 test: replace pytest/tox with direct in-container BATS
Replace the Python/tox-based test stack with BATS and run tests directly inside each built DISTRO container. Remove docker:cli orchestration and unify local mock helpers in test/helpers/mocks.bash for direct execution.

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-05-21 19:30:19 +01:00
yubiuser 9648b90194 Bump the github-actions-dependencies group with 2 updates (#6636) 2026-05-16 12:34:35 +02:00
dependabot[bot] 08d44b7a01 Bump the github-actions-dependencies group with 2 updates
Bumps the github-actions-dependencies group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog).


Updates `github/codeql-action` from 4.35.4 to 4.35.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/68bde559dea0fdcac2102bfdf6230c5f70eb485e...9e0d7b8d25671d64c341c19c0152d693099fb5ba)

Updates `trufflesecurity/trufflehog` from 3.95.2 to 3.95.3
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases)
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/17456f8c7d042d8c82c9a8ca9e937231f9f42e26...37b77001d0174ebec2fcca2bd83ff83a6d45a3ab)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions-dependencies
- dependency-name: trufflesecurity/trufflehog
  dependency-version: 3.95.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-16 10:02:59 +00:00
yubiuser 3c65e11672 Bump github/codeql-action from 4.35.3 to 4.35.4 in the github-actions-dependencies group (#6631) 2026-05-09 16:36:28 +02:00
dependabot[bot] ff8e6357ee Bump github/codeql-action in the github-actions-dependencies group
Bumps the github-actions-dependencies group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 4.35.3 to 4.35.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/e46ed2cbd01164d986452f91f178727624ae40d7...68bde559dea0fdcac2102bfdf6230c5f70eb485e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-09 10:02:55 +00:00
Adam Warner 826b293a7b Prevent double error message output in gravity run with invalid file (#6607) 2026-05-07 21:03:11 +01:00
yubiuser b873bf45ab Bump github/codeql-action from 4.35.2 to 4.35.3 in the github-actions-dependencies group (#6629) 2026-05-02 12:12:57 +02:00
dependabot[bot] f7d4429d9d Bump github/codeql-action in the github-actions-dependencies group
Bumps the github-actions-dependencies group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 4.35.2 to 4.35.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...e46ed2cbd01164d986452f91f178727624ae40d7)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 10:02:56 +00:00
darkexplosiveqwx 9586b470e8 Add Fedora 44 and Ubuntu 26.04 LTS to tests
Signed-off-by: darkexplosiveqwx <101737077+darkexplosiveqwx@users.noreply.github.com>
2026-04-29 20:27:39 +02:00
Dan Schaper a3b7117404 Explicitly add gawk to APK dependencies (#6622) 2026-04-28 13:30:09 -06:00
Christian König 9beb608147 Explicitly add gawk to APK dependencies
Signed-off-by: Christian König <github@yubiuser.dev>
2026-04-28 21:12:55 +02:00
Dan Schaper 8b250abef1 Use awk to compare curl versions (#6621) 2026-04-27 14:36:12 -06:00
RD WebDesign 7e72e17304 Use awk to compare curl versions
and edit the comments to explain the new commands.

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-27 17:14:08 -03:00
Adam Warner 4927e56b70 Replace head with sed to avoid error messages on the web interface (#6616) 2026-04-27 08:41:18 +01:00
RD WebDesign 4360ac403d Replace head with sed to avoid error messages on the web interface
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-26 18:25:30 -03:00
Dan Schaper cf19c83a81 Also hardcode the PID file location in utils.sh to prevent readonly variable warning (#6613) 2026-04-25 12:05:35 -07:00
yubiuser dbafd5fc31 Bump trufflesecurity/trufflehog from 3.94.3 to 3.95.2 in the github-actions-dependencies group (#6614) 2026-04-25 14:56:33 +02:00
dependabot[bot] 3d12a10f16 Bump trufflesecurity/trufflehog in the github-actions-dependencies group
Bumps the github-actions-dependencies group with 1 update: [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog).


Updates `trufflesecurity/trufflehog` from 3.94.3 to 3.95.2
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases)
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/47e7b7cd74f578e1e3145d48f669f22fd1330ca6...17456f8c7d042d8c82c9a8ca9e937231f9f42e26)

---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
  dependency-version: 3.95.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-25 10:02:58 +00:00
Adam Warner 0ebef1027d Sync master back into development (#6611) 2026-04-25 10:54:37 +01:00
Adam Warner b4af3f3ead We can also hardcode the PID file location in utils.sh
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-04-25 10:51:55 +01:00
Adam Warner 6e94450826 Only check for curl/local file retrieval if download == true, prevents double error messages in certain situations
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-04-25 00:13:42 +01:00
Adam Warner 3413768c90 Pi-hole Core v6.4.2 (#6610) v6.4.2 2026-04-24 22:56:21 +01:00
Adam Warner b065830df0 Merge commit from fork
hardcode PID file path in service hooks
2026-04-24 22:10:31 +01:00
Adam Warner 7ccb8ddfb0 Improve gravity error message including curl exit code and errormsg (#6605) 2026-04-24 21:57:02 +01:00
RD WebDesign 9f0cb867b2 Use semicolon as separator for the returned values
Co-authored-by: casperklein <casperklein@users.noreply.github.com>
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-22 14:18:44 -03:00
RD WebDesign a7baecb57c Apply suggestions from code review
Note: use short flags for some commands, to keep Busybox compatibility

Co-authored-by: Dan Schaper <dan.schaper@pi-hole.net>
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-22 14:18:13 -03:00
Adam Warner 9d28b2b5e7 add logrotate to DEB and RPM dependencies (#6524) 2026-04-20 17:50:19 +01:00
RD WebDesign 16ec32275b Add comment explaining the code used to compare versions
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-20 13:32:37 -03:00
darkexplosiveqwx c65b63b10b Merge branch 'development' into logrotate
Conflicts resolved: automated install/basic-install.sh

Signed-off-by: darkexplosiveqwx <101737077+darkexplosiveqwx@users.noreply.github.com>
2026-04-20 17:15:49 +02:00
darkexplosiveqwx 145b861552 Clarify comment in pihole.cron
Signed-off-by: darkexplosiveqwx <101737077+darkexplosiveqwx@users.noreply.github.com>
2026-04-20 17:14:38 +02:00
RD WebDesign f4efe7d186 Show exit code using the same color as the message
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-19 18:45:43 -03:00
Adam Warner f166d0067b Fix permission for *.etag files after gravity run (#6353) 2026-04-19 21:57:44 +01:00
RD WebDesign ef4095e81d Merge branch 'development' into tweak/gravity_curl_error2
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-19 17:14:31 -03:00
Adam Warner 5a04d1ecd7 Loose requirements for local file access for gravity (#6430) 2026-04-19 21:02:36 +01:00
Adam Warner a3ed471d05 security: hardcode PID file path in service hooks
The pihole-FTL-prestart.sh and pihole-FTL-poststop.sh scripts are
executed as root by systemd (via the '+' prefix). Both previously read
the PID file path from pihole.toml via getFTLConfigValue — a file the
pihole user can write to directly. An attacker with pihole-user access
could set files.pid to an arbitrary path and trigger a service restart
to cause root to delete then recreate any file on the system, enabling
local privilege escalation.

Fix by inlining the hardcoded path /run/pihole-FTL.pid directly in
each hook, removing any dependency on user-controlled config. The same
hardening is applied to the SysV init script for consistency.

See: GHSA-6w8x-p785-6pm4

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2026-04-19 16:42:58 +01:00
RD WebDesign 065f9d7d93 Apply suggestion
Co-authored-by: MichaIng <micha@dietpi.com>
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-18 21:11:19 -03:00
RD WebDesign d9c2a51711 Add some adjustments to improve the curl message
- Simplify the code that generates the alternative message.
- Add fallback for success case, just in case.
- Use `sort -V` to detect if the curl version is capable of showing
  errormsg value (curl 7.75.0 or higher).

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-18 19:40:06 -03:00
RD WebDesign 2ad97acfd2 Get exit code using $? and only retrive http_code and errormsg
Use the exit code as source, to check if curl command was successful.
Then use the http code only to select the error message, if available.

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2026-04-18 19:30:50 -03:00