xref: /openbsd-src/regress/sys/kern/setuid/Makefile (revision ffb17920352ba902851edd29e8b55f4c2b220f43)
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