From f2e6186ed0ce9b68362ad25d897f1e3c697728ec Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 21 Mar 2021 13:18:43 -0400 Subject: tests: Drop capabilities when run as root on Linux bfs's tests rely on file permissions being enforced, which leads them to work incorrectly when run as root. This is probably the most common packaging issue for bfs, most recently seen with Void Linux's update to bfs 2.2. Make it easier on packagers by using capsh, if it's available, to drop the DAC privileges for the tests. Link: https://github.com/void-linux/void-packages/pull/29437#issuecomment-798670288 Link: https://salsa.debian.org/lamby/pkg-bfs/-/commit/b173efb35da126adb39b0984219d6a2fd9ff428f --- tests.sh | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/tests.sh b/tests.sh index b039eea..0bdd1d4 100755 --- a/tests.sh +++ b/tests.sh @@ -34,10 +34,25 @@ if [ -t 1 ]; then RST="$(printf '\033[0m')" fi -if [ "$EUID" -eq 0 ]; then +if command -v capsh &>/dev/null; then + if capsh --has-p=CAP_DAC_OVERRIDE &>/dev/null || capsh --has-p=CAP_DAC_READ_SEARCH &>/dev/null; then + cat >&2 <&2 <