diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 172a2eee5263..6d55fcfe2003 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,139 +1,139 @@ # Please note that the content of this file is strictly advisory. # No locks listed here are valid. The only strict review requirements # are granted by core. These are documented in head/LOCKS and enforced # by gitadm@. # # The source tree is a community effort. However, some folks go to the # trouble of looking after particular areas of the tree. In return for # their active caretaking of the code it is polite to coordinate changes # with them. This is a list of people who have expressed an interest in # part of the code or listed their active caretaking role so that other # committers can easily find somebody who is familiar with it. The notes # should specify if there is a 3rd party source tree involved or other # things that should be kept in mind. # # However, this is not a 'big stick', it is an offer to help and a # source of guidance. It does not override the communal nature of the # tree. It is not a registry of 'turf' or private property. # # *** # This list is prone to becoming stale quickly. The best way to find the # recent maintainer of a sub-system is to check recent logs for that # directory or sub-system. # *** # # *** # Maintainers are encouraged to visit: # https://reviews.freebsd.org/herald # # and configure Phabricator notifications for parts of the tree which # they maintain. Notifications can automatically be sent when someone # proposes a revision or makes a commit to the specified subtree. # *** /bin/sh @jillest /contrib/atf @ngie-eign /contrib/blocklist @jlduran -/contrib/capsicum-test @ngie-eign @emaste /contrib/googletest @ngie-eign /contrib/libcxxrt @DimitryAndric @emaste /contrib/llvm-project @DimitryAndric /contrib/llvm-project/libunwind @DimitryAndric @emaste @bsdjhb /contrib/llvm-project/lldb @DimitryAndric @emaste /contrib/llvm-project/openmp @DimitryAndric @emaste /contrib/mandoc @concussious /contrib/netbsd-tests @ngie-eign /contrib/netbsd-tests/crypto/opencrypto/ @jmgurney /contrib/netbsd-tests/kernel/kqueue/ @jmgurney /contrib/one-true-awk/ @bsdimp /contrib/openpam/lib/libpam/ @dag-erling /contrib/pjdfstest @ngie-eign @asomers /contrib/wpa @cschuber /crypto/heimdal @cschuber /crypto/krb5 @cschuber /crypto/openssh @dag-erling @emaste /crypto/openssl/ @juikim /etc/mail @gshapiro /etc/sendmail @gshapiro /kerberos5 @cschuber /krb5 @cschuber /lib/libblocklist @jlduran /lib/libc/string/ @fuz /lib/libc/*/string/ @fuz /lib/libc/sys/kevent.c @jmgurney /lib/libefivar/ @bsdimp /lib/libfetch @dag-erling /lib/libfigpar @dag-erling /lib/libpam/ @dag-erling /lib/libsecureboot/ @stephane-rochoy-stormshield /lib/libveriexec/ @stephane-rochoy-stormshield /lib/libvmmapi @bsdjhb @bryanv @markjdb @khng300 @markpeek /libexec/nuageinit/ @bapt /libexec/rc/rc.d/rctl/ @trasz /sbin/ipf @cschuber /sbin/mount_fusefs @asomers /sbin/nvmecontrol @bsdimp /sbin/veriexec/ @stephane-rochoy-stormshield /secure/usr.bin/openssl/ @juikim /share/man/ @concussious /share/mk @bsdimp @bapt @bdrewery @brooksdavis @emaste /stand @bsdimp /stand/lua @kevans91 /stand/veriexec.mk @stephane-rochoy-stormshield /sys/amd64/pci @bsdimp @bsdjhb /sys/amd64/vmm/ @bsdjhb @bryanv @markjdb @khng300 @markpeek /sys/arm/allwinner @evadot /sys/arm64/arm64 @zxombie /sys/arm64/include @zxombie /sys/arm64/rockchip @evadot /sys/compat/linprocfs/ @dag-erling /sys/crypto/openssl/ @juikim /sys/dev/drm2 @bsdimp /sys/dev/ftgpio/ @stephane-rochoy-stormshield /sys/dev/ftwd/ @stephane-rochoy-stormshield /sys/dev/iscsi/ @trasz /sys/dev/nctgpio/ @stephane-rochoy-stormshield /sys/dev/ncthwm/ @stephane-rochoy-stormshield /sys/dev/mpi3mr @bsdimp /sys/dev/mps @bsdimp /sys/dev/mpr @bsdimp /sys/dev/nvd @bsdimp /sys/dev/nvme @bsdimp /sys/dev/pci @bsdimp @bsdjhb /sys/dev/superio/ @stephane-rochoy-stormshield /sys/dev/veriexec/ @stephane-rochoy-stormshield /sys/fs/autofs/ @trasz /sys/fs/fuse/ @asomers /sys/fs/procfs/ @dag-erling /sys/fs/pseudofs/ @dag-erling /sys/kern/syscalls.master @brooksdavis /sys/kern/vfs_aio.c @asomers /sys/netinet/ip_carp.c @glebius /sys/netpfil/ipfilter @cschuber /sys/netpfil/pf @glebius /sys/opencrypto/ @jmgurney /sys/security/mac_veriexec/ @stephane-rochoy-stormshield /sys/security/mac_veriexec_parser/ @stephane-rochoy-stormshield /sys/tools/syscalls/ @brooksdavis /sys/x86/pci @bsdimp @bsdjhb /tests @ngie-eign /tests/sys/aio/ @asomers +/tests/sys/capsicum-test @ngie-eign @emaste /tests/sys/fs/fusefs/ @asomers /tests/sys/kqueue/ @jmgurney /tests/sys/opencrypto/ @jmgurney /tools/build @bsdimp /tools/regression/iscsi/ @trasz /tools/regression/sockets/kqueue/ @jmgurney /tools/tools/nanobsd @bsdimp /usr.bin/fetch @dag-erling /usr.bin/rctl/ @trasz /usr.bin/top @grimreaper /usr.sbin/autofs/ @trasz /usr.sbin/bhyve @bsdjhb @bryanv @markjdb @khng300 @markpeek /usr.sbin/bhyvectl @bsdjhb @bryanv @markjdb @khng300 @markpeek /usr.sbin/bhyveload @bsdjhb @bryanv @markjdb @khng300 @markpeek /usr.sbin/blocklistctl @jlduran /usr.sbin/blocklistd @jlduran /usr.sbin/lpr @gbergling /usr.sbin/makefs @emaste /usr.sbin/wpa @cschuber diff --git a/contrib/capsicum-test/.gitignore b/contrib/capsicum-test/.gitignore deleted file mode 100644 index bc8f8f5ce265..000000000000 --- a/contrib/capsicum-test/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -capsicum-test -mini-me -mini-me.noexec -mini-me.setuid -mini-me.32 -mini-me.x32 -mini-me.64 -libgtest.a -smoketest -*.o -libcap*.deb -libcap*.dsc -libcap*.tar.gz -libcap*.changes -casper*.deb -casper*.dsc -casper*.tar.gz -casper*.changes -libcaprights.a \ No newline at end of file diff --git a/contrib/capsicum-test/CONTRIBUTING.md b/contrib/capsicum-test/CONTRIBUTING.md deleted file mode 100644 index 1a054b840c0b..000000000000 --- a/contrib/capsicum-test/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -## Contributor License Agreement ## - -Contributions to any Google project must be accompanied by a Contributor -License Agreement. This is not a copyright **assignment**, it simply gives -Google permission to use and redistribute your contributions as part of the -project. - - * If you are an individual writing original source code and you're sure you - own the intellectual property, then you'll need to sign an [individual - CLA][]. - - * If you work for a company that wants to allow you to contribute your work, - then you'll need to sign a [corporate CLA][]. - -You generally only need to submit a CLA once, so if you've already submitted -one (even if it was for a different project), you probably don't need to do it -again. - -[individual CLA]: https://developers.google.com/open-source/cla/individual -[corporate CLA]: https://developers.google.com/open-source/cla/corporate diff --git a/contrib/capsicum-test/GNUmakefile b/contrib/capsicum-test/GNUmakefile deleted file mode 100644 index 426eb49cdfa1..000000000000 --- a/contrib/capsicum-test/GNUmakefile +++ /dev/null @@ -1,82 +0,0 @@ -OS:=$(shell uname) - -# Set ARCH to 32 or x32 for i386/x32 ABIs -ARCH?=64 -ARCHFLAG=-m$(ARCH) - -ifeq ($(OS),FreeBSD) -EXTRA_LIBS=-lprocstat -endif - -ifeq ($(OS),Linux) -PROCESSOR:=$(shell uname -p) - -ifneq ($(wildcard /usr/lib/$(PROCESSOR)-linux-gnu),) -# Can use standard Debian location for static libraries. -PLATFORM_LIBDIR=/usr/lib/$(PROCESSOR)-linux-gnu -else -# Attempt to determine library location from gcc configuration. -PLATFORM_LIBDIR=$(shell gcc -v 2>&1 | grep "Configured with:" | sed 's/.*--libdir=\(\/usr\/[^ ]*\).*/\1/g') -endif - -# Override for explicitly specified ARCHFLAG. -# Use locally compiled libcaprights in this case, on the -# assumption that any installed version is 64-bit. -ifeq ($(ARCHFLAG),-m32) -PROCESSOR=i386 -PLATFORM_LIBDIR=/usr/lib32 -LIBCAPRIGHTS=./libcaprights.a -endif -ifeq ($(ARCHFLAG),-mx32) -PROCESSOR=x32 -PLATFORM_LIBDIR=/usr/libx32 -LIBCAPRIGHTS=./libcaprights.a -endif - -# Detect presence of libsctp in normal Debian location -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libsctp.a),) -LIBSCTP=-lsctp -CXXFLAGS=-DHAVE_SCTP -endif - -ifneq ($(LIBCAPRIGHTS),) -# Build local libcaprights.a (assuming ./configure -# has already been done in libcaprights/) -LOCAL_LIBS=$(LIBCAPRIGHTS) -LIBCAPRIGHTS_OBJS=libcaprights/capsicum.o libcaprights/linux-bpf-capmode.o libcaprights/procdesc.o libcaprights/signal.o -LOCAL_CLEAN=$(LOCAL_LIBS) $(LIBCAPRIGHTS_OBJS) -else -# Detect installed libcaprights static library. -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libcaprights.a),) -LIBCAPRIGHTS=$(PLATFORM_LIBDIR)/libcaprights.a -else -ifneq ($(wildcard /usr/lib/libcaprights.a),) -LIBCAPRIGHTS=/usr/lib/libcaprights.a -endif -endif -endif - -endif - -# Extra test programs for arch-transition tests -EXTRA_PROGS = mini-me.32 mini-me.64 -ifneq ($(wildcard /usr/include/gnu/stubs-x32.h),) -EXTRA_PROGS += mini-me.x32 -endif - -# Chain on to the master makefile -include makefile - -./libcaprights.a: $(LIBCAPRIGHTS_OBJS) - ar cr $@ $^ - -# Small static programs of known architectures -# These may require additional packages to be installed; for example, for Debian: -# - libc6-dev-i386 provides 32-bit headers for a 64-bit system -# - libc6-dev-x32 provides headers for the x32 ABI. -mini-me.32: mini-me.c - $(CC) $(CFLAGS) -m32 -static -o $@ $< -mini-me.x32: mini-me.c - $(CC) $(CFLAGS) -mx32 -static -o $@ $< -mini-me.64: mini-me.c - $(CC) $(CFLAGS) -m64 -static -o $@ $< diff --git a/contrib/capsicum-test/makefile b/contrib/capsicum-test/makefile deleted file mode 100644 index e55393bbf131..000000000000 --- a/contrib/capsicum-test/makefile +++ /dev/null @@ -1,36 +0,0 @@ -all: capsicum-test smoketest mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) -OBJECTS=capsicum-test-main.o capsicum-test.o capability-fd.o copy_file_range.o fexecve.o procdesc.o capmode.o fcntl.o ioctl.o openat.o sysctl.o select.o mqueue.o socket.o sctp.o capability-fd-pair.o linux.o overhead.o rename.o - -GTEST_DIR=gtest-1.10.0 -GTEST_INCS=-I$(GTEST_DIR)/include -I$(GTEST_DIR) -GTEST_FLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_HAS_TR1_TUPLE=1 -CXXFLAGS+=$(ARCHFLAG) -Wall -g $(GTEST_INCS) $(GTEST_FLAGS) --std=c++11 -CFLAGS+=$(ARCHFLAG) -Wall -g - -capsicum-test: $(OBJECTS) libgtest.a $(LOCAL_LIBS) - $(CXX) $(CXXFLAGS) -g -o $@ $(OBJECTS) libgtest.a -lpthread -lrt $(LIBSCTP) $(LIBCAPRIGHTS) $(EXTRA_LIBS) - -# Small statically-linked program for fexecve tests -# (needs to be statically linked so that execve()ing it -# doesn't involve ld.so traversing the filesystem). -mini-me: mini-me.c - $(CC) $(CFLAGS) -static -o $@ $< -mini-me.noexec: mini-me - cp mini-me $@ && chmod -x $@ -mini-me.setuid: mini-me - rm -f $@ && cp mini-me $@&& sudo chown root $@ && sudo chmod u+s $@ - -# Simple C test of Capsicum syscalls -SMOKETEST_OBJECTS=smoketest.o -smoketest: $(SMOKETEST_OBJECTS) $(LOCAL_LIBS) - $(CC) $(CFLAGS) -o $@ $(SMOKETEST_OBJECTS) $(LIBCAPRIGHTS) - -test: capsicum-test mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) - ./capsicum-test -gtest-all.o: - $(CXX) $(CXXFLAGS) $(ARCHFLAG) -I$(GTEST_DIR)/include -I$(GTEST_DIR) $(GTEST_FLAGS) -c ${GTEST_DIR}/src/gtest-all.cc -libgtest.a: gtest-all.o - $(AR) -rv libgtest.a gtest-all.o - -clean: - rm -rf gtest-all.o libgtest.a capsicum-test mini-me mini-me.noexec smoketest $(SMOKETEST_OBJECTS) $(OBJECTS) $(LOCAL_CLEAN) $(EXTRA_PROGS) diff --git a/contrib/capsicum-test/LICENSE b/tests/sys/capsicum/LICENSE similarity index 100% rename from contrib/capsicum-test/LICENSE rename to tests/sys/capsicum/LICENSE diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index fd8dcb29d65c..38c1f8285910 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -1,65 +1,63 @@ .include TESTSDIR= ${TESTSBASE}/sys/capsicum ATF_TESTS_C+= bindat_connectat ATF_TESTS_C+= ioctls_test CFLAGS+= -I${SRCTOP}/tests .if ${MK_GOOGLETEST} != no -.PATH: ${SRCTOP}/contrib/capsicum-test - GTESTS+= capsicum-test GTESTS_WRAPPER_SH.capsicum-test= functional # This test script runs the same test suite twice, once as root and once as an # unprivileged user. Serialize them since some tests access global namespaces, # e.g., mqueuefs, and can trample on each other. TEST_METADATA.functional+= is_exclusive="true" SRCS.capsicum-test+= \ capsicum-test-main.cc \ capsicum-test.cc \ capability-fd.cc \ copy_file_range.cc \ fexecve.cc \ procdesc.cc \ capmode.cc \ fcntl.cc \ ioctl.cc \ openat.cc \ sysctl.cc \ select.cc \ mqueue.cc \ socket.cc \ sctp.cc \ capability-fd-pair.cc \ overhead.cc \ rename.cc LIBADD.capsicum-test+= gtest pthread procstat TEST_METADATA.capsicum-test= required_user="unprivileged" .for p in mini-me mini-me.noexec mini-me.setuid PROGS+= $p NO_SHARED.$p= SRCS.$p= mini-me.c .endfor .if ${MK_ASAN} != "no" || ${MK_UBSAN} != "no" # mini-me.o is linked into a static binary so we can't use sanitizers. # Note: We have to set CFLAGS here since it will be built as part of # _PROGS_COMMON_OBJS and therefore NO_SHARED.$p does not disable ASAN/UBSAN. CFLAGS.mini-me.c+= -fno-sanitize=address -fno-sanitize=undefined .endif BINDIR= ${TESTSDIR} BINMODE.mini-me.noexec= ${NOBINMODE} BINMODE.mini-me.setuid= 4555 WARNS.capsicum-test= 3 .endif # MK_GOOGLETEST .include diff --git a/contrib/capsicum-test/README.md b/tests/sys/capsicum/README.md similarity index 100% rename from contrib/capsicum-test/README.md rename to tests/sys/capsicum/README.md diff --git a/contrib/capsicum-test/capability-fd-pair.cc b/tests/sys/capsicum/capability-fd-pair.cc similarity index 100% rename from contrib/capsicum-test/capability-fd-pair.cc rename to tests/sys/capsicum/capability-fd-pair.cc diff --git a/contrib/capsicum-test/capability-fd.cc b/tests/sys/capsicum/capability-fd.cc similarity index 100% rename from contrib/capsicum-test/capability-fd.cc rename to tests/sys/capsicum/capability-fd.cc diff --git a/contrib/capsicum-test/capmode.cc b/tests/sys/capsicum/capmode.cc similarity index 100% rename from contrib/capsicum-test/capmode.cc rename to tests/sys/capsicum/capmode.cc diff --git a/contrib/capsicum-test/capsicum-freebsd.h b/tests/sys/capsicum/capsicum-freebsd.h similarity index 100% rename from contrib/capsicum-test/capsicum-freebsd.h rename to tests/sys/capsicum/capsicum-freebsd.h diff --git a/contrib/capsicum-test/capsicum-linux.h b/tests/sys/capsicum/capsicum-linux.h similarity index 100% rename from contrib/capsicum-test/capsicum-linux.h rename to tests/sys/capsicum/capsicum-linux.h diff --git a/contrib/capsicum-test/capsicum-rights.h b/tests/sys/capsicum/capsicum-rights.h similarity index 100% rename from contrib/capsicum-test/capsicum-rights.h rename to tests/sys/capsicum/capsicum-rights.h diff --git a/contrib/capsicum-test/capsicum-test-main.cc b/tests/sys/capsicum/capsicum-test-main.cc similarity index 100% rename from contrib/capsicum-test/capsicum-test-main.cc rename to tests/sys/capsicum/capsicum-test-main.cc diff --git a/contrib/capsicum-test/capsicum-test.cc b/tests/sys/capsicum/capsicum-test.cc similarity index 100% rename from contrib/capsicum-test/capsicum-test.cc rename to tests/sys/capsicum/capsicum-test.cc diff --git a/contrib/capsicum-test/capsicum-test.h b/tests/sys/capsicum/capsicum-test.h similarity index 100% rename from contrib/capsicum-test/capsicum-test.h rename to tests/sys/capsicum/capsicum-test.h diff --git a/contrib/capsicum-test/capsicum.h b/tests/sys/capsicum/capsicum.h similarity index 100% rename from contrib/capsicum-test/capsicum.h rename to tests/sys/capsicum/capsicum.h diff --git a/contrib/capsicum-test/copy_file_range.cc b/tests/sys/capsicum/copy_file_range.cc similarity index 100% rename from contrib/capsicum-test/copy_file_range.cc rename to tests/sys/capsicum/copy_file_range.cc diff --git a/contrib/capsicum-test/fcntl.cc b/tests/sys/capsicum/fcntl.cc similarity index 100% rename from contrib/capsicum-test/fcntl.cc rename to tests/sys/capsicum/fcntl.cc diff --git a/contrib/capsicum-test/fexecve.cc b/tests/sys/capsicum/fexecve.cc similarity index 100% rename from contrib/capsicum-test/fexecve.cc rename to tests/sys/capsicum/fexecve.cc diff --git a/contrib/capsicum-test/ioctl.cc b/tests/sys/capsicum/ioctl.cc similarity index 100% rename from contrib/capsicum-test/ioctl.cc rename to tests/sys/capsicum/ioctl.cc diff --git a/contrib/capsicum-test/linux.cc b/tests/sys/capsicum/linux.cc similarity index 100% rename from contrib/capsicum-test/linux.cc rename to tests/sys/capsicum/linux.cc diff --git a/contrib/capsicum-test/mini-me.c b/tests/sys/capsicum/mini-me.c similarity index 100% rename from contrib/capsicum-test/mini-me.c rename to tests/sys/capsicum/mini-me.c diff --git a/contrib/capsicum-test/mqueue.cc b/tests/sys/capsicum/mqueue.cc similarity index 100% rename from contrib/capsicum-test/mqueue.cc rename to tests/sys/capsicum/mqueue.cc diff --git a/contrib/capsicum-test/openat.cc b/tests/sys/capsicum/openat.cc similarity index 100% rename from contrib/capsicum-test/openat.cc rename to tests/sys/capsicum/openat.cc diff --git a/contrib/capsicum-test/overhead.cc b/tests/sys/capsicum/overhead.cc similarity index 100% rename from contrib/capsicum-test/overhead.cc rename to tests/sys/capsicum/overhead.cc diff --git a/contrib/capsicum-test/procdesc.cc b/tests/sys/capsicum/procdesc.cc similarity index 100% rename from contrib/capsicum-test/procdesc.cc rename to tests/sys/capsicum/procdesc.cc diff --git a/contrib/capsicum-test/rename.cc b/tests/sys/capsicum/rename.cc similarity index 100% rename from contrib/capsicum-test/rename.cc rename to tests/sys/capsicum/rename.cc diff --git a/contrib/capsicum-test/sctp.cc b/tests/sys/capsicum/sctp.cc similarity index 100% rename from contrib/capsicum-test/sctp.cc rename to tests/sys/capsicum/sctp.cc diff --git a/contrib/capsicum-test/select.cc b/tests/sys/capsicum/select.cc similarity index 100% rename from contrib/capsicum-test/select.cc rename to tests/sys/capsicum/select.cc diff --git a/contrib/capsicum-test/showrights b/tests/sys/capsicum/showrights similarity index 100% rename from contrib/capsicum-test/showrights rename to tests/sys/capsicum/showrights diff --git a/contrib/capsicum-test/smoketest.c b/tests/sys/capsicum/smoketest.c similarity index 100% rename from contrib/capsicum-test/smoketest.c rename to tests/sys/capsicum/smoketest.c diff --git a/contrib/capsicum-test/socket.cc b/tests/sys/capsicum/socket.cc similarity index 100% rename from contrib/capsicum-test/socket.cc rename to tests/sys/capsicum/socket.cc diff --git a/contrib/capsicum-test/syscalls.h b/tests/sys/capsicum/syscalls.h similarity index 100% rename from contrib/capsicum-test/syscalls.h rename to tests/sys/capsicum/syscalls.h diff --git a/contrib/capsicum-test/sysctl.cc b/tests/sys/capsicum/sysctl.cc similarity index 100% rename from contrib/capsicum-test/sysctl.cc rename to tests/sys/capsicum/sysctl.cc diff --git a/contrib/capsicum-test/waittest.c b/tests/sys/capsicum/waittest.c similarity index 100% rename from contrib/capsicum-test/waittest.c rename to tests/sys/capsicum/waittest.c