Commit graph

5900 commits

Author SHA1 Message Date
DL6ER
7167e6d5e4
Apply suggestions from code review
Co-authored-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-12-21 16:20:02 +01:00
yubiuser
39a66b608b
Replace Contributing Guide by link to docs.pi-hole.net (#4433)
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-21 14:00:47 +01:00
DL6ER
b06efb6ab7
Declare variables local
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-21 14:00:46 +01:00
DL6ER
ab4bce4787
Allow users to force recovery even when checks are okay using "pihole -g -r recover force"
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-21 13:57:03 +01:00
DL6ER
469c179b32
Return early from recovery routine when integrity checks didn't show any database errors.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-21 13:57:03 +01:00
DL6ER
190ab79606
Implement fully-automated gravity database recovery method.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-21 13:57:03 +01:00
yubiuser
669f1b0f4a
Address reviewer's comment
Co-authored-by: DL6ER <DL6ER@users.noreply.github.com>
2021-12-21 12:58:39 +01:00
DL6ER
31de661bbb
Merge pull request #4414 from pi-hole/debug/custom.list
Add custom.list (Local DNS Records) to debug log
2021-12-21 12:37:11 +01:00
DL6ER
3a67d1cf8d
Merge pull request #4461 from pi-hole/qr_iframe
Companion to pi-hole/adminlte #1996
2021-12-20 21:51:05 +01:00
DL6ER
c0f454ddfa
Add new interface listening option "bind" (#4476)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-20 21:36:19 +01:00
DL6ER
ef0a22f9ec
Merge pull request #4478 from pi-hole/fix/db_permission
Gravity database handling improvements
2021-12-20 21:28:09 +01:00
Dan Schaper
533a77d6d5
Add database function failure guards.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-12-20 11:36:55 -08:00
Dan Schaper
76ae75689c
Check for DNS before run.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-12-20 11:09:11 -08:00
Dan Schaper
a780fc59e2
Set DBFile permissions on creation.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-12-20 10:56:42 -08:00
Christian König
28085cf7d8
Merge iFrame exceptions
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-17 10:08:16 +01:00
Dan Schaper
a3cc5df317
Configure stale action (#4269)
* Configure stale action

* [skip ci] Update .github/workflows/stale.yml

* Update .github/workflows/stale.yml
2021-12-16 20:19:11 +01:00
Christian König
2eff53b2bb
Allow qr code iframe
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-10 07:17:53 +01:00
Christian König
8d6ce78c65
Allow qr code iframe
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-10 07:09:42 +01:00
Christian König
b52a3a021d
Add comment help text to list function
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-06 20:30:37 +01:00
yubiuser
ae39e338fe
Use exec to run gravity script (#4449)
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-04 10:50:21 +01:00
Christian König
e243c562c2
Unblock adlist domain during gravity run in NODATA mode
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-03 09:17:19 +01:00
DL6ER
4c267f7732
Merge pull request #4445 from pi-hole/fix/counting
Fix number of invalid domains
2021-12-03 08:56:54 +01:00
Christian König
647ba6ec9d
Rename variables to improve comprehensibility
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-02 23:13:01 +01:00
Subhaditya Nath
ba6d700e7e
Fix pihole -v output if WebAdmin not installed (#4370)
* Fix https://github.com/pi-hole/pi-hole/issues/4279

Signed-off-by: Subhaditya Nath <sn03.general@gmail.com>

* Don't ignore exit code of version.sh

If it exits with a non-zero return code, that means some error occurred,
and so it shouldn't be ignored.

Signed-off-by: Subhaditya Nath <sn03.general@gmail.com>

* Implement changes suggested by @Michalng

Signed-off-by: Subhaditya Nath <sn03.general@gmail.com>

* Implement changes suggested by @PromoFaux

Signed-off-by: Subhaditya Nath <sn03.general@gmail.com>

* Always source /etc/pihole/setupVars.conf

https://github.com/pi-hole/pi-hole/pull/4370#issuecomment-978149567

Co-authored-by: Adam Warner <me@adamwarner.co.uk>
2021-12-02 20:46:11 +00:00
Chiller Dragon
e485a7b9bb
Some shellchecks in basic-install.sh (#4088)
* Some shellchecks in basic-install.sh

Signed-off-by: ChillerDragon <ChillerDragon@gmail.com>

* Use more explicit grep (thanks to @MichaIng)

Signed-off-by: ChillerDragon <ChillerDragon@gmail.com>
2021-12-02 14:44:50 +01:00
Christian König
bfda52ed79
Fix number of invalid domains
Co-authored-by: abesnier <besnier_antoine@yahoo.fr>
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-01 11:07:17 +01:00
yubiuser
941f90d5c1
Merge pull request #4443 from MichaIng/patch-1
Fix generated /etc/os-release file in OS check test
2021-11-30 13:05:34 +01:00
MichaIng
14a379d448
Fix generated /etc/os-release file in OS check test
Signed-off-by: MichaIng <micha@dietpi.com>
2021-11-30 02:57:44 +01:00
yubiuser
671fcaffc3
Merge pull request #4085 from jbzdarkid/patch-3
Clean up bash script formatting
2021-11-26 09:23:31 +01:00
jbzdarkid
bc8150adfa Clean up bash script formatting
Done with the help of beautysh (a python-based bash formatter)

Signed-off-by: jbzdarkid <jbzdarkid@gmail.com>
2021-11-25 14:12:09 -08:00
yubiuser
b750b01acc
Merge pull request #4434 from MichaIng/patch-1
Use a fixed list height for network interface selection
2021-11-22 16:37:58 +01:00
MichaIng
996a2c74fa
Use a fixed list height for network interface selection
This solves the issue reported here: https://github.com/pi-hole/pi-hole/issues/4196
It replaces the other suggested solution here: https://github.com/pi-hole/pi-hole/pull/4197

The benefit of using a fixed/limited list height, compared to allowing larger whiptail/dialogue dimension, is that it works on small screens as well, where the screen or console size itself is too small to hold the interface list + text above + whiptail frame.

It the amount of list elements exceeds the defined list height, automatically a visual scroll bar is added and the list can be scrolled with up/down pageup/pagedown buttons, hence it is generally not required to adjust a list height based on the amount of elements. The fixed height of "6" is chosen since all other "--radiolist" calls use this fixed height as well, it fits and looks good within a 20 rows high whiptail dialogue, and in the common Pi-hole use cases there are no more than 6 network interfaces.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-11-22 13:25:13 +01:00
DL6ER
d85fee27a9
Merge pull request #4420 from pi-hole/clean/webpage.sh
Remove unused code from webpage.sh
2021-11-20 21:13:50 +01:00
Adam Warner
cdd4d9ea9e
Update the tests (#4427)
* unpin the requirements and update all to latest available - needs more work still. see notes in `def host()`

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

* fix py3 monkey patch of testinfra docker using bash

Signed-off-by: Adam Hill <adam@diginc.us>

* update the other test files to use `host` instead of `Pihole`
Address some sticklr and codefactor
update python version from 3.7 to 3.8
preload `git` onto the centos/fedora test images, and switch which with command -v in the passthrough mock
testinfra is deprecated, use pytest-testinfra

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

Co-authored-by: Adam Hill <adam@diginc.us>
2021-11-18 01:03:37 +00:00
pvogt09
cedd1a2591
unit test for umask problems in #3177 and #2730 (#3191)
* add test for file permissions of $webroot

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* changes sudo to su for running command as user www-data

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* installs PIHOLE_WEB_DEPS to create LIGHTTPD_USER

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* changes stdout to rc

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* use installPihole instead of installPiholeWeb in test

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* try installation process with main

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* mock systemctl

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* removes stickler errors

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* start lighttpd and make webpage test optional

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* test all files and directories in $webroot

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* fix stickler and codefactor warnings

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* set permission for /var/cache if it did not exist before

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* add test case for pihole files

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* fix stickler errors

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* revert "set permission for /var/cache if it did not exist before" and make lighttpd start work

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* add --add-cap=NET_ADMIN to enable FTL start

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* specify DNS server for cURL

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* check files created by FTL

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* reorder code and change nameserver in /etc/resolv.conf

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* resolve with dig instead of relying on /etc/resolv.conf

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* set IP to 127.0.0.1 in setupVars.conf for blockpage tests

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* resolve domain with dig and remove debug output

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* fix stickler errors

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* no git pull in Github Action runs for pull requests

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* --cap-add=ALL test

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* fix stickler errors

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* remove debug code

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* update_repo patch for CentOS 7 in Github Actions

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* removes TODOs and stickler warnings

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* adds trailing slash to domain

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* use only first result from dig

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* domain name resolution does not work reliably in docker container

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* repair executable permission

Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>

* Create mock_command_passthrough that allows intercepting of specific arguments - everything else is passed through to the proper command. Use this new command instead of making changes in basic-install.sh to make the tests pass.

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

Co-authored-by: Adam Warner <me@adamwarner.co.uk>
2021-11-11 16:44:57 +00:00
yubiuser
ac4a975be5
Allow users to skip setting static IP adress (#4419)
* Allow users to skip setting static IP adresss

Signed-off-by: Christian König <ckoenig@posteo.de>
2021-11-06 20:32:03 +00:00
yubiuser
996f8fff28
Recommend apt instead of apt-get if updating the package cache failed (#4421)
* Only change the recommendation to use apt

Signed-off-by: Christian König <ckoenig@posteo.de>
2021-11-04 15:55:16 -07:00
Christian König
e733553295
Remove unused code from webpage.sh
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-11-02 21:22:14 +01:00
yubiuser
0c4e1b51ab
Merge pull request #4417 from aviddiviner/fix-rfc-config-docs
Fix documentation; add some missing zones
2021-10-28 20:13:42 +02:00
David Irvine
c6da1a3918 Fix documentation; add some missing zones
Signed-off-by: David Irvine <aviddiviner@gmail.com>
2021-10-28 12:09:34 +02:00
Christian König
c1eb35a35e
Add custom.list (Local DNS Records) to debug log
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-26 22:46:52 +02:00
Adam Warner
b5e0f142cc
Merge pull request #4405 from pi-hole/development
Pi-hole v5.6
2021-10-23 20:01:27 +01:00
Blayne Campbell
8713135b01
update tests: remove fedora 32, add fedora 34 (#4403)
Signed-off-by: bcambl <blayne@blaynecampbell.com>
2021-10-23 19:43:20 +01:00
DL6ER
7cdd8871e5
Merge pull request #4384 from pi-hole/tweak/local_dns_cname
Tweak local DNS record and CNAME
2021-10-23 16:38:52 +02:00
Christian König
596689b4c9
Validate host/domain of Local DNS records as well
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-19 21:34:16 +02:00
Christian König
a872fabe7d Validate on removal as well
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-17 20:56:08 +02:00
Christian König
bc21a7155d Add option to not reload
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-12 19:53:59 +02:00
Christian König
b7bba6a689 Validate when adding not when removing
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-12 19:32:55 +02:00
MichaIng
04f9e92bff
Fix PHP8.0 detection (#4383)
The phpInsNewer variable is not set anymore, so that the JSON module is now always tried to be installed. Instead of checking for phpInsNewer to derive whether PHP was installed already, phpInsMajor is now checked. If it is set, PHP is installed already, and only if the major version is lower than 8, the JSON module can be installed.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-10-11 20:43:12 +01:00
DL6ER
16fb6665ec
Merge pull request #4380 from pi-hole/df
Include df -h in debug log
2021-10-11 19:09:22 +02:00