FreeBSD src
Go to file
Mark Johnston 869199d992 libsysdecode: Fix decoding of Capsicum rights
Capsicum rights are a bit tricky since some of them are subsets of
others, and one can have rights R1 and R2 such that R1 is a subset of
R2, but there is no collection of named rights whose union is R2.  So,
they don't behave like most other flag sets.  sysdecode_cap_rights(3)
does not handle this properly and so can emit misleading decodings.

Try to fix all of these problems:
- Include composite rights in the caprights table.
- Use a constructor to sort the caprights table such that "larger"
  rights appear first and thus are matched first.
- Don't print rights that are a subset of rights already printed, so as
  to minimize the length of the output.
- Print a trailing message if some of the specific rights are not
  matched by the table.

PR:		263165
Reviewed by:	pauamma_gundo.com (doc), jhb, emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D34874
2022-04-13 10:51:30 -04:00
.cirrus-ci Cirrus-CI: add some timing info on pkg install failure 2021-08-04 15:02:00 -04:00
.github GitHub: Add libefivar's path to CODEOWNERS 2022-02-27 09:11:39 -07:00
bin pax(1): Remove a few double words in source code comments 2022-04-09 14:27:39 +02:00
cddl libctf: Fix recursive descent into anonymous SOU fields 2022-04-12 17:29:53 -04:00
contrib libarchive: import changes from upstream 2022-04-12 20:14:04 +02:00
crypto OpenSSL: Merge OpenSSL 1.1.1n 2022-03-15 19:37:45 -04:00
etc Create a new GEOM utility, gunion(8). 2022-02-28 16:36:08 -08:00
gnu libdialog: Bump shared library version to 10. 2021-10-27 09:30:24 -07:00
include Create a new GEOM utility, gunion(8). 2022-02-28 16:36:08 -08:00
kerberos5 pkgbase: Create a FreeBSD-kerberos package 2021-09-07 10:23:14 +02:00
lib libsysdecode: Fix decoding of Capsicum rights 2022-04-13 10:51:30 -04:00
libexec Have rtld query the page size from the kernel 2022-04-07 15:37:37 +01:00
release release/rc.local: Replace dialog with bsddialog 2022-03-29 15:21:02 +02:00
rescue rescue: Link with -lncursesw instead of -lncursesw_real. 2022-02-11 13:58:59 -08:00
sbin ifconfig.8: Note that -l accepts -g in addition to -d and -u 2022-04-11 20:05:36 +02:00
secure OpenSSL: Merge OpenSSL 1.1.1n 2022-03-15 19:37:45 -04:00
share Fix a slew of mdoc warnings/errors. 2022-04-12 23:53:48 +02:00
stand loader: userboot: provide a getsecs() implementation 2022-04-12 19:33:54 -05:00
sys nfscl: Clean up the code by removing unused arguments 2022-04-13 07:43:13 -07:00
targets Retire obsolete iscsi_initiator(4) 2021-10-26 16:17:35 -04:00
tests Extend the length of dirpath to fix failure in kyua test 2022-04-12 09:23:56 -07:00
tools stress2: Fix cleanup after test run 2022-04-13 11:07:49 +02:00
usr.bin protect(1): Correct typo and add newline 2022-04-12 12:38:50 +02:00
usr.sbin tzsetup(8): Refactoring to delete dialog(3) code 2022-04-12 00:38:40 +02:00
.arcconfig Remove history.immutable from .arcconfig 2021-04-13 12:36:25 +01:00
.arclint
.cirrus.yml Cirrus-CI: add a manual amd64-gcc9 build and smoketest job 2022-02-15 12:55:14 -05:00
.clang-format clang-format: Add bitset loop macros 2021-09-21 12:08:01 -04:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore .gitignore: Restore inadvertently deleted file 2022-01-18 08:00:42 -08:00
COPYRIGHT Welcome 2022, update copyrights. 2022-01-01 09:49:49 -07:00
LOCKS
MAINTAINERS Remove myself from bhyve maintenance; ENOTIME. 2021-11-19 07:09:30 +10:00
Makefile cleankernel: A target to delete the kernel compile file 2022-02-11 12:51:24 -07:00
Makefile.inc1 Speed up *-old-* make targets by using sed instead of xargs 2022-04-08 20:41:10 -04:00
Makefile.libcompat Makefile.libcompat: Sort 2022-02-02 14:34:29 -07:00
Makefile.sys.inc
ObsoleteFiles.inc Correct date in ObsoleteFiles.inc entry 2022-03-18 21:33:10 -04:00
README.md README.md: update gnu directory description 2021-12-17 08:45:31 -05:00
RELNOTES RELNOTES: Add an entry for boottrace(4) 2022-03-29 13:35:14 +02:00
UPDATING UPDATING: Fix a few typos 2022-04-10 10:11:17 +02:00

FreeBSD Source:

This is the top level of the FreeBSD source directory.

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.

Source Roadmap:

Directory Description
bin System/user commands.
cddl Various commands and libraries under the Common Development and Distribution License.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff (see crypto/README).
etc Template files for /etc.
gnu Commands and libraries under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see gnu/COPYING and gnu/COPYING.LIB for more information.
include System include files.
kerberos5 Kerberos5 (Heimdal) package.
lib System libraries.
libexec System daemons.
release Release building Makefile & associated tools.
rescue Build system for statically linked /rescue utilities.
sbin System commands.
secure Cryptographic libraries and commands.
share Shared resources.
stand Boot loader sources.
sys Kernel sources.
sys/arch/conf Kernel configuration files. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries.
tests Regression tests which can be run by Kyua. See tests/README for additional information.
tools Utilities for regression testing and miscellaneous tasks.
usr.bin User commands.
usr.sbin System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.