view tests/test-idpriv-droptemp.su.sh @ 17544:6d4e36653a40

obstack: pacify HP C * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid warning "conversion from pointer to smaller integer" from HP C-ANSI-C - cc version B9007AA/B3910B A.06.26. It's safe to assume C89 or later nowadays, so cast to void instead of int. Privately reported by H.Merijn Brand. Also, change header to match glibc's, to make checking against glibc easier.
author Paul Eggert <eggert@cs.ucla.edu>
date Thu, 31 Oct 2013 09:44:44 -0700
parents c992e0b3355b
children
line wrap: on
line source

#!/bin/sh
# This script must be run as superuser.

origuid=$1
origgid=$2

# A POSIX compliant 'id' program.
if test -f /usr/xpg4/bin/id; then
  ID=/usr/xpg4/bin/id
else
  ID=id
fi

if test `$ID -u` != 0; then
  echo "Skipping test: not superuser"
  exit 77
fi

./test-idpriv-droptemp${EXEEXT} || exit 13      # normal

chown root:root test-idpriv-droptemp${EXEEXT} 2>/dev/null || \
chown root:wheel test-idpriv-droptemp${EXEEXT} 2>/dev/null || \
  { echo "Skipping test: root privilege not sufficient on this file system"
    exit 77
  }
chmod 4755 test-idpriv-droptemp${EXEEXT}
./test-idpriv-droptemp${EXEEXT} || exit 13      # setuid root
chmod 2755 test-idpriv-droptemp${EXEEXT}
./test-idpriv-droptemp${EXEEXT} || exit 13      # setgid root
chmod 6755 test-idpriv-droptemp${EXEEXT}
./test-idpriv-droptemp${EXEEXT} || exit 13      # setuid and setgid root

if chown nobody test-idpriv-droptemp${EXEEXT} 2>/dev/null; then
  chmod 4755 test-idpriv-droptemp${EXEEXT}
  ./test-idpriv-droptemp${EXEEXT} || exit 13    # setuid nobody
  chmod 2755 test-idpriv-droptemp${EXEEXT}
  ./test-idpriv-droptemp${EXEEXT} || exit 13    # setgid root
  chmod 6755 test-idpriv-droptemp${EXEEXT}
  ./test-idpriv-droptemp${EXEEXT} || exit 13    # setuid nobody and setgid root
fi

if chown root:nobody test-idpriv-droptemp${EXEEXT} 2>/dev/null; then
  chmod 4755 test-idpriv-droptemp${EXEEXT}
  ./test-idpriv-droptemp${EXEEXT} || exit 13    # setuid root
  chmod 2755 test-idpriv-droptemp${EXEEXT}
  ./test-idpriv-droptemp${EXEEXT} || exit 13    # setgid nobody
  chmod 6755 test-idpriv-droptemp${EXEEXT}
  ./test-idpriv-droptemp${EXEEXT} || exit 13    # setuid root and setgid nobody
fi

chown "$origuid:$origgid" test-idpriv-droptemp${EXEEXT}
chmod 755 test-idpriv-droptemp${EXEEXT}