1# $OpenBSD: Makefile,v 1.6 2019/09/20 14:07:13 bluhm Exp $ 2 3.if ! (make(clean) || make(cleandir) || make(obj)) 4 5MOUNT_TMP !!= mount | grep ^$$(df -P /tmp | tail -1 | awk '{ print $$1 }') 6 7.if "${MOUNT_TMP:M*nosuid*}" != "" 8regress: 9 echo '${MOUNT_TMP}' 10 echo temporary directory is mounted nosuid, test needs set user id 11 echo SKIPPED 12.endif 13 14DIR !?= mktemp -d -t regress-setuid-XXXXXXXXXX 15MAKE += DIR=${DIR} 16REGRESS_SETUP = setup-dir 17setup-dir: 18 chmod 755 ${DIR} 19REGRESS_CLEANUP = cleanup-dir 20cleanup-dir: 21 rm -rf -- ${DIR} 22 23.endif 24 25CFLAGS+= -Wall -Wformat -pedantic 26 27REGRESS_TARGETS+= run-regress-setuid_none 28REGRESS_TARGETS+= run-regress-setgid_none 29REGRESS_TARGETS+= run-regress-setuid 30REGRESS_TARGETS+= run-regress-setgid 31REGRESS_TARGETS+= run-regress-seteuid 32REGRESS_TARGETS+= run-regress-setegid 33REGRESS_TARGETS+= run-regress-setuid_child 34REGRESS_TARGETS+= run-regress-setgid_child 35REGRESS_TARGETS+= run-regress-setresuid 36REGRESS_TARGETS+= run-regress-setresgid 37REGRESS_TARGETS+= run-regress-suidexec-on-inherit-on 38REGRESS_TARGETS+= run-regress-suidexec-on-inherit-inherit 39REGRESS_TARGETS+= run-regress-suidexec-off-on-inherit 40REGRESS_TARGETS+= run-regress-suidexec-off-off-on 41REGRESS_TARGETS+= run-regress-sgidexec-on-inherit-on 42REGRESS_TARGETS+= run-regress-sgidexec-on-inherit-inherit 43REGRESS_TARGETS+= run-regress-sgidexec-off-on-inherit 44REGRESS_TARGETS+= run-regress-sgidexec-off-off-on 45REGRESS_TARGETS+= run-regress-suidexec-real-exec-inherit 46REGRESS_TARGETS+= run-regress-suidexec-effective-exec-inherit 47REGRESS_TARGETS+= run-regress-suidexec-saved-exec-inherit 48REGRESS_TARGETS+= run-regress-sgidexec-real-exec-inherit 49REGRESS_TARGETS+= run-regress-sgidexec-effective-exec-inherit 50REGRESS_TARGETS+= run-regress-sgidexec-saved-exec-inherit 51 52BINFILES+= setuid_none 53BINFILES+= setgid_none 54BINFILES+= setuid 55BINFILES+= setgid 56BINFILES+= seteuid 57BINFILES+= setegid 58BINFILES+= setuid_child 59BINFILES+= setgid_child 60BINFILES+= setresuid 61BINFILES+= setresgid 62BINFILES+= setresuid_real_exec 63BINFILES+= setresuid_effective_exec 64BINFILES+= setresuid_saved_exec 65BINFILES+= suidexec_none 66BINFILES+= suidexec 67BINFILES+= sgidexec 68BINFILES+= setresgid_real_exec 69BINFILES+= setresgid_effective_exec 70BINFILES+= setresgid_saved_exec 71BINFILES+= sgidexec_none 72BINFILES+= suidexec_inherit 73BINFILES+= sgidexec_inherit 74BINFILES+= setuid_exec_inherit 75BINFILES+= setgid_exec_inherit 76 77CLEANFILES+= *.o ${BINFILES} 78 79run-regress-setuid_none: install-setuid_none 80 cd ${DIR} && ./setuid_none 81run-regress-setgid_none: install-setgid_none 82 cd ${DIR} && ./setgid_none 83run-regress-setuid: install-setuid 84 cd ${DIR} && ${SUDO} ./setuid 85run-regress-setgid: install-setgid 86 cd ${DIR} && ${SUDO} ./setgid 87run-regress-seteuid: install-seteuid 88 cd ${DIR} && ${SUDO} ./seteuid 89run-regress-setegid: install-setegid 90 cd ${DIR} && ${SUDO} ./setegid 91run-regress-setuid_child: install-setuid_child 92 cd ${DIR} && ${SUDO} ./setuid_child 93run-regress-setgid_child: install-setgid_child 94 cd ${DIR} && ${SUDO} ./setgid_child 95run-regress-setresuid: install-setresuid 96 cd ${DIR} && ${SUDO} ./setresuid 97run-regress-setresgid: install-setresgid 98 cd ${DIR} && ${SUDO} ./setresgid 99 100run-regress-suidexec-on-inherit-on: install 101 cd ${DIR} && ${SUDO} ./suidexec ./suidexec_inherit ./suidexec 102run-regress-suidexec-off-on-inherit: install 103 cd ${DIR} && ${SUDO} ./suidexec_none ./suidexec ./suidexec_inherit 104run-regress-suidexec-on-inherit-inherit: install 105 cd ${DIR} && ${SUDO} ./suidexec ./suidexec_inherit ./suidexec_inherit 106run-regress-suidexec-off-off-on: install 107 cd ${DIR} && ${SUDO} ./suidexec_none ./suidexec_none ./suidexec 108run-regress-suidexec-real-exec-inherit: install 109 cd ${DIR} && ${SUDO} ./setresuid_real_exec ./setuid_exec_inherit 110run-regress-suidexec-effective-exec-inherit: install 111 cd ${DIR} && ${SUDO} ./setresuid_effective_exec ./setuid_exec_inherit 112run-regress-suidexec-saved-exec-inherit: install 113 cd ${DIR} && ${SUDO} ./setresuid_saved_exec ./setuid_exec_inherit 114 115run-regress-sgidexec-on-inherit-on: install 116 cd ${DIR} && ${SUDO} ./sgidexec ./sgidexec_inherit ./sgidexec 117run-regress-sgidexec-off-on-inherit: install 118 cd ${DIR} && ${SUDO} ./sgidexec_none ./sgidexec ./sgidexec_inherit 119run-regress-sgidexec-on-inherit-inherit: install 120 cd ${DIR} && ${SUDO} ./sgidexec ./sgidexec_inherit ./sgidexec_inherit 121run-regress-sgidexec-off-off-on: install 122 cd ${DIR} && ${SUDO} ./sgidexec_none ./sgidexec_none ./sgidexec 123run-regress-sgidexec-real-exec-inherit: install 124 cd ${DIR} && ${SUDO} ./setresgid_real_exec ./setgid_exec_inherit 125run-regress-sgidexec-effective-exec-inherit: install 126 cd ${DIR} && ${SUDO} ./setresgid_effective_exec ./setgid_exec_inherit 127run-regress-sgidexec-saved-exec-inherit: install 128 cd ${DIR} && ${SUDO} ./setresgid_saved_exec ./setgid_exec_inherit 129 130install-suidexec: ${DIR}/suidexec 131${DIR}/suidexec: suidexec 132 ${SUDO} ${INSTALL} -o nobody -m 4555 suidexec ${DIR} 133install-sgidexec: ${DIR}/sgidexec 134${DIR}/sgidexec: sgidexec 135 ${SUDO} ${INSTALL} -g nobody -m 2555 sgidexec ${DIR} 136.for f in ${BINFILES} 137install: install-${f} 138install-${f}: ${DIR}/${f} 139${DIR}/${f}: ${f} 140 ${SUDO} ${INSTALL} $f ${DIR} 141.endfor 142 143.include <bsd.regress.mk> 144