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>
* 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>
* 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>
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>
* Set file permission for querie database in pihole-FTL.service
Signed-off-by: Christian König <ckoenig@posteo.de>
* Use -f flag for chmod of the macvendor.db
Signed-off-by: Christian König <ckoenig@posteo.de>
* Fix missing space
Signed-off-by: Christian König <ckoenig@posteo.de>
* Fix spelling
Signed-off-by: Christian König <ckoenig@posteo.de>
Add some smoke tests for the repository.
- Add x bit to piholeCheckout.sh. Possibly not needed, but consistency is no bad thing
- Ensure all files in script directorys have executable bit set
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
The script defines variables for the most important file paths which are not always used to call the file paths. "lighttpdConfig" was never used in the script itself, so that a shellcheck exception needed to be used. With this change, the defined variables are consequently used, which makes the shellcheck exception obsolete as well.
Additionally the assigned strings are quoted, which is not necessary here but aligns with the coding standard and highlights the strings in most editors and development platforms for developer convenience.
Signed-off-by: MichaIng <micha@dietpi.com>
* scripts/list: Fixed --noreload options
We should differentiate the ability and the needings.
Signed-off-by: Andras Tim <andras.tim@gmail.com>
* scripts/list: Removed unnecessary tailing whitespaces
Signed-off-by: Andras Tim <andras.tim@gmail.com>
* Update advanced/Scripts/list.sh
Signed-off-by: Andras Tim <andras.tim@gmail.com>
* Merge bash conditions according to MichaIng suggestion
Co-authored-by: micha@dietpi.com
Signed-off-by: Andras Tim <andras.tim@gmail.com>
* Do not export unconditionally
Signed-off-by: Christian König <ckoenig@posteo.de>
* Check if variable is unset instead of grep for it
Signed-off-by: Christian König <ckoenig@posteo.de>
* Use bash's buld in word syntax
Signed-off-by: Christian König <ckoenig@posteo.de>
* Move export back to their brothers
Signed-off-by: Christian König <ckoenig@posteo.de>
* Remove unused wildcard_regex_converter.sh
Signed-off-by: Christian König <ckoenig@posteo.de>
* Remove regexconverter
Signed-off-by: Christian König <ckoenig@posteo.de>