mirror of
https://git.kernel.org/pub/scm/libs/libcap/libcap.git
synced 2026-10-08 12:42:11 +02:00
pull mirror of https://git.kernel.org/pub/scm/libs/libcap/libcap.git
- C 55.7%
- Go 31.8%
- Shell 6.4%
- Makefile 5.5%
- C++ 0.2%
- Other 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
--decode is the one numeric conversion in capsh that discards the end pointer: strtoull() stops at the first character it cannot use and the rest is dropped. capsh then prints a capability set and exits 0. The case that does not look like an error is a line pasted from /proc/<pid>/status with its field name still attached. "Ca" is valid hex, so capsh --decode=CapEff:0000003fffffffff prints 0x00000000000000ca, four capabilities that have nothing to do with the input, rather than the 38 the value names. --decode=3junk, --decode=xyz and --decode=-1 are the same shape, and an over-long value is accepted because errno is not checked. Add hex_ull(), the 64-bit hexadecimal counterpart of nonneg_uint(), and route --decode through it. Valid values including a 0x prefix are unaffected. Add quicktests for the pasted-field and trailing-character forms. Signed-off-by: Nexory <St4yl3r30@hotmail.de> Signed-off-by: Andrew G. Morgan <morgan@kernel.org> |
||
| cap | ||
| contrib | ||
| doc | ||
| go | ||
| goapps | ||
| kdebug | ||
| libcap | ||
| pam_cap | ||
| progs | ||
| psx | ||
| tests | ||
| .gitignore | ||
| CHANGELOG | ||
| distcheck.sh | ||
| gomods.sh | ||
| License | ||
| Make.Rules | ||
| Makefile | ||
| pgp.keys.asc | ||
| README | ||
| template.c | ||
This is a library for getting and setting POSIX.1e (formerly POSIX 6)
draft 15 capabilities.
Natively supported languages are C/C++ and Go.
This library would not have been possible without the help of
Aleph1, Roland Buresund and Andrew Main, Alexander Kjeldaas.
More information on capabilities in the Linux kernel, links to the
official git repository for libcap, release notes and how to report
bugs can be found at:
http://sites.google.com/site/fullycapable/
The primary upstream git repository is this one:
https://git.kernel.org/pub/scm/libs/libcap/libcap.git/
# BUILDING AND INSTALLATION
$ make
builds the library and the programs that are expected to work
on your system. For example, if you have Linux-PAM installed,
pam_cap is built. A golang installation is required to build
the Go packages.
$ make test
runs all of the tests not requiring privilege
$ make sudotest
runs all of the tests including those that require privilege.
$ sudo make install
default installs the library libcap.XX.Y in /lib[64]/
the binaries in /sbin/
the header files in /usr/include
the {libcap,libpsx}.pc files in /usr/lib[64]/pkgconfig
the Go packages (if built) under /usr/share/gocode/src
For some example C programs look in the progs/ directory.
Specifically, capsh, getpcaps, setcap and getcap. There are some C
tests in the tests/ directory.
Go example programs are to be found in the goapps/ directory. There
are also some more complicated integration tests in the go/ directory.
There are also some oddball experimental things in the contrib/
directory, but they are mostly curiosities.
Cheers
Andrew G. Morgan <morgan@kernel.org>