mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
OpenZFS 7290 - ZFS test suite needs to control what utilities it can run
Authored by: John Wren Kennedy <john.kennedy@delphix.com> Reviewed by: Dan Kimmel <dan.kimmel@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Dan McDonald <danmcd@omniti.com> Approved by: Gordon Ross <gordon.w.ross@gmail.com> Ported-by: Brian Behlendorf <behlendorf1@llnl.gov> Ported-by: George Melikov <mail@gmelikov.ru> Porting Notes: - Utilities which aren't available under Linux have been removed. - Because of sudo's default secure path behavior PATH must be explicitly reset at the top of libtest.shlib. This avoids the need for all users to customize secure path on their system. - Updated ZoL infrastructure to manage constrained path - Updated all test cases - Check permissions for usergroup tests - When testing in-tree create links under bin/ - Update fault cleanup such that missing files during cleanup aren't fatal. - Configure su environment with constrained path OpenZFS-issue: https://www.illumos.org/issues/7290 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/1d32ba6 Closes #5903
This commit is contained in:
committed by
Brian Behlendorf
parent
7a4500a101
commit
c1d9abf905
@@ -1,185 +0,0 @@
|
||||
dnl #
|
||||
dnl # Commands common to multiple platforms. They generally behave
|
||||
dnl # in the same way and take similar options.
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS_COMMON], [
|
||||
AC_PATH_TOOL(AWK, awk, "")
|
||||
AC_PATH_TOOL(BASENAME, basename, "")
|
||||
AC_PATH_TOOL(BC, bc, "")
|
||||
AC_PATH_TOOL(BUNZIP2, bunzip2, "")
|
||||
AC_PATH_TOOL(BZCAT, bzcat, "")
|
||||
AC_PATH_TOOL(CAT, cat, "")
|
||||
AC_PATH_TOOL(CD, cd, "cd") dnl # Builtin in bash
|
||||
AC_PATH_TOOL(CHGRP, chgrp, "")
|
||||
AC_PATH_TOOL(CHMOD, chmod, "")
|
||||
AC_PATH_TOOL(CHOWN, chown, "")
|
||||
AC_PATH_TOOL(CKSUM, cksum, "")
|
||||
AC_PATH_TOOL(CMP, cmp, "")
|
||||
AC_PATH_TOOL(CP, cp, "")
|
||||
AC_PATH_TOOL(CPIO, cpio, "")
|
||||
AC_PATH_TOOL(CUT, cut, "")
|
||||
AC_PATH_TOOL(DATE, date, "")
|
||||
AC_PATH_TOOL(DD, dd, "")
|
||||
AC_PATH_TOOL(DF, df, "")
|
||||
AC_PATH_TOOL(DIFF, diff, "")
|
||||
AC_PATH_TOOL(DIRNAME, dirname, "")
|
||||
AC_PATH_TOOL(DU, du, "")
|
||||
AC_PATH_TOOL(ECHO, echo, "")
|
||||
AC_PATH_TOOL(EGREP, egrep, "")
|
||||
AC_PATH_TOOL(FALSE, false, "")
|
||||
AC_PATH_TOOL(FDISK, fdisk, "")
|
||||
AC_PATH_TOOL(FGREP, fgrep, "")
|
||||
AC_PATH_TOOL(FILE, file, "")
|
||||
AC_PATH_TOOL(FIND, find, "")
|
||||
AC_PATH_TOOL(FIO, fio, "")
|
||||
AC_PATH_TOOL(FSCK, fsck, "")
|
||||
AC_PATH_TOOL(GNUDD, dd, "")
|
||||
AC_PATH_TOOL(GETCONF, getconf, "")
|
||||
AC_PATH_TOOL(GETENT, getent, "")
|
||||
AC_PATH_TOOL(GREP, grep, "")
|
||||
dnl # Due to permissions unpriviledged users may not detect group*.
|
||||
AC_PATH_TOOL(GROUPADD, groupadd, "/usr/sbin/groupadd")
|
||||
AC_PATH_TOOL(GROUPDEL, groupdel, "/usr/sbin/groupdel")
|
||||
AC_PATH_TOOL(GROUPMOD, groupmod, "/usr/sbin/groupmod")
|
||||
AC_PATH_TOOL(HEAD, head, "")
|
||||
AC_PATH_TOOL(HOSTNAME, hostname, "")
|
||||
AC_PATH_TOOL(ID, id, "")
|
||||
AC_PATH_TOOL(KILL, kill, "")
|
||||
AC_PATH_TOOL(KSH, ksh, "")
|
||||
AC_PATH_TOOL(LOGNAME, logname, "")
|
||||
AC_PATH_TOOL(LS, ls, "")
|
||||
AC_PATH_TOOL(MD5SUM, md5sum, "")
|
||||
AC_PATH_TOOL(MKDIR, mkdir, "")
|
||||
AC_PATH_TOOL(MKNOD, mknod, "")
|
||||
AC_PATH_TOOL(MKTEMP, mktemp, "")
|
||||
AC_PATH_TOOL(MODINFO, modinfo, "")
|
||||
AC_PATH_TOOL(MOUNT, mount, "")
|
||||
AC_PATH_TOOL(MV, mv, "")
|
||||
AC_PATH_TOOL(NAWK, nawk, "")
|
||||
AC_PATH_TOOL(PGREP, pgrep, "")
|
||||
AC_PATH_TOOL(PING, ping, "")
|
||||
AC_PATH_TOOL(PKILL, pkill, "")
|
||||
AC_PATH_TOOL(PRINTF, printf, "")
|
||||
AC_PATH_TOOL(PS, ps, "")
|
||||
AC_PATH_TOOL(PYTHON, python, "")
|
||||
AC_PATH_TOOL(REBOOT, reboot, "")
|
||||
AC_PATH_TOOL(RMDIR, rmdir, "")
|
||||
AC_PATH_TOOL(RSH, rsh, "")
|
||||
AC_PATH_TOOL(SED, sed, "")
|
||||
AC_PATH_TOOL(SHUF, shuf, "")
|
||||
AC_PATH_TOOL(SLEEP, sleep, "")
|
||||
AC_PATH_TOOL(SORT, sort, "")
|
||||
AC_PATH_TOOL(STAT, stat, "")
|
||||
AC_PATH_TOOL(STRINGS, strings, "")
|
||||
AC_PATH_TOOL(SU, su, "")
|
||||
AC_PATH_TOOL(SUM, sum, "")
|
||||
AC_PATH_TOOL(SYNC, sync, "")
|
||||
AC_PATH_TOOL(TAIL, tail, "")
|
||||
AC_PATH_TOOL(TAR, tar, "")
|
||||
AC_PATH_TOOL(TIMEOUT, timeout, "")
|
||||
AC_PATH_TOOL(TOUCH, touch, "")
|
||||
AC_PATH_TOOL(TR, tr, "")
|
||||
AC_PATH_TOOL(TRUNCATE, truncate, "")
|
||||
AC_PATH_TOOL(TRUE, true, "")
|
||||
AC_PATH_TOOL(UMASK, umask, "")
|
||||
AC_PATH_TOOL(UMOUNT, umount, "")
|
||||
AC_PATH_TOOL(UNAME, uname, "")
|
||||
AC_PATH_TOOL(UNIQ, uniq, "")
|
||||
dnl # Due to permissions unpriviledged users may not detect user*.
|
||||
AC_PATH_TOOL(USERADD, useradd, "/usr/sbin/useradd")
|
||||
AC_PATH_TOOL(USERDEL, userdel, "/usr/sbin/userdel")
|
||||
AC_PATH_TOOL(USERMOD, usermod, "/usr/sbin/usermod")
|
||||
AC_PATH_TOOL(UUIDGEN, uuidgen, "")
|
||||
AC_PATH_TOOL(WAIT, wait, "wait") dnl # Builtin in bash
|
||||
AC_PATH_TOOL(WC, wc, "")
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # Linux commands, used within 'is_linux' blocks of test scripts.
|
||||
dnl # These commands may take different command line arguments.
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS_LINUX], [
|
||||
AC_PATH_TOOL(BLOCKDEV, blockdev, "")
|
||||
AC_PATH_TOOL(CHACL, chacl, "")
|
||||
AC_PATH_TOOL(COMPRESS, gzip, "")
|
||||
AC_PATH_TOOL(FORMAT, parted, "")
|
||||
AC_PATH_TOOL(FREE, free, "")
|
||||
AC_PATH_TOOL(GETFACL, getfacl, "")
|
||||
AC_PATH_TOOL(IOSTAT, iostat, "")
|
||||
AC_PATH_TOOL(LOCKFS, lsof, "")
|
||||
AC_PATH_TOOL(LSBLK, lsblk, "")
|
||||
AC_PATH_TOOL(LSMOD, lsmod, "")
|
||||
AC_PATH_TOOL(LSSCSI, lsscsi, "")
|
||||
AC_PATH_TOOL(MODLOAD, modprobe, "")
|
||||
AC_PATH_TOOL(MODUNLOAD, rmmod, "")
|
||||
AC_PATH_TOOL(MPSTAT, mpstat, "")
|
||||
AC_PATH_TOOL(NEWFS, mke2fs, "")
|
||||
AC_PATH_TOOL(NPROC, nproc, "")
|
||||
AC_PATH_TOOL(PFEXEC, sudo, "")
|
||||
AC_PATH_TOOL(READLINK, readlink, "")
|
||||
AC_PATH_TOOL(SETFACL, setfacl, "")
|
||||
AC_PATH_TOOL(SHARE, exportfs, "")
|
||||
AC_PATH_TOOL(NET, net, "")
|
||||
AC_PATH_TOOL(SWAP, swapon, "")
|
||||
AC_PATH_TOOL(SWAPADD, swapon, "")
|
||||
AC_PATH_TOOL(UDEVADM, udevadm, "")
|
||||
AC_PATH_TOOL(UFSDUMP, dump, "")
|
||||
AC_PATH_TOOL(UFSRESTORE, restore, "")
|
||||
AC_PATH_TOOL(UNCOMPRESS, gunzip, "")
|
||||
AC_PATH_TOOL(UNSHARE, exportfs, "")
|
||||
AC_PATH_TOOL(VMSTAT, vmstat, "")
|
||||
|
||||
PAGESIZE=$($GETCONF PAGESIZE)
|
||||
AC_SUBST(PAGESIZE)
|
||||
|
||||
MNTTAB=/proc/self/mounts
|
||||
AC_SUBST(MNTTAB)
|
||||
])
|
||||
|
||||
dnl #
|
||||
dnl # BSD style commands, these have been kept in case at some point
|
||||
dnl # we want to build these packages on a BSD style systems. Otherwise
|
||||
dnl # they are unused and should be treated as such.
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS_BSD], [
|
||||
AC_PATH_TOOL(COMPRESS, compress, "")
|
||||
AC_PATH_TOOL(COREADM, coreadm, "")
|
||||
AC_PATH_TOOL(DIRCMP, dircmp, "")
|
||||
AC_PATH_TOOL(DUMPADM, dumpadm, "")
|
||||
AC_PATH_TOOL(FORMAT, format, "")
|
||||
AC_PATH_TOOL(GETMAJOR, getmajor, "")
|
||||
AC_PATH_TOOL(KSTAT, kstat, "")
|
||||
AC_PATH_TOOL(LOCKFS, lockfs, "")
|
||||
AC_PATH_TOOL(LOFIADM, lofiadm, "")
|
||||
AC_PATH_TOOL(MODUNLOAD, modunload, "")
|
||||
AC_PATH_TOOL(NEWFS, newfs, "")
|
||||
AC_PATH_TOOL(PAGESIZE, pagesize, "")
|
||||
AC_PATH_TOOL(PFEXEC, pfexec, "")
|
||||
AC_PATH_TOOL(PKGINFO, pkginfo, "")
|
||||
AC_PATH_TOOL(PRTVTOC, prtvtoc, "")
|
||||
AC_PATH_TOOL(PSRINFO, psrinfo, "")
|
||||
AC_PATH_TOOL(SHARE, share, "")
|
||||
AC_PATH_TOOL(SVCADM, svcadm, "")
|
||||
AC_PATH_TOOL(SVCS, svcs, "")
|
||||
AC_PATH_TOOL(SWAP, swap, "")
|
||||
AC_PATH_TOOL(SWAPADD, swapadd, "")
|
||||
AC_PATH_TOOL(UFSDUMP, ufsdump, "")
|
||||
AC_PATH_TOOL(UFSRESTORE, ufsrestore, "")
|
||||
AC_PATH_TOOL(UMOUNTALL, umountall, "")
|
||||
AC_PATH_TOOL(UNCOMPRESS, uncompress, "")
|
||||
AC_PATH_TOOL(UNSHARE, unshare, "")
|
||||
AC_PATH_TOOL(ZONEADM, zoneadm, "")
|
||||
AC_PATH_TOOL(ZONECFG, zonecfg, "")
|
||||
AC_PATH_TOOL(ZONENAME, zonename, "")
|
||||
])
|
||||
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER_COMMANDS], [
|
||||
ZFS_AC_CONFIG_USER_COMMANDS_COMMON
|
||||
|
||||
OS=$($UNAME -o)
|
||||
AS_IF([test "$OS" == "GNU/Linux"], [
|
||||
ZFS_AC_CONFIG_USER_COMMANDS_LINUX
|
||||
], [
|
||||
ZFS_AC_CONFIG_USER_COMMANDS_BSD
|
||||
])
|
||||
])
|
||||
@@ -18,7 +18,6 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [
|
||||
ZFS_AC_CONFIG_USER_MAKEDEV_IN_SYSMACROS
|
||||
ZFS_AC_CONFIG_USER_MAKEDEV_IN_MKDEV
|
||||
|
||||
ZFS_AC_CONFIG_USER_COMMANDS
|
||||
ZFS_AC_TEST_FRAMEWORK
|
||||
|
||||
AC_CHECK_FUNCS([mlockall])
|
||||
|
||||
Reference in New Issue
Block a user