2015-11-06 21:35:15 +01:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
if test "`id -u`" != '0'; then
|
|
|
|
echo "This test only works when run as root. Skipping." >&2
|
|
|
|
exit 77
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "`id -u nobody`" = ""; then
|
|
|
|
echo "This test requires that your system have a 'nobody' user. Sorry." >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2016-06-20 17:15:47 +02:00
|
|
|
if test "$OVERRIDE_GCDA_PERMISSIONS_HACK" = "yes"; then
|
|
|
|
find src -type f -name '*gcda' -print0 | xargs -0 chmod 0666
|
|
|
|
fi
|
|
|
|
|
2015-11-06 21:35:15 +01:00
|
|
|
"${builddir:-.}/src/test/test-switch-id" nobody setuid || exit 1
|
|
|
|
"${builddir:-.}/src/test/test-switch-id" nobody root-bind-low || exit 1
|
|
|
|
"${builddir:-.}/src/test/test-switch-id" nobody setuid-strict || exit 1
|
|
|
|
"${builddir:-.}/src/test/test-switch-id" nobody built-with-caps || exit 0
|
|
|
|
# ... Go beyond this point only if we were built with capability support.
|
|
|
|
|
|
|
|
"${builddir:-.}/src/test/test-switch-id" nobody have-caps || exit 1
|
|
|
|
"${builddir:-.}/src/test/test-switch-id" nobody setuid-keepcaps || exit 1
|
|
|
|
|
2016-06-20 17:15:47 +02:00
|
|
|
if test "$OVERRIDE_GCDA_PERMISSIONS_HACK" = "yes"; then
|
|
|
|
find src -type f -name '*gcda' -print0 | xargs -0 chmod 0644
|
|
|
|
fi
|
2015-11-06 21:35:15 +01:00
|
|
|
|
|
|
|
echo "All okay"
|
|
|
|
|
|
|
|
exit 0
|